@sheetxl/studio-vanilla 0.3.4 → 0.3.6
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/3JKPVnbyR3hJBHBj.cjs +6 -0
- package/browser/cjs/B1_gRcAH1cv26X_U.cjs +301 -0
- package/browser/cjs/B2fgcYTdhA0facdy.cjs +6 -0
- package/browser/cjs/B5cmz4f50xr5iF-S.cjs +19 -0
- package/browser/cjs/B7eLEpR9cmunfRfq.cjs +6 -0
- package/browser/cjs/BDUaerzhOJJZeQgS.cjs +6 -0
- package/browser/cjs/BDcLV5_cJTh8yhJI.cjs +7 -0
- package/browser/cjs/{CdVKz1bz20BYztuB.cjs → BOSNEoFPpJAjkRsv.cjs} +1 -1
- package/browser/cjs/{BDmE5OFneHwyeeiD.cjs → BSfmlz8MvlIKFx_N.cjs} +4 -4
- package/browser/cjs/Bdhft6pu1-bwMbfv.cjs +12 -0
- package/browser/cjs/BmbGW13BR2649OAV.cjs +6 -0
- package/browser/cjs/{DzE824T4cXRcKowY.cjs → Bu6q4vuUt_6LDbk_.cjs} +1 -1
- package/browser/cjs/{DD0VHDU8F1FiLKcs.cjs → CXe_6K7OT1AVSgAV.cjs} +1 -1
- package/browser/cjs/ChqJwXboF-6-bjIC.cjs +6 -0
- package/browser/cjs/CyA00uY0ivUSWJ17.cjs +6 -0
- package/browser/cjs/D1jsD18kKrFBRLo8.cjs +12 -0
- package/browser/cjs/{D-I49Eh-SQg7zJYX.cjs → DC0sGYXEVcjL3fEu.cjs} +1 -1
- package/browser/cjs/{BTgA_stiR3dZAHop.cjs → DQJ0sG5gEZSPPLGp.cjs} +2 -2
- package/browser/cjs/{WPXWuf9j-uwazW31.cjs → DUIyD1-nWzOytYDo.cjs} +2 -2
- package/browser/cjs/{yZrSgyFKPqsiym7z.cjs → D_RushRsBoa4Hd6w.cjs} +2 -2
- package/browser/cjs/{46C8cTP5D1fDfsPs.cjs → D_gx4EJ1Z1jqCpC2.cjs} +1 -1
- package/browser/cjs/Dgv9C5kP5-0zdZ_n.cjs +6 -0
- package/browser/cjs/{BB5pxJh1jhHsvVZ1.cjs → Dp_f-iB1lirYu5mz.cjs} +1 -1
- package/browser/cjs/P2nQEqe-ae2Lk91E.cjs +11 -0
- package/browser/cjs/{CpPM7Ir1EZB_8bER.cjs → SvTvsTn26UgPTXmE.cjs} +1 -1
- package/browser/cjs/index.cjs +2 -2
- package/browser/cjs/{CuldnUeQxpcu8oJ7.cjs → oIH2DXvUemx8KBZE.cjs} +1 -1
- package/{cdn/assets/RWhi_dOrWDICNt1t.js → browser/esm/BEdBgMB0JXu6qm1p.mjs} +1 -1
- package/browser/esm/{BNq1DlA_v8-hm8PQ.mjs → BUVsXfFhbzBtVoTV.mjs} +71 -70
- package/browser/esm/{DLJ1zBZE-WPdkpt2.mjs → BWoHBg8cjtJL9xBv.mjs} +132 -131
- package/{cdn/assets/DjHCn_TmfObC_aJ1.js → browser/esm/Bc8I4T3hDcq3Tbe7.mjs} +13 -13
- package/{cdn/assets/dQu9CDkkTpS5h580.js → browser/esm/BpIA1_q9rYZhuE_V.mjs} +8 -8
- package/browser/esm/{BjLCBG20KyjNKCpy.mjs → BwpZ-CB67KJ8A2Pd.mjs} +2 -2
- package/browser/esm/{Dq1oxXMudxqdJaKZ.mjs → CAUWxMHzGpG7-P5A.mjs} +11 -10
- package/{cdn/assets/CGUSbWH383tudMFu.js → browser/esm/CFw_ZTxUHsgd5Pf5.mjs} +10 -10
- package/browser/esm/{CTdGamCv2VtpI05C.mjs → CIG-Y2tRBFYerBVK.mjs} +1 -1
- package/browser/esm/{s8U6UEvd4LQsvEnH.mjs → CRLFplTpJUvecqqq.mjs} +1 -1
- package/browser/esm/{CeWIrhJ_bsxOl7mw.mjs → CanwhkFG9e2Ojys-.mjs} +24 -23
- package/browser/esm/CcGOjkDDVya2Ff-b.mjs +50 -0
- package/browser/esm/{BfNo01-WwZl_5N1M.mjs → Ce53t5Ez6mDQoNNS.mjs} +192 -191
- package/browser/esm/{pxRv4ndPNkOMM_s3.mjs → Cmk4lwRc0QJqs2cT.mjs} +13 -13
- package/{cdn/assets/CG-YuIoWsi12_nu9.js → browser/esm/CnI4MLBb2ZtZInkh.mjs} +10 -10
- package/{cdn/assets/CNhPYXS_v3a2ATBg.js → browser/esm/CrZPGKZDaJ-22LSg.mjs} +791 -788
- package/{cdn/assets/Dl02UNFD2tNwtHQ9.js → browser/esm/D-GTj1DQOn_EIw_N.mjs} +1 -1
- package/{cdn/assets/ct9ztJbQB16MJoyP.js → browser/esm/D0YFJdBci18KKVSS.mjs} +7 -7
- package/{cdn/assets/BY5dcSv5nxuvXMsr.js → browser/esm/D7__-CZBbVdVmNms.mjs} +13 -13
- package/{cdn/assets/C-oc6cc0wXRVBFx2.js → browser/esm/DRX3PxyWmwYCO1oC.mjs} +1 -1
- package/browser/esm/DtS8vZkP_9xxg-8G.mjs +24893 -0
- package/browser/esm/{BXMZNx8rs4_V8pQL.mjs → DuOzS4aDJybvfnas.mjs} +2 -2
- package/browser/esm/{C2Ik_RfF43fmFDeS.mjs → ekyugPyyyBIdZgfX.mjs} +1 -1
- package/browser/esm/{BrWhLiIy81LKNSUX.mjs → evOdu9Z-9G0PNrGI.mjs} +1 -1
- package/browser/esm/{qchlbvmOxrybWJep.mjs → goTiQtfGVEDiRLX3.mjs} +1 -1
- package/browser/esm/index.mjs +2 -2
- package/browser/esm/{FCkxbRy2XiqD3GdL.mjs → ius8cYWSRDNFx-QU.mjs} +12 -12
- package/{browser/esm/BoL2rsWK1YyT1PP7.mjs → cdn/assets/6GT7WcmdWYVxOobM.js} +8 -8
- package/{browser/esm/RWhi_dOrWDICNt1t.mjs → cdn/assets/BEdBgMB0JXu6qm1p.js} +1 -1
- package/cdn/assets/{6tFlyQMvtppXfmuU.js → BH-qA3U2gj7snkKJ.js} +24 -23
- package/{browser/esm/im3UoVISx3VXhEFp.mjs → cdn/assets/BPeDOIBYCZkjaWRD.js} +13 -13
- package/cdn/assets/{mAWImp_J2v8z8hbZ.js → BVIGf25ixd6wvJVI.js} +132 -131
- package/cdn/assets/{BPStm90FUYfOgibU.js → BcGPdpUCizGdDlXm.js} +12 -12
- package/cdn/assets/Be-_CFU80fx1X1E9.js +50 -0
- package/cdn/assets/{CTdGamCv2VtpI05C.js → CIG-Y2tRBFYerBVK.js} +1 -1
- package/cdn/assets/{s8U6UEvd4LQsvEnH.js → CRLFplTpJUvecqqq.js} +1 -1
- package/cdn/assets/{BKDQtGZxRUUzBmnI.js → ChD-x-lrZKLslGbg.js} +2 -2
- package/cdn/assets/{COFTB6OufFls7NP1.js → CkMou3XlV2mmYqmq.js} +11 -10
- package/cdn/assets/{BMb4pCD8O5vK2p1B.js → Cx6czat4u0MrS9wL.js} +2 -2
- package/{browser/esm/Dl02UNFD2tNwtHQ9.mjs → cdn/assets/D-GTj1DQOn_EIw_N.js} +1 -1
- package/{browser/esm/GbTp1_3jFZu0Ex24.mjs → cdn/assets/D0YFJdBci18KKVSS.js} +7 -7
- package/{browser/esm/C-oc6cc0wXRVBFx2.mjs → cdn/assets/DRX3PxyWmwYCO1oC.js} +1 -1
- package/{browser/esm/CZRLp5H9dSrMEgaI.mjs → cdn/assets/DS9Og6WSj_kNksiq.js} +10 -10
- package/cdn/assets/De8HwbKM7sZJMZSq.js +24740 -0
- package/{browser/esm/CKHDKAaHkwZHUkoS.mjs → cdn/assets/DfoJr75R0GrjAv-i.js} +10 -10
- package/cdn/assets/{DYgFWlitgXmKdN_I.js → Dw1Rz_MNeT4QWFeY.js} +192 -191
- package/{browser/esm/Br4TnuxGRULZDhCA.mjs → cdn/assets/FSFNUan5QfhjNqMt.js} +791 -788
- package/cdn/assets/{Be9YovX6b_0gKXs5.js → Ijbe8IzzEjVScejo.js} +71 -70
- package/{browser/esm/Ddm9jggzrr5VJQ68.mjs → cdn/assets/YQRaiV0_mvhQsFVY.js} +13 -13
- package/cdn/assets/{LxoKYdUqZ4Zgxjza.js → _W5FqhFhYviNTP8H.js} +13 -13
- package/cdn/assets/{C2Ik_RfF43fmFDeS.js → ekyugPyyyBIdZgfX.js} +1 -1
- package/cdn/assets/{BrWhLiIy81LKNSUX.js → evOdu9Z-9G0PNrGI.js} +1 -1
- package/cdn/assets/{qchlbvmOxrybWJep.js → goTiQtfGVEDiRLX3.js} +1 -1
- package/cdn/index.js +8 -8
- package/cdn/loader.js +1 -1
- package/package.json +8 -7
- package/browser/cjs/0dkhOl0ItVZXnHg_.cjs +0 -6
- package/browser/cjs/7Xjct_4bBSU-vad1.cjs +0 -6
- package/browser/cjs/B2kFbeodTh3Gk-aQ.cjs +0 -6
- package/browser/cjs/B5UGK4AzAC9SjXJp.cjs +0 -6
- package/browser/cjs/B9kurj8mOePUlJX2.cjs +0 -6
- package/browser/cjs/BDACVe5nzEmYknRm.cjs +0 -19
- package/browser/cjs/BG8OR9VWCkyIRwrw.cjs +0 -6
- package/browser/cjs/BML8p6hKVpqMb-13.cjs +0 -124
- package/browser/cjs/BeGusiaaShhfh7Ch.cjs +0 -7
- package/browser/cjs/BgJ-surJf8jSxqmk.cjs +0 -6
- package/browser/cjs/BgJFVvwpAWB3ssLE.cjs +0 -6
- package/browser/cjs/Bi8tk3LAhLkM7IXm.cjs +0 -6
- package/browser/cjs/BlYpCVX1NOGpcNB6.cjs +0 -7
- package/browser/cjs/BnZdvx8z2BIDZv9J.cjs +0 -355
- package/browser/cjs/BvnUfF0WlIXumm-E.cjs +0 -6
- package/browser/cjs/BwGs6fp9j-iFwDlB.cjs +0 -32
- package/browser/cjs/C4JyilwtB4aWsWnG.cjs +0 -6
- package/browser/cjs/C8PUqW17bEbzJthE.cjs +0 -6
- package/browser/cjs/CBTWDt8vxgXfkDfh.cjs +0 -6
- package/browser/cjs/CJ29qM66PMBNE3G9.cjs +0 -6
- package/browser/cjs/CKtzkomrFnDVY5SY.cjs +0 -11
- package/browser/cjs/CLarA_vLTlgU3TCF.cjs +0 -13
- package/browser/cjs/CN8Y9NZjRCPl8CqY.cjs +0 -6
- package/browser/cjs/CNIPdrSO6Xr2gkt9.cjs +0 -6
- package/browser/cjs/CNkEdWYoHRiw_Uez.cjs +0 -6
- package/browser/cjs/CPFRW8nnIVWYeQYn.cjs +0 -12
- package/browser/cjs/CZih4fqvAIVbCVO4.cjs +0 -6
- package/browser/cjs/Cx3wCYZR6BKbOtgk.cjs +0 -6
- package/browser/cjs/Cx8xafhEESu639Ig.cjs +0 -6
- package/browser/cjs/CzqzVoUeKxH16SDC.cjs +0 -6
- package/browser/cjs/D-GDPxpVRx45cdpQ.cjs +0 -6
- package/browser/cjs/D50Wzp-4UIlO9uVc.cjs +0 -6
- package/browser/cjs/DB9rOzEP0g0ZGfBj.cjs +0 -6
- package/browser/cjs/DIeyUTfGkxwK6bdT.cjs +0 -15
- package/browser/cjs/DX_oDw_K4CB6Ej9i.cjs +0 -6
- package/browser/cjs/DcNRcLtSOkHAK_Mt.cjs +0 -6
- package/browser/cjs/Df8ZAsCgZ69F33-C.cjs +0 -6
- package/browser/cjs/DfCiN8VOEQt4cw-x.cjs +0 -12
- package/browser/cjs/DnkG5azaxDtt-73G.cjs +0 -6
- package/browser/cjs/Dr_HVAdkD1bM9yrW.cjs +0 -6
- package/browser/cjs/KbKjJCMErVEwKqoi.cjs +0 -6
- package/browser/cjs/Px_DbuQFWhjhPilq.cjs +0 -6
- package/browser/cjs/VmYEO_-N9Cn7JpZN.cjs +0 -6
- package/browser/cjs/c4HmqMqg3ugRd4gl.cjs +0 -1501
- package/browser/cjs/jmPMUQMT7KTdf9Sr.cjs +0 -6
- package/browser/cjs/zRbLzzCcfjQpsQ4j.cjs +0 -6
- package/browser/esm/0M23_yfYSvrAB5iY.mjs +0 -472
- package/browser/esm/2sPP8EL_OzSYDsKu.mjs +0 -10
- package/browser/esm/3SiPV9yNzSbQVINg.mjs +0 -10
- package/browser/esm/6CkscKSECxQpy0v6.mjs +0 -10
- package/browser/esm/94SRg1Gxbdr9B75m.mjs +0 -10
- package/browser/esm/B2I1Hudz2EIGw59h.mjs +0 -10
- package/browser/esm/B2fqssq7kMsGIg5g.mjs +0 -10
- package/browser/esm/BBBP9totA24zTbqh.mjs +0 -10
- package/browser/esm/BEYxIKe5B75ADXWP.mjs +0 -5582
- package/browser/esm/BIHHiMjUvXmWQ6w_.mjs +0 -10
- package/browser/esm/BYRVuU6FUEX6XBFW.mjs +0 -10
- package/browser/esm/Bq_HFm6_6_ycs_gE.mjs +0 -48519
- package/browser/esm/Bs6fth_bBoNrYDwE.mjs +0 -21
- package/browser/esm/C-QHwmJCeB3o-mzv.mjs +0 -3934
- package/browser/esm/C0U_bX9Hj97edVC9.mjs +0 -10
- package/browser/esm/CC8aO_pPT-tkJK_H.mjs +0 -10
- package/browser/esm/CGxu5NKxrEXE8QIe.mjs +0 -24
- package/browser/esm/CbTDhJiJfpR6Btxp.mjs +0 -10
- package/browser/esm/CsUNORBKkJ7f3diG.mjs +0 -10
- package/browser/esm/CyYXh2ng_dKgHzbE.mjs +0 -29
- package/browser/esm/DRFsMc27LyLwGu56.mjs +0 -820
- package/browser/esm/DT09m4FGTu5N2LZJ.mjs +0 -10
- package/browser/esm/DUgyehn3re1zGQT5.mjs +0 -10
- package/browser/esm/DWOT4LkGXRN4FrJI.mjs +0 -10
- package/browser/esm/Dx1J8HBJdbrROP0v.mjs +0 -10
- package/browser/esm/Dz8v5MSOgkaH_zTd.mjs +0 -49
- package/browser/esm/F7oUe3nLrtaRYTas.mjs +0 -10
- package/browser/esm/L5HOBW-m9BjZTUuw.mjs +0 -10
- package/browser/esm/XL9-bWRsLjEvW1Y0.mjs +0 -10
- package/browser/esm/ZXuNMFT0sYh8ui7O.mjs +0 -1575
- package/browser/esm/gX1gbnkwbpalR57F.mjs +0 -12
- package/browser/esm/kagl0zcUDaK1IX_X.mjs +0 -10
- package/browser/esm/t7CffsKJY64LMXgS.mjs +0 -10
- package/browser/esm/x9wy-F3t5pNOvOIp.mjs +0 -425
- package/cdn/assets/2sPP8EL_OzSYDsKu.js +0 -10
- package/cdn/assets/3SiPV9yNzSbQVINg.js +0 -10
- package/cdn/assets/6CkscKSECxQpy0v6.js +0 -10
- package/cdn/assets/94SRg1Gxbdr9B75m.js +0 -10
- package/cdn/assets/B2I1Hudz2EIGw59h.js +0 -10
- package/cdn/assets/B2fqssq7kMsGIg5g.js +0 -10
- package/cdn/assets/BBBP9totA24zTbqh.js +0 -10
- package/cdn/assets/BD1S4plUUe1NPAqV.js +0 -425
- package/cdn/assets/BIHHiMjUvXmWQ6w_.js +0 -10
- package/cdn/assets/BYRVuU6FUEX6XBFW.js +0 -10
- package/cdn/assets/Bs6fth_bBoNrYDwE.js +0 -21
- package/cdn/assets/BzlAT8jiYfNV3kGy.js +0 -820
- package/cdn/assets/C0U_bX9Hj97edVC9.js +0 -10
- package/cdn/assets/CC8aO_pPT-tkJK_H.js +0 -10
- package/cdn/assets/CGxu5NKxrEXE8QIe.js +0 -24
- package/cdn/assets/CJOmvmuvywU33q7C.js +0 -3934
- package/cdn/assets/CbTDhJiJfpR6Btxp.js +0 -10
- package/cdn/assets/CsUNORBKkJ7f3diG.js +0 -10
- package/cdn/assets/DBq5E3hmvVO5ss1V.js +0 -5582
- package/cdn/assets/DT09m4FGTu5N2LZJ.js +0 -10
- package/cdn/assets/DUgyehn3re1zGQT5.js +0 -10
- package/cdn/assets/DWOT4LkGXRN4FrJI.js +0 -10
- package/cdn/assets/Det1P4Jrl9aZHFGe.js +0 -472
- package/cdn/assets/Dt3qIbvMvgQhNgeR.js +0 -1575
- package/cdn/assets/Dx1J8HBJdbrROP0v.js +0 -10
- package/cdn/assets/F7oUe3nLrtaRYTas.js +0 -10
- package/cdn/assets/L5HOBW-m9BjZTUuw.js +0 -10
- package/cdn/assets/U_ihCP2tbaRnqD2g.js +0 -48366
- package/cdn/assets/XL9-bWRsLjEvW1Y0.js +0 -10
- package/cdn/assets/Z4Ov3rzhXnezd-gU.js +0 -29
- package/cdn/assets/dR_uwa9znq6_hDmB.js +0 -49
- package/cdn/assets/gX1gbnkwbpalR57F.js +0 -12
- package/cdn/assets/kagl0zcUDaK1IX_X.js +0 -10
- package/cdn/assets/t7CffsKJY64LMXgS.js +0 -10
|
@@ -1,150 +1,151 @@
|
|
|
1
1
|
import { jsx as i, jsxs as p } from "react/jsx-runtime";
|
|
2
|
-
import { memo as oe, useRef as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { memo as oe, useRef as C, useState as b, useEffect as L, useLayoutEffect as pe, useMemo as de } from "react";
|
|
3
|
+
import { ICell as c, IRange as R } from "@sheetxl/sdk";
|
|
4
|
+
import { t as D, w as H, av as ue, W as fe, aA as ge, aB as me, B as O, aC as m, ah as x, aD as xe, a8 as y, aE as he, a as _, c as k, aF as Oe, aG as Ce, aH as ye, aI as be, ay as w, aJ as ve, aK as Te, ak as Re, az as ke, F as we, aw as Ee, ax as Fe } from "./De8HwbKM7sZJMZSq.js";
|
|
5
|
+
import { C as ee } from "./Dw1Rz_MNeT4QWFeY.js";
|
|
5
6
|
/**
|
|
6
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.
|
|
7
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.6
|
|
7
8
|
*
|
|
8
9
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
9
10
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
10
11
|
*/
|
|
11
|
-
const
|
|
12
|
-
const { label: h, value: r, options:
|
|
12
|
+
const Se = D(i("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), Ie = D(i("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), Le = D(i("path", { d: "m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" }), "ArrowForward"), De = D(i("path", { d: "m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z" }), "ArrowUpward"), z = oe((E) => {
|
|
13
|
+
const { label: h, value: r, options: a, onSelect: d, tabIndex: v = 0, ...A } = E, [K, T] = b(() => ie(r, a));
|
|
13
14
|
L(() => {
|
|
14
|
-
T(ie(r,
|
|
15
|
-
}, [r,
|
|
16
|
-
const
|
|
17
|
-
T(u.target.value), d?.(
|
|
18
|
-
}, [d,
|
|
19
|
-
return p(we, { sx: { minWidth: 135 }, size: "small", children: [i(Ee, { children: h }), i(
|
|
20
|
-
}), te = { Workbook: "workbook", Sheet: "sheet" }, ne = { enter: 140, exit: 140 },
|
|
21
|
-
delete
|
|
22
|
-
const
|
|
15
|
+
T(ie(r, a));
|
|
16
|
+
}, [r, a]);
|
|
17
|
+
const P = H((u) => {
|
|
18
|
+
T(u.target.value), d?.(a[u.target.value]);
|
|
19
|
+
}, [d, a]), s = de(() => Object.keys(a).map((u) => i(ke, { value: u, children: u }, u)), [a]);
|
|
20
|
+
return p(we, { sx: { minWidth: 135 }, size: "small", children: [i(Ee, { children: h }), i(Fe, { inputProps: { tabIndex: v }, value: K, label: h, onChange: P, sx: { backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, ...A, children: s })] });
|
|
21
|
+
}), te = { Workbook: "workbook", Sheet: "sheet" }, ne = { enter: 140, exit: 140 }, ae = { Formulas: c.Content.Formulas, Values: c.Content.Values, Notes: c.Content.Notes, Comments: c.Content.Comments }, se = { ...ae };
|
|
22
|
+
delete se.Values;
|
|
23
|
+
const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
|
|
23
24
|
const r = Object.keys(h);
|
|
24
|
-
for (let
|
|
25
|
-
const d = r[
|
|
25
|
+
for (let a = 0; a < r.length; a++) {
|
|
26
|
+
const d = r[a];
|
|
26
27
|
if (h[d] === E) return d;
|
|
27
28
|
}
|
|
28
|
-
},
|
|
29
|
-
const { replace: h = !1, findText: r, replaceText:
|
|
29
|
+
}, ze = oe((E) => {
|
|
30
|
+
const { replace: h = !1, findText: r, replaceText: a, findOptions: d, replaceOptions: v, title: A, onHide: K, onFindOrReplace: T, ...P } = E, s = C(null), u = C(null), W = C(null), $ = C(null), j = C(null), N = C(null), G = (e, t) => {
|
|
30
31
|
t && (t.start(e, { center: !1 }), setTimeout(() => t.stop(e), 180));
|
|
31
|
-
}, [
|
|
32
|
+
}, [J, I] = b(!1), [B, le] = b(!1), [f, M] = b(h), [U, V] = b(!1), [X, q] = b(!1), [o, l] = b({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: R.Orientation.Row, fields: [c.Content.Formulas] }, scope: te.Sheet }), F = H(async (e, t, n, S) => {
|
|
32
33
|
if (!T) return;
|
|
33
34
|
const g = { ...o };
|
|
34
35
|
g.replaceOptions = { ...g.replaceOptions }, g.findOptions = { ...g.findOptions }, g.replaceOptions.maxCount = n ? void 0 : 1, g.replace = t, t && o.findOptions.fields?.[0] === c.Content.Values && (g.findOptions.fields = [c.Content.Formulas]), g.findOptions.reverse = !e;
|
|
35
|
-
const ce = await T({ autoFocus:
|
|
36
|
+
const ce = await T({ autoFocus: S, ...g });
|
|
36
37
|
V(ce === 0);
|
|
37
38
|
}, [o, T]);
|
|
38
39
|
L(() => {
|
|
39
40
|
V(!1);
|
|
40
41
|
}, [o, B, f]);
|
|
41
|
-
const Q =
|
|
42
|
+
const Q = H((e, t) => {
|
|
42
43
|
if (e.keyCode === ue.Enter) {
|
|
43
44
|
if (!o.findText) return;
|
|
44
|
-
let n = !0,
|
|
45
|
-
e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (
|
|
45
|
+
let n = !0, S = !1;
|
|
46
|
+
e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (S = !0), G(e, S ? N.current : j.current)) : G(e, n ? $.current : W.current), F(n, t, S, !1);
|
|
46
47
|
}
|
|
47
|
-
}, [o]), Y =
|
|
48
|
+
}, [o]), Y = C(null);
|
|
48
49
|
pe(() => {
|
|
49
|
-
|
|
50
|
+
l((e) => {
|
|
50
51
|
const t = { ...e };
|
|
51
|
-
t.findText = r && r.length > 0 ? r : e.findText ?? "", I(!0),
|
|
52
|
-
const n = !(!v &&
|
|
52
|
+
t.findText = r && r.length > 0 ? r : e.findText ?? "", I(!0), a !== void 0 && (t.replaceText = a), d && (t.findOptions = { ...t.findOptions, ...d }), t.replaceText || (t.replaceText = ""), t.replaceOptions && (t.replaceOptions = { ...t.replaceOptions }), v && (t.replaceOptions = { ...t.replaceOptions, ...v }), o.findOptions.fields?.[0] || (o.findOptions.fields = [c.Content.Formulas]);
|
|
53
|
+
const n = !(!v && a === void 0);
|
|
53
54
|
return n && M(n), t;
|
|
54
|
-
}),
|
|
55
|
-
}, [r,
|
|
55
|
+
}), X || Y.current?.focus();
|
|
56
|
+
}, [r, a, d, v]), L(() => {
|
|
56
57
|
f ? (o.findOptions.fields[0], c.Content.Values) : I(!0);
|
|
57
58
|
}, [f]), L(() => {
|
|
58
|
-
if (
|
|
59
|
-
|
|
59
|
+
if (J && s.current && o.findText === s.current.value) return s.current === document.activeElement || s.current.contains(document.activeElement) ? (s.current?.select(), void I(!1)) : void s.current.addEventListener("focus", () => {
|
|
60
|
+
s.current?.select(), I(!1);
|
|
60
61
|
}, { once: !0 });
|
|
61
|
-
}, [
|
|
62
|
+
}, [J, o]);
|
|
62
63
|
const [re, { width: Z }] = fe();
|
|
63
|
-
return i(ge, { title:
|
|
64
|
-
|
|
65
|
-
}, PaperProps: { elevation:
|
|
66
|
-
if (e.key === "h" && e.ctrlKey) M(!0),
|
|
67
|
-
else if (e.key === "f" && e.ctrlKey)
|
|
68
|
-
else if (e.key === "c" && e.altKey)
|
|
64
|
+
return i(ge, { title: A ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", refWindow: Y, onHide: K, onFocus: () => q(!0), onBlur: () => {
|
|
65
|
+
q(!1), V(!1);
|
|
66
|
+
}, PaperProps: { elevation: X ? 3 : 1 }, ...P, children: p(me, { dividers: !0, ref: re, sx: { display: "flex", flexDirection: "column", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, onKeyDown: (e) => {
|
|
67
|
+
if (e.key === "h" && e.ctrlKey) M(!0), s.current?.contains(document.activeElement) && u.current?.focus();
|
|
68
|
+
else if (e.key === "f" && e.ctrlKey) s.current?.focus();
|
|
69
|
+
else if (e.key === "c" && e.altKey) l((t) => {
|
|
69
70
|
const n = { ...t };
|
|
70
71
|
return n.findOptions.matchCase = !t.findOptions.matchCase, n;
|
|
71
72
|
});
|
|
72
|
-
else if (e.key === "e" && e.altKey)
|
|
73
|
+
else if (e.key === "e" && e.altKey) l((t) => {
|
|
73
74
|
const n = { ...t };
|
|
74
75
|
return n.findOptions.matchEntireCell = !t.findOptions.matchEntireCell, n;
|
|
75
76
|
});
|
|
76
77
|
else {
|
|
77
78
|
if (e.key !== "r" || !e.altKey) return;
|
|
78
|
-
|
|
79
|
+
l((t) => {
|
|
79
80
|
const n = { ...t };
|
|
80
81
|
return n.findOptions.useRegex = !t.findOptions.useRegex, n;
|
|
81
82
|
});
|
|
82
83
|
}
|
|
83
84
|
e.preventDefault();
|
|
84
|
-
}, children: [p(
|
|
85
|
-
|
|
85
|
+
}, children: [p(O, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [i(m, { selected: B, onSelectToggle: (e) => {
|
|
86
|
+
le(e);
|
|
86
87
|
}, preventFocus: !0, label: "Toggle Additional Options", icon: x(i(xe, {})) }), i(m, { selected: f, onSelectToggle: (e) => {
|
|
87
88
|
M(e);
|
|
88
|
-
}, preventFocus: !0, label: "Toggle Replace", icon: x(i(he, {})), shortcut: { key: f ? "F" : "H", modifiers: [
|
|
89
|
-
|
|
89
|
+
}, preventFocus: !0, label: "Toggle Replace", icon: x(i(he, {})), shortcut: { key: f ? "F" : "H", modifiers: [y.Ctrl] } })] }), p(O, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [i(_, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Z > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { draggable: !1, ref: s, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: i(Oe, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: p(O, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [i(m, { selected: o.findOptions.matchCase, onSelectToggle: (e) => {
|
|
90
|
+
l((t) => {
|
|
90
91
|
const n = { ...t };
|
|
91
92
|
return n.findOptions.matchCase = e, n;
|
|
92
93
|
});
|
|
93
|
-
}, label: "Match Case", shortcut: { key: "C", modifiers: [
|
|
94
|
-
|
|
94
|
+
}, label: "Match Case", shortcut: { key: "C", modifiers: [y.Alt] }, icon: x(i(Ce, {})) }), i(m, { selected: o.findOptions.matchEntireCell, onSelectToggle: (e) => {
|
|
95
|
+
l((t) => {
|
|
95
96
|
const n = { ...t };
|
|
96
97
|
return n.findOptions.matchEntireCell = e, n;
|
|
97
98
|
});
|
|
98
|
-
}, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [
|
|
99
|
-
|
|
99
|
+
}, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [y.Alt] }, icon: x(i(ye, {})) }), i(m, { selected: o.findOptions.useRegex, onSelectToggle: (e) => {
|
|
100
|
+
l((t) => {
|
|
100
101
|
const n = { ...t };
|
|
101
102
|
return n.findOptions.useRegex = e, n;
|
|
102
103
|
});
|
|
103
|
-
}, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [
|
|
104
|
-
|
|
104
|
+
}, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [y.Alt] }, icon: x(i(be, {})) })] }) }) }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1), "& .MuiOutlinedInput-notchedOutline": { borderColor: (e) => U ? `${e.palette.error.main} !important` : void 0 }, "& .MuiInputLabel-outlined": { color: (e) => U ? `${e.palette.error.main} !important` : void 0 } }, value: o.findText ?? "", onChange: (e) => {
|
|
105
|
+
l((t) => {
|
|
105
106
|
const n = { ...t };
|
|
106
107
|
return n.findText = e.target.value, n;
|
|
107
108
|
});
|
|
108
109
|
}, onKeyDown: (e) => Q(e, !1), onContextMenu: (e) => {
|
|
109
110
|
e.stopPropagation();
|
|
110
111
|
} }), i(m, { selected: o.findOptions.reverse, onSelectToggle: (e) => {
|
|
111
|
-
|
|
112
|
-
}, touchRippleRef:
|
|
113
|
-
|
|
114
|
-
}, touchRippleRef:
|
|
115
|
-
|
|
116
|
-
}, children: p(
|
|
117
|
-
|
|
112
|
+
F(!1, !1);
|
|
113
|
+
}, touchRippleRef: W, label: "", shortcut: { key: "Enter", modifiers: [y.Shift] }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Se, {}) : i(De, {})), disabled: !o.findText }), i(m, { selected: !o.findOptions.reverse, onSelectToggle: (e) => {
|
|
114
|
+
F(!0, !1);
|
|
115
|
+
}, touchRippleRef: $, label: "Next Match", shortcut: { key: "Enter" }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Le, {}) : i(Ie, {})), disabled: !o.findText })] }), i(ee, { in: f, timeout: ne, onExit: () => {
|
|
116
|
+
s.current?.focus();
|
|
117
|
+
}, children: p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [i(_, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { ref: u, className: "input", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } } }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1) }, value: o.replaceText ?? "", onChange: (e) => {
|
|
118
|
+
l((t) => {
|
|
118
119
|
const n = { ...t };
|
|
119
120
|
return n.replaceText = e.target.value, n;
|
|
120
121
|
});
|
|
121
122
|
}, onKeyDown: (e) => Q(e, !0), onContextMenu: (e) => {
|
|
122
123
|
e.stopPropagation();
|
|
123
124
|
} }), i(m, { onSelectToggle: (e) => {
|
|
124
|
-
|
|
125
|
+
F(!0, !0);
|
|
125
126
|
}, touchRippleRef: j, label: "Replace", shortcut: { key: "Enter" }, icon: x(i(ve, {})), disabled: !o.findText }), i(m, { onSelectToggle: (e) => {
|
|
126
|
-
|
|
127
|
-
}, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [
|
|
128
|
-
|
|
129
|
-
}, children: p(
|
|
130
|
-
|
|
127
|
+
F(!0, !0, !0);
|
|
128
|
+
}, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [y.Ctrl, y.Alt] }, icon: x(i(Te, {})), disabled: !o.findText })] }) })] })] }), i(ee, { in: B, timeout: ne, onExit: () => {
|
|
129
|
+
s.current?.focus();
|
|
130
|
+
}, children: p(O, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [i(Re, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), p(O, { sx: { display: "flex", flexDirection: Z >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [i(z, { label: "Within", value: o.scope, options: te, onSelect: (e) => {
|
|
131
|
+
l((t) => {
|
|
131
132
|
const n = { ...t };
|
|
132
133
|
return n.scope = e, n;
|
|
133
134
|
});
|
|
134
|
-
} }), i(
|
|
135
|
-
|
|
135
|
+
} }), i(z, { label: "Search", value: o.findOptions.orientation !== R.Orientation.Column, options: Ae, onSelect: (e) => {
|
|
136
|
+
l((t) => {
|
|
136
137
|
const n = { ...t };
|
|
137
138
|
return n.findOptions.orientation = e ? R.Orientation.Row : R.Orientation.Column, n;
|
|
138
139
|
});
|
|
139
|
-
} }), i(
|
|
140
|
-
|
|
140
|
+
} }), i(z, { label: "Look in", value: f && o.findOptions.fields?.[0] === c.Content.Values ? c.Content.Formulas : o.findOptions.fields?.[0], options: f ? se : ae, onSelect: (e) => {
|
|
141
|
+
l((t) => {
|
|
141
142
|
const n = { ...t };
|
|
142
143
|
return n.findOptions.fields = [e], n;
|
|
143
144
|
});
|
|
144
145
|
} })] })] }) })] }) });
|
|
145
146
|
});
|
|
146
147
|
export {
|
|
147
|
-
|
|
148
|
+
ze as FindReplaceWindow,
|
|
148
149
|
te as ScopeOptions,
|
|
149
|
-
|
|
150
|
+
ze as default
|
|
150
151
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import { memo as O, useState as r, useRef as
|
|
3
|
-
import {
|
|
2
|
+
import { memo as O, useState as r, useRef as M, useReducer as W, useMemo as A } from "react";
|
|
3
|
+
import { aL as E, W as k, aM as Q, aN as V, w 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 w, ai as b, aS as S } from "./De8HwbKM7sZJMZSq.js";
|
|
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.6
|
|
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: N, onHide:
|
|
12
|
-
|
|
13
|
-
const o = T ?? c.context(), t = o.table(), [
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const { title: N, onHide: R, autoFocusSel: v = ".range-input input", context: T, notifier: l = E, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = M(null), [Y, B] = W((e) => e + 1, 0), [H, { width: Z }] = k();
|
|
12
|
+
Q(c);
|
|
13
|
+
const o = T ?? c.context(), t = o.table(), [P, I] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = A(() => t?.getName() ?? "", [t]);
|
|
14
|
+
V(o.table(), { onAnchorCoordsChange(e) {
|
|
15
|
+
I(o.getNames().getRanges(e.getRange()));
|
|
16
16
|
}, onProtectedChange(e) {
|
|
17
17
|
B();
|
|
18
18
|
} });
|
|
@@ -22,15 +22,15 @@ 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(
|
|
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: N ?? "Table Details", initialPosition: { y: "35" }, autoFocusSel: v, refWindow: h, onHide: R, onFocus: () => g(!0), onBlur: (e) => {
|
|
26
26
|
h?.current?.contains(e.relatedTarget) || g(!1);
|
|
27
|
-
}, PaperProps: { elevation: F ? 3 : 1 }, ...D, children: s(
|
|
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);
|
|
29
29
|
}, disabled: t?.isProtected() ?? !0, onFocus: (e) => {
|
|
30
30
|
m || e.target?.select(), p(!0);
|
|
31
|
-
} }), a(
|
|
31
|
+
} }), a(K, { formName: "range", value: P, onChangeInput: z, resolvedAddress: o.getNames().getRanges.bind(o.getNames()), disabled: t?.isProtected() ?? !0, onFocus: (e) => {
|
|
32
32
|
m || e.target?.select(), p(!0);
|
|
33
|
-
} })] }) }) }), s(n, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [a(
|
|
33
|
+
} })] }) }) }), s(n, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [a(f, { orientation: "horizontal", sx: { marginTop: (e) => e.spacing(1.5), marginBottom: (e) => e.spacing(0.75) } }), a(U, { disabled: t?.isProtected(), styleOptions: t?.getStyleOptions() ?? null, onStyleOptionsChange: (e) => {
|
|
34
34
|
t.updateStyleOptions(e);
|
|
35
35
|
}, showHeaderRow: t?.getShowHeaders(), onShowHeaderRowChange: (e) => {
|
|
36
36
|
try {
|
|
@@ -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(
|
|
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: b.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: w(a(S, {})) }), a(y, { variant: b.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: w(a(S, {})) })] })] })] }), u] }) });
|
|
54
54
|
});
|
|
55
55
|
export {
|
|
56
56
|
te as TableDetailsWindow,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
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.6
|
|
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:
|
|
9
|
+
const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: u = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, f = await import("./DRX3PxyWmwYCO1oC.js").then((s) => s.p);
|
|
10
10
|
if (!a) throw new Error("workbook must be specified");
|
|
11
11
|
let t = null;
|
|
12
|
-
if (
|
|
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");
|
|
13
13
|
let c = null;
|
|
14
14
|
const d = [];
|
|
15
15
|
let e = null, n = t.getUsedRange({ excludeHidden: h });
|
|
@@ -24,23 +24,23 @@ const k = async (a, p) => {
|
|
|
24
24
|
const S = x.toTextUnformatted() ?? "";
|
|
25
25
|
e.push(S);
|
|
26
26
|
}, { includeEmpty: !0, address: null }), e && d.push(e);
|
|
27
|
-
const
|
|
27
|
+
const o = { ...m }, g = f.unparse(d, o);
|
|
28
28
|
return new TextEncoder().encode(g);
|
|
29
|
-
},
|
|
30
|
-
const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {},
|
|
29
|
+
}, R = async (a, p) => {
|
|
30
|
+
const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {}, r = await import("./DRX3PxyWmwYCO1oC.js").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;
|
|
34
|
-
const n = { ...i, transform: (
|
|
35
|
-
i?.transform && (
|
|
34
|
+
const n = { ...i, transform: (o, g) => {
|
|
35
|
+
i?.transform && (o = i.transform(o, g));
|
|
36
36
|
const s = g;
|
|
37
37
|
s === 0 && f++;
|
|
38
|
-
let l =
|
|
39
|
-
return c.pushAt(f, s, l), e++, e % 1e5 == 0 && d?.(e),
|
|
38
|
+
let l = o ?? "";
|
|
39
|
+
return c.pushAt(f, s, l), e++, e % 1e5 == 0 && d?.(e), o;
|
|
40
40
|
} };
|
|
41
|
-
return
|
|
41
|
+
return r.parse(m, n).data, c.apply({ textParser: !0, ...u }), t;
|
|
42
42
|
};
|
|
43
43
|
export {
|
|
44
|
-
|
|
44
|
+
R as fromBufferCSV,
|
|
45
45
|
k as toBufferCSV
|
|
46
46
|
};
|
|
@@ -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.6
|
|
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,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.6
|
|
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,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.6
|
|
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/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.3.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.6
|
|
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.
|
|
@@ -115,7 +115,7 @@ let c;
|
|
|
115
115
|
const b = async (e) => c || (c = await (async (n, t) => {
|
|
116
116
|
try {
|
|
117
117
|
if (t?.selector && C(t?.selector, t?.loading), !n) {
|
|
118
|
-
const { resolveDependencies: r } = await import("./assets/
|
|
118
|
+
const { resolveDependencies: r } = await import("./assets/ChD-x-lrZKLslGbg.js");
|
|
119
119
|
n = await r(t?.dependencies);
|
|
120
120
|
}
|
|
121
121
|
t?.licenseKey && await n.StudioMUI.LicenseManager.setLicenseKey(t.licenseKey), t?.selector && h(t?.selector);
|
|
@@ -136,7 +136,7 @@ const b = async (e) => c || (c = await (async (n, t) => {
|
|
|
136
136
|
let d = null;
|
|
137
137
|
await new Promise((v) => {
|
|
138
138
|
o.render(t.React.createElement(g, { ...m, ref: (i) => {
|
|
139
|
-
|
|
139
|
+
i && (d = i, v());
|
|
140
140
|
} }));
|
|
141
141
|
});
|
|
142
142
|
const y = { runtime: t, root: o };
|
|
@@ -145,8 +145,8 @@ const b = async (e) => c || (c = await (async (n, t) => {
|
|
|
145
145
|
return new Proxy(d, { get(v, i, z) {
|
|
146
146
|
if (S) throw new Error(`SheetXL instance attached to "${a}" has been detached. Cannot access properties.`);
|
|
147
147
|
return i === "update" ? (N) => {
|
|
148
|
-
const
|
|
149
|
-
return o.render(t.React.createElement(g,
|
|
148
|
+
const $ = { ...m, ...N, ref: u };
|
|
149
|
+
return o.render(t.React.createElement(g, $)), Promise.resolve();
|
|
150
150
|
} : i === "detach" ? () => (x.delete(a), o.unmount(), S = !0, Promise.resolve()) : Reflect.get(v, i, z);
|
|
151
151
|
} });
|
|
152
152
|
} catch (o) {
|
|
@@ -164,8 +164,8 @@ if (w) {
|
|
|
164
164
|
console.error("Error creating SheetXL workbook:", n);
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
-
const
|
|
167
|
+
const X = M;
|
|
168
168
|
export {
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
X as SheetXL,
|
|
170
|
+
X as default
|
|
171
171
|
};
|
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.3.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.6
|
|
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.3.
|
|
4
|
+
"version": "0.3.6",
|
|
5
5
|
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./browser/esm/index.mjs",
|
|
@@ -36,16 +36,17 @@
|
|
|
36
36
|
"@emotion/cache": "^11.14.0",
|
|
37
37
|
"@emotion/react": "^11.14.0",
|
|
38
38
|
"@emotion/styled": "^11.14.0",
|
|
39
|
-
"@mui/icons-material": "^6.
|
|
40
|
-
"@mui/material": "^6.
|
|
41
|
-
"@mui/styled-engine": "^6.
|
|
42
|
-
"@mui/system": "^6.
|
|
43
|
-
"@mui/utils": "^6.4.
|
|
44
|
-
"@sheetxl/studio-mui": "^0.3.
|
|
39
|
+
"@mui/icons-material": "^6.5.0",
|
|
40
|
+
"@mui/material": "^6.5.0",
|
|
41
|
+
"@mui/styled-engine": "^6.5.0",
|
|
42
|
+
"@mui/system": "^6.5.0",
|
|
43
|
+
"@mui/utils": "^6.4.9",
|
|
44
|
+
"@sheetxl/studio-mui": "^0.3.6",
|
|
45
45
|
"csstype": "^3.1.3",
|
|
46
46
|
"http-server": "^14.1.1"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
+
"@sheetxl/sdk": "^0.3.6",
|
|
49
50
|
"react": "^19.1.0",
|
|
50
51
|
"react-dom": "^19.1.0"
|
|
51
52
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.4
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),n=require("react"),l=require("./BnZdvx8z2BIDZv9J.cjs"),E=["Ok","Cancel"],V=n.memo(C=>{const{value:a=null,context:t,onOption:p,onValidateOption:F,onDone:g,onUpdate:m,options:x=E,defaultOption:y=x?.[0],cancelOption:f="Cancel",sx:h,...v}=C,N=n.useMemo(()=>t?.getNames().findValidName("Range1"),[]),d=n.useMemo(()=>{if(!a)return!0},[]),[o,R]=n.useState({displayText:a?.getName()??N,errorText:null}),[s,S]=n.useState({displayValue:a?.getRanges()??t?.selection()??null,errorText:null}),[T,O]=n.useState(!1),b=n.useCallback(async e=>!o.errorText&&!s.errorText,[t]),j=l.ye((e,i,c)=>{if(!i){let r=null;d?r=t?.getNames().addReference(o?.displayText,s?.displayValue,!1):(a.getType()==="reference"&&a.doBatch(()=>{a.setName(o?.displayText),a.setReference(s?.displayValue)},`Edit Named '${o?.displayText}'`),r=a),r&&(r.select(),m(r,d))}p?.(e,i,c),g?.()},[t,o,s,g,p,y,f,m]),w=l.ye(e=>{let i=null;try{t?.getNames().validateName(e)}catch(c){i=c.message}R({displayText:e,errorText:i})},[]),B=l.ye(e=>{a&&a.getName().toLowerCase()===e.toLowerCase()||t?.getNames().validateName(e)},[t,a]),D=n.useCallback(e=>{S({displayValue:e??null,errorText:null})},[]);return u.jsx(l.n6,{title:(d?"Define":"Edit")+" Range",options:x,onOption:j,onValidateOption:b,defaultOption:y,cancelOption:f,autoFocusSel:".autoFocus",sx:{width:"460px",...h},...v,children:u.jsxs(l.Box,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),range:"flex",flexDirection:"column"},children:[u.jsx(l.VE,{formName:"name",defaultInput:N,value:o.displayText,onChangeInput:w,onValidate:B,onFocus:e=>{T||e.target?.select(),O(!0)}}),u.jsx(l.BE,{formName:"range",value:s.displayValue,onChangeInput:D,resolvedAddress:t.getNames().getRanges.bind(t.getNames()),onFocus:e=>{T||e.target?.select(),O(!0)}})]})})});exports.NamedReferenceDialog=V,exports.default=V;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.4
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.default={FILTERXML:{s:"Returns specific data from XML content using the specified XPath.",p:{xml:{d:"is a string in valid XML format."},xpath:{d:"is a string in standard XPath format."}}}};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.4
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.TypeScriptCompiler=class{constructor(r={}){this.workerWrapper=null}async getWorkerWrapper(){if(this.workerWrapper)return this.workerWrapper;const{createCompilerWorker:r}=await Promise.resolve().then(()=>require("./c4HmqMqg3ugRd4gl.cjs"));return this.workerWrapper=await r(),this.workerWrapper}async compileModule(r){try{return(await this.getWorkerWrapper()).execute(r)}catch(e){throw console.error("Failed to compile using worker:",e),e}}terminate(){this.workerWrapper?.terminate(),this.workerWrapper=null}};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.4
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),a=require("react"),n=require("./BnZdvx8z2BIDZv9J.cjs"),M=["Input"],z=a.memo(a.forwardRef((y,H)=>{const{initialValue:O="",onOption:T,onValidateOption:s,onInputOption:r,onValidateInputOption:l,onDone:u,inputProps:c,inputLabel:w,inputType:F,inputPlaceHolder:S,options:d=M,autoFocusSel:P=".autoFocus",cancelOption:g,defaultOption:m=d?.[0],...b}=y,[v,C]=a.useState(!1),[t,I]=a.useState(O),[j,k]=a.useState(""),[V,q]=a.useState(!0),i=n.pn(async(e,o)=>{if(!l)return!0;const h=await l?.(e,o);k(h?.message??"");const x=h?.valid??!0;return q(x),x},[l]),f=n.pn(async e=>{r?.(t,e)},[t,r,u,T,g,m]),B=n.pn(async e=>{e.keyCode===n.zo.Enter&&await i?.(t,null)},[t,f]),D=n.pn(e=>{I(e.target.value),i?.(e.target.value,null)},[s]),E=n.pn(async e=>{let o=await i(t,e);try{o!==!1&&(o=await i(t,e))}catch{}return o??!0},[t,s]);return p.jsx(n.n6,{options:d,onDone:u,onOption:(e,o)=>{o||f(e)},onValidateOption:E,cancelOption:g,defaultOption:m,autoFocusSel:P,...b,children:p.jsx(n.Box,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0)},children:p.jsx(n.FormControl,{sx:{paddingTop:e=>e.spacing(1.5),minWidth:135,width:"100%"},size:"small",children:p.jsx(n.TextField,{onFocus:e=>{v||e.target?.select(),C(!0)},type:F,label:w,helperText:j||" ",sx:{width:"100%","& .MuiFormHelperText-root":{marginTop:e=>e.spacing(.5),color:V?void 0:"error.main"}},InputLabelProps:{shrink:!0},InputProps:{inputProps:{placeholder:S,spellCheck:!1,autoComplete:"off",...c,className:n.To("autoFocus",c?.className),sx:{paddingTop:e=>e.spacing(1.25),paddingBottom:e=>e.spacing(.75),backgroundImage:`linear-gradient(${n.alpha("#fff",n.Ey(5))}, ${n.alpha("#fff",n.Ey(5))})`}}},value:t,onChange:D,onKeyDown:B,onContextMenu:e=>{e.stopPropagation()}})})})})}));exports.default=z;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.4
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.default={CUBEKPIMEMBER:{s:"Returns a key performance indicator (KPI) property and displays the KPI name in the cell.",p:{connection:{d:"is the name of a connection to an OLAP cube"},kpiName:{d:"is the KPI name"},kpiProperty:{d:"is the KPI property"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBEMEMBER:{s:"Returns a member or tuple from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{d:"is the expression representing the name of a member or tuple in the OLAP cube"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBEMEMBERPROPERTY:{s:"Returns the value of a member property from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{d:"is the expression representing the name of a member in the OLAP cube"},kpiProperty:{d:"is the property name"}},h:"Unimplemented"},CUBERANKEDMEMBER:{s:"Returns the nth, or ranked, member in a set.",p:{connection:{d:"is the name of a connection to an OLAP cube"},setExpression:{d:"is the set from which the element is to be retrieved"},rank:{d:"is the rank of the element to be retrieved"},caption:{d:"is the caption to be displayed in the cell"}},h:"Unimplemented"},CUBESET:{s:"Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Excel.",p:{connection:{d:"is the name of a connection to an OLAP cube"},setExpression:{d:"is the expression for the set"},caption:{d:"is the caption to be displayed in the cell"},sortOrder:{d:"is the sort order"},sortBy:{d:"is the sort by"}},h:"Unimplemented"},CUBESETCOUNT:{s:"Returns the number of items in a set.",p:{set:{d:"is the set whose elements are to be counted"}},h:"Unimplemented"},CUBEVALUE:{s:"Returns an aggregated value from the cube.",p:{connection:{d:"is the name of a connection to an OLAP cube"},memberExpression:{}},h:"Unimplemented"}};
|