@sheetxl/studio-vanilla 0.1.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +11 -0
- package/README.md +100 -0
- package/build/browser/cjs/1q6_3-jGNZllbF3R.cjs +6 -0
- package/build/browser/cjs/5KDindu3wyLVvG7F.cjs +6 -0
- package/build/browser/cjs/87m5i_TKPbDn6tke.cjs +30 -0
- package/build/browser/cjs/B0L2YQ9agsyHWOu2.cjs +6 -0
- package/build/browser/cjs/B3HvYH5kqySWdJ0f.cjs +6 -0
- package/build/browser/cjs/B6AOUko0HYRy2MPw.cjs +6 -0
- package/build/browser/cjs/BC5MKXBhHGdPeiJ3.cjs +21 -0
- package/build/browser/cjs/BG0RxkPyZY6Be7Lk.cjs +6 -0
- package/build/browser/cjs/BJsJYwvFiJBFxTov.cjs +6 -0
- package/build/browser/cjs/BMVMyi5NiMBuQrl9.cjs +52 -0
- package/build/browser/cjs/BS_QXQWoKRl_7MiR.cjs +17 -0
- package/build/browser/cjs/BZPhmHWsFBTIA3BQ.cjs +210 -0
- package/build/browser/cjs/B_5ro-VEKfZDMSn_.cjs +6 -0
- package/build/browser/cjs/B_c3i0fXSlX7dH12.cjs +1521 -0
- package/build/browser/cjs/BarieqwSecnaFn0d.cjs +6 -0
- package/build/browser/cjs/BfNo_1u55uW2HhAa.cjs +6 -0
- package/build/browser/cjs/Bl6FyLoMkFiQqhvc.cjs +7 -0
- package/build/browser/cjs/Bsyzteo6tD31A45e.cjs +11 -0
- package/build/browser/cjs/Btzizuqo7zQ_grdS.cjs +16 -0
- package/build/browser/cjs/BxBOlXY9P3Ymi6oT.cjs +6 -0
- package/build/browser/cjs/C0AP85yKTJU5XzPW.cjs +6 -0
- package/build/browser/cjs/C0Pjx18ua-OCdtpy.cjs +6 -0
- package/build/browser/cjs/CA2wSX6txFrM5nXD.cjs +6 -0
- package/build/browser/cjs/CB3jEtNo5ZsjfE5p.cjs +6 -0
- package/build/browser/cjs/CDiYZ1cSoLW8U5Mz.cjs +6 -0
- package/build/browser/cjs/CHD5c5FdcMm6vLyG.cjs +155 -0
- package/build/browser/cjs/COCpf8tSdkj2O19V.cjs +134 -0
- package/build/browser/cjs/CTV1KRGhkieiY4Rf.cjs +42 -0
- package/build/browser/cjs/CUw8AoM-rVbp1W3s.cjs +6 -0
- package/build/browser/cjs/CVTydWBioXRZeoNf.cjs +6 -0
- package/build/browser/cjs/C_uXPPlfjY68-QA8.cjs +6 -0
- package/build/browser/cjs/CaNR-X0TWW9OF1S0.cjs +33 -0
- package/build/browser/cjs/CiySKEsfDr8XnkZh.cjs +6 -0
- package/build/browser/cjs/CtBikymnhpcCzP3X.cjs +6 -0
- package/build/browser/cjs/CyF7bxA0DO13ETpx.cjs +30 -0
- package/build/browser/cjs/D-vkFAlNHXwUvmUT.cjs +16 -0
- package/build/browser/cjs/D2OU29-ZPOAWFVJB.cjs +22 -0
- package/build/browser/cjs/DFX31uXp449or-Xs.cjs +6 -0
- package/build/browser/cjs/DLqNXuHYff_kQuj1.cjs +6 -0
- package/build/browser/cjs/DMKZDMHHXLePvLy3.cjs +524 -0
- package/build/browser/cjs/DP8biA0GQqyPKLyq.cjs +6 -0
- package/build/browser/cjs/DcYrNx0uy99yQNMl.cjs +21 -0
- package/build/browser/cjs/Dcyg_YxTfBgi_6cp.cjs +26 -0
- package/build/browser/cjs/DeR9YbwO2xDBKVWN.cjs +21 -0
- package/build/browser/cjs/DfNbgyjaLMn81dqP.cjs +6 -0
- package/build/browser/cjs/DirazCTz5IsFWrUv.cjs +22 -0
- package/build/browser/cjs/Dix4vuDuOzj4WGCJ.cjs +19 -0
- package/build/browser/cjs/DqbTRjj97q78RuGC.cjs +6 -0
- package/build/browser/cjs/Dy28YI90qj65PHFO.cjs +17 -0
- package/build/browser/cjs/Nkl33Tt1_oEy9kjk.cjs +6 -0
- package/build/browser/cjs/S1S-AvD0w8s-LV8O.cjs +6 -0
- package/build/browser/cjs/bnPgbgGBTq7DESzd.cjs +6 -0
- package/build/browser/cjs/d9tJGmGw-3KZjpAx.cjs +17 -0
- package/build/browser/cjs/dke2gbIUS44QXwEl.cjs +6 -0
- package/build/browser/cjs/index.cjs +6 -0
- package/build/browser/cjs/mPpQR06-jf99r2jM.cjs +6 -0
- package/build/browser/cjs/wq0Sm3fu9rxt43OK.cjs +6 -0
- package/build/browser/cjs/xM54FRmGddZFVTTI.cjs +6 -0
- package/build/browser/cjs/xgGpGg5b8fu3GAnL.cjs +33 -0
- package/build/browser/esm/1Jl9rrRJdbPsUP_1.mjs +13222 -0
- package/build/browser/esm/3RX6dP_O-47yXKHQ.mjs +1492 -0
- package/build/browser/esm/5F5MTh8R-sIiPq0h.mjs +22 -0
- package/build/browser/esm/B3_l6_TLa9ImyRmW.mjs +5572 -0
- package/build/browser/esm/B7odLLxNfEmKGWX6.mjs +49 -0
- package/build/browser/esm/BAjCWyggrIkCz6wr.mjs +22 -0
- package/build/browser/esm/BE4io65W825i_dzC.mjs +58 -0
- package/build/browser/esm/BEZ41ST3hkC4W-_9.mjs +22 -0
- package/build/browser/esm/BKkD05hqNTBap4Oc.mjs +22 -0
- package/build/browser/esm/BOiR2dTlvcgYjz8P.mjs +402 -0
- package/build/browser/esm/BOjAZRs_NVerYv4t.mjs +22 -0
- package/build/browser/esm/BRkMPyIUXMixnL8d.mjs +22 -0
- package/build/browser/esm/BSS_RvWzDRX8_EJd.mjs +1684 -0
- package/build/browser/esm/BXC9rQVV2gq5x8br.mjs +22 -0
- package/build/browser/esm/BYmMkbrRTsNuR3aY.mjs +1358 -0
- package/build/browser/esm/BaSzK17p3_gCvNVV.mjs +24 -0
- package/build/browser/esm/BdtlmF31h4Y7RgUj.mjs +22 -0
- package/build/browser/esm/Be3zRnYQ13HUcsRW.mjs +150 -0
- package/build/browser/esm/BiSk8LRROMF0Bl4-.mjs +92 -0
- package/build/browser/esm/BlfHOASL_bJ6Hy0y.mjs +40 -0
- package/build/browser/esm/C-jC-wgAoMOxrVvv.mjs +1377 -0
- package/build/browser/esm/C0Lw5hMgKbooA6Jl.mjs +22 -0
- package/build/browser/esm/C32FpMEFLbDnBtO3.mjs +22 -0
- package/build/browser/esm/C9uN8RnLjnGSimTA.mjs +439 -0
- package/build/browser/esm/CB0UHheTgg0735hj.mjs +52 -0
- package/build/browser/esm/CU55zbw8Xbwap6Tl.mjs +22 -0
- package/build/browser/esm/CWRCdxOg103AFis3.mjs +3926 -0
- package/build/browser/esm/CpJdzwQYkBw7IPnN.mjs +22 -0
- package/build/browser/esm/CprFmxuwGvaUtLG2.mjs +22 -0
- package/build/browser/esm/CtZxtE4tRmMGFT5o.mjs +22 -0
- package/build/browser/esm/D-Oj36iQScXAKSMA.mjs +53 -0
- package/build/browser/esm/D2yyUr4KbJEFsxKC.mjs +21 -0
- package/build/browser/esm/D8HF2X8hvAkV29oq.mjs +55 -0
- package/build/browser/esm/DCauh523moR7slpq.mjs +22 -0
- package/build/browser/esm/DIA-Gy5mdjefjUaA.mjs +22 -0
- package/build/browser/esm/DJjdfX9aUyVGMkri.mjs +47 -0
- package/build/browser/esm/DMWb8cCaNVRcm-tT.mjs +2352 -0
- package/build/browser/esm/DP7HVKT0w_4L2vMQ.mjs +844 -0
- package/build/browser/esm/DToiYU1jffn1g7TH.mjs +639 -0
- package/build/browser/esm/DgSuz0WKGy36a2cp.mjs +22 -0
- package/build/browser/esm/Dgw3FTbNKuo2CIxP.mjs +22 -0
- package/build/browser/esm/DnV_Y9xoMPSav0-o.mjs +56 -0
- package/build/browser/esm/Do7pHqmnwO45_ymt.mjs +22 -0
- package/build/browser/esm/DqvZDTDIyX-qv4r9.mjs +29 -0
- package/build/browser/esm/Ds8V__cRAClpmjZn.mjs +1714 -0
- package/build/browser/esm/DtQdtXJDZgNEIz9d.mjs +440 -0
- package/build/browser/esm/DtpBQqwK7XXBMTB-.mjs +1598 -0
- package/build/browser/esm/DuzJ1k0LbZ29l8oN.mjs +945 -0
- package/build/browser/esm/Dxl4WJXcEhDAw_yE.mjs +42 -0
- package/build/browser/esm/LblYfFi1ns9H1ueN.mjs +28 -0
- package/build/browser/esm/NBkvFJzfLU32Pkup.mjs +496 -0
- package/build/browser/esm/SrBQAOpMKiDW0mGB.mjs +22 -0
- package/build/browser/esm/VLa1cYMb7h6UD253.mjs +64 -0
- package/build/browser/esm/YOEDF-U1QTzbXeMV.mjs +3826 -0
- package/build/browser/esm/a3tuiJ83MwzLMWaL.mjs +22 -0
- package/build/browser/esm/ai2Jw3PRL29E1T8h.mjs +22 -0
- package/build/browser/esm/ajBoEmoL9hCBQYYm.mjs +2175 -0
- package/build/browser/esm/index.mjs +13 -0
- package/build/browser/esm/k9kWmEk0ZT8y9Gii.mjs +48740 -0
- package/build/cdn/assets/1Jl9rrRJdbPsUP_1.js +13222 -0
- package/build/cdn/assets/4u46flV9M6Bwb7d3.js +29 -0
- package/build/cdn/assets/5F5MTh8R-sIiPq0h.js +22 -0
- package/build/cdn/assets/B3oMCEEls1lRVrGd.js +5572 -0
- package/build/cdn/assets/B4QYfmNd300iFLAx.js +945 -0
- package/build/cdn/assets/BAjCWyggrIkCz6wr.js +22 -0
- package/build/cdn/assets/BEZ41ST3hkC4W-_9.js +22 -0
- package/build/cdn/assets/BJIsFTUdHtUKsFJs.js +28 -0
- package/build/cdn/assets/BKkD05hqNTBap4Oc.js +22 -0
- package/build/cdn/assets/BOiR2dTlvcgYjz8P.js +402 -0
- package/build/cdn/assets/BOjAZRs_NVerYv4t.js +22 -0
- package/build/cdn/assets/BPFW3UexkNNh1lLK.js +2352 -0
- package/build/cdn/assets/BRkMPyIUXMixnL8d.js +22 -0
- package/build/cdn/assets/BSS_RvWzDRX8_EJd.js +1684 -0
- package/build/cdn/assets/BXC9rQVV2gq5x8br.js +22 -0
- package/build/cdn/assets/BY2sO3ExW1ShzKnX.js +1714 -0
- package/build/cdn/assets/BYmMkbrRTsNuR3aY.js +1358 -0
- package/build/cdn/assets/BaSzK17p3_gCvNVV.js +24 -0
- package/build/cdn/assets/BbpmcI-KEp3PqrdL.js +496 -0
- package/build/cdn/assets/BdtlmF31h4Y7RgUj.js +22 -0
- package/build/cdn/assets/BjgtkLR9U00HgSRn.js +58 -0
- package/build/cdn/assets/BlfHOASL_bJ6Hy0y.js +40 -0
- package/build/cdn/assets/C-jC-wgAoMOxrVvv.js +1377 -0
- package/build/cdn/assets/C0Lw5hMgKbooA6Jl.js +22 -0
- package/build/cdn/assets/C32FpMEFLbDnBtO3.js +22 -0
- package/build/cdn/assets/C7CDwp-nhN2WFzUs.js +844 -0
- package/build/cdn/assets/C9uN8RnLjnGSimTA.js +439 -0
- package/build/cdn/assets/CEq_C1Sim0pQ6fj0.js +56 -0
- package/build/cdn/assets/CLdcRW7BQK3JCguC.js +48587 -0
- package/build/cdn/assets/CU55zbw8Xbwap6Tl.js +22 -0
- package/build/cdn/assets/C_L_pvQemfhI00iS.js +150 -0
- package/build/cdn/assets/CkhSGQneqlTRflfQ.js +47 -0
- package/build/cdn/assets/CpJdzwQYkBw7IPnN.js +22 -0
- package/build/cdn/assets/CprFmxuwGvaUtLG2.js +22 -0
- package/build/cdn/assets/CtZxtE4tRmMGFT5o.js +22 -0
- package/build/cdn/assets/CvbyGDitUPabmYBl.js +64 -0
- package/build/cdn/assets/D06aHumWZLILF489.js +3926 -0
- package/build/cdn/assets/D2pceTwrS_dagByu.js +21 -0
- package/build/cdn/assets/D4ZBjoUG2QO1RO3t.js +1492 -0
- package/build/cdn/assets/DARyg_kqL8Eu81Fa.js +2175 -0
- package/build/cdn/assets/DCauh523moR7slpq.js +22 -0
- package/build/cdn/assets/DIA-Gy5mdjefjUaA.js +22 -0
- package/build/cdn/assets/DLHK1pMyNN3B2g-j.js +52 -0
- package/build/cdn/assets/DMoEzt3UKZedfext.js +1598 -0
- package/build/cdn/assets/DMwOymY267-LxmJ_.js +49 -0
- package/build/cdn/assets/DToiYU1jffn1g7TH.js +639 -0
- package/build/cdn/assets/DUUO52IRQCve_iCM.js +440 -0
- package/build/cdn/assets/DgSuz0WKGy36a2cp.js +22 -0
- package/build/cdn/assets/Dgw3FTbNKuo2CIxP.js +22 -0
- package/build/cdn/assets/Do7pHqmnwO45_ymt.js +22 -0
- package/build/cdn/assets/Dxl4WJXcEhDAw_yE.js +42 -0
- package/build/cdn/assets/QXzPuadwi3BBJC2-.js +53 -0
- package/build/cdn/assets/SrBQAOpMKiDW0mGB.js +22 -0
- package/build/cdn/assets/W3SqjN4yIzwYTvvj.js +55 -0
- package/build/cdn/assets/YOEDF-U1QTzbXeMV.js +3826 -0
- package/build/cdn/assets/a3tuiJ83MwzLMWaL.js +22 -0
- package/build/cdn/assets/ai2Jw3PRL29E1T8h.js +22 -0
- package/build/cdn/assets/fWcbv7BXhriCYeod.js +92 -0
- package/build/cdn/index.js +171 -0
- package/build/cdn/loader.js +6 -0
- package/build/licenses/dependencies.txt +1 -0
- package/build/package.json +61 -0
- package/build/types/index.d.ts +151 -0
- package/package.json +92 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
9
|
+
*
|
|
10
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
11
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
15
|
+
*
|
|
16
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
17
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
18
|
+
*/
|
|
19
|
+
const e = { AVEDEV: { s: "Returns the average of the absolute deviations of data points from their mean. Arguments can be numbers or names, arrays, or references that contain numbers", p: { number: { d: "number1,number2,... are 1 to 255 arguments for which you want the average of the absolute deviations" } } }, AVERAGE: { s: "Returns the average (arithmetic mean) of its arguments, which can be numbers or names, arrays, or references that contain numbers", p: { number: { d: "number1,number2,... are 1 to 255 numeric arguments for which you want the average" } } }, AVERAGEA: { s: "Returns the average (arithmetic mean) of its arguments, evaluating text and FALSE in arguments as 0; TRUE evaluates as 1. Arguments can be numbers, names, arrays, or references", p: { value: { d: "value1,value2,... are 1 to 255 arguments for which you want the average" } } }, AVERAGEIF: { s: "Finds average(arithmetic mean) for the cells specified by a given condition or criteria", p: { range: { d: "is the range of cells you want evaluated" }, criteria: { d: "is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average" }, averageRange: { d: "are the actual cells to be used to find the average. If omitted, the cells in range are used" } }, h: "Unimplemented" }, AVERAGEIFS: { s: "Finds average(arithmetic mean) for the cells specified by a given set of conditions or criteria", p: { averageRange: { d: "are the actual cells to be used to find the average." }, criteriaRange: { d: "criteria_range1,criteria_range2,... is the range of cells you want evaluated for the particular condition" }, criteria: { d: "criteria1,criteria2,... is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average" } }, h: "Unimplemented" }, COUNT: { s: "Counts the number of cells in a range that contain numbers", p: { number: { d: "value1,value2,... are 1 to 255 arguments that can contain or refer to a variety of different types of data, but only numbers are counted" } } }, COUNTA: { s: "Counts the number of cells in a range that are not empty", p: { value: { d: "value1,value2,... are 1 to 255 arguments representing the values and cells you want to count. Values can be any type of information" } } }, COUNTBLANK: { s: "Counts the number of empty cells in a specified range of cells", p: { range: { d: "is the range from which you want to count the empty cells" } }, h: "Unimplemented" }, COUNTIF: { s: "Counts the number of cells within a range that meet the given condition", p: { range: { d: "is the range of cells from which you want to count nonblank cells" }, criteria: { d: "is the condition in the form of a number, expression, or text that defines which cells will be counted" } }, h: "Unimplemented" }, COUNTIFS: { s: "Counts the number of cells specified by a given set of conditions or criteria", p: { criteriaRange: { d: "criteria_range1,criteria_range2,... is the range of cells you want evaluated for the particular condition" }, criteria: { d: "criteria1,criteria2,... is the condition in the form of a number, expression, or text that defines which cells will be counted" } }, h: "Unimplemented" }, LARGE: { s: "Returns the k-th largest value in a data set. For example, the fifth largest number.", p: { array: { d: "is the array or range of data for which you want to determine the k-th largest value." }, k: { d: "is the position (from the largest) in the array or cell range of the value to return." } } }, MAX: { s: "Returns the largest value in a set of values. Ignores logical values and text", p: { number: { d: "number1,number2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the maximum" } } }, MAXA: { s: "Returns the largest value in a set of values. Does not ignore logical values and text", p: { value: { d: "value1,value2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the maximum" } } }, MAXIFS: { s: "Returns the maximum value among cells specified by a given set of conditions or criteria", p: { maxRange: { d: "the cells in which to determine the maximum value" }, criteriaRange: { d: "criteria_range1,criteria_range2,... is the range of cells you want to evaluate for the particular condition" }, criteria: { d: "criteria1,criteria2,... is the condition or criteria in the form of a number, expression, or text that defines which cells will be included when determining the maximum value" } }, h: "Unimplemented" }, MEDIAN: { s: "Returns the median, or the number in the middle of the set of given numbers", p: { number: { d: "number1,number2,... are 1 to 255 numbers or names, arrays, or references that contain numbers for which you want the median" } } }, MIN: { s: "Returns the smallest number in a set of values. Ignores logical values and text", p: { number: { d: "number1,number2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the minimum" } } }, MINA: { s: "Returns the smallest value in a set of values. Does not ignore logical values and text", p: { value: { d: "value1,value2,... are 1 to 255 numbers, empty cells, logical values, or text numbers for which you want the minimum" } } }, MINIFS: { s: "Returns the minimum value among cells specified by a given set of conditions or criteria", p: { maxRange: { d: "is the range of cells to evaluate for the minimum value" }, criteriaRange: { d: "is the range of cells to evaluate against the criteria" }, criteria: { d: "is the criteria to evaluate against the criteria range" } }, h: "Unimplemented" }, PERMUT: { s: "Returns the number of permutations for a given number of objects that can be selected from the total objects", p: { number: { d: "is the total number of objects" }, numberChoosen: { d: "is the number of objects in each permutation" } }, h: "Unimplemented" }, PERMUTATIONA: { s: "Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects", p: { number: { d: "is the total number of objects" }, numberChoosen: { d: "is the number of objects in each permutation" } }, h: "Unimplemented" }, SMALL: { s: "Returns the k-th smallest value in a data set. For example, the fifth smallest number", p: { array: { d: "is an array or range of numerical data for which you want to determine the k-th smallest value" }, k: { d: "is the position (from the smallest) in the array or range of the value to return" } } } };
|
|
20
|
+
export {
|
|
21
|
+
e as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jsx as i, jsxs as p } from "react/jsx-runtime";
|
|
2
|
+
import { memo as oe, useRef as O, useState as y, useEffect as L, useLayoutEffect as pe, useMemo as de } from "react";
|
|
3
|
+
import { a5 as D, b8 as c, q as R, a7 as z, b3 as ue, ap as fe, b9 as ge, ba as me, B as b, bb as m, aK as x, bc as xe, aB as C, bd as he, T as _, f as k, be, bf as Oe, bg as Ce, bh as ye, b6 as w, bi as ve, bj as Te, aN as Re, b7 as ke, F as we, b4 as Ee, b5 as Se } from "./CLdcRW7BQK3JCguC.js";
|
|
4
|
+
import { C as ee } from "./B4QYfmNd300iFLAx.js";
|
|
5
|
+
/**
|
|
6
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
7
|
+
*
|
|
8
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
9
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
10
|
+
*/
|
|
11
|
+
const Fe = D(i("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), Ie = D(i("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), Le = D(i("path", { d: "m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" }), "ArrowForward"), De = D(i("path", { d: "m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z" }), "ArrowUpward"), $ = oe((E) => {
|
|
12
|
+
const { label: h, value: r, options: s, onSelect: d, tabIndex: v = 0, ...K } = E, [P, T] = y(() => ie(r, s));
|
|
13
|
+
L(() => {
|
|
14
|
+
T(ie(r, s));
|
|
15
|
+
}, [r, s]);
|
|
16
|
+
const A = z((u) => {
|
|
17
|
+
T(u.target.value), d?.(s[u.target.value]);
|
|
18
|
+
}, [d, s]), l = de(() => Object.keys(s).map((u) => i(ke, { value: u, children: u }, u)), [s]);
|
|
19
|
+
return p(we, { sx: { minWidth: 135 }, size: "small", children: [i(Ee, { children: h }), i(Se, { inputProps: { tabIndex: v }, value: P, label: h, onChange: A, sx: { backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, ...K, children: l })] });
|
|
20
|
+
}), te = { Workbook: "workbook", Sheet: "sheet" }, ne = { enter: 140, exit: 140 }, se = { Formulas: c.Content.Formulas, Values: c.Content.Values, Notes: c.Content.Notes, Comments: c.Content.Comments }, le = { ...se };
|
|
21
|
+
delete le.Values;
|
|
22
|
+
const Ke = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
|
|
23
|
+
const r = Object.keys(h);
|
|
24
|
+
for (let s = 0; s < r.length; s++) {
|
|
25
|
+
const d = r[s];
|
|
26
|
+
if (h[d] === E) return d;
|
|
27
|
+
}
|
|
28
|
+
}, Ve = oe((E) => {
|
|
29
|
+
const { replace: h = !1, findText: r, replaceText: s, findOptions: d, replaceOptions: v, title: K, onHide: P, onFindOrReplace: T, ...A } = E, l = O(null), u = O(null), H = O(null), W = O(null), j = O(null), N = O(null), q = (e, t) => {
|
|
30
|
+
t && (t.start(e, { center: !1 }), setTimeout(() => t.stop(e), 180));
|
|
31
|
+
}, [U, I] = y(!1), [B, ae] = y(!1), [f, M] = y(h), [X, V] = y(!1), [G, J] = y(!1), [o, a] = y({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: R.Orientation.Row, fields: [c.Content.Formulas] }, scope: te.Sheet }), S = z(async (e, t, n, F) => {
|
|
32
|
+
if (!T) return;
|
|
33
|
+
const g = { ...o };
|
|
34
|
+
g.replaceOptions = { ...g.replaceOptions }, g.findOptions = { ...g.findOptions }, g.replaceOptions.maxCount = n ? void 0 : 1, g.replace = t, t && o.findOptions.fields?.[0] === c.Content.Values && (g.findOptions.fields = [c.Content.Formulas]), g.findOptions.reverse = !e;
|
|
35
|
+
const ce = await T({ autoFocus: F, ...g });
|
|
36
|
+
V(ce === 0);
|
|
37
|
+
}, [o, T]);
|
|
38
|
+
L(() => {
|
|
39
|
+
V(!1);
|
|
40
|
+
}, [o, B, f]);
|
|
41
|
+
const Q = z((e, t) => {
|
|
42
|
+
if (e.keyCode === ue.Enter) {
|
|
43
|
+
if (!o.findText) return;
|
|
44
|
+
let n = !0, F = !1;
|
|
45
|
+
e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (F = !0), q(e, F ? N.current : j.current)) : q(e, n ? W.current : H.current), S(n, t, F, !1);
|
|
46
|
+
}
|
|
47
|
+
}, [o]), Y = O(null);
|
|
48
|
+
pe(() => {
|
|
49
|
+
a((e) => {
|
|
50
|
+
const t = { ...e };
|
|
51
|
+
t.findText = r && r.length > 0 ? r : e.findText ?? "", I(!0), s !== void 0 && (t.replaceText = s), d && (t.findOptions = { ...t.findOptions, ...d }), t.replaceText || (t.replaceText = ""), t.replaceOptions && (t.replaceOptions = { ...t.replaceOptions }), v && (t.replaceOptions = { ...t.replaceOptions, ...v }), o.findOptions.fields?.[0] || (o.findOptions.fields = [c.Content.Formulas]);
|
|
52
|
+
const n = !(!v && s === void 0);
|
|
53
|
+
return n && M(n), t;
|
|
54
|
+
}), G || Y.current?.focus();
|
|
55
|
+
}, [r, s, d, v]), L(() => {
|
|
56
|
+
f ? (o.findOptions.fields[0], c.Content.Values) : I(!0);
|
|
57
|
+
}, [f]), L(() => {
|
|
58
|
+
if (U && l.current && o.findText === l.current.value) return l.current === document.activeElement || l.current.contains(document.activeElement) ? (l.current?.select(), void I(!1)) : void l.current.addEventListener("focus", () => {
|
|
59
|
+
l.current?.select(), I(!1);
|
|
60
|
+
}, { once: !0 });
|
|
61
|
+
}, [U, o]);
|
|
62
|
+
const [re, { width: Z }] = fe();
|
|
63
|
+
return i(ge, { title: K ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", refWindow: Y, onHide: P, onFocus: () => J(!0), onBlur: () => {
|
|
64
|
+
J(!1), V(!1);
|
|
65
|
+
}, PaperProps: { elevation: G ? 3 : 1 }, ...A, children: p(me, { dividers: !0, ref: re, sx: { display: "flex", flexDirection: "column", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, onKeyDown: (e) => {
|
|
66
|
+
if (e.key === "h" && e.ctrlKey) M(!0), l.current?.contains(document.activeElement) && u.current?.focus();
|
|
67
|
+
else if (e.key === "f" && e.ctrlKey) l.current?.focus();
|
|
68
|
+
else if (e.key === "c" && e.altKey) a((t) => {
|
|
69
|
+
const n = { ...t };
|
|
70
|
+
return n.findOptions.matchCase = !t.findOptions.matchCase, n;
|
|
71
|
+
});
|
|
72
|
+
else if (e.key === "e" && e.altKey) a((t) => {
|
|
73
|
+
const n = { ...t };
|
|
74
|
+
return n.findOptions.matchEntireCell = !t.findOptions.matchEntireCell, n;
|
|
75
|
+
});
|
|
76
|
+
else {
|
|
77
|
+
if (e.key !== "r" || !e.altKey) return;
|
|
78
|
+
a((t) => {
|
|
79
|
+
const n = { ...t };
|
|
80
|
+
return n.findOptions.useRegex = !t.findOptions.useRegex, n;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
}, children: [p(b, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [p(b, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [i(m, { selected: B, onSelectToggle: (e) => {
|
|
85
|
+
ae(e);
|
|
86
|
+
}, preventFocus: !0, label: "Toggle Additional Options", icon: x(i(xe, {})) }), i(m, { selected: f, onSelectToggle: (e) => {
|
|
87
|
+
M(e);
|
|
88
|
+
}, preventFocus: !0, label: "Toggle Replace", icon: x(i(he, {})), shortcut: { key: f ? "F" : "H", modifiers: [C.Ctrl] } })] }), p(b, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [p(b, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [i(_, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Z > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { draggable: !1, ref: l, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: i(be, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: p(b, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [i(m, { selected: o.findOptions.matchCase, onSelectToggle: (e) => {
|
|
89
|
+
a((t) => {
|
|
90
|
+
const n = { ...t };
|
|
91
|
+
return n.findOptions.matchCase = e, n;
|
|
92
|
+
});
|
|
93
|
+
}, label: "Match Case", shortcut: { key: "C", modifiers: [C.Alt] }, icon: x(i(Oe, {})) }), i(m, { selected: o.findOptions.matchEntireCell, onSelectToggle: (e) => {
|
|
94
|
+
a((t) => {
|
|
95
|
+
const n = { ...t };
|
|
96
|
+
return n.findOptions.matchEntireCell = e, n;
|
|
97
|
+
});
|
|
98
|
+
}, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [C.Alt] }, icon: x(i(Ce, {})) }), i(m, { selected: o.findOptions.useRegex, onSelectToggle: (e) => {
|
|
99
|
+
a((t) => {
|
|
100
|
+
const n = { ...t };
|
|
101
|
+
return n.findOptions.useRegex = e, n;
|
|
102
|
+
});
|
|
103
|
+
}, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [C.Alt] }, icon: x(i(ye, {})) })] }) }) }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1), "& .MuiOutlinedInput-notchedOutline": { borderColor: (e) => X ? `${e.palette.error.main} !important` : void 0 }, "& .MuiInputLabel-outlined": { color: (e) => X ? `${e.palette.error.main} !important` : void 0 } }, value: o.findText ?? "", onChange: (e) => {
|
|
104
|
+
a((t) => {
|
|
105
|
+
const n = { ...t };
|
|
106
|
+
return n.findText = e.target.value, n;
|
|
107
|
+
});
|
|
108
|
+
}, onKeyDown: (e) => Q(e, !1), onContextMenu: (e) => {
|
|
109
|
+
e.stopPropagation();
|
|
110
|
+
} }), i(m, { selected: o.findOptions.reverse, onSelectToggle: (e) => {
|
|
111
|
+
S(!1, !1);
|
|
112
|
+
}, touchRippleRef: H, label: "", shortcut: { key: "Enter", modifiers: [C.Shift] }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Fe, {}) : i(De, {})), disabled: !o.findText }), i(m, { selected: !o.findOptions.reverse, onSelectToggle: (e) => {
|
|
113
|
+
S(!0, !1);
|
|
114
|
+
}, touchRippleRef: W, label: "Next Match", shortcut: { key: "Enter" }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Le, {}) : i(Ie, {})), disabled: !o.findText })] }), i(ee, { in: f, timeout: ne, onExit: () => {
|
|
115
|
+
l.current?.focus();
|
|
116
|
+
}, children: p(b, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [i(_, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { ref: u, className: "input", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } } }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1) }, value: o.replaceText ?? "", onChange: (e) => {
|
|
117
|
+
a((t) => {
|
|
118
|
+
const n = { ...t };
|
|
119
|
+
return n.replaceText = e.target.value, n;
|
|
120
|
+
});
|
|
121
|
+
}, onKeyDown: (e) => Q(e, !0), onContextMenu: (e) => {
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
} }), i(m, { onSelectToggle: (e) => {
|
|
124
|
+
S(!0, !0);
|
|
125
|
+
}, touchRippleRef: j, label: "Replace", shortcut: { key: "Enter" }, icon: x(i(ve, {})), disabled: !o.findText }), i(m, { onSelectToggle: (e) => {
|
|
126
|
+
S(!0, !0, !0);
|
|
127
|
+
}, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [C.Ctrl, C.Alt] }, icon: x(i(Te, {})), disabled: !o.findText })] }) })] })] }), i(ee, { in: B, timeout: ne, onExit: () => {
|
|
128
|
+
l.current?.focus();
|
|
129
|
+
}, children: p(b, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [i(Re, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), p(b, { sx: { display: "flex", flexDirection: Z >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [i($, { label: "Within", value: o.scope, options: te, onSelect: (e) => {
|
|
130
|
+
a((t) => {
|
|
131
|
+
const n = { ...t };
|
|
132
|
+
return n.scope = e, n;
|
|
133
|
+
});
|
|
134
|
+
} }), i($, { label: "Search", value: o.findOptions.orientation !== R.Orientation.Column, options: Ke, onSelect: (e) => {
|
|
135
|
+
a((t) => {
|
|
136
|
+
const n = { ...t };
|
|
137
|
+
return n.findOptions.orientation = e ? R.Orientation.Row : R.Orientation.Column, n;
|
|
138
|
+
});
|
|
139
|
+
} }), i($, { label: "Look in", value: f && o.findOptions.fields?.[0] === c.Content.Values ? c.Content.Formulas : o.findOptions.fields?.[0], options: f ? le : se, onSelect: (e) => {
|
|
140
|
+
a((t) => {
|
|
141
|
+
const n = { ...t };
|
|
142
|
+
return n.findOptions.fields = [e], n;
|
|
143
|
+
});
|
|
144
|
+
} })] })] }) })] }) });
|
|
145
|
+
});
|
|
146
|
+
export {
|
|
147
|
+
Ve as FindReplaceWindow,
|
|
148
|
+
te as ScopeOptions,
|
|
149
|
+
Ve as default
|
|
150
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
9
|
+
*
|
|
10
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
11
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
15
|
+
*
|
|
16
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
17
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @license @sheetxl/scripting - SheetXL scripting utilities including TypeScript compilation. - v0.0.0
|
|
21
|
+
*
|
|
22
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
23
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
24
|
+
*/
|
|
25
|
+
class o {
|
|
26
|
+
constructor(r = {}) {
|
|
27
|
+
this.workerWrapper = null;
|
|
28
|
+
}
|
|
29
|
+
async getWorkerWrapper() {
|
|
30
|
+
if (this.workerWrapper) return this.workerWrapper;
|
|
31
|
+
const { createCompilerWorker: r } = await import("./DMoEzt3UKZedfext.js");
|
|
32
|
+
return this.workerWrapper = await r(), this.workerWrapper;
|
|
33
|
+
}
|
|
34
|
+
async compileModule(r) {
|
|
35
|
+
try {
|
|
36
|
+
return (await this.getWorkerWrapper()).execute(r);
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw console.error("Failed to compile using worker:", e), e;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
terminate() {
|
|
42
|
+
this.workerWrapper?.terminate(), this.workerWrapper = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
o as TypeScriptCompiler
|
|
47
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
9
|
+
*
|
|
10
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
11
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
15
|
+
*
|
|
16
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
17
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
18
|
+
*/
|
|
19
|
+
const e = { COMPLEX: { s: "Converts real and imaginary coefficients into a complex number", p: { realNum: { d: "is the real coefficient of the complex number" }, iNum: { d: "is the imaginary coefficient of the complex number" }, suffix: { d: "is the suffix for the imaginary component of the complex number", v: "i" } } }, IMABS: { s: "Returns the absolute value (modulus) of a complex number", p: { inumber: { d: "is a complex number for which you want the absolute value" } } }, IMAGINARY: { s: "Returns the imaginary coefficient of a complex number", p: { inumber: { d: "is a complex number for which you want the imaginary coefficient" } } }, IMARGUMENT: { s: "Returns the argument q, an angle expressed in radians", p: { inumber: { d: "is a complex number for which you want the argument" } } }, IMCONJUGATE: { s: "Returns the complex conjugate of a complex number", p: { inumber: { d: "is a complex number for which you want the conjugate" } } }, IMCOS: { s: "Returns the cosine of a complex number", p: { inumber: { d: "is a complex number for which you want the cosine" } } }, IMCOSH: { s: "Returns the hyperbolic cosine of a complex number", p: { inumber: { d: "is a complex number for which you want the hyperbolic cosine" } } }, IMCOT: { s: "Returns the cotangent of a complex number", p: { inumber: { d: "is a complex number for which you want the cotangent" } } }, IMCSC: { s: "Returns the cosecant of a complex number", p: { inumber: { d: "is a complex number for which you want the cosecant" } } }, IMCSCH: { s: "Returns the hyperbolic cosecant of a complex number", p: { inumber: { d: "is a complex number for which you want the hyperbolic cosecant" } } }, IMDIV: { s: "Returns the quotient of two complex numbers", p: { inumber1: { d: "is the complex numerator or dividend" }, inumber2: { d: "is the complex denominator or divisor" } } }, IMEXP: { s: "Returns the exponential of a complex number", p: { inumber: { d: "is a complex number for which you want the exponential" } } }, IMLN: { s: "Returns the exponential of a complex number", p: { inumber: { d: "is a complex number for which you want the exponential" } } }, IMLOG10: { s: "Returns the base-10 logarithm of a complex number", p: { inumber: { d: "is a complex number for which you want the common logarithm" } } }, IMLOG2: { s: "Returns the base-2 logarithm of a complex number", p: { inumber: { d: "is a complex number for which you want the base-2 logarithm" } } }, IMPOWER: { s: "Returns the base-2 logarithm of a complex number", p: { inumber: { d: "is a complex number for which you want the base-2 logarithm" }, number: {} } }, IMPRODUCT: { s: "Returns the product of 1 to 255 complex numbers", p: { inumber: { d: "inumber1,inumber2,... Inumber1, Inumber2,... are from 1 to 255 complex numbers to multiply." } } }, IMREAL: { s: "Returns the real coefficient of a complex number", p: { inumber: { d: "is a complex number for which you want the real coefficient" } } }, IMSEC: { s: "Returns the secant of a complex number", p: { inumber: { d: "is a complex number for which you want the secant" } } }, IMSECH: { s: "Returns the hyperbolic secant of a complex number", p: { inumber: { d: "is a complex number for which you want the hyperbolic secant" } } }, IMSIN: { s: "Returns the sine of a complex number", p: { inumber: { d: "is a complex number for which you want the sine" } } }, IMSINH: { s: "Returns the hyperbolic sine of a complex number", p: { inumber: { d: "is a complex number for which you want the hyperbolic sine" } } }, IMSQRT: { s: "Returns the square root of a complex number", p: { inumber: { d: "is a complex number for which you want the square root" } } }, IMSUB: { s: "Returns the difference of two complex numbers", p: { inumber1: { d: "is the complex number from which to subtract inumber2" }, inumber2: { d: "is the complex number to subtract from inumber1" } } }, IMSUM: { s: "Returns the sum of complex numbers", p: { inumber: { d: "inumber1,inumber2,... are from 1 to 255 complex numbers to add" } } }, IMTAN: { s: "Returns the tangent of a complex number", p: { inumber: { d: "is a complex number for which you want the tangent" } } } };
|
|
20
|
+
export {
|
|
21
|
+
e as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
9
|
+
*
|
|
10
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
11
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
15
|
+
*
|
|
16
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
17
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
18
|
+
*/
|
|
19
|
+
const e = { AND: { s: "Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE", p: { logical: { d: "logical1,logical2,... are 1 to 255 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references" } } }, BYCOL: { s: "Applies a LAMBDA function to each column and returns an array of the results.", p: { array: { d: "is an array to be separated by column" }, fn: { d: "is a LAMBDA that is called to scan the array. The LAMBDA takes two parameters, accumulator and value." } }, h: "Unimplemented" }, BYROW: { s: "Applies a LAMBDA function to each row and returns an array of the results.", p: { array: { d: "is an array to be separated by column" }, fn: { d: "is a LAMBDA that is called to scan the array. The LAMBDA takes two parameters, accumulator and value." } }, h: "Unimplemented" }, FALSE: { s: "Returns the logical value FALSE", p: {} }, IF: { s: "Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE", p: { logicalTest: { d: "is any value or expression that can be evaluated to TRUE or FALSE" }, valueIfTrue: { d: "is the value that is returned if Logical_test is TRUE. If omitted, TRUE is returned. You can nest up to seven IF functions" }, valueIfFalse: { d: "is the value that is returned if Logical_test is FALSE. If omitted, FALSE is returned" } } }, IFERROR: { s: "Returns value_if_error if expression is an error and the value of the expression itself otherwise", p: { value: { d: "is any value or expression or reference" }, valueIfError: { d: "is any value or expression or reference" } } }, IFNA: { s: "Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression", p: { value: { d: "is any value or expression or reference" }, valueIfError: { d: "is any value or expression or reference" } } }, IFS: { s: "Checks whether one or more conditions are met and returns a value corresponding to the first TRUE condition", p: { logicalTest: { d: "logical_test1,logical_test2,... is any value or expression that can be evaluated to TRUE or FALSE" }, logicalTrue: { d: "value_if_true1,value_if_true2,... is the value returned if Logical_test is TRUE" }, rest: {} } }, LAMDA: { s: "Creates a function value with can be called within formulas.", p: { parameterOrCalculation: { d: "a parameter or a calculation that returns a value. If a parameter, it must be the last argument." } }, h: "Unimplemented" }, LET: { s: "Assigns calculation results to names. Useful for storing intermediate calculations and values by defining names inside a formula. These names only apply within the scope of the LET function.", p: { name: { d: "name1,name2,... the name, or a calculation which can make use of all names within the LET. Names must start with a letter, cannot be the output of a formula, or conflict with range syntax." }, nameOrValue: { d: "name_value1,name_value2,... the value associated with the name." }, calculationOrName: {}, rest: {} }, h: "Unimplemented" }, MAKEARRAY: { s: "Returns a calculated array of a specified row and column size, by applying a LAMBDA function.", p: { rows: { d: "is the number of rows in the array. Must be greater than zero." }, columns: { d: "is the number of columns in the array. Must be greater than zero." }, fn: { d: "is a LAMBDA that is called to create the array. The LAMBDA takes two parameters, row index and column index." } }, h: "Unimplemented" }, MAP: { s: "Returns an array formed by 'mapping' each value in the array(s) to a new value by applying a lambda to create a new value.", p: { array: { d: "is an array to be mapped" }, lamdaOrArray: { d: "lambda_or_array1,lambda_or_array2,... is a LAMBDA which must be the last argument and must have a parameter for each array passed, or another array to be mapped" } }, h: "Unimplemented" }, NOT: { s: "Changes FALSE to TRUE, or TRUE to FALSE", p: { logical: { d: "is a value or expression that can be evaluated to TRUE or FALSE" } } }, OR: { s: "Checks whether any of the arguments are TRUE, and returns TRUE or FALSE. Returns FALSE only if all arguments are FALSE", p: { logical: { d: "logical1,logical2,... are 1 to 255 conditions that you want to test that can be either TRUE or FALSE" } } }, REDUCE: { s: "Reduces an array to an accumulated value by applying a LAMBDA function to each value and returning the total value in the accumulator.", p: { initialValue: { d: "is the starting value for the accumulator" }, array: { d: "is an array to be reduced" }, fn: { d: "is a LAMBDA that is called to reduce the array. The LAMBDA takes two parameters, accumulator and value." } }, h: "Unimplemented" }, SCAN: { s: "Scans an array by applying a LAMBDA function to each value and returns an array that has each intermediate value", p: { initialValue: { d: "is the starting value for the accumulator" }, array: { d: "is an array to be reduced" }, fn: { d: "is a LAMBDA that is called to reduce the array. The LAMBDA takes two parameters, accumulator and value." } }, h: "Unimplemented" }, SWITCH: { s: "Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value is returned", p: { expression: {}, value: { d: "is an expression to be evaluated" }, results: { d: "result1,result2,... is a result to be returned if the corresponding value matches expression" } }, h: "Unimplemented" }, TRUE: { s: "Returns the logical value TRUE", p: {} }, XOR: { s: "Returns a logical 'Exclusive Or' of all arguments", p: { logical: { d: "logical1,logical2,... are 1 to 254 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references" } } } };
|
|
20
|
+
export {
|
|
21
|
+
e as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
9
|
+
*
|
|
10
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
11
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
15
|
+
*
|
|
16
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
17
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
18
|
+
*/
|
|
19
|
+
const e = { BESSELI: { s: "Returns the modified Bessel function In(x)", p: { x: { d: "is the value at which to evaluate the function" }, n: { d: "is the order of the Bessel function" } } }, BESSELJ: { s: "Returns the Bessel function Jn(x)", p: { x: { d: "is the value at which to evaluate the function" }, n: { d: "is the order of the Bessel function" } } }, BESSELK: { s: "Returns the modified Bessel function Kn(x)", p: { x: { d: "is the value at which to evaluate the function" }, n: { d: "is the order of the function" } } }, BESSELY: { s: "Returns the Bessel function Yn(x)", p: { x: { d: "is the value at which to evaluate the function" }, n: { d: "is the order of the function" } } } };
|
|
20
|
+
export {
|
|
21
|
+
e as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { memo as O, useState as r, useRef as E, useReducer as M, useMemo as W } from "react";
|
|
3
|
+
import { bk as A, ap as k, bl as q, bm as J, a7 as x, b9 as K, ba as V, B as n, bn as G, bo as Q, aN as b, bp as U, bq as X, aJ as f, aK as y, aL as w, br as S } from "./CLdcRW7BQK3JCguC.js";
|
|
4
|
+
/**
|
|
5
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
6
|
+
*
|
|
7
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
8
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
12
|
+
*
|
|
13
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
14
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
15
|
+
*/
|
|
16
|
+
const te = O((C) => {
|
|
17
|
+
const { title: N, onHide: v, autoFocusSel: R = ".range-input input", context: T, notifier: l = A, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = E(null), [Y, B] = M((e) => e + 1, 0), [H, { width: Z }] = k();
|
|
18
|
+
q(c);
|
|
19
|
+
const o = T ?? c.context(), t = o.table(), [I, P] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = W(() => t?.getName() ?? "", [t]);
|
|
20
|
+
J(o.table(), { onAnchorCoordsChange(e) {
|
|
21
|
+
P(o.getNames().getRanges(e.getRange()));
|
|
22
|
+
}, onProtectedChange(e) {
|
|
23
|
+
B();
|
|
24
|
+
} });
|
|
25
|
+
const L = x((e) => {
|
|
26
|
+
o?.table().setName(e);
|
|
27
|
+
}, [o]), z = x((e) => {
|
|
28
|
+
o?.table().resize(e.at(0));
|
|
29
|
+
}, [o]);
|
|
30
|
+
let u = null;
|
|
31
|
+
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(K, { title: N ?? "Table Details", initialPosition: { y: "35" }, autoFocusSel: R, refWindow: h, onHide: v, onFocus: () => g(!0), onBlur: (e) => {
|
|
32
|
+
h?.current?.contains(e.relatedTarget) || g(!1);
|
|
33
|
+
}, PaperProps: { elevation: F ? 3 : 1 }, ...D, children: s(V, { 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(G, { formName: "name", defaultInput: j, value: t?.getName() ?? "No table", onChangeInput: L, onValidate: (e) => {
|
|
34
|
+
t && t.getName().toLowerCase() === e.toLowerCase() || o?.getNames().validateName(e);
|
|
35
|
+
}, disabled: t?.isProtected() ?? !0, onFocus: (e) => {
|
|
36
|
+
m || e.target?.select(), p(!0);
|
|
37
|
+
} }), a(Q, { formName: "range", value: I, onChangeInput: z, resolvedAddress: o.getNames().getRanges.bind(o.getNames()), disabled: t?.isProtected() ?? !0, onFocus: (e) => {
|
|
38
|
+
m || e.target?.select(), p(!0);
|
|
39
|
+
} })] }) }) }), 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(b, { 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) => {
|
|
40
|
+
t.updateStyleOptions(e);
|
|
41
|
+
}, showHeaderRow: t?.getShowHeaders(), onShowHeaderRowChange: (e) => {
|
|
42
|
+
try {
|
|
43
|
+
t.setShowHeaders(e);
|
|
44
|
+
} catch (i) {
|
|
45
|
+
l.showError(i);
|
|
46
|
+
}
|
|
47
|
+
}, showTotalRow: t?.getShowTotals(), onShowTotalRowChange: (e) => {
|
|
48
|
+
try {
|
|
49
|
+
t.setShowTotals(e);
|
|
50
|
+
} catch (i) {
|
|
51
|
+
l.showError(i);
|
|
52
|
+
}
|
|
53
|
+
}, showFilterButton: t?.getFilter() ? t.getShowFilterButton() : null, onShowFilterButtonChange: (e) => {
|
|
54
|
+
try {
|
|
55
|
+
t.setShowFilterButton(e);
|
|
56
|
+
} catch (i) {
|
|
57
|
+
l.showError(i);
|
|
58
|
+
}
|
|
59
|
+
} }), 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(b, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(f, { variant: w.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: y(a(S, {})) }), a(f, { variant: w.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: y(a(S, {})) })] })] })] }), u] }) });
|
|
60
|
+
});
|
|
61
|
+
export {
|
|
62
|
+
te as TableDetailsWindow,
|
|
63
|
+
te as default
|
|
64
|
+
};
|