@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.
- package/LICENSE.md +11 -0
- package/README.md +100 -0
- package/build/browser/cjs/1q6_3-jGNZllbF3R.cjs +6 -0
- package/build/browser/cjs/5KDindu3wyLVvG7F.cjs +6 -0
- package/build/browser/cjs/87m5i_TKPbDn6tke.cjs +30 -0
- package/build/browser/cjs/B0L2YQ9agsyHWOu2.cjs +6 -0
- package/build/browser/cjs/B3HvYH5kqySWdJ0f.cjs +6 -0
- package/build/browser/cjs/B6AOUko0HYRy2MPw.cjs +6 -0
- package/build/browser/cjs/BC5MKXBhHGdPeiJ3.cjs +21 -0
- package/build/browser/cjs/BG0RxkPyZY6Be7Lk.cjs +6 -0
- package/build/browser/cjs/BJsJYwvFiJBFxTov.cjs +6 -0
- package/build/browser/cjs/BMVMyi5NiMBuQrl9.cjs +52 -0
- package/build/browser/cjs/BS_QXQWoKRl_7MiR.cjs +17 -0
- package/build/browser/cjs/BZPhmHWsFBTIA3BQ.cjs +210 -0
- package/build/browser/cjs/B_5ro-VEKfZDMSn_.cjs +6 -0
- package/build/browser/cjs/B_c3i0fXSlX7dH12.cjs +1521 -0
- package/build/browser/cjs/BarieqwSecnaFn0d.cjs +6 -0
- package/build/browser/cjs/BfNo_1u55uW2HhAa.cjs +6 -0
- package/build/browser/cjs/Bl6FyLoMkFiQqhvc.cjs +7 -0
- package/build/browser/cjs/Bsyzteo6tD31A45e.cjs +11 -0
- package/build/browser/cjs/Btzizuqo7zQ_grdS.cjs +16 -0
- package/build/browser/cjs/BxBOlXY9P3Ymi6oT.cjs +6 -0
- package/build/browser/cjs/C0AP85yKTJU5XzPW.cjs +6 -0
- package/build/browser/cjs/C0Pjx18ua-OCdtpy.cjs +6 -0
- package/build/browser/cjs/CA2wSX6txFrM5nXD.cjs +6 -0
- package/build/browser/cjs/CB3jEtNo5ZsjfE5p.cjs +6 -0
- package/build/browser/cjs/CDiYZ1cSoLW8U5Mz.cjs +6 -0
- package/build/browser/cjs/CHD5c5FdcMm6vLyG.cjs +155 -0
- package/build/browser/cjs/COCpf8tSdkj2O19V.cjs +134 -0
- package/build/browser/cjs/CTV1KRGhkieiY4Rf.cjs +42 -0
- package/build/browser/cjs/CUw8AoM-rVbp1W3s.cjs +6 -0
- package/build/browser/cjs/CVTydWBioXRZeoNf.cjs +6 -0
- package/build/browser/cjs/C_uXPPlfjY68-QA8.cjs +6 -0
- package/build/browser/cjs/CaNR-X0TWW9OF1S0.cjs +33 -0
- package/build/browser/cjs/CiySKEsfDr8XnkZh.cjs +6 -0
- package/build/browser/cjs/CtBikymnhpcCzP3X.cjs +6 -0
- package/build/browser/cjs/CyF7bxA0DO13ETpx.cjs +30 -0
- package/build/browser/cjs/D-vkFAlNHXwUvmUT.cjs +16 -0
- package/build/browser/cjs/D2OU29-ZPOAWFVJB.cjs +22 -0
- package/build/browser/cjs/DFX31uXp449or-Xs.cjs +6 -0
- package/build/browser/cjs/DLqNXuHYff_kQuj1.cjs +6 -0
- package/build/browser/cjs/DMKZDMHHXLePvLy3.cjs +524 -0
- package/build/browser/cjs/DP8biA0GQqyPKLyq.cjs +6 -0
- package/build/browser/cjs/DcYrNx0uy99yQNMl.cjs +21 -0
- package/build/browser/cjs/Dcyg_YxTfBgi_6cp.cjs +26 -0
- package/build/browser/cjs/DeR9YbwO2xDBKVWN.cjs +21 -0
- package/build/browser/cjs/DfNbgyjaLMn81dqP.cjs +6 -0
- package/build/browser/cjs/DirazCTz5IsFWrUv.cjs +22 -0
- package/build/browser/cjs/Dix4vuDuOzj4WGCJ.cjs +19 -0
- package/build/browser/cjs/DqbTRjj97q78RuGC.cjs +6 -0
- package/build/browser/cjs/Dy28YI90qj65PHFO.cjs +17 -0
- package/build/browser/cjs/Nkl33Tt1_oEy9kjk.cjs +6 -0
- package/build/browser/cjs/S1S-AvD0w8s-LV8O.cjs +6 -0
- package/build/browser/cjs/bnPgbgGBTq7DESzd.cjs +6 -0
- package/build/browser/cjs/d9tJGmGw-3KZjpAx.cjs +17 -0
- package/build/browser/cjs/dke2gbIUS44QXwEl.cjs +6 -0
- package/build/browser/cjs/index.cjs +6 -0
- package/build/browser/cjs/mPpQR06-jf99r2jM.cjs +6 -0
- package/build/browser/cjs/wq0Sm3fu9rxt43OK.cjs +6 -0
- package/build/browser/cjs/xM54FRmGddZFVTTI.cjs +6 -0
- package/build/browser/cjs/xgGpGg5b8fu3GAnL.cjs +33 -0
- package/build/browser/esm/1Jl9rrRJdbPsUP_1.mjs +13222 -0
- package/build/browser/esm/3RX6dP_O-47yXKHQ.mjs +1492 -0
- package/build/browser/esm/5F5MTh8R-sIiPq0h.mjs +22 -0
- package/build/browser/esm/B3_l6_TLa9ImyRmW.mjs +5572 -0
- package/build/browser/esm/B7odLLxNfEmKGWX6.mjs +49 -0
- package/build/browser/esm/BAjCWyggrIkCz6wr.mjs +22 -0
- package/build/browser/esm/BE4io65W825i_dzC.mjs +58 -0
- package/build/browser/esm/BEZ41ST3hkC4W-_9.mjs +22 -0
- package/build/browser/esm/BKkD05hqNTBap4Oc.mjs +22 -0
- package/build/browser/esm/BOiR2dTlvcgYjz8P.mjs +402 -0
- package/build/browser/esm/BOjAZRs_NVerYv4t.mjs +22 -0
- package/build/browser/esm/BRkMPyIUXMixnL8d.mjs +22 -0
- package/build/browser/esm/BSS_RvWzDRX8_EJd.mjs +1684 -0
- package/build/browser/esm/BXC9rQVV2gq5x8br.mjs +22 -0
- package/build/browser/esm/BYmMkbrRTsNuR3aY.mjs +1358 -0
- package/build/browser/esm/BaSzK17p3_gCvNVV.mjs +24 -0
- package/build/browser/esm/BdtlmF31h4Y7RgUj.mjs +22 -0
- package/build/browser/esm/Be3zRnYQ13HUcsRW.mjs +150 -0
- package/build/browser/esm/BiSk8LRROMF0Bl4-.mjs +92 -0
- package/build/browser/esm/BlfHOASL_bJ6Hy0y.mjs +40 -0
- package/build/browser/esm/C-jC-wgAoMOxrVvv.mjs +1377 -0
- package/build/browser/esm/C0Lw5hMgKbooA6Jl.mjs +22 -0
- package/build/browser/esm/C32FpMEFLbDnBtO3.mjs +22 -0
- package/build/browser/esm/C9uN8RnLjnGSimTA.mjs +439 -0
- package/build/browser/esm/CB0UHheTgg0735hj.mjs +52 -0
- package/build/browser/esm/CU55zbw8Xbwap6Tl.mjs +22 -0
- package/build/browser/esm/CWRCdxOg103AFis3.mjs +3926 -0
- package/build/browser/esm/CpJdzwQYkBw7IPnN.mjs +22 -0
- package/build/browser/esm/CprFmxuwGvaUtLG2.mjs +22 -0
- package/build/browser/esm/CtZxtE4tRmMGFT5o.mjs +22 -0
- package/build/browser/esm/D-Oj36iQScXAKSMA.mjs +53 -0
- package/build/browser/esm/D2yyUr4KbJEFsxKC.mjs +21 -0
- package/build/browser/esm/D8HF2X8hvAkV29oq.mjs +55 -0
- package/build/browser/esm/DCauh523moR7slpq.mjs +22 -0
- package/build/browser/esm/DIA-Gy5mdjefjUaA.mjs +22 -0
- package/build/browser/esm/DJjdfX9aUyVGMkri.mjs +47 -0
- package/build/browser/esm/DMWb8cCaNVRcm-tT.mjs +2352 -0
- package/build/browser/esm/DP7HVKT0w_4L2vMQ.mjs +844 -0
- package/build/browser/esm/DToiYU1jffn1g7TH.mjs +639 -0
- package/build/browser/esm/DgSuz0WKGy36a2cp.mjs +22 -0
- package/build/browser/esm/Dgw3FTbNKuo2CIxP.mjs +22 -0
- package/build/browser/esm/DnV_Y9xoMPSav0-o.mjs +56 -0
- package/build/browser/esm/Do7pHqmnwO45_ymt.mjs +22 -0
- package/build/browser/esm/DqvZDTDIyX-qv4r9.mjs +29 -0
- package/build/browser/esm/Ds8V__cRAClpmjZn.mjs +1714 -0
- package/build/browser/esm/DtQdtXJDZgNEIz9d.mjs +440 -0
- package/build/browser/esm/DtpBQqwK7XXBMTB-.mjs +1598 -0
- package/build/browser/esm/DuzJ1k0LbZ29l8oN.mjs +945 -0
- package/build/browser/esm/Dxl4WJXcEhDAw_yE.mjs +42 -0
- package/build/browser/esm/LblYfFi1ns9H1ueN.mjs +28 -0
- package/build/browser/esm/NBkvFJzfLU32Pkup.mjs +496 -0
- package/build/browser/esm/SrBQAOpMKiDW0mGB.mjs +22 -0
- package/build/browser/esm/VLa1cYMb7h6UD253.mjs +64 -0
- package/build/browser/esm/YOEDF-U1QTzbXeMV.mjs +3826 -0
- package/build/browser/esm/a3tuiJ83MwzLMWaL.mjs +22 -0
- package/build/browser/esm/ai2Jw3PRL29E1T8h.mjs +22 -0
- package/build/browser/esm/ajBoEmoL9hCBQYYm.mjs +2175 -0
- package/build/browser/esm/index.mjs +13 -0
- package/build/browser/esm/k9kWmEk0ZT8y9Gii.mjs +48740 -0
- package/build/cdn/assets/1Jl9rrRJdbPsUP_1.js +13222 -0
- package/build/cdn/assets/4u46flV9M6Bwb7d3.js +29 -0
- package/build/cdn/assets/5F5MTh8R-sIiPq0h.js +22 -0
- package/build/cdn/assets/B3oMCEEls1lRVrGd.js +5572 -0
- package/build/cdn/assets/B4QYfmNd300iFLAx.js +945 -0
- package/build/cdn/assets/BAjCWyggrIkCz6wr.js +22 -0
- package/build/cdn/assets/BEZ41ST3hkC4W-_9.js +22 -0
- package/build/cdn/assets/BJIsFTUdHtUKsFJs.js +28 -0
- package/build/cdn/assets/BKkD05hqNTBap4Oc.js +22 -0
- package/build/cdn/assets/BOiR2dTlvcgYjz8P.js +402 -0
- package/build/cdn/assets/BOjAZRs_NVerYv4t.js +22 -0
- package/build/cdn/assets/BPFW3UexkNNh1lLK.js +2352 -0
- package/build/cdn/assets/BRkMPyIUXMixnL8d.js +22 -0
- package/build/cdn/assets/BSS_RvWzDRX8_EJd.js +1684 -0
- package/build/cdn/assets/BXC9rQVV2gq5x8br.js +22 -0
- package/build/cdn/assets/BY2sO3ExW1ShzKnX.js +1714 -0
- package/build/cdn/assets/BYmMkbrRTsNuR3aY.js +1358 -0
- package/build/cdn/assets/BaSzK17p3_gCvNVV.js +24 -0
- package/build/cdn/assets/BbpmcI-KEp3PqrdL.js +496 -0
- package/build/cdn/assets/BdtlmF31h4Y7RgUj.js +22 -0
- package/build/cdn/assets/BjgtkLR9U00HgSRn.js +58 -0
- package/build/cdn/assets/BlfHOASL_bJ6Hy0y.js +40 -0
- package/build/cdn/assets/C-jC-wgAoMOxrVvv.js +1377 -0
- package/build/cdn/assets/C0Lw5hMgKbooA6Jl.js +22 -0
- package/build/cdn/assets/C32FpMEFLbDnBtO3.js +22 -0
- package/build/cdn/assets/C7CDwp-nhN2WFzUs.js +844 -0
- package/build/cdn/assets/C9uN8RnLjnGSimTA.js +439 -0
- package/build/cdn/assets/CEq_C1Sim0pQ6fj0.js +56 -0
- package/build/cdn/assets/CLdcRW7BQK3JCguC.js +48587 -0
- package/build/cdn/assets/CU55zbw8Xbwap6Tl.js +22 -0
- package/build/cdn/assets/C_L_pvQemfhI00iS.js +150 -0
- package/build/cdn/assets/CkhSGQneqlTRflfQ.js +47 -0
- package/build/cdn/assets/CpJdzwQYkBw7IPnN.js +22 -0
- package/build/cdn/assets/CprFmxuwGvaUtLG2.js +22 -0
- package/build/cdn/assets/CtZxtE4tRmMGFT5o.js +22 -0
- package/build/cdn/assets/CvbyGDitUPabmYBl.js +64 -0
- package/build/cdn/assets/D06aHumWZLILF489.js +3926 -0
- package/build/cdn/assets/D2pceTwrS_dagByu.js +21 -0
- package/build/cdn/assets/D4ZBjoUG2QO1RO3t.js +1492 -0
- package/build/cdn/assets/DARyg_kqL8Eu81Fa.js +2175 -0
- package/build/cdn/assets/DCauh523moR7slpq.js +22 -0
- package/build/cdn/assets/DIA-Gy5mdjefjUaA.js +22 -0
- package/build/cdn/assets/DLHK1pMyNN3B2g-j.js +52 -0
- package/build/cdn/assets/DMoEzt3UKZedfext.js +1598 -0
- package/build/cdn/assets/DMwOymY267-LxmJ_.js +49 -0
- package/build/cdn/assets/DToiYU1jffn1g7TH.js +639 -0
- package/build/cdn/assets/DUUO52IRQCve_iCM.js +440 -0
- package/build/cdn/assets/DgSuz0WKGy36a2cp.js +22 -0
- package/build/cdn/assets/Dgw3FTbNKuo2CIxP.js +22 -0
- package/build/cdn/assets/Do7pHqmnwO45_ymt.js +22 -0
- package/build/cdn/assets/Dxl4WJXcEhDAw_yE.js +42 -0
- package/build/cdn/assets/QXzPuadwi3BBJC2-.js +53 -0
- package/build/cdn/assets/SrBQAOpMKiDW0mGB.js +22 -0
- package/build/cdn/assets/W3SqjN4yIzwYTvvj.js +55 -0
- package/build/cdn/assets/YOEDF-U1QTzbXeMV.js +3826 -0
- package/build/cdn/assets/a3tuiJ83MwzLMWaL.js +22 -0
- package/build/cdn/assets/ai2Jw3PRL29E1T8h.js +22 -0
- package/build/cdn/assets/fWcbv7BXhriCYeod.js +92 -0
- package/build/cdn/index.js +171 -0
- package/build/cdn/loader.js +6 -0
- package/build/licenses/dependencies.txt +1 -0
- package/build/package.json +61 -0
- package/build/types/index.d.ts +151 -0
- 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
|
+
};
|