@sheetxl/studio-vanilla 0.4.21 → 0.4.22
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/browser/cjs/-AkvO2DXLOxJTxam.cjs +6 -0
- package/browser/cjs/3CSmmG7E8ziDB1mP.cjs +6 -0
- package/browser/cjs/7nEG2wj_Ohie6CwI.cjs +6 -0
- package/browser/cjs/{n6CXzSocLW_BCO8w.cjs → B0aLqzqegePPgpc2.cjs} +6 -6
- package/browser/cjs/B9GyERAqyIxdqS4D.cjs +145 -0
- package/browser/cjs/BO8oGaHWFtHyxmQ1.cjs +6 -0
- package/browser/cjs/BPODmSH7Z1MR1rHr.cjs +15 -0
- package/browser/cjs/BS0bGW4PmNinQUvL.cjs +42 -0
- package/browser/cjs/BY3tZiH_cfwBkpN8.cjs +6 -0
- package/browser/cjs/BYRBdz-9UGZ0b_AO.cjs +7 -0
- package/browser/cjs/BZvC7PqILOVRl2ij.cjs +6 -0
- package/browser/cjs/Bc6lVP0c3mEzf_yK.cjs +6 -0
- package/browser/cjs/Bdm_fGdkK4-pZ0tW.cjs +6 -0
- package/browser/cjs/Bi2-QXq5KvbsAXoB.cjs +6 -0
- package/browser/cjs/Bk2cFYnTKxP7WbLy.cjs +6 -0
- package/browser/cjs/BlojFx4yQfY8ahEJ.cjs +12 -0
- package/browser/cjs/BvEv8i6SisfC24C1.cjs +7 -0
- package/browser/cjs/Bzntg1YSzOszdwLy.cjs +6 -0
- package/browser/cjs/C9oIS5xxO9B7vS3W.cjs +6 -0
- package/browser/cjs/C9xTKWx1tr6NZFC8.cjs +6 -0
- package/browser/cjs/CCu9cK1DUD4oa3Nj.cjs +6 -0
- package/browser/cjs/CIeiC9TKv80O2_fQ.cjs +6 -0
- package/browser/cjs/COuRf_8YbqEsDQOC.cjs +6 -0
- package/browser/cjs/CQRZm8lGq26oKY31.cjs +6 -0
- package/browser/cjs/CYmpgLiDS0ZlbG11.cjs +6 -0
- package/browser/cjs/CZltonq1gEczLRHi.cjs +32 -0
- package/browser/cjs/Cf1j7hiCbQ8xo4_U.cjs +7 -0
- package/browser/cjs/CknjEH7DZBnqyPfk.cjs +6 -0
- package/browser/cjs/ClEc15AqSTFOf5zG.cjs +6 -0
- package/browser/cjs/CrUZUIz00uPDq4EA.cjs +6 -0
- package/browser/cjs/Cv1BFY5pqPtJd8qO.cjs +6 -0
- package/browser/cjs/CvvHAxM5SO6mwsyq.cjs +161 -0
- package/browser/cjs/Cvwrl86aXHFXJVZZ.cjs +6 -0
- package/browser/cjs/CwgzE59YUQ1eOTBi.cjs +6 -0
- package/browser/cjs/D3qzZXPgfAtKIAP9.cjs +11 -0
- package/browser/cjs/D7q2GFLhv9QRTZJe.cjs +6 -0
- package/browser/cjs/DB2WR3LaeOhkCAXY.cjs +6 -0
- package/browser/cjs/DFJ4dyRxiUF1XPPZ.cjs +15 -0
- package/browser/cjs/DJMpu6kYQUW3FWjs.cjs +6 -0
- package/browser/cjs/DL7DCFUaFkr2LYhZ.cjs +6 -0
- package/browser/cjs/DMMZr350oW-Zan7x.cjs +124 -0
- package/browser/cjs/DMfk3didwdGQLc0i.cjs +1501 -0
- package/browser/cjs/DaEdjRWwuNebE2hn.cjs +6 -0
- package/browser/cjs/Dd7vDdIeQaFScMRQ.cjs +6 -0
- package/browser/cjs/Df9S9eEGYxA_EcEr.cjs +6 -0
- package/browser/cjs/DgSAPPq-D_vlo9jE.cjs +6 -0
- package/browser/cjs/DmtZLv1wnSxRzPiR.cjs +6 -0
- package/browser/cjs/DqlFSswn_reXyFz8.cjs +6 -0
- package/browser/cjs/Dws_eDddoJKDPps_.cjs +6 -0
- package/browser/cjs/HyVntu9KkvdKrJEt.cjs +16 -0
- package/browser/cjs/Iek_K8QW1doYx_eo.cjs +6 -0
- package/browser/cjs/QJFc55OPrJyuRvDO.cjs +19 -0
- package/browser/cjs/QxU4KIgsHZuVigdy.cjs +329 -0
- package/browser/cjs/cOAjfOdF1cb-xgQG.cjs +6 -0
- package/browser/cjs/index.cjs +2 -80
- package/browser/cjs/kQ8wVygFJMcxlUv-.cjs +6 -0
- package/browser/cjs/tVbeAmLkaH_1Jy7R.cjs +6 -0
- package/browser/cjs/wNoDw92hvq2txBki.cjs +11 -0
- package/browser/esm/2d2eGHpsnUoCOFMT.mjs +47 -0
- package/browser/esm/AVmCEk8Fmiw2k_yK.mjs +425 -0
- package/browser/esm/B0A2aLiKDPGGU4k-.mjs +44515 -0
- package/browser/esm/BBov1fpR61VyhE3Z.mjs +10 -0
- package/browser/esm/BJD32_Zv5gkabGc0.mjs +10 -0
- package/browser/esm/BJqIPJDvrhWpZc4S.mjs +10 -0
- package/browser/esm/BKYjPTKdwG8Dn1_Z.mjs +21 -0
- package/browser/esm/BQfnqD12mz41DOr_.mjs +10 -0
- package/browser/esm/BSdVpOzJ8SL3EBhP.mjs +10 -0
- package/browser/esm/BVuoKgnuqrUwY6Fv.mjs +44 -0
- package/browser/esm/Ba4SdTfCAvYS7a3O.mjs +29 -0
- package/browser/esm/BajFlIH_X_nvDNfp.mjs +2344 -0
- package/browser/esm/Bb0W3ByMVowTViNK.mjs +10 -0
- package/browser/esm/BmyjN5txj3iMw_DE.mjs +10 -0
- package/browser/esm/BpFA0UU_TF4JO3dh.mjs +10 -0
- package/browser/esm/Btr2FDDtI_fht0WU.mjs +1466 -0
- package/browser/esm/Bzg-D_R4sXN-wyMx.mjs +10 -0
- package/browser/esm/C2xOGr0pDSHSMKoW.mjs +1366 -0
- package/browser/esm/CAal3t8F-VfdmgAH.mjs +10 -0
- package/browser/esm/CBPeZuyUIf9scEwn.mjs +2081 -0
- package/browser/esm/CCjuiVOyesh1IQpA.mjs +3936 -0
- package/browser/esm/CDnNRZ7jINT_Dr0K.mjs +46 -0
- package/browser/esm/CQaM4Ka20cP71fl0.mjs +10 -0
- package/browser/esm/CVlIOg6F8qrZdlQ1.mjs +10 -0
- package/browser/esm/Cbq2K4YGny5wwFEf.mjs +10 -0
- package/browser/esm/CfeqmUm-TkCE2XpK.mjs +260 -0
- package/browser/esm/Ckb6l6osoWh90VXn.mjs +10 -0
- package/browser/esm/CkccSfJEU471_Sui.mjs +1702 -0
- package/browser/esm/Cl0mB61JgZYfTh4S.mjs +24 -0
- package/browser/esm/Cm7pnWH_xgLwX_lZ.mjs +10 -0
- package/browser/esm/Co_HyodT3prcEvNJ.mjs +10 -0
- package/browser/esm/CsBIABPdnqpcZcvJ.mjs +10 -0
- package/browser/esm/CslKfn0zxkGKrM4-.mjs +48 -0
- package/browser/esm/Cx0a1WWRvJgDg4qb.mjs +21 -0
- package/browser/esm/D-QFKqWRP5dKwynV.mjs +10 -0
- package/browser/esm/DWgbhx4Y4WzyAP3Z.mjs +1575 -0
- package/browser/esm/DgFIjoPrM5dmrLHT.mjs +392 -0
- package/browser/esm/Dk_OZhcDLapTaNma.mjs +10 -0
- package/browser/esm/Dp--KMDeqecbq_Wc.mjs +10 -0
- package/browser/esm/Dva_qJrZGvFYbRxZ.mjs +21 -0
- package/browser/esm/DxJfUV0HFQT8g6H_.mjs +39 -0
- package/browser/esm/Dxqx7qwqE6wbYSpB.mjs +147 -0
- package/browser/esm/ObudKUELIfmbm87W.mjs +10 -0
- package/browser/esm/SGprYj0-SzDtrM3y.mjs +56 -0
- package/browser/esm/SmC3rmOCw-Ynredz.mjs +1672 -0
- package/browser/esm/T263hpnj_sMd1bmD.mjs +84 -0
- package/browser/esm/Ys1OCodY6sXUkZ6-.mjs +424 -0
- package/browser/esm/aqvSzH4m6bf7ODc6.mjs +10 -0
- package/browser/esm/d49_A3euUkzKZure.mjs +633 -0
- package/browser/esm/d8r4AqRUASAMCbBC.mjs +1352 -0
- package/browser/esm/fgXzhDR19HBK6PEW.mjs +20 -0
- package/browser/esm/g2unVUs-HBGBvXMs.mjs +12 -0
- package/browser/esm/gzl_ozUgkS0mr_32.mjs +13391 -0
- package/browser/esm/index.mjs +4 -176
- package/browser/esm/kbK4ZGVl1tl5F-UA.mjs +41 -0
- package/browser/esm/oAfM3SU0EgMxfDc0.mjs +3802 -0
- package/browser/esm/{NBuS53B7u8hItiXf.mjs → oUl7lbkOPMCi30tO.mjs} +937 -933
- package/browser/esm/tAl8qMu6C0Vlq5p-.mjs +5585 -0
- package/cdn/assets/1we1udiYEDagZ5XN.js +241 -0
- package/cdn/assets/8d4z_mUqWF_BnOt4.js +6481 -0
- package/cdn/assets/B-ol51_1jHaCVeGO.js +3802 -0
- package/cdn/assets/B2I5EC8Y3LkhqzOe.js +50 -0
- package/cdn/assets/B44RkeFF8g1ncaGw.js +49 -0
- package/cdn/assets/BBov1fpR61VyhE3Z.js +10 -0
- package/cdn/assets/BCEDMsB3yP73FGo4.js +260 -0
- package/cdn/assets/BERonPR_jlfR0j1B.js +46 -0
- package/cdn/assets/BJD32_Zv5gkabGc0.js +10 -0
- package/cdn/assets/BJqIPJDvrhWpZc4S.js +10 -0
- package/cdn/assets/BKYjPTKdwG8Dn1_Z.js +21 -0
- package/cdn/assets/BPQvYX3Tn3_XfM55.js +2346 -0
- package/cdn/assets/BQfnqD12mz41DOr_.js +10 -0
- package/cdn/assets/BSdVpOzJ8SL3EBhP.js +10 -0
- package/cdn/assets/BWHiFslK55rPiaTT.js +21 -0
- package/cdn/assets/BWhbbP9qvpjw1m3d.js +21 -0
- package/cdn/assets/B_gWDLoUXJ58kUTF.js +5585 -0
- package/cdn/assets/Bb0W3ByMVowTViNK.js +10 -0
- package/cdn/assets/Bk7mWQ4jJ591qT5U.js +1702 -0
- package/cdn/assets/BmyjN5txj3iMw_DE.js +10 -0
- package/cdn/assets/BnEb6t4xIVuW37yn.js +29 -0
- package/cdn/assets/BpFA0UU_TF4JO3dh.js +10 -0
- package/cdn/assets/Bzg-D_R4sXN-wyMx.js +10 -0
- package/cdn/assets/C2xOGr0pDSHSMKoW.js +1366 -0
- package/cdn/assets/CAal3t8F-VfdmgAH.js +10 -0
- package/cdn/assets/CGImeT9zAECbU9zM.js +43 -0
- package/cdn/assets/CIdfxx6BkkxIdU4J.js +36 -0
- package/cdn/assets/CQaM4Ka20cP71fl0.js +10 -0
- package/cdn/assets/CVgQlKevn28IBavQ.js +44342 -0
- package/cdn/assets/CVlIOg6F8qrZdlQ1.js +10 -0
- package/cdn/assets/Cbq2K4YGny5wwFEf.js +10 -0
- package/cdn/assets/CcE9nC_34k_5iKdO.js +425 -0
- package/cdn/assets/CcP-5SrDsnDeT6SQ.js +2083 -0
- package/cdn/assets/Ckb6l6osoWh90VXn.js +10 -0
- package/cdn/assets/Cl0mB61JgZYfTh4S.js +24 -0
- package/cdn/assets/Cm7pnWH_xgLwX_lZ.js +10 -0
- package/cdn/assets/Co_HyodT3prcEvNJ.js +10 -0
- package/cdn/assets/CsBIABPdnqpcZcvJ.js +10 -0
- package/cdn/assets/Ct1wZ_TFb7_zG9uz.js +22 -0
- package/cdn/assets/D-QFKqWRP5dKwynV.js +10 -0
- package/cdn/assets/D8hsneNA-W9ryUa9.js +27 -0
- package/cdn/assets/DBzbchpZyNJVqFwJ.js +1575 -0
- package/cdn/assets/DIBJnPf-ZLpoUAyv.js +90 -0
- package/cdn/assets/DKaNurhCUtSDI3-Y.js +3936 -0
- package/cdn/assets/DQmcuM6zJj_UBR4j.js +58 -0
- package/cdn/assets/DXWy4_H6I-dyOLr6.js +46 -0
- package/cdn/assets/DXlz010r4VFvz1TS.js +23 -0
- package/cdn/assets/Dk_OZhcDLapTaNma.js +10 -0
- package/cdn/assets/Dp--KMDeqecbq_Wc.js +10 -0
- package/cdn/assets/DqRiTlxxpGv8z6hB.js +392 -0
- package/cdn/assets/Dt6M8k8ljeGubAJ5.js +1466 -0
- package/cdn/assets/Dzb_e1lRgdeWlKbP.js +27 -0
- package/cdn/assets/ObudKUELIfmbm87W.js +10 -0
- package/cdn/assets/QtHcsa9O7bxZgew4.js +12 -0
- package/cdn/assets/SmC3rmOCw-Ynredz.js +1672 -0
- package/cdn/assets/UBuQw1PVtmH3a9bE.js +84 -0
- package/cdn/assets/Ys1OCodY6sXUkZ6-.js +424 -0
- package/cdn/assets/aqvSzH4m6bf7ODc6.js +10 -0
- package/cdn/assets/d49_A3euUkzKZure.js +633 -0
- package/cdn/assets/d8r4AqRUASAMCbBC.js +1352 -0
- package/cdn/assets/g2unVUs-HBGBvXMs.js +12 -0
- package/cdn/assets/gzl_ozUgkS0mr_32.js +13391 -0
- package/cdn/assets/o1yNcQczZA65rwUv.js +41 -0
- package/cdn/assets/u_xPkr1quUnZRgrA.js +149 -0
- package/cdn/index.js +2 -2
- package/cdn/loader.js +1 -1
- package/package.json +3 -3
- package/cdn/assets/CY8njwo06MWkoPz2.js +0 -21
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { a as s } from "./CIdfxx6BkkxIdU4J.js";
|
|
2
|
+
import { r as n } from "./Dzb_e1lRgdeWlKbP.js";
|
|
3
|
+
import { g as e, h as z, L as E, B as K, i as R, o as W, j as O, aF as q, l as y } from "./CVgQlKevn28IBavQ.js";
|
|
4
|
+
/**
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
|
|
6
|
+
*
|
|
7
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
|
+
*/
|
|
10
|
+
const A = ["Input"], U = n.memo(n.forwardRef((w, F) => {
|
|
11
|
+
const { initialValue: T = "", onOption: I, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: P, inputType: S, inputPlaceHolder: j, options: d = A, autoFocusSel: v = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...C } = w, [b, k] = n.useState(!1), [a, V] = n.useState(T), [B, D] = n.useState(""), [L, H] = n.useState(!0), i = e(async (t, o) => {
|
|
12
|
+
if (!p) return !0;
|
|
13
|
+
const h = await p?.(t, o);
|
|
14
|
+
D(h?.message ?? "");
|
|
15
|
+
const x = h?.valid ?? !0;
|
|
16
|
+
return H(x), x;
|
|
17
|
+
}, [p]), f = e(async (t) => {
|
|
18
|
+
l?.(a, t);
|
|
19
|
+
}, [a, l, u, I, g, m]), M = e(async (t) => {
|
|
20
|
+
t.keyCode === z.Enter && await i?.(a, null);
|
|
21
|
+
}, [a, f]), N = e((t) => {
|
|
22
|
+
V(t.target.value), i?.(t.target.value, null);
|
|
23
|
+
}, [r]), $ = e(async (t) => {
|
|
24
|
+
let o = await i(a, t);
|
|
25
|
+
try {
|
|
26
|
+
o !== !1 && (o = await i(a, t));
|
|
27
|
+
} catch {
|
|
28
|
+
}
|
|
29
|
+
return o ?? !0;
|
|
30
|
+
}, [a, r]);
|
|
31
|
+
return s.jsx(E, { options: d, onDone: u, onOption: (t, o) => {
|
|
32
|
+
o || f(t);
|
|
33
|
+
}, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel: v, ref: F, ...C, children: s.jsx(K, { sx: { paddingTop: (t) => t.spacing(1), paddingBottom: (t) => t.spacing(0) }, children: s.jsx(R, { sx: { paddingTop: (t) => t.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: s.jsx(W, { onFocus: (t) => {
|
|
34
|
+
b || t.target?.select(), k(!0);
|
|
35
|
+
}, type: S, label: P, helperText: B || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (t) => t.spacing(0.5), color: L ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: j, spellCheck: !1, autoComplete: "off", ...c, className: q("autoFocus", c?.className), sx: { paddingTop: (t) => t.spacing(1.25), paddingBottom: (t) => t.spacing(0.75), backgroundImage: `linear-gradient(${O("#fff", y(5))}, ${O("#fff", y(5))})` } } }, value: a, onChange: N, onKeyDown: M, onContextMenu: (t) => {
|
|
36
|
+
t.stopPropagation();
|
|
37
|
+
} }) }) }) });
|
|
38
|
+
}));
|
|
39
|
+
export {
|
|
40
|
+
U as default
|
|
41
|
+
};
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { a as t } from "./CIdfxx6BkkxIdU4J.js";
|
|
2
|
+
import { r as o } from "./Dzb_e1lRgdeWlKbP.js";
|
|
3
|
+
import { x as E, y as p, w as b, g as V, h as le, z as ae, A as re, D as ce, B as O, E as g, G as m, J as pe, O as j, Q as de, o as X, j as R, R as ue, U as fe, V as xe, _ as ge, l as v, a0 as _, a1 as me, a2 as he, a3 as Oe, q as je, i as Ce, I as ye, S as be } from "./CVgQlKevn28IBavQ.js";
|
|
4
|
+
/**
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
|
|
6
|
+
*
|
|
7
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
|
+
*/
|
|
10
|
+
const Re = E(t.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), ve = E(t.jsx("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), Te = 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"), K = o.memo((T) => {
|
|
11
|
+
const { label: h, value: c, options: l, onSelect: d, tabIndex: C = 0, ...F } = T, [I, y] = o.useState(() => ee(c, l));
|
|
12
|
+
o.useEffect(() => {
|
|
13
|
+
y(ee(c, l));
|
|
14
|
+
}, [c, l]);
|
|
15
|
+
const D = V((u) => {
|
|
16
|
+
y(u.target.value), d?.(l[u.target.value]);
|
|
17
|
+
}, [d, l]), a = o.useMemo(() => Object.keys(l).map((u) => t.jsx(je, { value: u, children: u }, u)), [l]);
|
|
18
|
+
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: D, sx: { backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(5))})` }, ...F, children: a })] });
|
|
19
|
+
}), Y = { Workbook: "workbook", Sheet: "sheet" }, Z = { enter: 140, exit: 140 }, ne = { Formulas: p.Content.Formulas, Values: p.Content.Values, Notes: p.Content.Notes, Comments: p.Content.Comments }, te = { ...ne };
|
|
20
|
+
delete te.Values;
|
|
21
|
+
const Se = { "By Rows": !0, "By Columns": !1 }, ee = (T, h) => {
|
|
22
|
+
const c = Object.keys(h);
|
|
23
|
+
for (let l = 0; l < c.length; l++) {
|
|
24
|
+
const d = c[l];
|
|
25
|
+
if (h[d] === T) return d;
|
|
26
|
+
}
|
|
27
|
+
}, Ie = o.memo((T) => {
|
|
28
|
+
const { replace: h = !1, findText: c, replaceText: l, findOptions: d, replaceOptions: C, title: F, onHide: I, onFindOrReplace: y, ...D } = T, a = o.useRef(null), u = o.useRef(null), M = o.useRef(null), $ = o.useRef(null), z = o.useRef(null), B = o.useRef(null), H = (e, n) => {
|
|
29
|
+
n && (n.start(e, { center: !1 }), setTimeout(() => n.stop(e), 180));
|
|
30
|
+
}, [W, w] = o.useState(!1), [L, se] = o.useState(!1), [f, A] = o.useState(h), [N, P] = 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: Y.Sheet }), k = V(async (e, n, s, S) => {
|
|
31
|
+
if (!y) return;
|
|
32
|
+
const x = { ...i };
|
|
33
|
+
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;
|
|
34
|
+
const oe = await y({ autoFocus: S, ...x });
|
|
35
|
+
P(oe === 0);
|
|
36
|
+
}, [i, y]);
|
|
37
|
+
o.useEffect(() => {
|
|
38
|
+
P(!1);
|
|
39
|
+
}, [i, L, f]);
|
|
40
|
+
const q = V((e, n) => {
|
|
41
|
+
if (e.keyCode === le.Enter) {
|
|
42
|
+
if (!i.findText) return;
|
|
43
|
+
let s = !0, S = !1;
|
|
44
|
+
e.shiftKey && (s = !1), n ? (e.ctrlKey && e.altKey && (S = !0), H(e, S ? B.current : z.current)) : H(e, s ? $.current : M.current), k(s, n, S, !1);
|
|
45
|
+
}
|
|
46
|
+
}, [i]), J = o.useRef(null);
|
|
47
|
+
o.useLayoutEffect(() => {
|
|
48
|
+
r((e) => {
|
|
49
|
+
const n = { ...e };
|
|
50
|
+
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]);
|
|
51
|
+
const s = !(!C && l === void 0);
|
|
52
|
+
return s && A(s), n;
|
|
53
|
+
}), U || J.current?.focus();
|
|
54
|
+
}, [c, l, d, C]), o.useEffect(() => {
|
|
55
|
+
f ? (i.findOptions.fields[0], p.Content.Values) : w(!0);
|
|
56
|
+
}, [f]), o.useEffect(() => {
|
|
57
|
+
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", () => {
|
|
58
|
+
a.current?.select(), w(!1);
|
|
59
|
+
}, { once: !0 });
|
|
60
|
+
}, [W, i]);
|
|
61
|
+
const [ie, { width: Q }] = ae();
|
|
62
|
+
return t.jsx(re, { ref: J, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => G(!0), onBlur: () => {
|
|
63
|
+
G(!1), P(!1);
|
|
64
|
+
}, PaperProps: { elevation: U ? 3 : 1 }, ...D, 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) => {
|
|
65
|
+
if (e.key === "h" && e.ctrlKey) A(!0), a.current?.contains(document.activeElement) && u.current?.focus();
|
|
66
|
+
else if (e.key === "f" && e.ctrlKey) a.current?.focus();
|
|
67
|
+
else if (e.key === "c" && e.altKey) r((n) => {
|
|
68
|
+
const s = { ...n };
|
|
69
|
+
return s.findOptions.matchCase = !n.findOptions.matchCase, s;
|
|
70
|
+
});
|
|
71
|
+
else if (e.key === "e" && e.altKey) r((n) => {
|
|
72
|
+
const s = { ...n };
|
|
73
|
+
return s.findOptions.matchEntireCell = !n.findOptions.matchEntireCell, s;
|
|
74
|
+
});
|
|
75
|
+
else {
|
|
76
|
+
if (e.key !== "r" || !e.altKey) return;
|
|
77
|
+
r((n) => {
|
|
78
|
+
const s = { ...n };
|
|
79
|
+
return s.findOptions.useRegex = !n.findOptions.useRegex, s;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
e.preventDefault();
|
|
83
|
+
}, 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: L, onSelectToggle: (e) => {
|
|
84
|
+
se(e);
|
|
85
|
+
}, preventFocus: !0, label: "Toggle Additional Options", icon: m(t.jsx(pe, {})) }), t.jsx(g, { selected: f, onSelectToggle: (e) => {
|
|
86
|
+
A(e);
|
|
87
|
+
}, 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(X, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Q > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(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) => {
|
|
88
|
+
r((n) => {
|
|
89
|
+
const s = { ...n };
|
|
90
|
+
return s.findOptions.matchCase = e, s;
|
|
91
|
+
});
|
|
92
|
+
}, label: "Match Case", shortcut: { key: "C", modifiers: [j.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
|
|
93
|
+
r((n) => {
|
|
94
|
+
const s = { ...n };
|
|
95
|
+
return s.findOptions.matchEntireCell = e, s;
|
|
96
|
+
});
|
|
97
|
+
}, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [j.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
|
|
98
|
+
r((n) => {
|
|
99
|
+
const s = { ...n };
|
|
100
|
+
return s.findOptions.useRegex = e, s;
|
|
101
|
+
});
|
|
102
|
+
}, 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) => {
|
|
103
|
+
r((n) => {
|
|
104
|
+
const s = { ...n };
|
|
105
|
+
return s.findText = e.target.value, s;
|
|
106
|
+
});
|
|
107
|
+
}, onKeyDown: (e) => q(e, !1), onContextMenu: (e) => {
|
|
108
|
+
e.stopPropagation();
|
|
109
|
+
} }), t.jsx(g, { selected: i.findOptions.reverse, onSelectToggle: (e) => {
|
|
110
|
+
k(!1, !1);
|
|
111
|
+
}, touchRippleRef: M, 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) => {
|
|
112
|
+
k(!0, !1);
|
|
113
|
+
}, touchRippleRef: $, label: "Next Match", shortcut: { key: "Enter" }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(Te, {}) : t.jsx(ve, {})), disabled: !i.findText })] }), t.jsx(_, { in: f, timeout: Z, onExit: () => {
|
|
114
|
+
a.current?.focus();
|
|
115
|
+
}, children: t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(X, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(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) => {
|
|
116
|
+
r((n) => {
|
|
117
|
+
const s = { ...n };
|
|
118
|
+
return s.replaceText = e.target.value, s;
|
|
119
|
+
});
|
|
120
|
+
}, onKeyDown: (e) => q(e, !0), onContextMenu: (e) => {
|
|
121
|
+
e.stopPropagation();
|
|
122
|
+
} }), t.jsx(g, { onSelectToggle: (e) => {
|
|
123
|
+
k(!0, !0);
|
|
124
|
+
}, touchRippleRef: z, label: "Replace", shortcut: { key: "Enter" }, icon: m(t.jsx(me, {})), disabled: !i.findText }), t.jsx(g, { onSelectToggle: (e) => {
|
|
125
|
+
k(!0, !0, !0);
|
|
126
|
+
}, touchRippleRef: B, label: "Replace All", shortcut: { key: "Enter", modifiers: [j.Ctrl, j.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(_, { in: L, timeout: Z, onExit: () => {
|
|
127
|
+
a.current?.focus();
|
|
128
|
+
}, 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(K, { label: "Within", value: i.scope, options: Y, onSelect: (e) => {
|
|
129
|
+
r((n) => {
|
|
130
|
+
const s = { ...n };
|
|
131
|
+
return s.scope = e, s;
|
|
132
|
+
});
|
|
133
|
+
} }), t.jsx(K, { label: "Search", value: i.findOptions.orientation !== b.Orientation.Column, options: Se, onSelect: (e) => {
|
|
134
|
+
r((n) => {
|
|
135
|
+
const s = { ...n };
|
|
136
|
+
return s.findOptions.orientation = e ? b.Orientation.Row : b.Orientation.Column, s;
|
|
137
|
+
});
|
|
138
|
+
} }), t.jsx(K, { 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) => {
|
|
139
|
+
r((n) => {
|
|
140
|
+
const s = { ...n };
|
|
141
|
+
return s.findOptions.fields = [e], s;
|
|
142
|
+
});
|
|
143
|
+
} })] })] }) })] }) });
|
|
144
|
+
});
|
|
145
|
+
export {
|
|
146
|
+
Ie as FindReplaceWindow,
|
|
147
|
+
Y as ScopeOptions,
|
|
148
|
+
Ie as default
|
|
149
|
+
};
|
package/cdn/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
|
|
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.
|
|
@@ -114,7 +114,7 @@ const S = /* @__PURE__ */ new Map(), k = (e, o = {}) => {
|
|
|
114
114
|
let d;
|
|
115
115
|
const C = async (e) => {
|
|
116
116
|
if (d) return d;
|
|
117
|
-
const { resolveDependencies: o } = await import("./assets/
|
|
117
|
+
const { resolveDependencies: o } = await import("./assets/BWHiFslK55rPiaTT.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
|
|
118
118
|
return d = await (async (a, n) => {
|
|
119
119
|
typeof n == "string" && (n = { selector: n });
|
|
120
120
|
try {
|
package/cdn/loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(e){typeof define=="function"&&define.amd?define(e):e()})(function(){"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
|
|
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.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheetxl/studio-vanilla",
|
|
3
3
|
"description": "SheetXL Studio - Vanilla entry point for integrating SheetXL UI.",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.22",
|
|
5
5
|
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./browser/esm/index.mjs",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@mui/styled-engine": "^6.5.0",
|
|
42
42
|
"@mui/system": "^6.5.0",
|
|
43
43
|
"@mui/utils": "^6.4.9",
|
|
44
|
-
"@sheetxl/studio-mui": "^0.4.
|
|
45
|
-
"@sheetxl/sdk": "^0.4.
|
|
44
|
+
"@sheetxl/studio-mui": "^0.4.22",
|
|
45
|
+
"@sheetxl/sdk": "^0.4.22",
|
|
46
46
|
"react": "^19.1.0",
|
|
47
47
|
"react-dom": "^19.1.0",
|
|
48
48
|
"csstype": "^3.1.3",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.21
|
|
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
|
-
let a = null;
|
|
8
|
-
const i = { reactUrl: "https://esm.sh/react@19.1.0", reactJsxTransform: "https://esm.sh/react@19.1.0/jsx-runtime", reactDomUrl: "https://esm.sh/react-dom@19.1.0", reactDomUrlClient: "https://esm.sh/react-dom@19.1.0/client" }, n = (t) => (t = { ...t, ...i }, a || (a = (async () => {
|
|
9
|
-
const c = t.reactUrl, o = t.reactDomUrl, s = t.reactDomUrlClient, m = t.reactJsxTransform;
|
|
10
|
-
if (document.querySelector('script[type="importmap"]')) console.warn("SheetXL: Import map already exists. Skipping injection.");
|
|
11
|
-
else {
|
|
12
|
-
const r = document.createElement("script");
|
|
13
|
-
r.type = "importmap", r.textContent = JSON.stringify({ imports: { react: c, "react/jsx-runtime": m, "react-dom": o, "react-dom/client": s } }), document.head.appendChild(r);
|
|
14
|
-
}
|
|
15
|
-
await new Promise((r) => setTimeout(r, 0));
|
|
16
|
-
const e = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("@sheetxl/studio-mui")]);
|
|
17
|
-
return { React: e[0], ReactJSXTransform: e[1], ReactDOM: e[2], ReactDOMClient: e[3], StudioMUI: e[4] };
|
|
18
|
-
})(), a));
|
|
19
|
-
export {
|
|
20
|
-
n as resolveDependencies
|
|
21
|
-
};
|