@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,440 @@
|
|
|
1
|
+
import { m as yt } from "./CLdcRW7BQK3JCguC.js";
|
|
2
|
+
/**
|
|
3
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.0.0
|
|
4
|
+
*
|
|
5
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
6
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.0.0
|
|
10
|
+
*
|
|
11
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
12
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* @license @sheetxl/sdk - A high-performance, embeddable spreadsheet engine. - v0.0.0
|
|
16
|
+
*
|
|
17
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
18
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
19
|
+
*/
|
|
20
|
+
var ct, pt = { exports: {} }, gt = (ct || (ct = 1, pt.exports = function Y() {
|
|
21
|
+
var Q, b = typeof self < "u" ? self : typeof window < "u" ? window : b !== void 0 ? b : {}, P = !b.document && !!b.postMessage, B = b.IS_PAPA_WORKER || !1, J = {}, mt = 0, a = {};
|
|
22
|
+
function K(t) {
|
|
23
|
+
this._handle = null, this._finished = !1, this._completed = !1, this._halted = !1, this._input = null, this._baseIndex = 0, this._partialLine = "", this._rowCount = 0, this._start = 0, this._nextChunk = null, this.isFirstChunk = !0, this._completeResults = { data: [], errors: [], meta: {} }, function(e) {
|
|
24
|
+
var i = at(e);
|
|
25
|
+
i.chunkSize = parseInt(i.chunkSize), e.step || e.chunk || (i.chunkSize = null), this._handle = new ht(i), (this._handle.streamer = this)._config = i;
|
|
26
|
+
}.call(this, t), this.parseChunk = function(e, i) {
|
|
27
|
+
var n = parseInt(this._config.skipFirstNLines) || 0;
|
|
28
|
+
if (this.isFirstChunk && 0 < n) {
|
|
29
|
+
let l = this._config.newline;
|
|
30
|
+
l || (r = this._config.quoteChar || '"', l = this._handle.guessLineEndings(e, r)), e = [...e.split(l).slice(n)].join(l);
|
|
31
|
+
}
|
|
32
|
+
this.isFirstChunk && y(this._config.beforeFirstChunk) && (r = this._config.beforeFirstChunk(e)) !== void 0 && (e = r), this.isFirstChunk = !1, this._halted = !1, n = this._partialLine + e;
|
|
33
|
+
var r = (this._partialLine = "", this._handle.parse(n, this._baseIndex, !this._finished));
|
|
34
|
+
if (!this._handle.paused() && !this._handle.aborted()) {
|
|
35
|
+
if (e = r.meta.cursor, this._finished || (this._partialLine = n.substring(e - this._baseIndex), this._baseIndex = e), r && r.data && (this._rowCount += r.data.length), n = this._finished || this._config.preview && this._rowCount >= this._config.preview, B) b.postMessage({ results: r, workerId: a.WORKER_ID, finished: n });
|
|
36
|
+
else if (y(this._config.chunk) && !i) {
|
|
37
|
+
if (this._config.chunk(r, this._handle), this._handle.paused() || this._handle.aborted()) return void (this._halted = !0);
|
|
38
|
+
this._completeResults = r = void 0;
|
|
39
|
+
}
|
|
40
|
+
return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(r.data), this._completeResults.errors = this._completeResults.errors.concat(r.errors), this._completeResults.meta = r.meta), this._completed || !n || !y(this._config.complete) || r && r.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = !0), n || r && r.meta.paused || this._nextChunk(), r;
|
|
41
|
+
}
|
|
42
|
+
this._halted = !0;
|
|
43
|
+
}, this._sendError = function(e) {
|
|
44
|
+
y(this._config.error) ? this._config.error(e) : B && this._config.error && b.postMessage({ workerId: a.WORKER_ID, error: e, finished: !1 });
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function it(t) {
|
|
48
|
+
var e;
|
|
49
|
+
(t = t || {}).chunkSize || (t.chunkSize = a.RemoteChunkSize), K.call(this, t), this._nextChunk = P ? function() {
|
|
50
|
+
this._readChunk(), this._chunkLoaded();
|
|
51
|
+
} : function() {
|
|
52
|
+
this._readChunk();
|
|
53
|
+
}, this.stream = function(i) {
|
|
54
|
+
this._input = i, this._nextChunk();
|
|
55
|
+
}, this._readChunk = function() {
|
|
56
|
+
if (this._finished) this._chunkLoaded();
|
|
57
|
+
else {
|
|
58
|
+
if (e = new XMLHttpRequest(), this._config.withCredentials && (e.withCredentials = this._config.withCredentials), P || (e.onload = $(this._chunkLoaded, this), e.onerror = $(this._chunkError, this)), e.open(this._config.downloadRequestBody ? "POST" : "GET", this._input, !P), this._config.downloadRequestHeaders) {
|
|
59
|
+
var i, n = this._config.downloadRequestHeaders;
|
|
60
|
+
for (i in n) e.setRequestHeader(i, n[i]);
|
|
61
|
+
}
|
|
62
|
+
var r;
|
|
63
|
+
this._config.chunkSize && (r = this._start + this._config.chunkSize - 1, e.setRequestHeader("Range", "bytes=" + this._start + "-" + r));
|
|
64
|
+
try {
|
|
65
|
+
e.send(this._config.downloadRequestBody);
|
|
66
|
+
} catch (l) {
|
|
67
|
+
this._chunkError(l.message);
|
|
68
|
+
}
|
|
69
|
+
P && e.status === 0 && this._chunkError();
|
|
70
|
+
}
|
|
71
|
+
}, this._chunkLoaded = function() {
|
|
72
|
+
var i;
|
|
73
|
+
e.readyState === 4 && (e.status < 200 || 400 <= e.status ? this._chunkError() : (this._start += this._config.chunkSize || e.responseText.length, this._finished = !this._config.chunkSize || this._start >= ((i = (i = e).getResponseHeader("Content-Range")) !== null ? parseInt(i.substring(i.lastIndexOf("/") + 1)) : -1), this.parseChunk(e.responseText)));
|
|
74
|
+
}, this._chunkError = function(i) {
|
|
75
|
+
i = e.statusText || i, this._sendError(new Error(i));
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function rt(t) {
|
|
79
|
+
(t = t || {}).chunkSize || (t.chunkSize = a.LocalChunkSize), K.call(this, t);
|
|
80
|
+
var e, i, n = typeof FileReader < "u";
|
|
81
|
+
this.stream = function(r) {
|
|
82
|
+
this._input = r, i = r.slice || r.webkitSlice || r.mozSlice, n ? ((e = new FileReader()).onload = $(this._chunkLoaded, this), e.onerror = $(this._chunkError, this)) : e = new FileReaderSync(), this._nextChunk();
|
|
83
|
+
}, this._nextChunk = function() {
|
|
84
|
+
this._finished || this._config.preview && !(this._rowCount < this._config.preview) || this._readChunk();
|
|
85
|
+
}, this._readChunk = function() {
|
|
86
|
+
var r = this._input, l = (this._config.chunkSize && (l = Math.min(this._start + this._config.chunkSize, this._input.size), r = i.call(r, this._start, l)), e.readAsText(r, this._config.encoding));
|
|
87
|
+
n || this._chunkLoaded({ target: { result: l } });
|
|
88
|
+
}, this._chunkLoaded = function(r) {
|
|
89
|
+
this._start += this._config.chunkSize, this._finished = !this._config.chunkSize || this._start >= this._input.size, this.parseChunk(r.target.result);
|
|
90
|
+
}, this._chunkError = function() {
|
|
91
|
+
this._sendError(e.error);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function X(t) {
|
|
95
|
+
var e;
|
|
96
|
+
K.call(this, t = t || {}), this.stream = function(i) {
|
|
97
|
+
return e = i, this._nextChunk();
|
|
98
|
+
}, this._nextChunk = function() {
|
|
99
|
+
var i, n;
|
|
100
|
+
if (!this._finished) return i = this._config.chunkSize, e = i ? (n = e.substring(0, i), e.substring(i)) : (n = e, ""), this._finished = !e, this.parseChunk(n);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function nt(t) {
|
|
104
|
+
K.call(this, t = t || {});
|
|
105
|
+
var e = [], i = !0, n = !1;
|
|
106
|
+
this.pause = function() {
|
|
107
|
+
K.prototype.pause.apply(this, arguments), this._input.pause();
|
|
108
|
+
}, this.resume = function() {
|
|
109
|
+
K.prototype.resume.apply(this, arguments), this._input.resume();
|
|
110
|
+
}, this.stream = function(r) {
|
|
111
|
+
this._input = r, this._input.on("data", this._streamData), this._input.on("end", this._streamEnd), this._input.on("error", this._streamError);
|
|
112
|
+
}, this._checkIsFinished = function() {
|
|
113
|
+
n && e.length === 1 && (this._finished = !0);
|
|
114
|
+
}, this._nextChunk = function() {
|
|
115
|
+
this._checkIsFinished(), e.length ? this.parseChunk(e.shift()) : i = !0;
|
|
116
|
+
}, this._streamData = $(function(r) {
|
|
117
|
+
try {
|
|
118
|
+
e.push(typeof r == "string" ? r : r.toString(this._config.encoding)), i && (i = !1, this._checkIsFinished(), this.parseChunk(e.shift()));
|
|
119
|
+
} catch (l) {
|
|
120
|
+
this._streamError(l);
|
|
121
|
+
}
|
|
122
|
+
}, this), this._streamError = $(function(r) {
|
|
123
|
+
this._streamCleanUp(), this._sendError(r);
|
|
124
|
+
}, this), this._streamEnd = $(function() {
|
|
125
|
+
this._streamCleanUp(), n = !0, this._streamData("");
|
|
126
|
+
}, this), this._streamCleanUp = $(function() {
|
|
127
|
+
this._input.removeListener("data", this._streamData), this._input.removeListener("end", this._streamEnd), this._input.removeListener("error", this._streamError);
|
|
128
|
+
}, this);
|
|
129
|
+
}
|
|
130
|
+
function ht(t) {
|
|
131
|
+
var e, i, n, r, l = Math.pow(2, 53), p = -l, z = /^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/, w = /^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/, _ = this, T = 0, o = 0, I = !1, u = !1, g = [], s = { data: [], errors: [], meta: {} };
|
|
132
|
+
function C(h) {
|
|
133
|
+
return t.skipEmptyLines === "greedy" ? h.join("").trim() === "" : h.length === 1 && h[0].length === 0;
|
|
134
|
+
}
|
|
135
|
+
function R() {
|
|
136
|
+
if (s && n && (M("Delimiter", "UndetectableDelimiter", "Unable to auto-detect delimiting character; defaulted to '" + a.DefaultDelimiter + "'"), n = !1), t.skipEmptyLines && (s.data = s.data.filter(function(f) {
|
|
137
|
+
return !C(f);
|
|
138
|
+
})), L()) {
|
|
139
|
+
let f = function(O, A) {
|
|
140
|
+
y(t.transformHeader) && (O = t.transformHeader(O, A)), g.push(O);
|
|
141
|
+
};
|
|
142
|
+
if (s) if (Array.isArray(s.data[0])) {
|
|
143
|
+
for (var h = 0; L() && h < s.data.length; h++) s.data[h].forEach(f);
|
|
144
|
+
s.data.splice(0, 1);
|
|
145
|
+
} else s.data.forEach(f);
|
|
146
|
+
}
|
|
147
|
+
function c(f, O) {
|
|
148
|
+
for (var A = t.header ? {} : [], v = 0; v < f.length; v++) {
|
|
149
|
+
var k = v, m = f[v];
|
|
150
|
+
m = ((U, d) => {
|
|
151
|
+
return S = U, t.dynamicTypingFunction && t.dynamicTyping[S] === void 0 && (t.dynamicTyping[S] = t.dynamicTypingFunction(S)), (t.dynamicTyping[S] || t.dynamicTyping) === !0 ? d === "true" || d === "TRUE" || d !== "false" && d !== "FALSE" && (((j) => {
|
|
152
|
+
if (z.test(j) && (j = parseFloat(j), p < j && j < l)) return 1;
|
|
153
|
+
})(d) ? parseFloat(d) : w.test(d) ? new Date(d) : d === "" ? null : d) : d;
|
|
154
|
+
var S;
|
|
155
|
+
})(k = t.header ? v >= g.length ? "__parsed_extra" : g[v] : k, m = t.transform ? t.transform(m, k) : m), k === "__parsed_extra" ? (A[k] = A[k] || [], A[k].push(m)) : A[k] = m;
|
|
156
|
+
}
|
|
157
|
+
return t.header && (v > g.length ? M("FieldMismatch", "TooManyFields", "Too many fields: expected " + g.length + " fields but parsed " + v, o + O) : v < g.length && M("FieldMismatch", "TooFewFields", "Too few fields: expected " + g.length + " fields but parsed " + v, o + O)), A;
|
|
158
|
+
}
|
|
159
|
+
var E;
|
|
160
|
+
s && (t.header || t.dynamicTyping || t.transform) && (E = 1, !s.data.length || Array.isArray(s.data[0]) ? (s.data = s.data.map(c), E = s.data.length) : s.data = c(s.data, 0), t.header && s.meta && (s.meta.fields = g), o += E);
|
|
161
|
+
}
|
|
162
|
+
function L() {
|
|
163
|
+
return t.header && g.length === 0;
|
|
164
|
+
}
|
|
165
|
+
function M(h, c, E, f) {
|
|
166
|
+
h = { type: h, code: c, message: E }, f !== void 0 && (h.row = f), s.errors.push(h);
|
|
167
|
+
}
|
|
168
|
+
y(t.step) && (r = t.step, t.step = function(h) {
|
|
169
|
+
s = h, L() ? R() : (R(), s.data.length !== 0 && (T += h.data.length, t.preview && T > t.preview ? i.abort() : (s.data = s.data[0], r(s, _))));
|
|
170
|
+
}), this.parse = function(h, c, E) {
|
|
171
|
+
var f = t.quoteChar || '"';
|
|
172
|
+
return t.newline || (t.newline = this.guessLineEndings(h, f)), n = !1, t.delimiter ? y(t.delimiter) && (t.delimiter = t.delimiter(h), s.meta.delimiter = t.delimiter) : ((f = ((O, A, v, k, m) => {
|
|
173
|
+
var U, d, S, j;
|
|
174
|
+
m = m || [",", " ", "|", ";", a.RECORD_SEP, a.UNIT_SEP];
|
|
175
|
+
for (var Z = 0; Z < m.length; Z++) {
|
|
176
|
+
for (var W, tt = m[Z], F = 0, q = 0, x = 0, D = (S = void 0, new st({ comments: k, delimiter: tt, newline: A, preview: 10 }).parse(O)), H = 0; H < D.data.length; H++) v && C(D.data[H]) ? x++ : (q += W = D.data[H].length, S === void 0 ? S = W : 0 < W && (F += Math.abs(W - S), S = W));
|
|
177
|
+
0 < D.data.length && (q /= D.data.length - x), (d === void 0 || F <= d) && (j === void 0 || j < q) && 1.99 < q && (d = F, U = tt, j = q);
|
|
178
|
+
}
|
|
179
|
+
return { successful: !!(t.delimiter = U), bestDelimiter: U };
|
|
180
|
+
})(h, t.newline, t.skipEmptyLines, t.comments, t.delimitersToGuess)).successful ? t.delimiter = f.bestDelimiter : (n = !0, t.delimiter = a.DefaultDelimiter), s.meta.delimiter = t.delimiter), f = at(t), t.preview && t.header && f.preview++, e = h, i = new st(f), s = i.parse(e, c, E), R(), I ? { meta: { paused: !0 } } : s || { meta: { paused: !1 } };
|
|
181
|
+
}, this.paused = function() {
|
|
182
|
+
return I;
|
|
183
|
+
}, this.pause = function() {
|
|
184
|
+
I = !0, i.abort(), e = y(t.chunk) ? "" : e.substring(i.getCharIndex());
|
|
185
|
+
}, this.resume = function() {
|
|
186
|
+
_.streamer._halted ? (I = !1, _.streamer.parseChunk(e, !0)) : setTimeout(_.resume, 3);
|
|
187
|
+
}, this.aborted = function() {
|
|
188
|
+
return u;
|
|
189
|
+
}, this.abort = function() {
|
|
190
|
+
u = !0, i.abort(), s.meta.aborted = !0, y(t.complete) && t.complete(s), e = "";
|
|
191
|
+
}, this.guessLineEndings = function(h, c) {
|
|
192
|
+
h = h.substring(0, 1048576), c = new RegExp(V(c) + "([^]*?)" + V(c), "gm");
|
|
193
|
+
var E = (h = h.replace(c, "")).split("\r");
|
|
194
|
+
if (h = 1 < (c = h.split(`
|
|
195
|
+
`)).length && c[0].length < E[0].length, E.length === 1 || h) return `
|
|
196
|
+
`;
|
|
197
|
+
for (var f = 0, O = 0; O < E.length; O++) E[O][0] === `
|
|
198
|
+
` && f++;
|
|
199
|
+
return f >= E.length / 2 ? `\r
|
|
200
|
+
` : "\r";
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
function V(t) {
|
|
204
|
+
return t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
205
|
+
}
|
|
206
|
+
function st(t) {
|
|
207
|
+
var e = (t = t || {}).delimiter, i = t.newline, n = t.comments, r = t.step, l = t.preview, p = t.fastMode, z = null, w = !1, _ = t.quoteChar == null ? '"' : t.quoteChar, T = _;
|
|
208
|
+
if (t.escapeChar !== void 0 && (T = t.escapeChar), (typeof e != "string" || -1 < a.BAD_DELIMITERS.indexOf(e)) && (e = ","), n === e) throw new Error("Comment character same as delimiter");
|
|
209
|
+
n === !0 ? n = "#" : (typeof n != "string" || -1 < a.BAD_DELIMITERS.indexOf(n)) && (n = !1), i !== `
|
|
210
|
+
` && i !== "\r" && i !== `\r
|
|
211
|
+
` && (i = `
|
|
212
|
+
`);
|
|
213
|
+
var o = 0, I = !1;
|
|
214
|
+
this.parse = function(u, g, s) {
|
|
215
|
+
if (typeof u != "string") throw new Error("Input must be a string");
|
|
216
|
+
var C = u.length, R = e.length, L = i.length, M = n.length, h = y(r), c = [], E = [], f = [], O = o = 0;
|
|
217
|
+
if (!u) return F();
|
|
218
|
+
if (p || p !== !1 && u.indexOf(_) === -1) {
|
|
219
|
+
for (var A = u.split(i), v = 0; v < A.length; v++) {
|
|
220
|
+
if (f = A[v], o += f.length, v !== A.length - 1) o += i.length;
|
|
221
|
+
else if (s) return F();
|
|
222
|
+
if (!n || f.substring(0, M) !== n) {
|
|
223
|
+
if (h) {
|
|
224
|
+
if (c = [], j(f.split(e)), q(), I) return F();
|
|
225
|
+
} else j(f.split(e));
|
|
226
|
+
if (l && l <= v) return c = c.slice(0, l), F(!0);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return F();
|
|
230
|
+
}
|
|
231
|
+
for (var k = u.indexOf(e, o), m = u.indexOf(i, o), U = new RegExp(V(T) + V(_), "g"), d = u.indexOf(_, o); ; ) if (u[o] === _) for (d = o, o++; ; ) {
|
|
232
|
+
if ((d = u.indexOf(_, d + 1)) === -1) return s || E.push({ type: "Quotes", code: "MissingQuotes", message: "Quoted field unterminated", row: c.length, index: o }), W();
|
|
233
|
+
if (d === C - 1) return W(u.substring(o, d).replace(U, _));
|
|
234
|
+
if (_ === T && u[d + 1] === T) d++;
|
|
235
|
+
else if (_ === T || d === 0 || u[d - 1] !== T) {
|
|
236
|
+
k !== -1 && k < d + 1 && (k = u.indexOf(e, d + 1));
|
|
237
|
+
var S = Z((m = m !== -1 && m < d + 1 ? u.indexOf(i, d + 1) : m) === -1 ? k : Math.min(k, m));
|
|
238
|
+
if (u.substr(d + 1 + S, R) === e) {
|
|
239
|
+
f.push(u.substring(o, d).replace(U, _)), u[o = d + 1 + S + R] !== _ && (d = u.indexOf(_, o)), k = u.indexOf(e, o), m = u.indexOf(i, o);
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
if (S = Z(m), u.substring(d + 1 + S, d + 1 + S + L) === i) {
|
|
243
|
+
if (f.push(u.substring(o, d).replace(U, _)), tt(d + 1 + S + L), k = u.indexOf(e, o), d = u.indexOf(_, o), h && (q(), I)) return F();
|
|
244
|
+
if (l && c.length >= l) return F(!0);
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
E.push({ type: "Quotes", code: "InvalidQuotes", message: "Trailing quote on quoted field is malformed", row: c.length, index: o }), d++;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else if (n && f.length === 0 && u.substring(o, o + M) === n) {
|
|
251
|
+
if (m === -1) return F();
|
|
252
|
+
o = m + L, m = u.indexOf(i, o), k = u.indexOf(e, o);
|
|
253
|
+
} else if (k !== -1 && (k < m || m === -1)) f.push(u.substring(o, k)), o = k + R, k = u.indexOf(e, o);
|
|
254
|
+
else {
|
|
255
|
+
if (m === -1) break;
|
|
256
|
+
if (f.push(u.substring(o, m)), tt(m + L), h && (q(), I)) return F();
|
|
257
|
+
if (l && c.length >= l) return F(!0);
|
|
258
|
+
}
|
|
259
|
+
return W();
|
|
260
|
+
function j(x) {
|
|
261
|
+
c.push(x), O = o;
|
|
262
|
+
}
|
|
263
|
+
function Z(x) {
|
|
264
|
+
return x !== -1 && (x = u.substring(d + 1, x)) && x.trim() === "" ? x.length : 0;
|
|
265
|
+
}
|
|
266
|
+
function W(x) {
|
|
267
|
+
return s || (x === void 0 && (x = u.substring(o)), f.push(x), o = C, j(f), h && q()), F();
|
|
268
|
+
}
|
|
269
|
+
function tt(x) {
|
|
270
|
+
o = x, j(f), f = [], m = u.indexOf(i, o);
|
|
271
|
+
}
|
|
272
|
+
function F(x) {
|
|
273
|
+
if (t.header && !g && c.length && !w) {
|
|
274
|
+
var D = c[0], H = /* @__PURE__ */ Object.create(null), ot = new Set(D);
|
|
275
|
+
let ft = !1;
|
|
276
|
+
for (let G = 0; G < D.length; G++) {
|
|
277
|
+
let N = D[G];
|
|
278
|
+
if (H[N = y(t.transformHeader) ? t.transformHeader(N, G) : N]) {
|
|
279
|
+
let et, lt = H[N];
|
|
280
|
+
for (; et = N + "_" + lt, lt++, ot.has(et); ) ;
|
|
281
|
+
ot.add(et), D[G] = et, H[N]++, ft = !0, (z = z === null ? {} : z)[et] = N;
|
|
282
|
+
} else H[N] = 1, D[G] = N;
|
|
283
|
+
ot.add(N);
|
|
284
|
+
}
|
|
285
|
+
ft && console.warn("Duplicate headers found and renamed."), w = !0;
|
|
286
|
+
}
|
|
287
|
+
return { data: c, errors: E, meta: { delimiter: e, linebreak: i, aborted: I, truncated: !!x, cursor: O + (g || 0), renamedHeaders: z } };
|
|
288
|
+
}
|
|
289
|
+
function q() {
|
|
290
|
+
r(F()), c = [], E = [];
|
|
291
|
+
}
|
|
292
|
+
}, this.abort = function() {
|
|
293
|
+
I = !0;
|
|
294
|
+
}, this.getCharIndex = function() {
|
|
295
|
+
return o;
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
function _t(t) {
|
|
299
|
+
var e = t.data, i = J[e.workerId], n = !1;
|
|
300
|
+
if (e.error) i.userError(e.error, e.file);
|
|
301
|
+
else if (e.results && e.results.data) {
|
|
302
|
+
var r = { abort: function() {
|
|
303
|
+
n = !0, ut(e.workerId, { data: [], errors: [], meta: { aborted: !0 } });
|
|
304
|
+
}, pause: dt, resume: dt };
|
|
305
|
+
if (y(i.userStep)) {
|
|
306
|
+
for (var l = 0; l < e.results.data.length && (i.userStep({ data: e.results.data[l], errors: e.results.errors, meta: e.results.meta }, r), !n); l++) ;
|
|
307
|
+
delete e.results;
|
|
308
|
+
} else y(i.userChunk) && (i.userChunk(e.results, r, e.file), delete e.results);
|
|
309
|
+
}
|
|
310
|
+
e.finished && !n && ut(e.workerId, e.results);
|
|
311
|
+
}
|
|
312
|
+
function ut(t, e) {
|
|
313
|
+
var i = J[t];
|
|
314
|
+
y(i.userComplete) && i.userComplete(e), i.terminate(), delete J[t];
|
|
315
|
+
}
|
|
316
|
+
function dt() {
|
|
317
|
+
throw new Error("Not implemented.");
|
|
318
|
+
}
|
|
319
|
+
function at(t) {
|
|
320
|
+
if (typeof t != "object" || t === null) return t;
|
|
321
|
+
var e, i = Array.isArray(t) ? [] : {};
|
|
322
|
+
for (e in t) i[e] = at(t[e]);
|
|
323
|
+
return i;
|
|
324
|
+
}
|
|
325
|
+
function $(t, e) {
|
|
326
|
+
return function() {
|
|
327
|
+
t.apply(e, arguments);
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function y(t) {
|
|
331
|
+
return typeof t == "function";
|
|
332
|
+
}
|
|
333
|
+
return a.parse = function(t, e) {
|
|
334
|
+
var i, n, r, l, p = (e = e || {}).dynamicTyping || !1;
|
|
335
|
+
if (y(p) && (e.dynamicTypingFunction = p, p = {}), e.dynamicTyping = p, e.transform = !!y(e.transform) && e.transform, !e.worker || !a.WORKERS_SUPPORTED) return p = null, a.NODE_STREAM_INPUT, typeof t == "string" ? (t = (i = t).charCodeAt(0) !== 65279 ? i : i.slice(1), p = new (e.download ? it : X)(e)) : t.readable === !0 && y(t.read) && y(t.on) ? p = new nt(e) : (b.File && t instanceof File || t instanceof Object) && (p = new rt(e)), p.stream(t);
|
|
336
|
+
(p = !!a.WORKERS_SUPPORTED && (r = b.URL || b.webkitURL || null, l = Y.toString(), n = a.BLOB_URL || (a.BLOB_URL = r.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ", "(", l, ")();"], { type: "text/javascript" }))), (n = new b.Worker(n)).onmessage = _t, n.id = mt++, J[n.id] = n)).userStep = e.step, p.userChunk = e.chunk, p.userComplete = e.complete, p.userError = e.error, e.step = y(e.step), e.chunk = y(e.chunk), e.complete = y(e.complete), e.error = y(e.error), delete e.worker, p.postMessage({ input: t, config: e, workerId: p.id });
|
|
337
|
+
}, a.unparse = function(t, e) {
|
|
338
|
+
var i = !1, n = !0, r = ",", l = `\r
|
|
339
|
+
`, p = '"', z = p + p, w = !1, _ = null, T = !1, o = ((() => {
|
|
340
|
+
if (typeof e == "object") {
|
|
341
|
+
if (typeof e.delimiter != "string" || a.BAD_DELIMITERS.filter(function(g) {
|
|
342
|
+
return e.delimiter.indexOf(g) !== -1;
|
|
343
|
+
}).length || (r = e.delimiter), typeof e.quotes != "boolean" && typeof e.quotes != "function" && !Array.isArray(e.quotes) || (i = e.quotes), typeof e.skipEmptyLines != "boolean" && typeof e.skipEmptyLines != "string" || (w = e.skipEmptyLines), typeof e.newline == "string" && (l = e.newline), typeof e.quoteChar == "string" && (p = e.quoteChar), typeof e.header == "boolean" && (n = e.header), Array.isArray(e.columns)) {
|
|
344
|
+
if (e.columns.length === 0) throw new Error("Option columns is empty");
|
|
345
|
+
_ = e.columns;
|
|
346
|
+
}
|
|
347
|
+
e.escapeChar !== void 0 && (z = e.escapeChar + p), e.escapeFormulae instanceof RegExp ? T = e.escapeFormulae : typeof e.escapeFormulae == "boolean" && e.escapeFormulae && (T = /^[=+\-@\t\r].*$/);
|
|
348
|
+
}
|
|
349
|
+
})(), new RegExp(V(p), "g"));
|
|
350
|
+
if (typeof t == "string" && (t = JSON.parse(t)), Array.isArray(t)) {
|
|
351
|
+
if (!t.length || Array.isArray(t[0])) return I(null, t, w);
|
|
352
|
+
if (typeof t[0] == "object") return I(_ || Object.keys(t[0]), t, w);
|
|
353
|
+
} else if (typeof t == "object") return typeof t.data == "string" && (t.data = JSON.parse(t.data)), Array.isArray(t.data) && (t.fields || (t.fields = t.meta && t.meta.fields || _), t.fields || (t.fields = Array.isArray(t.data[0]) ? t.fields : typeof t.data[0] == "object" ? Object.keys(t.data[0]) : []), Array.isArray(t.data[0]) || typeof t.data[0] == "object" || (t.data = [t.data])), I(t.fields || [], t.data || [], w);
|
|
354
|
+
throw new Error("Unable to serialize unrecognized input");
|
|
355
|
+
function I(g, s, C) {
|
|
356
|
+
var R = "", L = (typeof g == "string" && (g = JSON.parse(g)), typeof s == "string" && (s = JSON.parse(s)), Array.isArray(g) && 0 < g.length), M = !Array.isArray(s[0]);
|
|
357
|
+
if (L && n) {
|
|
358
|
+
for (var h = 0; h < g.length; h++) 0 < h && (R += r), R += u(g[h], h);
|
|
359
|
+
0 < s.length && (R += l);
|
|
360
|
+
}
|
|
361
|
+
for (var c = 0; c < s.length; c++) {
|
|
362
|
+
var E = (L ? g : s[c]).length, f = !1, O = L ? Object.keys(s[c]).length === 0 : s[c].length === 0;
|
|
363
|
+
if (C && !L && (f = C === "greedy" ? s[c].join("").trim() === "" : s[c].length === 1 && s[c][0].length === 0), C === "greedy" && L) {
|
|
364
|
+
for (var A = [], v = 0; v < E; v++) {
|
|
365
|
+
var k = M ? g[v] : v;
|
|
366
|
+
A.push(s[c][k]);
|
|
367
|
+
}
|
|
368
|
+
f = A.join("").trim() === "";
|
|
369
|
+
}
|
|
370
|
+
if (!f) {
|
|
371
|
+
for (var m = 0; m < E; m++) {
|
|
372
|
+
0 < m && !O && (R += r);
|
|
373
|
+
var U = L && M ? g[m] : m;
|
|
374
|
+
R += u(s[c][U], m);
|
|
375
|
+
}
|
|
376
|
+
c < s.length - 1 && (!C || 0 < E && !O) && (R += l);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return R;
|
|
380
|
+
}
|
|
381
|
+
function u(g, s) {
|
|
382
|
+
var C, R;
|
|
383
|
+
return g == null ? "" : g.constructor === Date ? JSON.stringify(g).slice(1, 25) : (R = !1, T && typeof g == "string" && T.test(g) && (g = "'" + g, R = !0), C = g.toString().replace(o, z), (R = R || i === !0 || typeof i == "function" && i(g, s) || Array.isArray(i) && i[s] || ((L, M) => {
|
|
384
|
+
for (var h = 0; h < M.length; h++) if (-1 < L.indexOf(M[h])) return !0;
|
|
385
|
+
return !1;
|
|
386
|
+
})(C, a.BAD_DELIMITERS) || -1 < C.indexOf(r) || C.charAt(0) === " " || C.charAt(C.length - 1) === " ") ? p + C + p : C);
|
|
387
|
+
}
|
|
388
|
+
}, a.RECORD_SEP = "", a.UNIT_SEP = "", a.BYTE_ORDER_MARK = "\uFEFF", a.BAD_DELIMITERS = ["\r", `
|
|
389
|
+
`, '"', a.BYTE_ORDER_MARK], a.WORKERS_SUPPORTED = !P && !!b.Worker, a.NODE_STREAM_INPUT = 1, a.LocalChunkSize = 10485760, a.RemoteChunkSize = 5242880, a.DefaultDelimiter = ",", a.Parser = st, a.ParserHandle = ht, a.NetworkStreamer = it, a.FileStreamer = rt, a.StringStreamer = X, a.ReadableStreamStreamer = nt, b.jQuery && ((Q = b.jQuery).fn.parse = function(t) {
|
|
390
|
+
var e = t.config || {}, i = [];
|
|
391
|
+
return this.each(function(l) {
|
|
392
|
+
if (Q(this).prop("tagName").toUpperCase() !== "INPUT" || Q(this).attr("type").toLowerCase() !== "file" || !b.FileReader || !this.files || this.files.length === 0) return !0;
|
|
393
|
+
for (var p = 0; p < this.files.length; p++) i.push({ file: this.files[p], inputElem: this, instanceConfig: Q.extend({}, e) });
|
|
394
|
+
}), n(), this;
|
|
395
|
+
function n() {
|
|
396
|
+
if (i.length === 0) y(t.complete) && t.complete();
|
|
397
|
+
else {
|
|
398
|
+
var l, p, z, w = i[0];
|
|
399
|
+
if (y(t.before)) {
|
|
400
|
+
var _ = t.before(w.file, w.inputElem);
|
|
401
|
+
if (typeof _ == "object") {
|
|
402
|
+
if (_.action === "abort") return l = w.file, p = w.inputElem, z = _.reason, void (y(t.error) && t.error({ name: "AbortError" }, l, p, z));
|
|
403
|
+
if (_.action === "skip") return void r();
|
|
404
|
+
typeof _.config == "object" && (w.instanceConfig = Q.extend(w.instanceConfig, _.config));
|
|
405
|
+
} else if (_ === "skip") return void r();
|
|
406
|
+
}
|
|
407
|
+
var T = w.instanceConfig.complete;
|
|
408
|
+
w.instanceConfig.complete = function(o) {
|
|
409
|
+
y(T) && T(o, w.file, w.inputElem), r();
|
|
410
|
+
}, a.parse(w.file, w.instanceConfig);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
function r() {
|
|
414
|
+
i.splice(0, 1), n();
|
|
415
|
+
}
|
|
416
|
+
}), B && (b.onmessage = function(t) {
|
|
417
|
+
t = t.data, a.WORKER_ID === void 0 && t && (a.WORKER_ID = t.workerId), typeof t.input == "string" ? b.postMessage({ workerId: a.WORKER_ID, results: a.parse(t.input, t.config), finished: !0 }) : (b.File && t.input instanceof File || t.input instanceof Object) && (t = a.parse(t.input, t.config)) && b.postMessage({ workerId: a.WORKER_ID, results: t, finished: !0 });
|
|
418
|
+
}), (it.prototype = Object.create(K.prototype)).constructor = it, (rt.prototype = Object.create(K.prototype)).constructor = rt, (X.prototype = Object.create(X.prototype)).constructor = X, (nt.prototype = Object.create(K.prototype)).constructor = nt, a;
|
|
419
|
+
}()), pt.exports);
|
|
420
|
+
/* @license
|
|
421
|
+
Papa Parse
|
|
422
|
+
v5.5.3
|
|
423
|
+
https://github.com/mholt/PapaParse
|
|
424
|
+
License: MIT
|
|
425
|
+
*/
|
|
426
|
+
const bt = function(Y, Q) {
|
|
427
|
+
for (var b = 0; b < Q.length; b++) {
|
|
428
|
+
const P = Q[b];
|
|
429
|
+
if (typeof P != "string" && !Array.isArray(P)) {
|
|
430
|
+
for (const B in P) if (B !== "default" && !(B in Y)) {
|
|
431
|
+
const J = Object.getOwnPropertyDescriptor(P, B);
|
|
432
|
+
J && Object.defineProperty(Y, B, J.get ? J : { enumerable: !0, get: () => P[B] });
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return Object.freeze(Object.defineProperty(Y, Symbol.toStringTag, { value: "Module" }));
|
|
437
|
+
}({ __proto__: null, default: yt(gt) }, [gt]);
|
|
438
|
+
export {
|
|
439
|
+
bt as p
|
|
440
|
+
};
|
|
@@ -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 t = { BAHTTEXT: { s: "Converts a number to baht (Thai) text", p: { number: { d: "is the number to convert" } } } };
|
|
20
|
+
export {
|
|
21
|
+
t 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 = { DELAY: { s: "Returns the input value after a delay.", p: { time: { d: "the delay time in milliseconds. Default is 1000ms (1 second)." }, input: { d: "returns the input." }, label: { d: "optional label for the delay function.", v: "No label" } }, h: "Testing" }, WAIT: { s: "Starts waiting for event", p: { type: { d: "the type of message." }, input: { d: "an optional dependency." } }, h: "Testing" } };
|
|
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 = { DAVERAGE: { s: "Averages the values in a column in a list or database that match conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DCOUNT: { s: "Counts the cells containing numbers in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DCOUNTA: { s: "Counts nonblank cells in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DGET: { s: "Extracts from a database a single record that matches the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DMAX: { s: "Returns the largest number in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DMIN: { s: "Returns the smallest number in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DPRODUCT: { s: "Multiplies the values in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DSTDEV: { s: "Estimates the standard deviation based on a sample from selected database entries", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DSTDEVP: { s: "Calculates the standard deviation based on the entire population of selected database entries", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DSUM: { s: "Adds the numbers in the field (column) of records in the database that match the conditions you specify", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DVAR: { s: "Estimates variance based on a sample from selected database entries", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" }, DVARP: { s: "Calculates variance based on the entire population of selected database entries", p: { database: { d: "is the range of cells that makes up the list or database. A database is a list of related data" }, field: { d: "is either the label of the column in double quotation marks or a number that represents the column's position in the list" }, criteria: { d: "is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition" } }, h: "Unimplemented" } };
|
|
20
|
+
export {
|
|
21
|
+
e as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
let e = null;
|
|
26
|
+
async function r() {
|
|
27
|
+
return e || (e = new Promise(async (o, l) => {
|
|
28
|
+
try {
|
|
29
|
+
const i = "0.20.2", n = `https://esm.sh/esbuild-wasm@${i}`, s = `https://esm.sh/esbuild-wasm@${i}/esbuild.wasm`;
|
|
30
|
+
console.log("🔄 Initializing esbuild...", s);
|
|
31
|
+
const a = await import(n);
|
|
32
|
+
console.log("🔄 Got esm...", s);
|
|
33
|
+
const t = a.default;
|
|
34
|
+
await t.initialize({ wasmURL: s, worker: !1 }), console.log("🔄 Initialized esm...", s), o(t);
|
|
35
|
+
} catch (i) {
|
|
36
|
+
console.error("Error initializing esbuild:", i), l(i);
|
|
37
|
+
}
|
|
38
|
+
}), e);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
r as initialize
|
|
42
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { memo as j, forwardRef as z, useState as s } from "react";
|
|
3
|
+
import { L as n, e as E, d as K, B as R, F as W, T as q, f as x, O as A, g as y } 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
|
+
/**
|
|
17
|
+
* @license @sheetxl/utils-mui - Utilities MUI - Utilities for MUI Components needed for all SheetXL components. - v0.1.95
|
|
18
|
+
*
|
|
19
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
20
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
21
|
+
*/
|
|
22
|
+
const G = ["Input"], Y = j(z((w, J) => {
|
|
23
|
+
const { initialValue: T = "", onOption: F, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: I, inputType: P, inputPlaceHolder: v, options: d = G, autoFocusSel: C = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...b } = w, [k, V] = s(!1), [o, B] = s(T), [D, L] = s(""), [S, H] = s(!0), e = n(async (a, t) => {
|
|
24
|
+
if (!p) return !0;
|
|
25
|
+
const h = await p?.(a, t);
|
|
26
|
+
L(h?.message ?? "");
|
|
27
|
+
const O = h?.valid ?? !0;
|
|
28
|
+
return H(O), O;
|
|
29
|
+
}, [p]), f = n(async (a) => {
|
|
30
|
+
l?.(o, a);
|
|
31
|
+
}, [o, l, u, F, g, m]), M = n(async (a) => {
|
|
32
|
+
a.keyCode === E.Enter && await e?.(o, null);
|
|
33
|
+
}, [o, f]), N = n((a) => {
|
|
34
|
+
B(a.target.value), e?.(a.target.value, null);
|
|
35
|
+
}, [r]), $ = n(async (a) => {
|
|
36
|
+
let t = await e(o, a);
|
|
37
|
+
try {
|
|
38
|
+
t !== !1 && (t = await e(o, a));
|
|
39
|
+
} catch {
|
|
40
|
+
}
|
|
41
|
+
return t ?? !0;
|
|
42
|
+
}, [o, r]);
|
|
43
|
+
return i(K, { options: d, onDone: u, onOption: (a, t) => {
|
|
44
|
+
t || f(a);
|
|
45
|
+
}, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel: C, ...b, children: i(R, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i(W, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(q, { onFocus: (a) => {
|
|
46
|
+
k || a.target?.select(), V(!0);
|
|
47
|
+
}, type: P, label: I, helperText: D || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: S ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: v, spellCheck: !1, autoComplete: "off", ...c, className: A("autoFocus", c?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${x("#fff", y(5))}, ${x("#fff", y(5))})` } } }, value: o, onChange: N, onKeyDown: M, onContextMenu: (a) => {
|
|
48
|
+
a.stopPropagation();
|
|
49
|
+
} }) }) }) });
|
|
50
|
+
}));
|
|
51
|
+
export {
|
|
52
|
+
Y as default
|
|
53
|
+
};
|
|
@@ -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 r = { ERF: { s: "Returns the error function", p: { lowerLimit: { d: "is the lower bound for integrating ERF" }, upperLimit: { d: "is the upper bound for integrating ERF", v: 0 } } }, "ERF.PRECISE": { s: "Returns the error function", p: { x: { d: "is the lower bound for integrating ERF.PRECISE" } } }, ERFC: { s: "Returns the complementary error function", p: { x: { d: "is the lower bound for integrating ERF" } } } };
|
|
20
|
+
export {
|
|
21
|
+
r as default
|
|
22
|
+
};
|