@sheetxl/studio-vanilla 0.1.98

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 (184) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +100 -0
  3. package/build/browser/cjs/1q6_3-jGNZllbF3R.cjs +6 -0
  4. package/build/browser/cjs/5KDindu3wyLVvG7F.cjs +6 -0
  5. package/build/browser/cjs/87m5i_TKPbDn6tke.cjs +30 -0
  6. package/build/browser/cjs/B0L2YQ9agsyHWOu2.cjs +6 -0
  7. package/build/browser/cjs/B3HvYH5kqySWdJ0f.cjs +6 -0
  8. package/build/browser/cjs/B6AOUko0HYRy2MPw.cjs +6 -0
  9. package/build/browser/cjs/BC5MKXBhHGdPeiJ3.cjs +21 -0
  10. package/build/browser/cjs/BG0RxkPyZY6Be7Lk.cjs +6 -0
  11. package/build/browser/cjs/BJsJYwvFiJBFxTov.cjs +6 -0
  12. package/build/browser/cjs/BMVMyi5NiMBuQrl9.cjs +52 -0
  13. package/build/browser/cjs/BS_QXQWoKRl_7MiR.cjs +17 -0
  14. package/build/browser/cjs/BZPhmHWsFBTIA3BQ.cjs +210 -0
  15. package/build/browser/cjs/B_5ro-VEKfZDMSn_.cjs +6 -0
  16. package/build/browser/cjs/B_c3i0fXSlX7dH12.cjs +1521 -0
  17. package/build/browser/cjs/BarieqwSecnaFn0d.cjs +6 -0
  18. package/build/browser/cjs/BfNo_1u55uW2HhAa.cjs +6 -0
  19. package/build/browser/cjs/Bl6FyLoMkFiQqhvc.cjs +7 -0
  20. package/build/browser/cjs/Bsyzteo6tD31A45e.cjs +11 -0
  21. package/build/browser/cjs/Btzizuqo7zQ_grdS.cjs +16 -0
  22. package/build/browser/cjs/BxBOlXY9P3Ymi6oT.cjs +6 -0
  23. package/build/browser/cjs/C0AP85yKTJU5XzPW.cjs +6 -0
  24. package/build/browser/cjs/C0Pjx18ua-OCdtpy.cjs +6 -0
  25. package/build/browser/cjs/CA2wSX6txFrM5nXD.cjs +6 -0
  26. package/build/browser/cjs/CB3jEtNo5ZsjfE5p.cjs +6 -0
  27. package/build/browser/cjs/CDiYZ1cSoLW8U5Mz.cjs +6 -0
  28. package/build/browser/cjs/CHD5c5FdcMm6vLyG.cjs +155 -0
  29. package/build/browser/cjs/COCpf8tSdkj2O19V.cjs +134 -0
  30. package/build/browser/cjs/CTV1KRGhkieiY4Rf.cjs +42 -0
  31. package/build/browser/cjs/CUw8AoM-rVbp1W3s.cjs +6 -0
  32. package/build/browser/cjs/CVTydWBioXRZeoNf.cjs +6 -0
  33. package/build/browser/cjs/C_uXPPlfjY68-QA8.cjs +6 -0
  34. package/build/browser/cjs/CaNR-X0TWW9OF1S0.cjs +33 -0
  35. package/build/browser/cjs/CiySKEsfDr8XnkZh.cjs +6 -0
  36. package/build/browser/cjs/CtBikymnhpcCzP3X.cjs +6 -0
  37. package/build/browser/cjs/CyF7bxA0DO13ETpx.cjs +30 -0
  38. package/build/browser/cjs/D-vkFAlNHXwUvmUT.cjs +16 -0
  39. package/build/browser/cjs/D2OU29-ZPOAWFVJB.cjs +22 -0
  40. package/build/browser/cjs/DFX31uXp449or-Xs.cjs +6 -0
  41. package/build/browser/cjs/DLqNXuHYff_kQuj1.cjs +6 -0
  42. package/build/browser/cjs/DMKZDMHHXLePvLy3.cjs +524 -0
  43. package/build/browser/cjs/DP8biA0GQqyPKLyq.cjs +6 -0
  44. package/build/browser/cjs/DcYrNx0uy99yQNMl.cjs +21 -0
  45. package/build/browser/cjs/Dcyg_YxTfBgi_6cp.cjs +26 -0
  46. package/build/browser/cjs/DeR9YbwO2xDBKVWN.cjs +21 -0
  47. package/build/browser/cjs/DfNbgyjaLMn81dqP.cjs +6 -0
  48. package/build/browser/cjs/DirazCTz5IsFWrUv.cjs +22 -0
  49. package/build/browser/cjs/Dix4vuDuOzj4WGCJ.cjs +19 -0
  50. package/build/browser/cjs/DqbTRjj97q78RuGC.cjs +6 -0
  51. package/build/browser/cjs/Dy28YI90qj65PHFO.cjs +17 -0
  52. package/build/browser/cjs/Nkl33Tt1_oEy9kjk.cjs +6 -0
  53. package/build/browser/cjs/S1S-AvD0w8s-LV8O.cjs +6 -0
  54. package/build/browser/cjs/bnPgbgGBTq7DESzd.cjs +6 -0
  55. package/build/browser/cjs/d9tJGmGw-3KZjpAx.cjs +17 -0
  56. package/build/browser/cjs/dke2gbIUS44QXwEl.cjs +6 -0
  57. package/build/browser/cjs/index.cjs +6 -0
  58. package/build/browser/cjs/mPpQR06-jf99r2jM.cjs +6 -0
  59. package/build/browser/cjs/wq0Sm3fu9rxt43OK.cjs +6 -0
  60. package/build/browser/cjs/xM54FRmGddZFVTTI.cjs +6 -0
  61. package/build/browser/cjs/xgGpGg5b8fu3GAnL.cjs +33 -0
  62. package/build/browser/esm/1Jl9rrRJdbPsUP_1.mjs +13222 -0
  63. package/build/browser/esm/3RX6dP_O-47yXKHQ.mjs +1492 -0
  64. package/build/browser/esm/5F5MTh8R-sIiPq0h.mjs +22 -0
  65. package/build/browser/esm/B3_l6_TLa9ImyRmW.mjs +5572 -0
  66. package/build/browser/esm/B7odLLxNfEmKGWX6.mjs +49 -0
  67. package/build/browser/esm/BAjCWyggrIkCz6wr.mjs +22 -0
  68. package/build/browser/esm/BE4io65W825i_dzC.mjs +58 -0
  69. package/build/browser/esm/BEZ41ST3hkC4W-_9.mjs +22 -0
  70. package/build/browser/esm/BKkD05hqNTBap4Oc.mjs +22 -0
  71. package/build/browser/esm/BOiR2dTlvcgYjz8P.mjs +402 -0
  72. package/build/browser/esm/BOjAZRs_NVerYv4t.mjs +22 -0
  73. package/build/browser/esm/BRkMPyIUXMixnL8d.mjs +22 -0
  74. package/build/browser/esm/BSS_RvWzDRX8_EJd.mjs +1684 -0
  75. package/build/browser/esm/BXC9rQVV2gq5x8br.mjs +22 -0
  76. package/build/browser/esm/BYmMkbrRTsNuR3aY.mjs +1358 -0
  77. package/build/browser/esm/BaSzK17p3_gCvNVV.mjs +24 -0
  78. package/build/browser/esm/BdtlmF31h4Y7RgUj.mjs +22 -0
  79. package/build/browser/esm/Be3zRnYQ13HUcsRW.mjs +150 -0
  80. package/build/browser/esm/BiSk8LRROMF0Bl4-.mjs +92 -0
  81. package/build/browser/esm/BlfHOASL_bJ6Hy0y.mjs +40 -0
  82. package/build/browser/esm/C-jC-wgAoMOxrVvv.mjs +1377 -0
  83. package/build/browser/esm/C0Lw5hMgKbooA6Jl.mjs +22 -0
  84. package/build/browser/esm/C32FpMEFLbDnBtO3.mjs +22 -0
  85. package/build/browser/esm/C9uN8RnLjnGSimTA.mjs +439 -0
  86. package/build/browser/esm/CB0UHheTgg0735hj.mjs +52 -0
  87. package/build/browser/esm/CU55zbw8Xbwap6Tl.mjs +22 -0
  88. package/build/browser/esm/CWRCdxOg103AFis3.mjs +3926 -0
  89. package/build/browser/esm/CpJdzwQYkBw7IPnN.mjs +22 -0
  90. package/build/browser/esm/CprFmxuwGvaUtLG2.mjs +22 -0
  91. package/build/browser/esm/CtZxtE4tRmMGFT5o.mjs +22 -0
  92. package/build/browser/esm/D-Oj36iQScXAKSMA.mjs +53 -0
  93. package/build/browser/esm/D2yyUr4KbJEFsxKC.mjs +21 -0
  94. package/build/browser/esm/D8HF2X8hvAkV29oq.mjs +55 -0
  95. package/build/browser/esm/DCauh523moR7slpq.mjs +22 -0
  96. package/build/browser/esm/DIA-Gy5mdjefjUaA.mjs +22 -0
  97. package/build/browser/esm/DJjdfX9aUyVGMkri.mjs +47 -0
  98. package/build/browser/esm/DMWb8cCaNVRcm-tT.mjs +2352 -0
  99. package/build/browser/esm/DP7HVKT0w_4L2vMQ.mjs +844 -0
  100. package/build/browser/esm/DToiYU1jffn1g7TH.mjs +639 -0
  101. package/build/browser/esm/DgSuz0WKGy36a2cp.mjs +22 -0
  102. package/build/browser/esm/Dgw3FTbNKuo2CIxP.mjs +22 -0
  103. package/build/browser/esm/DnV_Y9xoMPSav0-o.mjs +56 -0
  104. package/build/browser/esm/Do7pHqmnwO45_ymt.mjs +22 -0
  105. package/build/browser/esm/DqvZDTDIyX-qv4r9.mjs +29 -0
  106. package/build/browser/esm/Ds8V__cRAClpmjZn.mjs +1714 -0
  107. package/build/browser/esm/DtQdtXJDZgNEIz9d.mjs +440 -0
  108. package/build/browser/esm/DtpBQqwK7XXBMTB-.mjs +1598 -0
  109. package/build/browser/esm/DuzJ1k0LbZ29l8oN.mjs +945 -0
  110. package/build/browser/esm/Dxl4WJXcEhDAw_yE.mjs +42 -0
  111. package/build/browser/esm/LblYfFi1ns9H1ueN.mjs +28 -0
  112. package/build/browser/esm/NBkvFJzfLU32Pkup.mjs +496 -0
  113. package/build/browser/esm/SrBQAOpMKiDW0mGB.mjs +22 -0
  114. package/build/browser/esm/VLa1cYMb7h6UD253.mjs +64 -0
  115. package/build/browser/esm/YOEDF-U1QTzbXeMV.mjs +3826 -0
  116. package/build/browser/esm/a3tuiJ83MwzLMWaL.mjs +22 -0
  117. package/build/browser/esm/ai2Jw3PRL29E1T8h.mjs +22 -0
  118. package/build/browser/esm/ajBoEmoL9hCBQYYm.mjs +2175 -0
  119. package/build/browser/esm/index.mjs +13 -0
  120. package/build/browser/esm/k9kWmEk0ZT8y9Gii.mjs +48740 -0
  121. package/build/cdn/assets/1Jl9rrRJdbPsUP_1.js +13222 -0
  122. package/build/cdn/assets/4u46flV9M6Bwb7d3.js +29 -0
  123. package/build/cdn/assets/5F5MTh8R-sIiPq0h.js +22 -0
  124. package/build/cdn/assets/B3oMCEEls1lRVrGd.js +5572 -0
  125. package/build/cdn/assets/B4QYfmNd300iFLAx.js +945 -0
  126. package/build/cdn/assets/BAjCWyggrIkCz6wr.js +22 -0
  127. package/build/cdn/assets/BEZ41ST3hkC4W-_9.js +22 -0
  128. package/build/cdn/assets/BJIsFTUdHtUKsFJs.js +28 -0
  129. package/build/cdn/assets/BKkD05hqNTBap4Oc.js +22 -0
  130. package/build/cdn/assets/BOiR2dTlvcgYjz8P.js +402 -0
  131. package/build/cdn/assets/BOjAZRs_NVerYv4t.js +22 -0
  132. package/build/cdn/assets/BPFW3UexkNNh1lLK.js +2352 -0
  133. package/build/cdn/assets/BRkMPyIUXMixnL8d.js +22 -0
  134. package/build/cdn/assets/BSS_RvWzDRX8_EJd.js +1684 -0
  135. package/build/cdn/assets/BXC9rQVV2gq5x8br.js +22 -0
  136. package/build/cdn/assets/BY2sO3ExW1ShzKnX.js +1714 -0
  137. package/build/cdn/assets/BYmMkbrRTsNuR3aY.js +1358 -0
  138. package/build/cdn/assets/BaSzK17p3_gCvNVV.js +24 -0
  139. package/build/cdn/assets/BbpmcI-KEp3PqrdL.js +496 -0
  140. package/build/cdn/assets/BdtlmF31h4Y7RgUj.js +22 -0
  141. package/build/cdn/assets/BjgtkLR9U00HgSRn.js +58 -0
  142. package/build/cdn/assets/BlfHOASL_bJ6Hy0y.js +40 -0
  143. package/build/cdn/assets/C-jC-wgAoMOxrVvv.js +1377 -0
  144. package/build/cdn/assets/C0Lw5hMgKbooA6Jl.js +22 -0
  145. package/build/cdn/assets/C32FpMEFLbDnBtO3.js +22 -0
  146. package/build/cdn/assets/C7CDwp-nhN2WFzUs.js +844 -0
  147. package/build/cdn/assets/C9uN8RnLjnGSimTA.js +439 -0
  148. package/build/cdn/assets/CEq_C1Sim0pQ6fj0.js +56 -0
  149. package/build/cdn/assets/CLdcRW7BQK3JCguC.js +48587 -0
  150. package/build/cdn/assets/CU55zbw8Xbwap6Tl.js +22 -0
  151. package/build/cdn/assets/C_L_pvQemfhI00iS.js +150 -0
  152. package/build/cdn/assets/CkhSGQneqlTRflfQ.js +47 -0
  153. package/build/cdn/assets/CpJdzwQYkBw7IPnN.js +22 -0
  154. package/build/cdn/assets/CprFmxuwGvaUtLG2.js +22 -0
  155. package/build/cdn/assets/CtZxtE4tRmMGFT5o.js +22 -0
  156. package/build/cdn/assets/CvbyGDitUPabmYBl.js +64 -0
  157. package/build/cdn/assets/D06aHumWZLILF489.js +3926 -0
  158. package/build/cdn/assets/D2pceTwrS_dagByu.js +21 -0
  159. package/build/cdn/assets/D4ZBjoUG2QO1RO3t.js +1492 -0
  160. package/build/cdn/assets/DARyg_kqL8Eu81Fa.js +2175 -0
  161. package/build/cdn/assets/DCauh523moR7slpq.js +22 -0
  162. package/build/cdn/assets/DIA-Gy5mdjefjUaA.js +22 -0
  163. package/build/cdn/assets/DLHK1pMyNN3B2g-j.js +52 -0
  164. package/build/cdn/assets/DMoEzt3UKZedfext.js +1598 -0
  165. package/build/cdn/assets/DMwOymY267-LxmJ_.js +49 -0
  166. package/build/cdn/assets/DToiYU1jffn1g7TH.js +639 -0
  167. package/build/cdn/assets/DUUO52IRQCve_iCM.js +440 -0
  168. package/build/cdn/assets/DgSuz0WKGy36a2cp.js +22 -0
  169. package/build/cdn/assets/Dgw3FTbNKuo2CIxP.js +22 -0
  170. package/build/cdn/assets/Do7pHqmnwO45_ymt.js +22 -0
  171. package/build/cdn/assets/Dxl4WJXcEhDAw_yE.js +42 -0
  172. package/build/cdn/assets/QXzPuadwi3BBJC2-.js +53 -0
  173. package/build/cdn/assets/SrBQAOpMKiDW0mGB.js +22 -0
  174. package/build/cdn/assets/W3SqjN4yIzwYTvvj.js +55 -0
  175. package/build/cdn/assets/YOEDF-U1QTzbXeMV.js +3826 -0
  176. package/build/cdn/assets/a3tuiJ83MwzLMWaL.js +22 -0
  177. package/build/cdn/assets/ai2Jw3PRL29E1T8h.js +22 -0
  178. package/build/cdn/assets/fWcbv7BXhriCYeod.js +92 -0
  179. package/build/cdn/index.js +171 -0
  180. package/build/cdn/loader.js +6 -0
  181. package/build/licenses/dependencies.txt +1 -0
  182. package/build/package.json +61 -0
  183. package/build/types/index.d.ts +151 -0
  184. package/package.json +92 -0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
3
+ *
4
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ /**
8
+ * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
9
+ *
10
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
11
+ * License: The license can be found at https://www.sheetxl.com/license.
12
+ */
13
+ /**
14
+ * @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
15
+ *
16
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
17
+ * License: The license can be found at https://www.sheetxl.com/license.
18
+ */
19
+ async function t() {
20
+ return window.crypto;
21
+ }
22
+ export {
23
+ t as getCrypto
24
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
3
+ *
4
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ /**
8
+ * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
9
+ *
10
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
11
+ * License: The license can be found at https://www.sheetxl.com/license.
12
+ */
13
+ /**
14
+ * @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
15
+ *
16
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
17
+ * License: The license can be found at https://www.sheetxl.com/license.
18
+ */
19
+ const t = { FILTERXML: { s: "Returns specific data from XML content using the specified XPath.", p: { xml: { d: "is a string in valid XML format." }, xpath: { d: "is a string in standard XPath format." } } } };
20
+ export {
21
+ t as default
22
+ };
@@ -0,0 +1,150 @@
1
+ import { jsx as i, jsxs as p } from "react/jsx-runtime";
2
+ import { memo as oe, useRef as O, useState as y, useEffect as L, useLayoutEffect as pe, useMemo as de } from "react";
3
+ import { a5 as D, b8 as c, q as R, a7 as z, b3 as ue, ap as fe, b9 as ge, ba as me, B as b, bb as m, aK as x, bc as xe, aB as C, bd as he, T as _, f as k, be, bf as Oe, bg as Ce, bh as ye, b6 as w, bi as ve, bj as Te, aN as Re, b7 as ke, F as we, b4 as Ee, b5 as Se } from "./k9kWmEk0ZT8y9Gii.mjs";
4
+ import { C as ee } from "./DuzJ1k0LbZ29l8oN.mjs";
5
+ /**
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
7
+ *
8
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
9
+ * License: The license can be found at https://www.sheetxl.com/license.
10
+ */
11
+ const Fe = D(i("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), Ie = D(i("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), Le = D(i("path", { d: "m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" }), "ArrowForward"), De = D(i("path", { d: "m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z" }), "ArrowUpward"), $ = oe((E) => {
12
+ const { label: h, value: r, options: s, onSelect: d, tabIndex: v = 0, ...K } = E, [P, T] = y(() => ie(r, s));
13
+ L(() => {
14
+ T(ie(r, s));
15
+ }, [r, s]);
16
+ const A = z((u) => {
17
+ T(u.target.value), d?.(s[u.target.value]);
18
+ }, [d, s]), l = de(() => Object.keys(s).map((u) => i(ke, { value: u, children: u }, u)), [s]);
19
+ return p(we, { sx: { minWidth: 135 }, size: "small", children: [i(Ee, { children: h }), i(Se, { inputProps: { tabIndex: v }, value: P, label: h, onChange: A, sx: { backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, ...K, children: l })] });
20
+ }), te = { Workbook: "workbook", Sheet: "sheet" }, ne = { enter: 140, exit: 140 }, se = { Formulas: c.Content.Formulas, Values: c.Content.Values, Notes: c.Content.Notes, Comments: c.Content.Comments }, le = { ...se };
21
+ delete le.Values;
22
+ const Ke = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
23
+ const r = Object.keys(h);
24
+ for (let s = 0; s < r.length; s++) {
25
+ const d = r[s];
26
+ if (h[d] === E) return d;
27
+ }
28
+ }, Ve = oe((E) => {
29
+ const { replace: h = !1, findText: r, replaceText: s, findOptions: d, replaceOptions: v, title: K, onHide: P, onFindOrReplace: T, ...A } = E, l = O(null), u = O(null), H = O(null), W = O(null), j = O(null), N = O(null), q = (e, t) => {
30
+ t && (t.start(e, { center: !1 }), setTimeout(() => t.stop(e), 180));
31
+ }, [U, I] = y(!1), [B, ae] = y(!1), [f, M] = y(h), [X, V] = y(!1), [G, J] = y(!1), [o, a] = y({ 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 }), S = z(async (e, t, n, F) => {
32
+ if (!T) return;
33
+ const g = { ...o };
34
+ 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;
35
+ const ce = await T({ autoFocus: F, ...g });
36
+ V(ce === 0);
37
+ }, [o, T]);
38
+ L(() => {
39
+ V(!1);
40
+ }, [o, B, f]);
41
+ const Q = z((e, t) => {
42
+ if (e.keyCode === ue.Enter) {
43
+ if (!o.findText) return;
44
+ let n = !0, F = !1;
45
+ e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (F = !0), q(e, F ? N.current : j.current)) : q(e, n ? W.current : H.current), S(n, t, F, !1);
46
+ }
47
+ }, [o]), Y = O(null);
48
+ pe(() => {
49
+ a((e) => {
50
+ const t = { ...e };
51
+ t.findText = r && r.length > 0 ? r : e.findText ?? "", I(!0), s !== void 0 && (t.replaceText = s), 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]);
52
+ const n = !(!v && s === void 0);
53
+ return n && M(n), t;
54
+ }), G || Y.current?.focus();
55
+ }, [r, s, d, v]), L(() => {
56
+ f ? (o.findOptions.fields[0], c.Content.Values) : I(!0);
57
+ }, [f]), L(() => {
58
+ if (U && l.current && o.findText === l.current.value) return l.current === document.activeElement || l.current.contains(document.activeElement) ? (l.current?.select(), void I(!1)) : void l.current.addEventListener("focus", () => {
59
+ l.current?.select(), I(!1);
60
+ }, { once: !0 });
61
+ }, [U, o]);
62
+ const [re, { width: Z }] = fe();
63
+ return i(ge, { title: K ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", refWindow: Y, onHide: P, onFocus: () => J(!0), onBlur: () => {
64
+ J(!1), V(!1);
65
+ }, PaperProps: { elevation: G ? 3 : 1 }, ...A, 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) => {
66
+ if (e.key === "h" && e.ctrlKey) M(!0), l.current?.contains(document.activeElement) && u.current?.focus();
67
+ else if (e.key === "f" && e.ctrlKey) l.current?.focus();
68
+ else if (e.key === "c" && e.altKey) a((t) => {
69
+ const n = { ...t };
70
+ return n.findOptions.matchCase = !t.findOptions.matchCase, n;
71
+ });
72
+ else if (e.key === "e" && e.altKey) a((t) => {
73
+ const n = { ...t };
74
+ return n.findOptions.matchEntireCell = !t.findOptions.matchEntireCell, n;
75
+ });
76
+ else {
77
+ if (e.key !== "r" || !e.altKey) return;
78
+ a((t) => {
79
+ const n = { ...t };
80
+ return n.findOptions.useRegex = !t.findOptions.useRegex, n;
81
+ });
82
+ }
83
+ e.preventDefault();
84
+ }, children: [p(b, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [p(b, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [i(m, { selected: B, onSelectToggle: (e) => {
85
+ ae(e);
86
+ }, preventFocus: !0, label: "Toggle Additional Options", icon: x(i(xe, {})) }), i(m, { selected: f, onSelectToggle: (e) => {
87
+ M(e);
88
+ }, preventFocus: !0, label: "Toggle Replace", icon: x(i(he, {})), shortcut: { key: f ? "F" : "H", modifiers: [C.Ctrl] } })] }), p(b, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [p(b, { 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: l, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: i(be, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: p(b, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [i(m, { selected: o.findOptions.matchCase, onSelectToggle: (e) => {
89
+ a((t) => {
90
+ const n = { ...t };
91
+ return n.findOptions.matchCase = e, n;
92
+ });
93
+ }, label: "Match Case", shortcut: { key: "C", modifiers: [C.Alt] }, icon: x(i(Oe, {})) }), i(m, { selected: o.findOptions.matchEntireCell, onSelectToggle: (e) => {
94
+ a((t) => {
95
+ const n = { ...t };
96
+ return n.findOptions.matchEntireCell = e, n;
97
+ });
98
+ }, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [C.Alt] }, icon: x(i(Ce, {})) }), i(m, { selected: o.findOptions.useRegex, onSelectToggle: (e) => {
99
+ a((t) => {
100
+ const n = { ...t };
101
+ return n.findOptions.useRegex = e, n;
102
+ });
103
+ }, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [C.Alt] }, icon: x(i(ye, {})) })] }) }) }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1), "& .MuiOutlinedInput-notchedOutline": { borderColor: (e) => X ? `${e.palette.error.main} !important` : void 0 }, "& .MuiInputLabel-outlined": { color: (e) => X ? `${e.palette.error.main} !important` : void 0 } }, value: o.findText ?? "", onChange: (e) => {
104
+ a((t) => {
105
+ const n = { ...t };
106
+ return n.findText = e.target.value, n;
107
+ });
108
+ }, onKeyDown: (e) => Q(e, !1), onContextMenu: (e) => {
109
+ e.stopPropagation();
110
+ } }), i(m, { selected: o.findOptions.reverse, onSelectToggle: (e) => {
111
+ S(!1, !1);
112
+ }, touchRippleRef: H, label: "", shortcut: { key: "Enter", modifiers: [C.Shift] }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Fe, {}) : i(De, {})), disabled: !o.findText }), i(m, { selected: !o.findOptions.reverse, onSelectToggle: (e) => {
113
+ S(!0, !1);
114
+ }, 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
+ l.current?.focus();
116
+ }, children: p(b, { 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) => {
117
+ a((t) => {
118
+ const n = { ...t };
119
+ return n.replaceText = e.target.value, n;
120
+ });
121
+ }, onKeyDown: (e) => Q(e, !0), onContextMenu: (e) => {
122
+ e.stopPropagation();
123
+ } }), i(m, { onSelectToggle: (e) => {
124
+ S(!0, !0);
125
+ }, touchRippleRef: j, label: "Replace", shortcut: { key: "Enter" }, icon: x(i(ve, {})), disabled: !o.findText }), i(m, { onSelectToggle: (e) => {
126
+ S(!0, !0, !0);
127
+ }, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [C.Ctrl, C.Alt] }, icon: x(i(Te, {})), disabled: !o.findText })] }) })] })] }), i(ee, { in: B, timeout: ne, onExit: () => {
128
+ l.current?.focus();
129
+ }, children: p(b, { 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(b, { sx: { display: "flex", flexDirection: Z >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [i($, { label: "Within", value: o.scope, options: te, onSelect: (e) => {
130
+ a((t) => {
131
+ const n = { ...t };
132
+ return n.scope = e, n;
133
+ });
134
+ } }), i($, { label: "Search", value: o.findOptions.orientation !== R.Orientation.Column, options: Ke, onSelect: (e) => {
135
+ a((t) => {
136
+ const n = { ...t };
137
+ return n.findOptions.orientation = e ? R.Orientation.Row : R.Orientation.Column, n;
138
+ });
139
+ } }), i($, { label: "Look in", value: f && o.findOptions.fields?.[0] === c.Content.Values ? c.Content.Formulas : o.findOptions.fields?.[0], options: f ? le : se, onSelect: (e) => {
140
+ a((t) => {
141
+ const n = { ...t };
142
+ return n.findOptions.fields = [e], n;
143
+ });
144
+ } })] })] }) })] }) });
145
+ });
146
+ export {
147
+ Ve as FindReplaceWindow,
148
+ te as ScopeOptions,
149
+ Ve as default
150
+ };
@@ -0,0 +1,92 @@
1
+ import { i as z } from "./k9kWmEk0ZT8y9Gii.mjs";
2
+ /**
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
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
+ /**
9
+ * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
10
+ *
11
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
12
+ * License: The license can be found at https://www.sheetxl.com/license.
13
+ */
14
+ /**
15
+ * @license @sheetxl/io - IO - Import/Export Libraries for SheetXL. - v0.0.0
16
+ *
17
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
18
+ * License: The license can be found at https://www.sheetxl.com/license.
19
+ */
20
+ const j = async (g, p) => {
21
+ const i = await g.toJSON(), w = p?.whiteSpace ?? 0;
22
+ let b;
23
+ p?.beforeWrite?.(g, i), b = w === 0 ? JSON.stringify(i) : function(a, c = 2) {
24
+ const r = [];
25
+ function n(o) {
26
+ const e = c * o;
27
+ return r[e] === void 0 && (r[e] = " ".repeat(e)), r[e];
28
+ }
29
+ return function o(e, u, t, d) {
30
+ if (e == null || typeof e != "object") return JSON.stringify(e);
31
+ const m = n(u), J = n(u + 1);
32
+ if (Array.isArray(e)) {
33
+ const f = e.length;
34
+ if (f === 0) return "[]";
35
+ if (t !== 0) return JSON.stringify(e);
36
+ let l = `[
37
+ `;
38
+ for (let O = 0; O < f; O++) l += J + o(e[O], u + 1, t + 1, !0), O < f - 1 && (l += `,
39
+ `);
40
+ return l += `
41
+ ` + m + "]", l;
42
+ }
43
+ const N = Object.keys(e), h = N.length;
44
+ if (h === 0) return "{}";
45
+ if (!(t < 2)) return JSON.stringify(e);
46
+ let S = `{
47
+ `;
48
+ d || (t = 0);
49
+ for (let f = 0; f < h; f++) {
50
+ const l = N[f];
51
+ S += J + JSON.stringify(l) + ": " + o(e[l], u + 1, t, !1), f < h - 1 && (S += `,
52
+ `);
53
+ }
54
+ return S += `
55
+ ` + m + "}", S;
56
+ }(a, 0, 0, !1);
57
+ }(i, w);
58
+ let y = new TextEncoder().encode(b);
59
+ const s = p?.compress ?? !0;
60
+ return s && (y = await async function(a, c = "gzip") {
61
+ const r = new ReadableStream({ start(e) {
62
+ e.enqueue(a), e.close();
63
+ } }), n = new CompressionStream(c), o = r.pipeThrough(n);
64
+ return (await new Response(o).blob()).arrayBuffer();
65
+ }(y, typeof s == "string" ? s : void 0)), y;
66
+ }, T = async (g, p) => {
67
+ let i = g;
68
+ (function(s) {
69
+ if (s.byteLength < 4) return !1;
70
+ const a = new Uint8Array(s), c = { gzip: [31, 139], zip: [80, 75, 3, 4], bz2: [66, 90, 104], br: [206, 178, 207, 129] }, r = Object.keys(c);
71
+ for (let n = 0; n < r.length; n++) {
72
+ const o = r[n], e = c[o];
73
+ let u = !0;
74
+ for (let t = 0; t < e.length; t++) if (a[t] !== e[t]) {
75
+ u = !1;
76
+ break;
77
+ }
78
+ if (u) return o;
79
+ }
80
+ return !1;
81
+ })(i) && (i = await async function(s, a = "gzip") {
82
+ const c = new Blob([s]).stream(), r = new DecompressionStream(a), n = c.pipeThrough(r);
83
+ return (await new Response(n).blob()).arrayBuffer();
84
+ }(i));
85
+ let w = new TextDecoder().decode(i);
86
+ const b = JSON.parse(w), y = { ...p?.constructorOptions ?? {}, json: b };
87
+ return new z(y);
88
+ };
89
+ export {
90
+ T as fromBufferJSON,
91
+ j as toBufferJSON
92
+ };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
3
+ *
4
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ /**
8
+ * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
9
+ *
10
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
11
+ * License: The license can be found at https://www.sheetxl.com/license.
12
+ */
13
+ /**
14
+ * @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
15
+ *
16
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
17
+ * License: The license can be found at https://www.sheetxl.com/license.
18
+ */
19
+ /**
20
+ * @license @sheetxl/scripting - SheetXL scripting utilities including TypeScript compilation. - v0.0.0
21
+ *
22
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
23
+ * License: The license can be found at https://www.sheetxl.com/license.
24
+ */
25
+ let e = null;
26
+ async function n() {
27
+ return e || (e = new Promise(async (r, o) => {
28
+ console.log("🔄 Initializing Browser TypeScript module...");
29
+ let i = null;
30
+ try {
31
+ i = await import("https://esm.sh/typescript@5.7.2");
32
+ } catch (l) {
33
+ console.error("Error initializing Browser TypeScript module:", l);
34
+ }
35
+ i || console.log("use script fallback"), r(i);
36
+ }), e);
37
+ }
38
+ export {
39
+ n as initialize
40
+ };