@sheetxl/studio-vanilla 0.4.10 → 0.4.12
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/B35OZ0mE8aINQPP9.cjs +7 -0
- package/browser/cjs/BPzEQNENF-gEBkg9.cjs +7 -0
- package/browser/cjs/BUokV6yuzE-_8MyK.cjs +7 -0
- package/browser/cjs/BeZHmOKfa37mFNAu.cjs +7 -0
- package/browser/cjs/BflJ_0gT9lQtDvY_.cjs +7 -0
- package/browser/cjs/BwN8vKi5o3-PbIMo.cjs +7 -0
- package/browser/cjs/C3OizZPVuxO2fjSG.cjs +7 -0
- package/browser/cjs/CBL6KkiWI2RPflEN.cjs +7 -0
- package/browser/cjs/CN6-6xpZMpFqSS8M.cjs +7 -0
- package/browser/cjs/CTrEV_UpxC0W6cZZ.cjs +7 -0
- package/browser/cjs/CU30GVjjFXl44vEU.cjs +7 -0
- package/browser/cjs/CZWBxvUXzfpn_zmc.cjs +7 -0
- package/browser/cjs/Ccs2ouvlLekaLGH0.cjs +7 -0
- package/browser/cjs/Ce-8L4Viq3I_6j0i.cjs +7 -0
- package/browser/cjs/CtNjLzIHB8WX63Bl.cjs +7 -0
- package/browser/cjs/DAHpsyykuPBkoh-Z.cjs +7 -0
- package/browser/cjs/DJbKKxeeTEHHA1gR.cjs +107 -0
- package/browser/cjs/D_VQzwC1zzTJyKtG.cjs +7 -0
- package/browser/cjs/GrsZZ_mEdsM5dEMA.cjs +7 -0
- package/browser/cjs/JKEGlXjMwGnXk_Gv.cjs +7 -0
- package/browser/cjs/L1iE_VcelYZIy0wI.cjs +7 -0
- package/browser/cjs/Q_VvA-yUQx3xFKiJ.cjs +7 -0
- package/browser/cjs/fTGpiXzFm3K_u2Fm.cjs +7 -0
- package/browser/cjs/hwDUzorB6aCvH1eL.cjs +7 -0
- package/browser/cjs/index.cjs +4 -3
- package/browser/cjs/no5c2H18QD2qmOH6.cjs +7 -0
- package/browser/esm/B4Mm5gczpI_k2zzN.mjs +7 -0
- package/browser/esm/B8ISUdOxsJMYWzNN.mjs +7 -0
- package/browser/esm/BnJiF38TGudjoHzT.mjs +7 -0
- package/browser/esm/Bts4nCgfCAUpTfxz.mjs +7 -0
- package/browser/esm/C3cyAbIH8Qc8MIFN.mjs +107 -0
- package/browser/esm/C4jlaVv8bELgiHyE.mjs +7 -0
- package/browser/esm/CYIhGb86r-kKOrP5.mjs +7 -0
- package/browser/esm/CcpskguvlvemArQn.mjs +7 -0
- package/browser/esm/CeRfALx1iU5fqOUg.mjs +7 -0
- package/browser/esm/CfYWmP_Hots5f0f6.mjs +7 -0
- package/browser/esm/CkarbqNx_lhlBnw7.mjs +7 -0
- package/browser/esm/D2PlWNQjrTgf6GuR.mjs +7 -0
- package/browser/esm/D3KNxvnrwR6_fTJE.mjs +7 -0
- package/browser/esm/DIJyH94oCzUnlcNZ.mjs +7 -0
- package/browser/esm/DVAG1NxFe3cMjLE1.mjs +7 -0
- package/browser/esm/DVqga7g7j0FUiM6p.mjs +7 -0
- package/browser/esm/DcX8yGEBX6qi9RCe.mjs +7 -0
- package/browser/esm/DeXfOSxGE_Ez7DZq.mjs +7 -0
- package/browser/esm/DzgM_rkwyIHsCb6I.mjs +7 -0
- package/browser/esm/M4hZ25330e96seUM.mjs +7 -0
- package/browser/esm/Qp2Toeh_EbJH_f_6.mjs +7 -0
- package/browser/esm/SAyRTPVprOHZ8Up8.mjs +7 -0
- package/browser/esm/_ft7JYO6QdDbIu3d.mjs +7 -0
- package/browser/esm/dpdy0BU4GGI5lZrX.mjs +7 -0
- package/browser/esm/index.mjs +2 -8
- package/browser/esm/oLCocGFRAwsVsOSE.mjs +7 -0
- package/cdn/assets/7_O6nILzn1fSVvkO.js +13449 -0
- package/cdn/assets/B3kbBB6oxKBErwzn.js +27 -0
- package/cdn/assets/BB66NDz7S3ocEfRB.js +150 -0
- package/cdn/assets/BCK7yhx9JfzU2rF0.js +22 -0
- package/{browser/esm/DIGFi66CQPMV3HsL.mjs → cdn/assets/BSAH88RG1oubICau.js} +25 -25
- package/cdn/assets/{B-9FcTf3xBEVGdjV.js → BT5EcMEFBsphczwC.js} +536 -534
- package/cdn/assets/BcWoqhD_sX85c7Mh.js +1701 -0
- package/cdn/assets/BoOefjrM4kZ-YXxa.js +90 -0
- package/cdn/assets/BtweFYnoj_aEfydW.js +1371 -0
- package/cdn/assets/Bv0Xb6DdcQbPYJKo.js +24 -0
- package/cdn/assets/CC-S4NMYhLg3WgqO.js +3875 -0
- package/cdn/assets/CJhyHcQcrhbtC33r.js +50 -0
- package/cdn/assets/CUc6gRjjRGTFWSHD.js +50 -0
- package/{browser/esm/D47D26mVYSAdb5C8.mjs → cdn/assets/CfObTzh8pGdd8D23.js} +560 -555
- package/cdn/assets/CiY3HumGDc_5bMtR.js +58 -0
- package/cdn/assets/CpPLN0-hDsTIFHZV.js +46 -0
- package/{browser/esm/C_Zx1tYjI3n7KKZH.mjs → cdn/assets/Cq94woVmlxhjWVRI.js} +2 -2
- package/cdn/assets/CsjftXmSYQRHNKdq.js +41 -0
- package/cdn/assets/DBL4jY0AVc53RGNm.js +637 -0
- package/cdn/assets/DDW1WJ2IM_9ZUfKm.js +36 -0
- package/cdn/assets/{Bt1JSlSpWXDOBfq3.js → DJQOS9qxVAlpgDMt.js} +5 -4
- package/cdn/assets/DWJE3K3jMKMTCi3o.js +393 -0
- package/cdn/assets/D_5RgqgwXsoqLJDR.js +241 -0
- package/cdn/assets/DfmaL8DmDaFAv8M_.js +6481 -0
- package/cdn/assets/DgLPO_EQ9DYoGgec.js +423 -0
- package/cdn/assets/{B3J6oAmsS7oLNFPd.js → DkS6quwH1okWaho6.js} +3 -3
- package/cdn/assets/DxMu6URURFWj9aXM.js +2373 -0
- package/cdn/assets/Jhm2DAcrfAqiM-Y-.js +26490 -0
- package/cdn/assets/MRBi3juXAW0lA_mj.js +1358 -0
- package/cdn/assets/dk2teWHDODYNarJY.js +27 -0
- package/cdn/assets/phYz0vGgqIEQ2hco.js +12 -0
- package/cdn/assets/qA23x9VVBL9R4qxN.js +43 -0
- package/cdn/index.js +8 -8
- package/cdn/loader.js +1 -1
- package/package.json +5 -5
- package/browser/cjs/B1UGqZP_7Z0Ewpog.cjs +0 -6
- package/browser/cjs/B6m9VXoFseD4zuZ5.cjs +0 -6
- package/browser/cjs/BKePSaEpM6Z063z-.cjs +0 -161
- package/browser/cjs/Bqn0ZeP_srNfL9rG.cjs +0 -6
- package/browser/cjs/C-izbj62pQuZjOrT.cjs +0 -304
- package/browser/cjs/C-w-GX8N54TxTjjf.cjs +0 -6
- package/browser/cjs/C1QGdcqJ-9sdGTQR.cjs +0 -6
- package/browser/cjs/C38aiRglHLxZ8KRY.cjs +0 -6
- package/browser/cjs/C4JMn_hMnlOnDpQO.cjs +0 -6
- package/browser/cjs/CApEj4LhhPUvQjIG.cjs +0 -16
- package/browser/cjs/CFcJbmmXjWjl6fQH.cjs +0 -6
- package/browser/cjs/CKiDbCZ6rGgXK7yN.cjs +0 -42
- package/browser/cjs/CM8btXQsJbnFKXUm.cjs +0 -6
- package/browser/cjs/Cb0K3Wzp7BAa4zni.cjs +0 -15
- package/browser/cjs/CiAUhPU7v1BK-8Bb.cjs +0 -7
- package/browser/cjs/CsXS-EN0N5SZHTnQ.cjs +0 -145
- package/browser/cjs/Cu2eUomoF0HToa4l.cjs +0 -6
- package/browser/cjs/Cy7ii9B_Vqx94pbu.cjs +0 -19
- package/browser/cjs/CzI4ZcsmzsyPBpWN.cjs +0 -12
- package/browser/cjs/DKHzUx2gKXwboKy1.cjs +0 -11
- package/browser/cjs/DKc8wAq8dwbDddQn.cjs +0 -11
- package/browser/cjs/DMyKApbUVRtNYC4e.cjs +0 -6
- package/browser/cjs/DROR08HMGyg7rizQ.cjs +0 -6
- package/browser/cjs/DfGDZlbFVknGyu_X.cjs +0 -6
- package/browser/cjs/OQdqVM_6m78kE5Aj.cjs +0 -7
- package/browser/cjs/v4OEtYXaUw_GeiXM.cjs +0 -12
- package/browser/esm/4uEr84M4w57AMyDg.mjs +0 -1703
- package/browser/esm/B8Ja5DlyKAy8xfQD.mjs +0 -1365
- package/browser/esm/B9bN60uAvy62vnwt.mjs +0 -22
- package/browser/esm/BAOzSQdzHl43K9Hd.mjs +0 -50
- package/browser/esm/BQYSD5Nb35y0WeeV.mjs +0 -421
- package/browser/esm/BVcaNvORp_uKPQgJ.mjs +0 -46
- package/browser/esm/BqXO_cQhrMJu7JoQ.mjs +0 -3756
- package/browser/esm/C18A_DcIEHNYBDvR.mjs +0 -46
- package/browser/esm/C7FoKZbSzjvuY3UB.mjs +0 -43
- package/browser/esm/CCIJpHSbFPjTEF8S.mjs +0 -1665
- package/browser/esm/CHNPjJxb0GY_naLa.mjs +0 -25025
- package/browser/esm/CKHsU9LUNYowimxS.mjs +0 -1346
- package/browser/esm/Cm-m3bZh0V44y0li.mjs +0 -390
- package/browser/esm/D1e_ccSgcNXvWHgy.mjs +0 -151
- package/browser/esm/D9CdO3PtV12RnK8K.mjs +0 -1467
- package/browser/esm/D9x-Q8y57gePf-tE.mjs +0 -944
- package/browser/esm/DHhXutXh7b5LsU1m.mjs +0 -2346
- package/browser/esm/DamiTeQsSMP2Cwld.mjs +0 -58
- package/browser/esm/DhD48oFrbrnZ6Zg5.mjs +0 -13208
- package/browser/esm/Ln2ZalJgj1CiJJue.mjs +0 -50
- package/browser/esm/S9fgUO7h8YgZxoKH.mjs +0 -633
- package/browser/esm/qVAHcpq07IhtAaQc.mjs +0 -24
- package/browser/esm/xrzJ8ILZHb118Oyt.mjs +0 -41
- package/cdn/assets/2-xJlw77WsCoyz09.js +0 -24872
- package/cdn/assets/B-p1i2SNRMunPXCF.js +0 -43
- package/cdn/assets/B8Ja5DlyKAy8xfQD.js +0 -1365
- package/cdn/assets/BG3YTMAzNKPRGoLs.js +0 -50
- package/cdn/assets/BQYSD5Nb35y0WeeV.js +0 -421
- package/cdn/assets/BbzUpvQOkxsN-yIH.js +0 -2346
- package/cdn/assets/BqXO_cQhrMJu7JoQ.js +0 -3756
- package/cdn/assets/CCIJpHSbFPjTEF8S.js +0 -1665
- package/cdn/assets/CKHsU9LUNYowimxS.js +0 -1346
- package/cdn/assets/CWLJZwD2GVXljoWG.js +0 -46
- package/cdn/assets/Cm-m3bZh0V44y0li.js +0 -390
- package/cdn/assets/CtQlXGkNWgI-vtGy.js +0 -2178
- package/cdn/assets/DIGFi66CQPMV3HsL.js +0 -84
- package/cdn/assets/DK4S0DbayChkfTD6.js +0 -58
- package/cdn/assets/DQvsBz9F1GS_S7r9.js +0 -50
- package/cdn/assets/DTOgv_zwXSur-yCq.js +0 -151
- package/cdn/assets/DYZjOnD8WWQkCYuH.js +0 -944
- package/cdn/assets/DhD48oFrbrnZ6Zg5.js +0 -13208
- package/cdn/assets/DhyAyTCDkMBf392P.js +0 -21
- package/cdn/assets/P7HeVw5SHROLSWBz.js +0 -24
- package/cdn/assets/S4Z0SN8x6EltjsHT.js +0 -22
- package/cdn/assets/S9fgUO7h8YgZxoKH.js +0 -633
- package/cdn/assets/guYe4C_6pE93QsDV.js +0 -41
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { g as s } from "./phYz0vGgqIEQ2hco.js";
|
|
2
|
+
import { r as f } from "./BoOefjrM4kZ-YXxa.js";
|
|
3
|
+
/**
|
|
4
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
5
|
+
*
|
|
6
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
7
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
8
|
+
*/
|
|
9
|
+
function c(t, a) {
|
|
10
|
+
for (var o = 0; o < a.length; o++) {
|
|
11
|
+
const e = a[o];
|
|
12
|
+
if (typeof e != "string" && !Array.isArray(e)) {
|
|
13
|
+
for (const r in e) if (r !== "default" && !(r in t)) {
|
|
14
|
+
const n = Object.getOwnPropertyDescriptor(e, r);
|
|
15
|
+
n && Object.defineProperty(t, r, n.get ? n : { enumerable: !0, get: () => e[r] });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return Object.freeze(Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }));
|
|
20
|
+
}
|
|
21
|
+
var i = f();
|
|
22
|
+
const l = s(i), u = c({ __proto__: null, default: l }, [i]);
|
|
23
|
+
export {
|
|
24
|
+
u as i,
|
|
25
|
+
i as r,
|
|
26
|
+
l as s
|
|
27
|
+
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { a as t } from "./DDW1WJ2IM_9ZUfKm.js";
|
|
2
|
+
import { r as o } from "./dk2teWHDODYNarJY.js";
|
|
3
|
+
import { ICell as p, IRange as b } from "@sheetxl/sdk";
|
|
4
|
+
import { a0 as E, S as V, o as le, a1 as ae, V as re, D as ce, B as O, a2 as g, a3 as m, a4 as pe, a5 as j, a6 as de, T as Q, a as R, I as ue, a7 as fe, a8 as xe, a9 as ge, v, aa as Y, ab as me, ac as he, ad as Oe, $ as je, F as Ce, W as ye, X as be } from "./Jhm2DAcrfAqiM-Y-.js";
|
|
5
|
+
/**
|
|
6
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
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 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) => {
|
|
12
|
+
const { label: h, value: c, options: l, onSelect: d, tabIndex: C = 0, ...F } = T, [I, y] = o.useState(() => ee(c, l));
|
|
13
|
+
o.useEffect(() => {
|
|
14
|
+
y(ee(c, l));
|
|
15
|
+
}, [c, l]);
|
|
16
|
+
const D = V((u) => {
|
|
17
|
+
y(u.target.value), d?.(l[u.target.value]);
|
|
18
|
+
}, [d, l]), a = o.useMemo(() => Object.keys(l).map((u) => t.jsx(je, { value: u, children: u }, u)), [l]);
|
|
19
|
+
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 })] });
|
|
20
|
+
}), Z = { Workbook: "workbook", Sheet: "sheet" }, _ = { enter: 140, exit: 140 }, ne = { Formulas: p.Content.Formulas, Values: p.Content.Values, Notes: p.Content.Notes, Comments: p.Content.Comments }, te = { ...ne };
|
|
21
|
+
delete te.Values;
|
|
22
|
+
const Se = { "By Rows": !0, "By Columns": !1 }, ee = (T, h) => {
|
|
23
|
+
const c = Object.keys(h);
|
|
24
|
+
for (let l = 0; l < c.length; l++) {
|
|
25
|
+
const d = c[l];
|
|
26
|
+
if (h[d] === T) return d;
|
|
27
|
+
}
|
|
28
|
+
}, De = o.memo((T) => {
|
|
29
|
+
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) => {
|
|
30
|
+
n && (n.start(e, { center: !1 }), setTimeout(() => n.stop(e), 180));
|
|
31
|
+
}, [W, w] = o.useState(!1), [L, se] = o.useState(!1), [f, P] = o.useState(h), [N, A] = o.useState(!1), [U, X] = 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: Z.Sheet }), k = V(async (e, n, s, S) => {
|
|
32
|
+
if (!y) return;
|
|
33
|
+
const x = { ...i };
|
|
34
|
+
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;
|
|
35
|
+
const oe = await y({ autoFocus: S, ...x });
|
|
36
|
+
A(oe === 0);
|
|
37
|
+
}, [i, y]);
|
|
38
|
+
o.useEffect(() => {
|
|
39
|
+
A(!1);
|
|
40
|
+
}, [i, L, f]);
|
|
41
|
+
const G = V((e, n) => {
|
|
42
|
+
if (e.keyCode === le.Enter) {
|
|
43
|
+
if (!i.findText) return;
|
|
44
|
+
let s = !0, S = !1;
|
|
45
|
+
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);
|
|
46
|
+
}
|
|
47
|
+
}, [i]), q = o.useRef(null);
|
|
48
|
+
o.useLayoutEffect(() => {
|
|
49
|
+
r((e) => {
|
|
50
|
+
const n = { ...e };
|
|
51
|
+
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]);
|
|
52
|
+
const s = !(!C && l === void 0);
|
|
53
|
+
return s && P(s), n;
|
|
54
|
+
}), U || q.current?.focus();
|
|
55
|
+
}, [c, l, d, C]), o.useEffect(() => {
|
|
56
|
+
f ? (i.findOptions.fields[0], p.Content.Values) : w(!0);
|
|
57
|
+
}, [f]), o.useEffect(() => {
|
|
58
|
+
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", () => {
|
|
59
|
+
a.current?.select(), w(!1);
|
|
60
|
+
}, { once: !0 });
|
|
61
|
+
}, [W, i]);
|
|
62
|
+
const [ie, { width: J }] = ae();
|
|
63
|
+
return t.jsx(re, { ref: q, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => X(!0), onBlur: () => {
|
|
64
|
+
X(!1), A(!1);
|
|
65
|
+
}, 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) => {
|
|
66
|
+
if (e.key === "h" && e.ctrlKey) P(!0), a.current?.contains(document.activeElement) && u.current?.focus();
|
|
67
|
+
else if (e.key === "f" && e.ctrlKey) a.current?.focus();
|
|
68
|
+
else if (e.key === "c" && e.altKey) r((n) => {
|
|
69
|
+
const s = { ...n };
|
|
70
|
+
return s.findOptions.matchCase = !n.findOptions.matchCase, s;
|
|
71
|
+
});
|
|
72
|
+
else if (e.key === "e" && e.altKey) r((n) => {
|
|
73
|
+
const s = { ...n };
|
|
74
|
+
return s.findOptions.matchEntireCell = !n.findOptions.matchEntireCell, s;
|
|
75
|
+
});
|
|
76
|
+
else {
|
|
77
|
+
if (e.key !== "r" || !e.altKey) return;
|
|
78
|
+
r((n) => {
|
|
79
|
+
const s = { ...n };
|
|
80
|
+
return s.findOptions.useRegex = !n.findOptions.useRegex, s;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
}, 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) => {
|
|
85
|
+
se(e);
|
|
86
|
+
}, preventFocus: !0, label: "Toggle Additional Options", icon: m(t.jsx(pe, {})) }), t.jsx(g, { selected: f, onSelectToggle: (e) => {
|
|
87
|
+
P(e);
|
|
88
|
+
}, 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(Q, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: J > 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) => {
|
|
89
|
+
r((n) => {
|
|
90
|
+
const s = { ...n };
|
|
91
|
+
return s.findOptions.matchCase = e, s;
|
|
92
|
+
});
|
|
93
|
+
}, label: "Match Case", shortcut: { key: "C", modifiers: [j.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
|
|
94
|
+
r((n) => {
|
|
95
|
+
const s = { ...n };
|
|
96
|
+
return s.findOptions.matchEntireCell = e, s;
|
|
97
|
+
});
|
|
98
|
+
}, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [j.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
|
|
99
|
+
r((n) => {
|
|
100
|
+
const s = { ...n };
|
|
101
|
+
return s.findOptions.useRegex = e, s;
|
|
102
|
+
});
|
|
103
|
+
}, 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) => {
|
|
104
|
+
r((n) => {
|
|
105
|
+
const s = { ...n };
|
|
106
|
+
return s.findText = e.target.value, s;
|
|
107
|
+
});
|
|
108
|
+
}, onKeyDown: (e) => G(e, !1), onContextMenu: (e) => {
|
|
109
|
+
e.stopPropagation();
|
|
110
|
+
} }), t.jsx(g, { selected: i.findOptions.reverse, onSelectToggle: (e) => {
|
|
111
|
+
k(!1, !1);
|
|
112
|
+
}, 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) => {
|
|
113
|
+
k(!0, !1);
|
|
114
|
+
}, 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(Y, { in: f, timeout: _, onExit: () => {
|
|
115
|
+
a.current?.focus();
|
|
116
|
+
}, children: t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(Q, { 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) => {
|
|
117
|
+
r((n) => {
|
|
118
|
+
const s = { ...n };
|
|
119
|
+
return s.replaceText = e.target.value, s;
|
|
120
|
+
});
|
|
121
|
+
}, onKeyDown: (e) => G(e, !0), onContextMenu: (e) => {
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
} }), t.jsx(g, { onSelectToggle: (e) => {
|
|
124
|
+
k(!0, !0);
|
|
125
|
+
}, touchRippleRef: z, label: "Replace", shortcut: { key: "Enter" }, icon: m(t.jsx(me, {})), disabled: !i.findText }), t.jsx(g, { onSelectToggle: (e) => {
|
|
126
|
+
k(!0, !0, !0);
|
|
127
|
+
}, touchRippleRef: B, label: "Replace All", shortcut: { key: "Enter", modifiers: [j.Ctrl, j.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(Y, { in: L, timeout: _, onExit: () => {
|
|
128
|
+
a.current?.focus();
|
|
129
|
+
}, 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: J >= 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: Z, onSelect: (e) => {
|
|
130
|
+
r((n) => {
|
|
131
|
+
const s = { ...n };
|
|
132
|
+
return s.scope = e, s;
|
|
133
|
+
});
|
|
134
|
+
} }), t.jsx(K, { label: "Search", value: i.findOptions.orientation !== b.Orientation.Column, options: Se, onSelect: (e) => {
|
|
135
|
+
r((n) => {
|
|
136
|
+
const s = { ...n };
|
|
137
|
+
return s.findOptions.orientation = e ? b.Orientation.Row : b.Orientation.Column, s;
|
|
138
|
+
});
|
|
139
|
+
} }), 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) => {
|
|
140
|
+
r((n) => {
|
|
141
|
+
const s = { ...n };
|
|
142
|
+
return s.findOptions.fields = [e], s;
|
|
143
|
+
});
|
|
144
|
+
} })] })] }) })] }) });
|
|
145
|
+
});
|
|
146
|
+
export {
|
|
147
|
+
De as FindReplaceWindow,
|
|
148
|
+
Z as ScopeOptions,
|
|
149
|
+
De as default
|
|
150
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { a } from "./DDW1WJ2IM_9ZUfKm.js";
|
|
2
|
+
import { r as n } from "./dk2teWHDODYNarJY.js";
|
|
3
|
+
import { S, s as w, B as D, ai as N, w as T, C as k } from "./Jhm2DAcrfAqiM-Y-.js";
|
|
4
|
+
/**
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
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 v = ["Ok", "Cancel"], I = n.memo((g) => {
|
|
11
|
+
const { tableOptions: t, context: p, onOption: r, onValidateOption: y, onDone: c, options: d = v, defaultOption: s = d?.[0], cancelOption: l = "Cancel", sx: m, ...x } = g, [h, O] = n.useState(!1), [o, b] = n.useState(() => t?.hasHeader ?? !1), [i, f] = n.useState(() => t?.ranges ?? null), C = S((e) => {
|
|
12
|
+
const u = { ...t, hasHeader: o, ranges: i };
|
|
13
|
+
r?.(e, e === l, e === s), c?.({ option: e, tableOptions: u });
|
|
14
|
+
}, [c, r, s, l, o, i, t]), j = n.useCallback(async (e, u) => null, []);
|
|
15
|
+
return a.jsx(w, { title: "Insert Table", options: d, onDone: C, onValidateOption: j, defaultOption: s, cancelOption: l, autoFocusSel: ".range-input input", sx: { width: "360px", ...m }, ...x, children: a.jsxs(D, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), display: "flex", flexDirection: "column" }, children: [a.jsx(N, { formName: "range", value: i, onChangeInput: (e) => f(e), resolvedAddress: p.getNames().getRanges.bind(p.getNames()), onFocus: (e) => {
|
|
16
|
+
h || e.target?.select(), O(!0);
|
|
17
|
+
} }), a.jsx(T, { control: a.jsx(k, { checked: o, onChange: () => b(!o) }), label: "Table has headers", labelPlacement: "end" })] }) });
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
I as TableNewDialog,
|
|
21
|
+
I as default
|
|
22
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Workbook as J } from "@sheetxl/sdk";
|
|
2
2
|
/**
|
|
3
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
3
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
4
4
|
*
|
|
5
5
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
6
6
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -9,57 +9,57 @@ const k = async (w, l) => {
|
|
|
9
9
|
const u = await w.toJSON(), b = l?.whiteSpace ?? 0;
|
|
10
10
|
let g;
|
|
11
11
|
l?.beforeWrite?.(w, u), g = b === 0 ? JSON.stringify(u) : function(f, r = 2) {
|
|
12
|
-
const
|
|
12
|
+
const t = [];
|
|
13
13
|
function i(o) {
|
|
14
14
|
const e = r * o;
|
|
15
|
-
return
|
|
15
|
+
return t[e] === void 0 && (t[e] = " ".repeat(e)), t[e];
|
|
16
16
|
}
|
|
17
17
|
return function o(e, a, s, m) {
|
|
18
18
|
if (e == null || typeof e != "object") return JSON.stringify(e);
|
|
19
|
-
const
|
|
19
|
+
const A = i(a), O = i(a + 1);
|
|
20
20
|
if (Array.isArray(e)) {
|
|
21
21
|
const c = e.length;
|
|
22
22
|
if (c === 0) return "[]";
|
|
23
23
|
if (s !== 0) return JSON.stringify(e);
|
|
24
24
|
let y = `[
|
|
25
25
|
`;
|
|
26
|
-
for (let
|
|
26
|
+
for (let d = 0; d < c; d++) y += O + o(e[d], a + 1, s + 1, !0), d < c - 1 && (y += `,
|
|
27
27
|
`);
|
|
28
28
|
return y += `
|
|
29
|
-
` +
|
|
29
|
+
` + A + "]", y;
|
|
30
30
|
}
|
|
31
|
-
const B = Object.keys(e),
|
|
32
|
-
if (
|
|
31
|
+
const B = Object.keys(e), h = B.length;
|
|
32
|
+
if (h === 0) return "{}";
|
|
33
33
|
if (!(s < 2)) return JSON.stringify(e);
|
|
34
34
|
let S = `{
|
|
35
35
|
`;
|
|
36
36
|
m || (s = 0);
|
|
37
|
-
for (let c = 0; c <
|
|
37
|
+
for (let c = 0; c < h; c++) {
|
|
38
38
|
const y = B[c];
|
|
39
|
-
S += O + JSON.stringify(y) + ": " + o(e[y], a + 1, s, !1), c <
|
|
39
|
+
S += O + JSON.stringify(y) + ": " + o(e[y], a + 1, s, !1), c < h - 1 && (S += `,
|
|
40
40
|
`);
|
|
41
41
|
}
|
|
42
42
|
return S += `
|
|
43
|
-
` +
|
|
43
|
+
` + A + "}", S;
|
|
44
44
|
}(f, 0, 0, !1);
|
|
45
45
|
}(u, b);
|
|
46
46
|
let p = new TextEncoder().encode(g).buffer;
|
|
47
|
-
const
|
|
48
|
-
return
|
|
49
|
-
let
|
|
50
|
-
typeof SharedArrayBuffer < "u" && f instanceof SharedArrayBuffer ? (
|
|
47
|
+
const n = l?.compress ?? !0;
|
|
48
|
+
return n && (p = await async function(f, r = "gzip") {
|
|
49
|
+
let t;
|
|
50
|
+
typeof SharedArrayBuffer < "u" && f instanceof SharedArrayBuffer ? (t = new ArrayBuffer(f.byteLength), new Uint8Array(t).set(new Uint8Array(f))) : t = f;
|
|
51
51
|
const i = new ReadableStream({ start(a) {
|
|
52
|
-
a.enqueue(
|
|
52
|
+
a.enqueue(t), a.close();
|
|
53
53
|
} }), o = new CompressionStream(r), e = i.pipeThrough(o);
|
|
54
54
|
return (await new Response(e).blob()).arrayBuffer();
|
|
55
|
-
}(p, typeof
|
|
55
|
+
}(p, typeof n == "string" ? n : void 0)), p;
|
|
56
56
|
}, z = async (w, l) => {
|
|
57
57
|
let u = w;
|
|
58
|
-
(function(
|
|
59
|
-
if (
|
|
60
|
-
const f = new Uint8Array(
|
|
61
|
-
for (let i = 0; i <
|
|
62
|
-
const o =
|
|
58
|
+
(function(n) {
|
|
59
|
+
if (n.byteLength < 4) return !1;
|
|
60
|
+
const f = new Uint8Array(n), r = { gzip: [31, 139], zip: [80, 75, 3, 4], bz2: [66, 90, 104], br: [206, 178, 207, 129] }, t = Object.keys(r);
|
|
61
|
+
for (let i = 0; i < t.length; i++) {
|
|
62
|
+
const o = t[i], e = r[o];
|
|
63
63
|
let a = !0;
|
|
64
64
|
for (let s = 0; s < e.length; s++) if (f[s] !== e[s]) {
|
|
65
65
|
a = !1;
|
|
@@ -68,10 +68,10 @@ const k = async (w, l) => {
|
|
|
68
68
|
if (a) return o;
|
|
69
69
|
}
|
|
70
70
|
return !1;
|
|
71
|
-
})(u) && (u = await async function(
|
|
71
|
+
})(u) && (u = await async function(n, f = "gzip") {
|
|
72
72
|
let r;
|
|
73
|
-
typeof SharedArrayBuffer < "u" &&
|
|
74
|
-
const
|
|
73
|
+
typeof SharedArrayBuffer < "u" && n instanceof SharedArrayBuffer ? (r = new ArrayBuffer(n.byteLength), new Uint8Array(r).set(new Uint8Array(n))) : r = n;
|
|
74
|
+
const t = new Blob([r]).stream(), i = new DecompressionStream(f), o = t.pipeThrough(i);
|
|
75
75
|
return (await new Response(o).blob()).arrayBuffer();
|
|
76
76
|
}(u));
|
|
77
77
|
let b = new TextDecoder().decode(u);
|