@sheetxl/studio-vanilla 0.3.18 → 0.3.19
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/{_ziVh-PPWxWmEGfz.cjs → 2FwFu5228wr-ARkA.cjs} +3 -3
- package/browser/cjs/B32tWc1qRv4tY12p.cjs +6 -0
- package/browser/cjs/{DvjIxJUC4K8kmZsN.cjs → BA4eX47IpP00-8so.cjs} +2 -2
- package/browser/cjs/{DRPysX3BgTyOtc_X.cjs → BKPCa_z6dnIQn-0l.cjs} +1 -1
- package/browser/cjs/{D_yi3Bmt7QylbNjX.cjs → BWs24EHW-tVFgT-x.cjs} +2 -2
- package/browser/cjs/{hRorav-Vugk2j14d.cjs → BdvCvAgiry0f4S23.cjs} +1 -1
- package/browser/cjs/{DcKGSA3SMuEvjd87.cjs → CDKv578p0EwvHjZp.cjs} +1 -1
- package/browser/cjs/{DtIlU_avOLio9EiE.cjs → CIo606dkZ8lkuDJ3.cjs} +1 -1
- package/browser/cjs/{DWRHniG382TBBpFz.cjs → CY7-VXmdgBslTVMX.cjs} +3 -3
- package/browser/cjs/{BQDBBqqYeHWRLSmz.cjs → Ce6oHmr7gMYWd8Yd.cjs} +5 -5
- package/browser/cjs/{BYKCnVVe-UC0DLAg.cjs → Cfdd6ktavWDYX9ND.cjs} +1 -1
- package/browser/cjs/{DAGAHrQyWku5BzOx.cjs → Cjh4Y6CzIKElfhND.cjs} +2 -2
- package/browser/cjs/{asqh4V32TzlgSg5e.cjs → Cnk7ISRHexlfGYia.cjs} +1 -1
- package/browser/cjs/{C7S-2ysc4XzmIGIC.cjs → D0TmTI_7aDwkiyE4.cjs} +2 -2
- package/browser/cjs/{M2DWfdK0ctQctT7T.cjs → DJC4cn9wXv_q5aHy.cjs} +2 -2
- package/browser/cjs/{CfnTR1Qy-WVFzRhw.cjs → DPk0an7l4dAKSvt4.cjs} +6 -6
- package/browser/cjs/{S1ymoLlv7Uf-qfRz.cjs → DQu9kotW1g223yHH.cjs} +45 -45
- package/browser/cjs/{BqsLsLOIcCoQLkFG.cjs → Do4JoiMPrmr8e_3I.cjs} +2 -2
- package/browser/cjs/DtwZ1dCv4IJK54Md.cjs +6 -0
- package/browser/cjs/{DWmar9vh-C0GMWUE.cjs → MSGlzfMbdkBj2ODr.cjs} +1 -1
- package/browser/cjs/{Da9leDv0BrMDcAmM.cjs → USAsNV7756AJ-v-3.cjs} +1 -1
- package/browser/cjs/{Cyis9v9OePqed0Dh.cjs → bLAfby6zV0qLxdQi.cjs} +2 -2
- package/browser/cjs/{DqW0_yEVBgywVFtY.cjs → gPTujfwB4RqxIcij.cjs} +1 -1
- package/browser/cjs/index.cjs +2 -2
- package/browser/cjs/{DU5bkZX7g1nGYiyr.cjs → lObc2MW6JiaOpm-q.cjs} +2 -2
- package/browser/cjs/{DvCk-FEyF55Ifc2r.cjs → mSxg83umiyMZNf9-.cjs} +2 -2
- package/browser/cjs/{fkUUKUigUVeizJCn.cjs → vWIDSfediysRj8eo.cjs} +6 -6
- package/{cdn/assets/DT7M18T3_fx1cPVf.js → browser/esm/4b-cAFWAwXYZkw0D.mjs} +1 -1
- package/browser/esm/{DscLpbq31HrJWVSt.mjs → B8OZHivNmO5OFLTi.mjs} +17 -17
- package/browser/esm/BGvOrkSiilN4Dt_5.mjs +46 -0
- package/browser/esm/{DXfVp9l0_p8tTvaN.mjs → BjXzbYB0kCMhwN3Y.mjs} +2621 -2534
- package/browser/esm/{Dmp9Rj_xUISYWU8A.mjs → BlxEnptsgkGA0_21.mjs} +9 -9
- package/{cdn/assets/Dctd5ghWrESGG3Co.js → browser/esm/Bm440-d54x4naZeO.mjs} +1 -1
- package/{cdn/assets/Bwmetegu2MJ05lq3.js → browser/esm/BnmsWZ7pB-RvN8Ce.mjs} +8 -8
- package/{cdn/assets/B048AhsMgarmATbo.js → browser/esm/BorGhlvsrSc8KIw4.mjs} +9 -9
- package/{cdn/assets/B8PLUmI-u31BZVd6.js → browser/esm/Brg-pw5qowVCqKUF.mjs} +1 -1
- package/browser/esm/{Dao0wUfvplQebarN.mjs → C2UMejLEXH1i7UT_.mjs} +3 -3
- package/{cdn/assets/Cx5_1Ld9VgK4afkO.js → browser/esm/C6ty7TIqMKf0jms4.mjs} +1 -1
- package/browser/esm/{Ds9ulL0El--2XZxz.mjs → CDha50D0Zqdh75RO.mjs} +47 -47
- package/browser/esm/{CEM1UbNtZh6zUcI4.mjs → CHNBfqp5n8JaC7UU.mjs} +3 -3
- package/{cdn/assets/D0Cgu7sUw30-mnqB.js → browser/esm/CkOpEOqipQhoCXbp.mjs} +7 -7
- package/browser/esm/{DyhSx6j-hlOPAYJZ.mjs → CxJ9wqppH10FCE7E.mjs} +2 -2
- package/browser/esm/{yBjDi6dOfUg5E0mg.mjs → D8V8o3E9AIpGCaJ0.mjs} +5 -5
- package/browser/esm/{vsshjgK_uLUMXLx1.mjs → DGbBeyHSDhhZ67G7.mjs} +91 -91
- package/browser/esm/{DmdaLSunj1pIaeEo.mjs → DHtJbuH4VrIp2owl.mjs} +4 -4
- package/browser/esm/{CxpsUomBmsPdQKN7.mjs → DNEd6u6uOJT1ngWx.mjs} +7 -7
- package/browser/esm/{B_lXgGve4BaGb9VP.mjs → DTW0B_xW-HuS3NuK.mjs} +5 -5
- package/browser/esm/{vO-cPppKuuwM-ZbD.mjs → DzowkvQRyggO7Ijl.mjs} +1 -1
- package/browser/esm/{Z1hTdWF7Gnd7lwEi.mjs → FNXLcvV7DgUq6zwL.mjs} +1 -1
- package/{cdn/assets/CMIrbndkU0UVjjQ_.js → browser/esm/SWAv_VgEKg95ORt5.mjs} +1 -1
- package/browser/esm/index.mjs +2 -2
- package/{cdn/assets/Dp2nf7t-XHCeT9z1.js → browser/esm/vYT-yKp90JOPBqDa.mjs} +2 -2
- package/browser/esm/{Bu74cvcXGNxQ6eQO.mjs → vsx7PlJlMQvNPm_L.mjs} +1 -1
- package/browser/esm/{CCGl8RxWO4yKms9p.mjs → zovGkWpLePhgQd_n.mjs} +1 -1
- package/{browser/esm/DT7M18T3_fx1cPVf.mjs → cdn/assets/4b-cAFWAwXYZkw0D.js} +1 -1
- package/cdn/assets/{DpXpV2Nd-U9CeW99.js → 8QCrFIzHmtIoeBJm.js} +4 -4
- package/{browser/esm/5KE3eJeALYas2fJL.mjs → cdn/assets/8xNW6edqjY-klal3.js} +9 -9
- package/cdn/assets/{IXjjn0b7hP-r-rz5.js → BJlG0NMA-JM_rPkc.js} +91 -91
- package/cdn/assets/{BfCDUWippQ188QJ_.js → BNcPMWtsY8_g-EN4.js} +5 -5
- package/cdn/assets/BhwpQU1T51VKYXPZ.js +46 -0
- package/{browser/esm/Dctd5ghWrESGG3Co.mjs → cdn/assets/Bm440-d54x4naZeO.js} +1 -1
- package/{browser/esm/B8PLUmI-u31BZVd6.mjs → cdn/assets/Brg-pw5qowVCqKUF.js} +1 -1
- package/{browser/esm/xCvG1lefZTf09iDX.mjs → cdn/assets/BrkvsmfqGj5-gULd.js} +2 -2
- package/cdn/assets/{JWXHlKikGyP_aFCO.js → BtcEbQwXXgpwi-Wc.js} +17 -17
- package/cdn/assets/{BKj70d8kss8lWQ5j.js → C4-fZEqFmgf4Ryrf.js} +5 -5
- package/{browser/esm/Cx5_1Ld9VgK4afkO.mjs → cdn/assets/C6ty7TIqMKf0jms4.js} +1 -1
- package/cdn/assets/{DXkBcCCoCQhFBFpQ.js → CD48E90J73F2rFJF.js} +3 -3
- package/{browser/esm/BElryNS11jWM5tq7.mjs → cdn/assets/D3-MLKMldcoobrMe.js} +8 -8
- package/cdn/assets/{CXyKsX-Rk4hkAgns.js → DVoDFCX7Bv_zFVVi.js} +4599 -4512
- package/cdn/assets/{DcwFhmc6DauSay_m.js → DkRkxpsLaXOm1dGc.js} +7 -7
- package/cdn/assets/{b5siqWNPQWp_hlIg.js → DoNQnutyjVRliOV0.js} +2 -2
- package/cdn/assets/{DBZHYaXm5oENOlcW.js → DzXbXyuxyjtFLOXt.js} +9 -9
- package/cdn/assets/{vO-cPppKuuwM-ZbD.js → DzowkvQRyggO7Ijl.js} +1 -1
- package/cdn/assets/{Z1hTdWF7Gnd7lwEi.js → FNXLcvV7DgUq6zwL.js} +1 -1
- package/{browser/esm/CMIrbndkU0UVjjQ_.mjs → cdn/assets/SWAv_VgEKg95ORt5.js} +1 -1
- package/cdn/assets/{B5Xa0YYj-Y9Ob5he.js → TXu1jpI8ASN4INNu.js} +47 -47
- package/cdn/assets/{DXZHEN_G41ARU9aP.js → aAVhloO6mFh8WJzi.js} +3 -3
- package/cdn/assets/{Bu74cvcXGNxQ6eQO.js → vsx7PlJlMQvNPm_L.js} +1 -1
- package/{browser/esm/xQa55VzyxKLtju1P.mjs → cdn/assets/yLoKmwpXykv9-Elu.js} +7 -7
- package/cdn/assets/{CCGl8RxWO4yKms9p.js → zovGkWpLePhgQd_n.js} +1 -1
- package/cdn/index.js +2 -2
- package/cdn/loader.js +1 -1
- package/package.json +3 -3
- package/browser/cjs/BYQV2q8HPKlf74j3.cjs +0 -6
- package/browser/cjs/ClYi27L-BwfwOane.cjs +0 -6
- package/browser/esm/CATPGvRDTTOuHtl8.mjs +0 -46
- package/cdn/assets/c46EuNJ8AHDaEf22.js +0 -46
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import { memo as j, forwardRef as z, useState as s } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { k as n, i as E, b as G, B as K, F as R, T as W, a as x, G as Y, Y as y } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
4
4
|
/**
|
|
5
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
6
6
|
*
|
|
7
7
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
8
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
9
|
*/
|
|
10
|
-
const
|
|
11
|
-
const { initialValue: T = "", onOption: F, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: I, inputType: P, inputPlaceHolder: b, options: d =
|
|
10
|
+
const q = ["Input"], X = j(z((w, A) => {
|
|
11
|
+
const { initialValue: T = "", onOption: F, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: I, inputType: P, inputPlaceHolder: b, options: d = q, autoFocusSel: k = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...v } = w, [C, V] = s(!1), [o, B] = s(T), [D, S] = s(""), [H, L] = s(!0), e = n(async (a, t) => {
|
|
12
12
|
if (!p) return !0;
|
|
13
13
|
const h = await p?.(a, t);
|
|
14
14
|
S(h?.message ?? "");
|
|
@@ -28,14 +28,14 @@ const A = ["Input"], Y = j(z((w, G) => {
|
|
|
28
28
|
}
|
|
29
29
|
return t ?? !0;
|
|
30
30
|
}, [o, r]);
|
|
31
|
-
return i(
|
|
31
|
+
return i(G, { options: d, onDone: u, onOption: (a, t) => {
|
|
32
32
|
t || f(a);
|
|
33
|
-
}, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel:
|
|
34
|
-
|
|
35
|
-
}, type: P, label: I, helperText: D || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: H ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: b, spellCheck: !1, autoComplete: "off", ...c, className:
|
|
33
|
+
}, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel: k, ...v, children: i(K, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i(R, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(W, { onFocus: (a) => {
|
|
34
|
+
C || a.target?.select(), V(!0);
|
|
35
|
+
}, type: P, label: I, helperText: D || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: H ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: b, spellCheck: !1, autoComplete: "off", ...c, className: Y("autoFocus", c?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${x("#fff", y(5))}, ${x("#fff", y(5))})` } } }, value: o, onChange: N, onKeyDown: M, onContextMenu: (a) => {
|
|
36
36
|
a.stopPropagation();
|
|
37
37
|
} }) }) }) });
|
|
38
38
|
}));
|
|
39
39
|
export {
|
|
40
|
-
|
|
40
|
+
X as default
|
|
41
41
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import C, { memo as ne, useState as _, useRef as m, useCallback as re, useEffect as S } from "react";
|
|
2
2
|
/**
|
|
3
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
3
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
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.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { jsx as o, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import {
|
|
1
|
+
import { jsx as o, jsxs as N } from "react/jsx-runtime";
|
|
2
|
+
import { memo as T, useState as i, useCallback as k } from "react";
|
|
3
|
+
import { v, b as w, B as j, aP as y, at as B, au as F } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
4
4
|
/**
|
|
5
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
6
6
|
*
|
|
7
7
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
8
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
9
|
*/
|
|
10
|
-
const H = ["Ok", "Cancel"], A =
|
|
11
|
-
const { tableOptions: e, context: p, onOption: c, onValidateOption: I, onDone: r, options: d = H, defaultOption: t = d?.[0], cancelOption: s = "Cancel", sx: m, ...b } = u, [h, x] = i(!1), [n, O] = i(() => e?.hasHeader ?? !1), [l, f] = i(() => e?.ranges ?? null), C =
|
|
10
|
+
const H = ["Ok", "Cancel"], A = T((u) => {
|
|
11
|
+
const { tableOptions: e, context: p, onOption: c, onValidateOption: I, onDone: r, options: d = H, defaultOption: t = d?.[0], cancelOption: s = "Cancel", sx: m, ...b } = u, [h, x] = i(!1), [n, O] = i(() => e?.hasHeader ?? !1), [l, f] = i(() => e?.ranges ?? null), C = v((a) => {
|
|
12
12
|
const g = { ...e, hasHeader: n, ranges: l };
|
|
13
13
|
c?.(a, a === s, a === t), r?.({ option: a, tableOptions: g });
|
|
14
|
-
}, [r, c, t, s, n, l, e]),
|
|
15
|
-
return o(
|
|
14
|
+
}, [r, c, t, s, n, l, e]), D = k(async (a, g) => null, []);
|
|
15
|
+
return o(w, { title: "Insert Table", options: d, onDone: C, onValidateOption: D, defaultOption: t, cancelOption: s, autoFocusSel: ".range-input input", sx: { width: "360px", ...m }, ...b, children: N(j, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [o(y, { formName: "range", value: l, onChangeInput: (a) => f(a), resolvedAddress: p.getNames().getRanges.bind(p.getNames()), onFocus: (a) => {
|
|
16
16
|
h || a.target?.select(), x(!0);
|
|
17
17
|
} }), o(B, { control: o(F, { checked: n, onChange: () => O(!n) }), label: "Table has headers", labelPlacement: "end" })] }) });
|
|
18
18
|
});
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import { memo as O, useState as r, useRef as M, useReducer as
|
|
3
|
-
import { aL as
|
|
2
|
+
import { memo as O, useState as r, useRef as M, useReducer as A, useMemo as E } from "react";
|
|
3
|
+
import { aL as W, V, aM as k, aN as Q, v as x, aA as q, aB as G, B as n, aO as J, aP as K, ak as f, aQ as U, aR as X, ag as y, ah as b, ai as w, aS as S } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
4
4
|
/**
|
|
5
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
6
6
|
*
|
|
7
7
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
8
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
9
|
*/
|
|
10
10
|
const te = O((C) => {
|
|
11
|
-
const { title:
|
|
12
|
-
|
|
13
|
-
const o = T ?? c.context(), t = o.table(), [P, I] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j =
|
|
14
|
-
|
|
11
|
+
const { title: v, onHide: N, autoFocusSel: R = ".range-input input", context: T, notifier: l = W, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = M(null), [Y, B] = A((e) => e + 1, 0), [H, { width: Z }] = V();
|
|
12
|
+
k(c);
|
|
13
|
+
const o = T ?? c.context(), t = o.table(), [P, I] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = E(() => t?.getName() ?? "", [t]);
|
|
14
|
+
Q(o.table(), { onAnchorCoordsChange(e) {
|
|
15
15
|
I(o.getNames().getRanges(e.getRange()));
|
|
16
16
|
}, onProtectedChange(e) {
|
|
17
17
|
B();
|
|
@@ -22,7 +22,7 @@ const te = O((C) => {
|
|
|
22
22
|
o?.table().resize(e.at(0));
|
|
23
23
|
}, [o]);
|
|
24
24
|
let u = null;
|
|
25
|
-
return o.table() || (u = a("div", { style: { position: "absolute", top: "0", left: "0", width: "100%", height: "100%", opacity: 1, display: "flex", alignItems: "center", justifyItems: "center", justifyContent: "center", boxSizing: "border-box" }, children: a("div", { children: "No table selected" }) })), a(q, { title:
|
|
25
|
+
return o.table() || (u = a("div", { style: { position: "absolute", top: "0", left: "0", width: "100%", height: "100%", opacity: 1, display: "flex", alignItems: "center", justifyItems: "center", justifyContent: "center", boxSizing: "border-box" }, children: a("div", { children: "No table selected" }) })), a(q, { title: v ?? "Table Details", initialPosition: { y: "35" }, autoFocusSel: R, refWindow: h, onHide: N, onFocus: () => g(!0), onBlur: (e) => {
|
|
26
26
|
h?.current?.contains(e.relatedTarget) || g(!1);
|
|
27
27
|
}, PaperProps: { elevation: F ? 3 : 1 }, ...D, children: s(G, { dividers: !0, ref: H, sx: { display: "flex", flexDirection: "column", position: "relative", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, children: [s(n, { sx: { display: "flex", flexDirection: "column", transition: "opacity 60ms", opacity: o.table() ? 1 : 0 }, children: [a(n, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: a(n, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box", paddingLeft: (e) => e.spacing(2), paddingRight: (e) => e.spacing(2) }, children: s(n, { sx: { display: "flex", flexDirection: "column", alignItems: "center" }, children: [a(J, { formName: "name", defaultInput: j, value: t?.getName() ?? "No table", onChangeInput: L, onValidate: (e) => {
|
|
28
28
|
t && t.getName().toLowerCase() === e.toLowerCase() || o?.getNames().validateName(e);
|
|
@@ -50,7 +50,7 @@ const te = O((C) => {
|
|
|
50
50
|
} catch (i) {
|
|
51
51
|
l.showError(i);
|
|
52
52
|
}
|
|
53
|
-
} }), a(n, { sx: { display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", marginTop: (e) => e.spacing(2), marginBottom: (e) => e.spacing(1) }, children: a(X, { table: t, styles: o.styles(), bodyStyle: o.bodyStyle(), cellHeight: 30, isLive: !0 }) }), a(f, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(y, { variant:
|
|
53
|
+
} }), a(n, { sx: { display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", marginTop: (e) => e.spacing(2), marginBottom: (e) => e.spacing(1) }, children: a(X, { table: t, styles: o.styles(), bodyStyle: o.bodyStyle(), cellHeight: 30, isLive: !0 }) }), a(f, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(y, { variant: w.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: b(a(S, {})) }), a(y, { variant: w.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: b(a(S, {})) })] })] })] }), u] }) });
|
|
54
54
|
});
|
|
55
55
|
export {
|
|
56
56
|
te as TableDetailsWindow,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
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.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Workbook as y, IRange as C } from "@sheetxl/sdk";
|
|
2
2
|
/**
|
|
3
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
3
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
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.
|
|
7
7
|
*/
|
|
8
8
|
const k = async (a, p) => {
|
|
9
|
-
const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: u = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, f = await import("./
|
|
9
|
+
const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: u = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, f = await import("./zovGkWpLePhgQd_n.mjs").then((s) => s.p);
|
|
10
10
|
if (!a) throw new Error("workbook must be specified");
|
|
11
11
|
let t = null;
|
|
12
12
|
if (r === null ? t = a.getSelectedSheet() : typeof r == "number" ? t = a.getSheets().search()[r] : typeof r == "string" && (t = a.getSheets().getByName(r)), !t) throw new Error("invalid sheetKey specified");
|
|
@@ -27,7 +27,7 @@ const k = async (a, p) => {
|
|
|
27
27
|
const o = { ...m }, g = f.unparse(d, o);
|
|
28
28
|
return new TextEncoder().encode(g);
|
|
29
29
|
}, R = async (a, p) => {
|
|
30
|
-
const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {}, r = await import("./
|
|
30
|
+
const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {}, r = await import("./zovGkWpLePhgQd_n.mjs").then((o) => o.p), m = new TextDecoder().decode(a);
|
|
31
31
|
let f = -1;
|
|
32
32
|
const t = new y(h), c = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: C.Orientation.Row }), d = p?.onProgress;
|
|
33
33
|
let e = 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Je from "react";
|
|
2
2
|
import { createElement as $r, forwardRef as Ya, useRef as Xa, useImperativeHandle as Wa, useEffect as Ha } from "react";
|
|
3
3
|
/**
|
|
4
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
4
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
5
5
|
*
|
|
6
6
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
7
7
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NumberFormat as Ht, ScalarType as Ft, ResourceCollection as vs, Tuple as Ss, IAutoFilter as
|
|
2
|
-
import {
|
|
1
|
+
import { NumberFormat as Ht, ScalarType as Ft, ResourceCollection as vs, Tuple as Ss, IAutoFilter as Jt, AddressUtils as at, CoordUtils as De, FormulaError as Cs, IRange as ks, CommonUtils as es, Theme as As, JSONStableStringify as Es, Workbook as Ds, IColor as Ps, OutOfBoundsError as Os } from "@sheetxl/sdk";
|
|
2
|
+
import { J as cs } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
3
3
|
/**
|
|
4
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
4
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
5
5
|
*
|
|
6
6
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
7
7
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -24,7 +24,7 @@ const q = function(i) {
|
|
|
24
24
|
return i >= 1 && i <= 55295 || i >= 57344 && i <= 65533 || i >= 65536 && i <= 1114111;
|
|
25
25
|
}, $s = us, Ms = function(i) {
|
|
26
26
|
return us(i) || i === 45 || i === 46 || i >= 48 && i <= 57 || i === 183 || i >= 768 && i <= 879 || i >= 8255 && i <= 8256;
|
|
27
|
-
}, js = Vs, Te = "http://www.w3.org/XML/1998/namespace", Yt = "http://www.w3.org/2000/xmlns/", Hs = { __proto__: null, xml: Te, xmlns: Yt }, Fs = { __proto__: null, amp: "&", gt: ">", lt: "<", quot: '"', apos: "'" }, O = -1, lt = -2, B = 13, Xt = 33, it = 10, St = 60,
|
|
27
|
+
}, js = Vs, Te = "http://www.w3.org/XML/1998/namespace", Yt = "http://www.w3.org/2000/xmlns/", Hs = { __proto__: null, xml: Te, xmlns: Yt }, Fs = { __proto__: null, amp: "&", gt: ">", lt: "<", quot: '"', apos: "'" }, O = -1, lt = -2, B = 13, Xt = 33, it = 10, St = 60, Qt = 61, M = 62, F = 63, Kt = 93, me = (i) => i === 34 || i === 39, ps = [34, 39], Xs = [...ps, 91, M], Bs = [...ps, St, Kt], Ws = [Qt, F, ...ds], _s = [...ds, M, 38, St];
|
|
28
28
|
function Pe(i, t, s) {
|
|
29
29
|
switch (t) {
|
|
30
30
|
case "xml":
|
|
@@ -402,7 +402,7 @@ class Us {
|
|
|
402
402
|
sXMLDeclName() {
|
|
403
403
|
const t = this.captureTo(Ws);
|
|
404
404
|
if (t === F) return this.state = Xt, this.name += this.text, this.text = "", void this.fail("XML declaration is incomplete.");
|
|
405
|
-
if (q(t) || t ===
|
|
405
|
+
if (q(t) || t === Qt) {
|
|
406
406
|
if (this.name += this.text, this.text = "", !this.xmlDeclExpects.includes(this.name)) switch (this.name.length) {
|
|
407
407
|
case 0:
|
|
408
408
|
this.fail("did not expect any more name/value pairs.");
|
|
@@ -413,13 +413,13 @@ class Us {
|
|
|
413
413
|
default:
|
|
414
414
|
this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`);
|
|
415
415
|
}
|
|
416
|
-
this.state = t ===
|
|
416
|
+
this.state = t === Qt ? 30 : 29;
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
sXMLDeclEq() {
|
|
420
420
|
const t = this.getCodeNorm();
|
|
421
421
|
if (t === F) return this.state = Xt, void this.fail("XML declaration is incomplete.");
|
|
422
|
-
q(t) || (t !==
|
|
422
|
+
q(t) || (t !== Qt && this.fail("value required."), this.state = 30);
|
|
423
423
|
}
|
|
424
424
|
sXMLDeclValueStart() {
|
|
425
425
|
const t = this.getCodeNorm();
|
|
@@ -477,14 +477,14 @@ class Us {
|
|
|
477
477
|
}
|
|
478
478
|
sAttribName() {
|
|
479
479
|
const t = this.captureNameChars();
|
|
480
|
-
t ===
|
|
480
|
+
t === Qt ? this.state = 39 : q(t) ? this.state = 38 : t === M ? (this.fail("attribute without value."), this.pushAttrib(this.name, this.name), this.name = this.text = "", this.openTag()) : t !== O && this.fail("disallowed character in attribute name.");
|
|
481
481
|
}
|
|
482
482
|
sAttribNameSawWhite() {
|
|
483
483
|
const t = this.skipSpaces();
|
|
484
484
|
switch (t) {
|
|
485
485
|
case O:
|
|
486
486
|
return;
|
|
487
|
-
case
|
|
487
|
+
case Qt:
|
|
488
488
|
this.state = 39;
|
|
489
489
|
break;
|
|
490
490
|
default:
|
|
@@ -843,7 +843,7 @@ const ns = (i, t, s, o = null) => {
|
|
|
843
843
|
a.set(x, E);
|
|
844
844
|
}
|
|
845
845
|
return a;
|
|
846
|
-
},
|
|
846
|
+
}, Js = ["lt1", "dk1", "lt2", "dk2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "hlink", "folHlink"], as = (i, t = "dk1") => {
|
|
847
847
|
let s;
|
|
848
848
|
const o = i("auto");
|
|
849
849
|
o === void 0 || o !== "1" && o !== "true" || (s = t);
|
|
@@ -852,10 +852,10 @@ const ns = (i, t, s, o = null) => {
|
|
|
852
852
|
const a = i("rgb");
|
|
853
853
|
a && (s = a.toLowerCase(), a.length !== 8 || a.startsWith("FF") || (s = "FF" + a.substring(2, a.length)));
|
|
854
854
|
const c = i("theme");
|
|
855
|
-
c && (s =
|
|
855
|
+
c && (s = Js[c]);
|
|
856
856
|
let m = i("tint");
|
|
857
857
|
if (m && (s += ` ${Ps.AdjustmentType.ETint} ${parseFloat(m)}`), s) return s;
|
|
858
|
-
}, Zs = (i) => i && i.replace(/^\{([\s\S]+)\}$/, "$1"), ei = (i) => i ? cs.roundAccurately(parseFloat(i) / 12700, 4) : null, si = (i) => i ? cs.roundAccurately(parseFloat(i) / 9525, 1) : null, ii = (i) => parseFloat(i) / 1e3, oi = (i) => parseFloat(i) / 6e4,
|
|
858
|
+
}, Zs = (i) => i && i.replace(/^\{([\s\S]+)\}$/, "$1"), ei = (i) => i ? cs.roundAccurately(parseFloat(i) / 12700, 4) : null, si = (i) => i ? cs.roundAccurately(parseFloat(i) / 9525, 1) : null, ii = (i) => parseFloat(i) / 1e3, oi = (i) => parseFloat(i) / 6e4, Qs = (i) => i === "true" || i === "1";
|
|
859
859
|
class Bt {
|
|
860
860
|
static {
|
|
861
861
|
this.Collapsed = 1;
|
|
@@ -897,14 +897,14 @@ class Bt {
|
|
|
897
897
|
const Ks = (i, t, s) => {
|
|
898
898
|
if (i[0].value[0] === i[1].value[0]) return t;
|
|
899
899
|
}, ls = { colStart: 0, colEnd: 0, rowStart: 0, rowEnd: 0 }, ri = Object.freeze(Object.defineProperty({ __proto__: null, fromBufferXLSX: async (i, t) => {
|
|
900
|
-
const { password: s, onWarning: o, constructorOptions: n = {}, ...a } = t ?? {}, c = import("./
|
|
900
|
+
const { password: s, onWarning: o, constructorOptions: n = {}, ...a } = t ?? {}, c = import("./DzowkvQRyggO7Ijl.mjs"), m = import("./CHNBfqp5n8JaC7UU.mjs");
|
|
901
901
|
let v = null;
|
|
902
902
|
try {
|
|
903
903
|
v = new DOMParser();
|
|
904
904
|
} catch {
|
|
905
905
|
}
|
|
906
906
|
let b = null;
|
|
907
|
-
v || (b = import("./
|
|
907
|
+
v || (b = import("./vsx7PlJlMQvNPm_L.mjs").then((u) => u.i));
|
|
908
908
|
let x = null, E = null, y = null;
|
|
909
909
|
try {
|
|
910
910
|
const u = await Promise.all([c, m, b]);
|
|
@@ -947,7 +947,7 @@ const Ks = (i, t, s) => {
|
|
|
947
947
|
const Y = {};
|
|
948
948
|
Wt = Y;
|
|
949
949
|
const tt = async () => {
|
|
950
|
-
const bt = ((V, U, te, _, G,
|
|
950
|
+
const bt = ((V, U, te, _, G, J, wt) => {
|
|
951
951
|
const h = new Gs(), Z = new Ss.TransposedBuilder();
|
|
952
952
|
let j = null;
|
|
953
953
|
h.registerVisitor({ from: "autoFilter", to: "filter", openTag: (e) => {
|
|
@@ -973,7 +973,7 @@ const Ks = (i, t, s) => {
|
|
|
973
973
|
const l = e.getAttribute("dxfId", A);
|
|
974
974
|
if (l !== null) {
|
|
975
975
|
let d = _?.get(l);
|
|
976
|
-
d || (
|
|
976
|
+
d || (J?.(`Unable to load conditional color. Invalid dxfI: '${l}' at '${e.getPath()}'.`), d = {}), r.style = d;
|
|
977
977
|
}
|
|
978
978
|
e.copyToObject(r, "aboveAverage", w), e.copyToObject(r, "equalAverage", w), e.copyToObject(r, "stdDev", A), e.copyToObject(r, "bottom", w), e.copyToObject(r, "percent", w), e.copyToObject(r, "rank", A), e.copyToObject(r, "operator", k), e.copyToObject(r, "text", k), e.copyToObject(r, "timePeriod", k);
|
|
979
979
|
} }), h.registerVisitor({ from: "colorScale", to: "colorScale" }), h.registerVisitor({ from: "dataBar", to: "dataBar", openTag: (e) => {
|
|
@@ -997,19 +997,19 @@ const Ks = (i, t, s) => {
|
|
|
997
997
|
r.fields || (r.fields = []), r.fields.push(e.getSource()), e.copyTo("offset", A, "colId"), e.copyTo("hiddenButton", w), e.copyTo("showButton", w);
|
|
998
998
|
} }), h.registerVisitor({ from: "colorFilter", to: "colorFilter", openTag: (e) => {
|
|
999
999
|
const r = e.getParent();
|
|
1000
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1000
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Color, e.copyTo("cellColor", w), e.copyTo("styleId", A, "dxfId");
|
|
1001
1001
|
} }), h.registerVisitor({ from: "dynamicFilter", to: "dynamicFilter", openTag: (e) => {
|
|
1002
1002
|
const r = e.getParent();
|
|
1003
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1003
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Dynamic, e.copyTo("dynamicType", k, "type"), e.copyTo("val", ct), e.copyTo("maxVal", ct, "maxVal");
|
|
1004
1004
|
} }), h.registerVisitor({ from: "iconFilter", to: "iconFilter", openTag: (e) => {
|
|
1005
1005
|
const r = e.getParent();
|
|
1006
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1006
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Icon, e.copyTo("iconId", A), e.copyTo("iconSet", k);
|
|
1007
1007
|
} }), h.registerVisitor({ from: "top10", to: "top10", openTag: (e) => {
|
|
1008
1008
|
const r = e.getParent();
|
|
1009
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1009
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Top10, e.copyTo("filterVal", ct), e.copyTo("percent", w), e.copyTo("top", w), e.copyTo("val", ct);
|
|
1010
1010
|
} }), h.registerVisitor({ from: "filters", to: "filters", openTag: (e) => {
|
|
1011
1011
|
const r = e.getParent();
|
|
1012
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1012
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Items, e.copyTo("blank", w), e.copyTo("calendarType", k);
|
|
1013
1013
|
} }), h.registerVisitor({ from: "dateGroupItem", to: "dateGroupItem", openTag: (e) => {
|
|
1014
1014
|
const r = e.getParent();
|
|
1015
1015
|
r.dateGroups || (r.dateGroups = []), r.dateGroups.push(e.getSource()), e.copyTo("group", k, "dateTimeGrouping"), e.copyTo("day", A), e.copyTo("hour", A), e.copyTo("minute", A), e.copyTo("month", A), e.copyTo("second", A), e.copyTo("year", A);
|
|
@@ -1018,7 +1018,7 @@ const Ks = (i, t, s) => {
|
|
|
1018
1018
|
r.items || (r.items = []), r.items.push(e.getAttribute("val", ct));
|
|
1019
1019
|
} }), h.registerVisitor({ from: "customFilters", to: "customFilters", openTag: (e) => {
|
|
1020
1020
|
const r = e.getParent();
|
|
1021
|
-
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type =
|
|
1021
|
+
r.criteria || (r.criteria = []), r.criteria.push(e.getSource()), e.getSource().type = Jt.Type.Custom, e.copyTo("and", w);
|
|
1022
1022
|
} }), h.registerVisitor({ from: "customFilter", to: "customFilter", openTag: (e) => {
|
|
1023
1023
|
const r = e.getParent();
|
|
1024
1024
|
r.filters || (r.filters = []), r.filters.push(e.getSource()), e.copyTo("operator", k), e.copyTo("value", ct, "val");
|
|
@@ -1038,7 +1038,7 @@ const Ks = (i, t, s) => {
|
|
|
1038
1038
|
} }), h.registerVisitor({ from: "AlternateContent", to: null });
|
|
1039
1039
|
const ge = (e) => {
|
|
1040
1040
|
j = e.getSource(), e.copyTo("topLeft", k, "topLeftCell");
|
|
1041
|
-
const r =
|
|
1041
|
+
const r = Qs(e.getAttribute("defaultGridColor")), l = e.getAttribute("colorId");
|
|
1042
1042
|
l === null || r || (e.getSource().gridLineColor = "index" + parseFloat(l)), e.copyTo("showZeros", w), e.copyTo("showFormulas", w), e.copyTo("zoomScale", A), e.copyTo("showRowHeaders", w, "showRowColHeaders"), e.copyTo("showColumnHeaders", w, "showRowColHeaders"), e.copyTo("showRowGridlines", w, "showGridLines"), e.copyTo("showColumnGridlines", w, "showGridLines");
|
|
1043
1043
|
};
|
|
1044
1044
|
h.registerVisitor({ from: "sheetView", to: "view", openTag: (e) => {
|
|
@@ -1146,9 +1146,9 @@ const Ks = (i, t, s) => {
|
|
|
1146
1146
|
const ws = pt?.get("richData") ?? [], Xe = at.normalizeA1ToR1C1, Be = De.createConflatingRanges(), We = /* @__PURE__ */ new Map(), ke = [];
|
|
1147
1147
|
let ie = null;
|
|
1148
1148
|
const _e = De.createConflatingRanges();
|
|
1149
|
-
let oe, Dt = !1, X = -1,
|
|
1149
|
+
let oe, Dt = !1, X = -1, Q = -1, gt = null, re = null;
|
|
1150
1150
|
const Ae = [];
|
|
1151
|
-
let Ee = null, qe = -2, ft = 0, Gt = "", Pt = "", Ot = "", It = "", Vt = "", Lt = "", Nt = "", ze = "", Ue = "", Ge = "",
|
|
1151
|
+
let Ee = null, qe = -2, ft = 0, Gt = "", Pt = "", Ot = "", It = "", Vt = "", Lt = "", Nt = "", ze = "", Ue = "", Ge = "", Je = "", Ze = "", Qe = "", Ke = "", mt = !0, Rt = null;
|
|
1152
1152
|
return { ...l, onEnd: () => {
|
|
1153
1153
|
Ae.length > 0 && (r.rows = Ae);
|
|
1154
1154
|
let p = Be.done(Ks);
|
|
@@ -1215,7 +1215,7 @@ const Ks = (i, t, s) => {
|
|
|
1215
1215
|
case "datatable":
|
|
1216
1216
|
Ut = !0, se = N.ref, Ut = !0;
|
|
1217
1217
|
}
|
|
1218
|
-
N.ca !== void 0 && _e.append(X,
|
|
1218
|
+
N.ca !== void 0 && _e.append(X, Q);
|
|
1219
1219
|
break;
|
|
1220
1220
|
case "is":
|
|
1221
1221
|
return void (Dt = !0);
|
|
@@ -1226,17 +1226,17 @@ const Ks = (i, t, s) => {
|
|
|
1226
1226
|
if (C === "c") {
|
|
1227
1227
|
oe = p;
|
|
1228
1228
|
const N = p.attributes.r;
|
|
1229
|
-
|
|
1229
|
+
Q = at.fastStringToCol(N);
|
|
1230
1230
|
const st = p.attributes.t;
|
|
1231
1231
|
st === void 0 ? re = null : (re = st, re === "str" && (Dt = !0));
|
|
1232
1232
|
let $ = p.attributes.s;
|
|
1233
|
-
$ !== void 0 && ($ = parseInt($), Rt && Rt.value === $ && Rt.colEnd + 1 ===
|
|
1233
|
+
$ !== void 0 && ($ = parseInt($), Rt && Rt.value === $ && Rt.colEnd + 1 === Q ? Rt.colEnd = Q : (Rt = { colStart: Q, rowStart: X, colEnd: Q, rowEnd: X, value: $ }, zt.push(Rt)));
|
|
1234
1234
|
}
|
|
1235
1235
|
} else {
|
|
1236
1236
|
if (C === "row") {
|
|
1237
1237
|
ot = !0;
|
|
1238
1238
|
const N = p.attributes.r;
|
|
1239
|
-
if (X = parseInt(N) - 1, ft = 0, Pt = p.attributes.customHeight, Pt !== void 0 && (ft |= Bt.CustomHeight), Pt !== Ue && (mt = !0, Ue = Pt), Gt = p.attributes.ht, Gt !== void 0 && (ft |= Bt.Ht), Gt !== ze && (mt = !0, ze = Gt), Ot = p.attributes.hidden, Ot !== void 0 && (ft |= Bt.Hidden), Ot !== Ge && (mt = !0, Ge = Ot), Vt = p.attributes.s, Vt !== void 0 && (ft |= Bt.S), Vt !== Ze && (mt = !0, Ze = Vt), It = p.attributes.customFormat, It !== void 0 && (ft |= Bt.CustomFormat), It !==
|
|
1239
|
+
if (X = parseInt(N) - 1, ft = 0, Pt = p.attributes.customHeight, Pt !== void 0 && (ft |= Bt.CustomHeight), Pt !== Ue && (mt = !0, Ue = Pt), Gt = p.attributes.ht, Gt !== void 0 && (ft |= Bt.Ht), Gt !== ze && (mt = !0, ze = Gt), Ot = p.attributes.hidden, Ot !== void 0 && (ft |= Bt.Hidden), Ot !== Ge && (mt = !0, Ge = Ot), Vt = p.attributes.s, Vt !== void 0 && (ft |= Bt.S), Vt !== Ze && (mt = !0, Ze = Vt), It = p.attributes.customFormat, It !== void 0 && (ft |= Bt.CustomFormat), It !== Je && (mt = !0, Je = It), Lt = p.attributes.outlineLevel, Lt !== void 0 && (ft |= Bt.OutlineLevel), Lt !== Qe && (mt = !0, Qe = Lt), Nt = p.attributes.collapsed, Nt !== void 0 && (ft |= Bt.Collapsed), Nt !== Ke && (mt = !0, Ke = Nt), ft !== 0) if (qe + 1 !== X || mt) {
|
|
1240
1240
|
const st = Pt !== void 0 && (Pt === "1" || Pt === "true"), $ = It !== void 0 && (It === "1" || It === "true");
|
|
1241
1241
|
Ee = { min: X, max: X, sz: st && Gt !== void 0 ? parseFloat(Gt) : -1, csz: st, h: Ot !== void 0 && (Ot === "1" || Ot === "true"), s: st && Vt !== void 0 && Vt !== "0" ? parseInt(Vt) : 0, cs: $, l: Lt === void 0 || Lt === "0" ? 0 : parseInt(Lt), cl: Nt !== void 0 && (Nt === "1" || Nt === "true") }, Ae.push(Ee);
|
|
1242
1242
|
} else Ee.max = X;
|
|
@@ -1250,7 +1250,7 @@ const Ks = (i, t, s) => {
|
|
|
1250
1250
|
const et = C.indexOf(":");
|
|
1251
1251
|
if (et !== -1 && (C = C.slice(et + 1)), Dt) if (C === "is" || C === "v") {
|
|
1252
1252
|
const N = S?.onEnd();
|
|
1253
|
-
N !== null && e.addValue(X,
|
|
1253
|
+
N !== null && e.addValue(X, Q, "" + N);
|
|
1254
1254
|
} else S?.onCloseTag?.(p);
|
|
1255
1255
|
return At && (At = !1), void (C === "c" && (oe = null, Dt = !1));
|
|
1256
1256
|
}
|
|
@@ -1281,47 +1281,47 @@ const Ks = (i, t, s) => {
|
|
|
1281
1281
|
}
|
|
1282
1282
|
}
|
|
1283
1283
|
const C = Cs.getBuiltInByLabel(p);
|
|
1284
|
-
C ? gt = { t: Ft.Error, v: C.getCode() } : (gt = p, d?.(`Unknown formula error '${p}' in cell ${at.cellToString({ colIndex:
|
|
1284
|
+
C ? gt = { t: Ft.Error, v: C.getCode() } : (gt = p, d?.(`Unknown formula error '${p}' in cell ${at.cellToString({ colIndex: Q, rowIndex: X })}`));
|
|
1285
1285
|
break;
|
|
1286
1286
|
case "str":
|
|
1287
1287
|
case "inlineStr":
|
|
1288
1288
|
Dt = !0;
|
|
1289
1289
|
}
|
|
1290
|
-
gt !== null && e.addValue(X,
|
|
1290
|
+
gt !== null && e.addValue(X, Q, gt);
|
|
1291
1291
|
}
|
|
1292
1292
|
if (ie && (re === "e" && (ie[1] = !0), ke.push(ie), ie = null), Et) if (He === Et) rt = Fe;
|
|
1293
1293
|
else {
|
|
1294
1294
|
if (rt = We.get(Et), !rt) {
|
|
1295
1295
|
const C = [];
|
|
1296
|
-
fe = Xe(p, X,
|
|
1296
|
+
fe = Xe(p, X, Q, C), rt = [fe, C, p], We.set(Et, rt);
|
|
1297
1297
|
}
|
|
1298
1298
|
He = Et, Fe = rt;
|
|
1299
1299
|
}
|
|
1300
1300
|
if (Ut) {
|
|
1301
1301
|
const C = [];
|
|
1302
|
-
fe = Xe(p, X,
|
|
1302
|
+
fe = Xe(p, X, Q, C), rt = [fe, C, p];
|
|
1303
1303
|
}
|
|
1304
|
-
if (rt) return Be.append(X,
|
|
1304
|
+
if (rt) return Be.append(X, Q, rt), rt = null, Ut = !1, Et = null, void (se = null);
|
|
1305
1305
|
Dt ? S?.onText(p) : ot || l?.onText(p);
|
|
1306
1306
|
} };
|
|
1307
1307
|
})(Z, V, h.createEventHandler(V, () => {
|
|
1308
|
-
},
|
|
1308
|
+
}, J), J, xs, wt);
|
|
1309
1309
|
})(Y, (V, U = !1) => he(V, R, U) ?? null, fs, Ce, 0, (V) => {
|
|
1310
1310
|
o && (V = R + ": " + V, o?.(V));
|
|
1311
1311
|
}, W), _t = ns(R, ce), xt = await (async (V, U = 8388608) => {
|
|
1312
1312
|
await (async () => {
|
|
1313
1313
|
if (typeof ReadableStream > "u") if (typeof window > "u") {
|
|
1314
|
-
const { ReadableStream:
|
|
1315
|
-
global.ReadableStream =
|
|
1314
|
+
const { ReadableStream: J } = await import("./SWAv_VgEKg95ORt5.mjs");
|
|
1315
|
+
global.ReadableStream = J;
|
|
1316
1316
|
} else console.warn("Browser does not support ReadableStream; consider loading a polyfill.");
|
|
1317
1317
|
})();
|
|
1318
1318
|
const te = new TextDecoder("utf-8");
|
|
1319
1319
|
let _ = 0;
|
|
1320
1320
|
const G = V instanceof Uint8Array ? V : new Uint8Array(V);
|
|
1321
|
-
return new ReadableStream({ pull(
|
|
1322
|
-
if (_ >= G.byteLength) return void
|
|
1321
|
+
return new ReadableStream({ pull(J) {
|
|
1322
|
+
if (_ >= G.byteLength) return void J.close();
|
|
1323
1323
|
const wt = G.subarray(_, Math.min(_ + U, G.byteLength)), h = te.decode(wt, { stream: _ + U < G.byteLength });
|
|
1324
|
-
|
|
1324
|
+
J.enqueue(h), _ += wt.length;
|
|
1325
1325
|
} }).getReader();
|
|
1326
1326
|
})(_t);
|
|
1327
1327
|
try {
|
|
@@ -1335,8 +1335,8 @@ const Ks = (i, t, s) => {
|
|
|
1335
1335
|
const V = "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment";
|
|
1336
1336
|
let U;
|
|
1337
1337
|
qt.forEach((_, G) => {
|
|
1338
|
-
_.type === V && (kt = he(G, R, !1, ut)?.comments, kt && kt.forEach((
|
|
1339
|
-
je.set(
|
|
1338
|
+
_.type === V && (kt = he(G, R, !1, ut)?.comments, kt && kt.forEach((J) => {
|
|
1339
|
+
je.set(J.id, J);
|
|
1340
1340
|
}));
|
|
1341
1341
|
});
|
|
1342
1342
|
const te = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
|
|
@@ -1345,10 +1345,10 @@ const Ks = (i, t, s) => {
|
|
|
1345
1345
|
}), U || kt) {
|
|
1346
1346
|
const _ = kt ?? [], G = U?.comments;
|
|
1347
1347
|
if (G) {
|
|
1348
|
-
const
|
|
1348
|
+
const J = U?.authors;
|
|
1349
1349
|
for (let wt = 0; wt < G.length; wt++) {
|
|
1350
1350
|
const h = G[wt];
|
|
1351
|
-
let Z = h.authorId !== void 0 ?
|
|
1351
|
+
let Z = h.authorId !== void 0 ? J[h.authorId] : void 0;
|
|
1352
1352
|
if ((!Z || Z.startsWith("tc=")) && (Z = Zs(Z.substring(3)), je.has(Z))) continue;
|
|
1353
1353
|
let j = de.get(Z);
|
|
1354
1354
|
j || (j = Re.get(Z)), j || (j = { id: es.uuidV4(), displayName: Z }, Re.set(j.displayName, j), de.set(j.id, j)), Z = j?.id ?? null;
|
|
@@ -1409,7 +1409,7 @@ const Ks = (i, t, s) => {
|
|
|
1409
1409
|
throw u instanceof Os && (D = "Unable to open XLSX. There are too many rows or columns."), new Error(D, { cause: u });
|
|
1410
1410
|
}
|
|
1411
1411
|
}, toBufferXLSX: async (i, t) => {
|
|
1412
|
-
const s = await import("./
|
|
1412
|
+
const s = await import("./DzowkvQRyggO7Ijl.mjs"), o = await i.toJSON(!0), n = s.utils.book_new();
|
|
1413
1413
|
for (let a = 0; a < o.sheets.length; a++) {
|
|
1414
1414
|
const c = o.sheets[a], m = s.utils.json_to_sheet([{}]);
|
|
1415
1415
|
s.utils.book_append_sheet(n, m, c.name);
|
|
@@ -1457,7 +1457,7 @@ const Ks = (i, t, s) => {
|
|
|
1457
1457
|
} }, Symbol.toStringTag, { value: "Module" }));
|
|
1458
1458
|
export {
|
|
1459
1459
|
ii as a,
|
|
1460
|
-
|
|
1460
|
+
Qs as b,
|
|
1461
1461
|
si as c,
|
|
1462
1462
|
as as d,
|
|
1463
1463
|
ri as i,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as x, b as f, r as I, t as Z, a as A, p as D, d as tt } from "./
|
|
1
|
+
import { J as Y } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
2
|
+
import { c as x, b as f, r as I, t as Z, a as A, p as D, d as tt } from "./CDha50D0Zqdh75RO.mjs";
|
|
3
3
|
import { IFont as k, IAutoFilter as T, Sort as G, IRange as et, AddressUtils as W, IFill as C, IStyle as rt, ITextFrame as P, FormulaError as st, IBorder as V } from "@sheetxl/sdk";
|
|
4
4
|
/**
|
|
5
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
6
6
|
*
|
|
7
7
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
8
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as t, jsxs as f } from "react/jsx-runtime";
|
|
2
2
|
import { memo as G, useState as x, useCallback as O, useEffect as H, useMemo as w } from "react";
|
|
3
3
|
import { NumberFormat as n } from "@sheetxl/sdk";
|
|
4
|
-
import {
|
|
4
|
+
import { v as l, av as K, b as q, B as P, F as S, aw as A, ax as J, a as p, ay as c, T as Q, $, az as U } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
5
5
|
/**
|
|
6
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
6
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
7
7
|
*
|
|
8
8
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
9
9
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
10
10
|
*/
|
|
11
|
-
const
|
|
12
|
-
const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v =
|
|
11
|
+
const X = ["Ok", "Cancel"], ea = G((D) => {
|
|
12
|
+
const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v = X, defaultOption: r = v?.[0], cancelOption: m = "Cancel", sx: N, ...V } = D, [e, T] = x(I), [j, z] = x(!1), g = O(async (a, o) => !0, []), y = l(async (a) => {
|
|
13
13
|
C?.(e, a), b?.(a, a === m, a === r), d?.();
|
|
14
14
|
}, [e, C, d, b, m, r]), B = l(async (a) => {
|
|
15
15
|
a.keyCode === K.Enter && await g?.(e, null) !== !1 && y(r);
|
|
@@ -27,7 +27,7 @@ const U = ["Ok", "Cancel"], ea = G(($) => {
|
|
|
27
27
|
F(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
|
|
28
28
|
}, [e]);
|
|
29
29
|
const L = w(() => {
|
|
30
|
-
const a = n.Styles.lookupPrimary(), o = (i) => t(
|
|
30
|
+
const a = n.Styles.lookupPrimary(), o = (i) => t(U, { value: i, children: i }, i), s = Object.keys(a).map((i) => o(a[i].formatType));
|
|
31
31
|
return s.push(o(n.Type.Custom)), s;
|
|
32
32
|
}, []), R = O((a) => {
|
|
33
33
|
const o = a.target.value;
|
|
@@ -38,11 +38,11 @@ const U = ["Ok", "Cancel"], ea = G(($) => {
|
|
|
38
38
|
const a = h();
|
|
39
39
|
return a.createTemporaryCell({ value: a.getValue() ?? 12345, style: { numberFormat: e } });
|
|
40
40
|
}, [k, e, h]);
|
|
41
|
-
return t(
|
|
41
|
+
return t(q, { title: "Number Format", options: v, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(A, { children: "Category" }), t(J, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(Q, { label: "Code", onFocus: (a) => {
|
|
42
42
|
j || a.target?.select(), z(!0);
|
|
43
43
|
}, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` } } }, value: e, onChange: M, onKeyDown: B, onContextMenu: (a) => {
|
|
44
44
|
a.stopPropagation();
|
|
45
|
-
} }) }), f(P, { children: [t(
|
|
45
|
+
} }) }), f(P, { children: [t($, { variant: "caption", component: "div", sx: { paddingLeft: (a) => a.spacing(2) }, children: "Preview" }), t($, { variant: "body2", component: "div", sx: { borderRadius: (a) => `${a.shape.borderRadius}px`, padding: (a) => a.spacing(1), border: (a) => `1px solid ${a.palette.grey[400]}` }, children: W.getNumberFormat().displayText || "(empty)" })] })] }) });
|
|
46
46
|
});
|
|
47
47
|
export {
|
|
48
48
|
ea as NumberFormatDialog,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
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.
|
|
@@ -13,7 +13,7 @@ const i = { reactUrl: "https://esm.sh/react@19.1.0", reactJsxTransform: "https:/
|
|
|
13
13
|
e.type = "importmap", e.textContent = JSON.stringify({ imports: { react: n, "react/jsx-runtime": a, "react-dom": s, "react-dom/client": c } }), document.head.appendChild(e), console.log("SheetXL: Import map injected:", e.textContent);
|
|
14
14
|
}
|
|
15
15
|
await new Promise((e) => setTimeout(e, 0));
|
|
16
|
-
const o = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("./
|
|
16
|
+
const o = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("./BjXzbYB0kCMhwN3Y.mjs").then((e) => e.b7)]);
|
|
17
17
|
return console.log("SheetXL: Dependencies resolved:", o), { React: o[0], ReactJSXTransform: o[1], ReactDOM: o[2], ReactDOMClient: o[3], StudioMUI: o[4] };
|
|
18
18
|
})(), r));
|
|
19
19
|
export {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsx as n, jsxs as h } from "react/jsx-runtime";
|
|
2
2
|
import { useState as C } from "react";
|
|
3
3
|
import { Sort as a, IRange as r } from "@sheetxl/sdk";
|
|
4
|
-
import {
|
|
4
|
+
import { v as O, b as S, B as b, at as s, au as l } from "./BjXzbYB0kCMhwN3Y.mjs";
|
|
5
5
|
/**
|
|
6
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
6
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
|
|
7
7
|
*
|
|
8
8
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
9
9
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
10
10
|
*/
|
|
11
|
-
const D = ({ range: p, options: c, cell: u, onDone: d, ...
|
|
12
|
-
const [t, o] = C(c ?? a.DefaultRangeOptions),
|
|
11
|
+
const D = ({ range: p, options: c, cell: u, onDone: d, ...v }) => {
|
|
12
|
+
const [t, o] = C(c ?? a.DefaultRangeOptions), m = O((e) => {
|
|
13
13
|
let i = null;
|
|
14
14
|
e === "Sort" && (i = { ...c, options: t }), d?.(i);
|
|
15
15
|
}, [t, d, c]);
|
|
16
|
-
return n(S, { title: "Sort", options: ["Sort", "Cancel"], onDone:
|
|
16
|
+
return n(S, { title: "Sort", options: ["Sort", "Cancel"], onDone: m, ...v, children: h(b, { sx: { display: "flex", flexDirection: "column" }, children: [n(s, { control: n(l, { checked: !t.reverse, onChange: () => o((e) => ({ ...e, reverse: !e.reverse })) }), label: "Is Ascending", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.hasHeader, onChange: () => o((e) => ({ ...e, hasHeader: !e.hasHeader })) }), label: "Has Header", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity, onChange: () => o((e) => ({ ...e, collatorOptions: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity ? a.CaseInsensitiveOptions : a.CaseSensitiveOptions })) }), label: "Case Sensitive", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.orientation === r.Orientation.Row, onChange: () => o((e) => {
|
|
17
17
|
const i = e.orientation === r.Orientation.Row ? r.Orientation.Column : r.Orientation.Row;
|
|
18
18
|
return { ...p.getDefaultSortCriteria(i, u).options, includeHidden: e.includeHidden, reverse: e.reverse, orientation: i };
|
|
19
19
|
}) }), label: "Row Sort", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.includeHidden, onChange: () => o((e) => ({ ...e, includeHidden: !e.includeHidden })) }), label: "Include Hidden", labelPlacement: "end" })] }) });
|