@sheetxl/studio-vanilla 0.4.19 → 0.4.21

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.
Files changed (178) hide show
  1. package/browser/cjs/index.cjs +80 -2
  2. package/browser/cjs/{BJIfDlGWvnC0eGUi.cjs → n6CXzSocLW_BCO8w.cjs} +6 -6
  3. package/browser/esm/{DiGLoJDZqriVp152.mjs → NBuS53B7u8hItiXf.mjs} +933 -937
  4. package/browser/esm/index.mjs +176 -4
  5. package/cdn/assets/CY8njwo06MWkoPz2.js +21 -0
  6. package/cdn/index.js +2 -2
  7. package/cdn/loader.js +1 -1
  8. package/package.json +3 -3
  9. package/browser/cjs/1FbLU-GkjsXMtg8T.cjs +0 -15
  10. package/browser/cjs/3xnum9EEG0qokR90.cjs +0 -12
  11. package/browser/cjs/5i4FVjROedZEnZNH.cjs +0 -6
  12. package/browser/cjs/9yZt9CqVSMBE7LUX.cjs +0 -6
  13. package/browser/cjs/B7V2ifI29G13Ypfn.cjs +0 -378
  14. package/browser/cjs/BCBl10fgrkZ5JX8E.cjs +0 -161
  15. package/browser/cjs/BCVApYTYfHlRzbCn.cjs +0 -6
  16. package/browser/cjs/BjW-ykzXN9S3TMzb.cjs +0 -11
  17. package/browser/cjs/Bn5tlfH0oqJI1Lk9.cjs +0 -6
  18. package/browser/cjs/BnD8IArw964iF-Zg.cjs +0 -1501
  19. package/browser/cjs/BnwSPi6FOdqxr7z1.cjs +0 -19
  20. package/browser/cjs/BxpKhdqadWDARG9W.cjs +0 -16
  21. package/browser/cjs/C8FEOglWYUtglsLP.cjs +0 -6
  22. package/browser/cjs/CDd6P2SfTKp4v-QA.cjs +0 -6
  23. package/browser/cjs/CFfq2Z-VQyMwMJKP.cjs +0 -6
  24. package/browser/cjs/CG1FkANzsujO3FLU.cjs +0 -6
  25. package/browser/cjs/CGD07mOjjl6zfCzK.cjs +0 -15
  26. package/browser/cjs/CMO36tnnJHrXso4Q.cjs +0 -7
  27. package/browser/cjs/CMfyyxtrIHPMnrBl.cjs +0 -6
  28. package/browser/cjs/CNue1AsHpswiVYJx.cjs +0 -6
  29. package/browser/cjs/C_bqbac1bCl1H0Bn.cjs +0 -6
  30. package/browser/cjs/C_jIzbaCWis1jB7f.cjs +0 -32
  31. package/browser/cjs/CaFeiasVg3jafLwL.cjs +0 -6
  32. package/browser/cjs/CaWJjQ_KmjWp1ooU.cjs +0 -145
  33. package/browser/cjs/CahVr7pzDRu3h4G3.cjs +0 -6
  34. package/browser/cjs/CaswMUSE1R9Noewr.cjs +0 -6
  35. package/browser/cjs/CfX6-fSMFgAg6iL9.cjs +0 -124
  36. package/browser/cjs/CkhCXLhqA4a2CnSJ.cjs +0 -6
  37. package/browser/cjs/CkriFKrE5BBPFQWm.cjs +0 -6
  38. package/browser/cjs/CuX_ftSJWqfRsXHy.cjs +0 -6
  39. package/browser/cjs/CznEff7u33FYbOSn.cjs +0 -6
  40. package/browser/cjs/D-fNsTpgGyZHdYEp.cjs +0 -6
  41. package/browser/cjs/DCxlQuW8eB70ZbcJ.cjs +0 -6
  42. package/browser/cjs/DFet-I-_FYR9s_ET.cjs +0 -6
  43. package/browser/cjs/DKQmNMiW6vEz1i7V.cjs +0 -6
  44. package/browser/cjs/DMOCfhgdy7Z8GoD-.cjs +0 -13
  45. package/browser/cjs/DVVk6WU7lfgpQLZG.cjs +0 -6
  46. package/browser/cjs/DYMFAMQ13cX03167.cjs +0 -7
  47. package/browser/cjs/DZVJ234kMQwb5dEy.cjs +0 -6
  48. package/browser/cjs/DZqqUVtfn36E0rIk.cjs +0 -6
  49. package/browser/cjs/DguzXHidCk2s1uCY.cjs +0 -6
  50. package/browser/cjs/Dhik7yBvR-5iyJcR.cjs +0 -6
  51. package/browser/cjs/Dms2LCMINwYEtl3S.cjs +0 -6
  52. package/browser/cjs/DnHgK81nepMuvMim.cjs +0 -6
  53. package/browser/cjs/DuJlHux5dLU53d80.cjs +0 -6
  54. package/browser/cjs/Dz5uLsJ16GF2Cyov.cjs +0 -6
  55. package/browser/cjs/Io_6AEq6KpjrZEfL.cjs +0 -6
  56. package/browser/cjs/R7ToEkyr-cbP0Q3N.cjs +0 -6
  57. package/browser/cjs/TGD3vlMtB_qnQE-M.cjs +0 -11
  58. package/browser/cjs/XFsZZevZgfk9vB1r.cjs +0 -6
  59. package/browser/cjs/bGVtUGltyeHuGKLB.cjs +0 -6
  60. package/browser/cjs/f-w9NYC1mTi7W9HY.cjs +0 -6
  61. package/browser/cjs/kGBvcCWaH3h23Ojp.cjs +0 -7
  62. package/browser/cjs/mUwYCSHSRCUQJ4uV.cjs +0 -42
  63. package/browser/cjs/qLyXB7fJpKBbTC_N.cjs +0 -6
  64. package/browser/cjs/s2JuJCqW6ny4lxQX.cjs +0 -6
  65. package/browser/esm/2Fopggi4LREIIXpY.mjs +0 -13208
  66. package/browser/esm/4ZXEcNsjnqWXAiUa.mjs +0 -2344
  67. package/browser/esm/4yxl564v_Wx022xz.mjs +0 -633
  68. package/browser/esm/5Ovf_TtcBCG7hgdY.mjs +0 -20
  69. package/browser/esm/6X4p3ajMgDNtcmLW.mjs +0 -10
  70. package/browser/esm/8F0vFRAXlzH-vmJl.mjs +0 -52354
  71. package/browser/esm/B1L8rEDpskxCqnhJ.mjs +0 -10
  72. package/browser/esm/BENg2ibY7Hr-SYp3.mjs +0 -10
  73. package/browser/esm/BHzg_9TpgdKnIlaX.mjs +0 -10
  74. package/browser/esm/BY9rDUy2rHkqh6hH.mjs +0 -820
  75. package/browser/esm/Bd2yJknZG5WTZ26u.mjs +0 -10
  76. package/browser/esm/BlH_AWoPr-w3-qdS.mjs +0 -10
  77. package/browser/esm/BmeozQuzbqa81PvH.mjs +0 -41
  78. package/browser/esm/BprECrKMFGb2UK2v.mjs +0 -2174
  79. package/browser/esm/Br_6r7a5IjKksr00.mjs +0 -390
  80. package/browser/esm/ByJuiohpCMXnDKmL.mjs +0 -47
  81. package/browser/esm/C04_X_6DkiZCUmwB.mjs +0 -1702
  82. package/browser/esm/C3pNOQaLBsTUp2CW.mjs +0 -10
  83. package/browser/esm/C4gnsPTE7_xP3Mz_.mjs +0 -1575
  84. package/browser/esm/C8kq7JNW8ivhRL1S.mjs +0 -3934
  85. package/browser/esm/CGquHZGGYOxATF73.mjs +0 -10
  86. package/browser/esm/CKwR5AWlnckKQRc-.mjs +0 -10
  87. package/browser/esm/CLSpsTCV3Onb_QXV.mjs +0 -84
  88. package/browser/esm/CMrXKGbxBR_LxLxN.mjs +0 -3755
  89. package/browser/esm/CN-UcSPqkcXnkJCx.mjs +0 -1365
  90. package/browser/esm/CQJsDOnipkhuGkKg.mjs +0 -56
  91. package/browser/esm/CTIgStBt9DOpau5q.mjs +0 -1665
  92. package/browser/esm/CXL9mY2kUT053cTN.mjs +0 -1346
  93. package/browser/esm/CZ54d8Ueai6uZgy6.mjs +0 -10
  94. package/browser/esm/CZM2uNUNI4W8qUw3.mjs +0 -10
  95. package/browser/esm/CaaAGrJF7OxdprqB.mjs +0 -10
  96. package/browser/esm/CnRJWnfDHzunp3N5.mjs +0 -472
  97. package/browser/esm/CpGYH9QSPqM4ejyF.mjs +0 -421
  98. package/browser/esm/CqLIq6VVhQnv6ZP4.mjs +0 -10
  99. package/browser/esm/CqTn7MLxDJZX7aIA.mjs +0 -10
  100. package/browser/esm/D3RHh0FQuMAKk4JL.mjs +0 -10
  101. package/browser/esm/D8hxrXJDfvDRoouY.mjs +0 -147
  102. package/browser/esm/DMwYqCQzDDwbzt8K.mjs +0 -44
  103. package/browser/esm/DNV2yXFlJ5hRF5ME.mjs +0 -46
  104. package/browser/esm/DUxcExPcvgbBrSXX.mjs +0 -5582
  105. package/browser/esm/DbTEH7CjzsjIc-ew.mjs +0 -21
  106. package/browser/esm/Df2lY3OJ73BCDQo6.mjs +0 -24
  107. package/browser/esm/DlUeNEy_cp31Am5t.mjs +0 -39
  108. package/browser/esm/DovESggwbqQKJEkM.mjs +0 -10
  109. package/browser/esm/DpNpusKUeZXcDNra.mjs +0 -29
  110. package/browser/esm/Dx-FJghQY8rpWJi1.mjs +0 -10
  111. package/browser/esm/DxObRtwZ98tP8NM3.mjs +0 -10
  112. package/browser/esm/FT-XJjpzjdyq4pin.mjs +0 -48
  113. package/browser/esm/HnfOytlj72v4rd6y.mjs +0 -425
  114. package/browser/esm/IChTkXO9eDekfSb7.mjs +0 -10
  115. package/browser/esm/KcDpdRfEgTnFwlSh.mjs +0 -21
  116. package/browser/esm/TVfGpAQkvkA9mx4E.mjs +0 -10
  117. package/browser/esm/pqikV5IyVMBYUDqP.mjs +0 -10
  118. package/browser/esm/qfHSXgWX4yZd3nwZ.mjs +0 -1466
  119. package/browser/esm/xWvOAH67Iwyf2Zge.mjs +0 -10
  120. package/browser/esm/xaJvLe6JwO1rQiE-.mjs +0 -12
  121. package/cdn/assets/15AvUM5aNUAfFLU7.js +0 -58
  122. package/cdn/assets/2Fopggi4LREIIXpY.js +0 -13208
  123. package/cdn/assets/4yxl564v_Wx022xz.js +0 -633
  124. package/cdn/assets/6X4p3ajMgDNtcmLW.js +0 -10
  125. package/cdn/assets/B1L8rEDpskxCqnhJ.js +0 -10
  126. package/cdn/assets/B1y38xd4JTLIrdUW.js +0 -1702
  127. package/cdn/assets/BENg2ibY7Hr-SYp3.js +0 -10
  128. package/cdn/assets/BHzg_9TpgdKnIlaX.js +0 -10
  129. package/cdn/assets/BXRf5zCAUE8kGNat.js +0 -46
  130. package/cdn/assets/BZdjtacH2DTSHsdG.js +0 -22
  131. package/cdn/assets/Bd2yJknZG5WTZ26u.js +0 -10
  132. package/cdn/assets/BlH_AWoPr-w3-qdS.js +0 -10
  133. package/cdn/assets/C3pNOQaLBsTUp2CW.js +0 -10
  134. package/cdn/assets/C6yX85fw0aO70N0-.js +0 -2346
  135. package/cdn/assets/CGquHZGGYOxATF73.js +0 -10
  136. package/cdn/assets/CKwR5AWlnckKQRc-.js +0 -10
  137. package/cdn/assets/CN-UcSPqkcXnkJCx.js +0 -1365
  138. package/cdn/assets/CSBAnGx7ebIRyjML.js +0 -21
  139. package/cdn/assets/CTIgStBt9DOpau5q.js +0 -1665
  140. package/cdn/assets/CXL9mY2kUT053cTN.js +0 -1346
  141. package/cdn/assets/CZ54d8Ueai6uZgy6.js +0 -10
  142. package/cdn/assets/CZM2uNUNI4W8qUw3.js +0 -10
  143. package/cdn/assets/CaaAGrJF7OxdprqB.js +0 -10
  144. package/cdn/assets/Cfgui52VcoZakyBi.js +0 -50
  145. package/cdn/assets/Ck6R7vI9j0vG-mKU.js +0 -390
  146. package/cdn/assets/ClTJpu1UdRW0KLAX.js +0 -23
  147. package/cdn/assets/Co1yPh9LPeUa-tCm.js +0 -29
  148. package/cdn/assets/CpGYH9QSPqM4ejyF.js +0 -421
  149. package/cdn/assets/CppP22dM3wzxzf_R.js +0 -3934
  150. package/cdn/assets/CqLIq6VVhQnv6ZP4.js +0 -10
  151. package/cdn/assets/CqTn7MLxDJZX7aIA.js +0 -10
  152. package/cdn/assets/D3RHh0FQuMAKk4JL.js +0 -10
  153. package/cdn/assets/DCmJyecz9jzS5Hh5.js +0 -41
  154. package/cdn/assets/DEHd1h8uAHbt7JQl.js +0 -425
  155. package/cdn/assets/DK25k4g9SWrBiPDl.js +0 -43
  156. package/cdn/assets/DL18SWHzmNBC5_Sq.js +0 -472
  157. package/cdn/assets/DZz8nVXsYYFIaomy.js +0 -3756
  158. package/cdn/assets/Df2lY3OJ73BCDQo6.js +0 -24
  159. package/cdn/assets/DidmQocPR2LUv5_-.js +0 -84
  160. package/cdn/assets/DifkJcFEihfAmrz6.js +0 -5582
  161. package/cdn/assets/Dj-9L-ifpIi1HChy.js +0 -52185
  162. package/cdn/assets/DovESggwbqQKJEkM.js +0 -10
  163. package/cdn/assets/Dwy3QqzGL-q3IHdC.js +0 -49
  164. package/cdn/assets/Dx-FJghQY8rpWJi1.js +0 -10
  165. package/cdn/assets/DxObRtwZ98tP8NM3.js +0 -10
  166. package/cdn/assets/IChTkXO9eDekfSb7.js +0 -10
  167. package/cdn/assets/KcDpdRfEgTnFwlSh.js +0 -21
  168. package/cdn/assets/R-6SrokApX5Vs5h6.js +0 -12
  169. package/cdn/assets/TVfGpAQkvkA9mx4E.js +0 -10
  170. package/cdn/assets/ZfVobc-p41aYisnX.js +0 -46
  171. package/cdn/assets/_QS_SgWjAGVcBh2y.js +0 -2177
  172. package/cdn/assets/_bKdjn1gFyUlsKF8.js +0 -149
  173. package/cdn/assets/cgKx_r-dAv2kc57N.js +0 -1575
  174. package/cdn/assets/lxv3lfQ08L2wD1S3.js +0 -820
  175. package/cdn/assets/pqikV5IyVMBYUDqP.js +0 -10
  176. package/cdn/assets/wXUNHjkvpeSH2dQZ.js +0 -1466
  177. package/cdn/assets/xWvOAH67Iwyf2Zge.js +0 -10
  178. package/cdn/assets/xaJvLe6JwO1rQiE-.js +0 -12
@@ -1,11 +1,183 @@
1
- import { a$ as t, a$ as f } from "./8F0vFRAXlzH-vmJl.mjs";
1
+ import { r as D, g as b, a as F, b as I } from "./NBuS53B7u8hItiXf.mjs";
2
+ import * as C from "@sheetxl/studio-mui";
2
3
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
4
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.21
4
5
  *
5
6
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
7
  * License: The license can be found at https://www.sheetxl.com/license.
7
8
  */
9
+ function N(t, o) {
10
+ for (var e = 0; e < o.length; e++) {
11
+ const n = o[e];
12
+ if (typeof n != "string" && !Array.isArray(n)) {
13
+ for (const i in n) if (i !== "default" && !(i in t)) {
14
+ const l = Object.getOwnPropertyDescriptor(n, i);
15
+ l && Object.defineProperty(t, i, l.get ? l : { enumerable: !0, get: () => n[i] });
16
+ }
17
+ }
18
+ }
19
+ return Object.freeze(Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }));
20
+ }
21
+ const S = /* @__PURE__ */ new Map(), R = (t, o = {}) => {
22
+ const { message: e, icon: n, customElement: i, hide: l = !1, className: a, cssVars: u = {} } = o;
23
+ if (l) return;
24
+ const c = typeof t == "string" ? document.querySelector(t) : t;
25
+ if (!c) return void console.warn(`Element with selector "${t}" not found for panel.`);
26
+ let r;
27
+ if (f(t), i) r = i;
28
+ else {
29
+ r = document.createElement("div"), r.className = a ? `sheetxl-panel ${a}` : "sheetxl-panel";
30
+ const m = Object.entries(u).map(([s, y]) => `--sheetxl-panel-${s}: ${y};`).join(" "), g = `
31
+ @keyframes sheetxl-spin {
32
+ from { transform: rotate(0deg); }
33
+ to { transform: rotate(360deg); }
34
+ }
35
+ .sheetxl-panel {
36
+ position: absolute;
37
+ top: 0;
38
+ left: 0;
39
+ right: 0;
40
+ bottom: 0;
41
+ display: flex;
42
+ flex-direction: column;
43
+ align-items: center;
44
+ justify-content: center;
45
+ backdrop-filter: blur(4px);
46
+ border-radius: 4px;
47
+ z-index: 9999;
48
+ gap: 16px;
49
+
50
+ /* CSS variables with fallbacks */
51
+ color: var(--sheetxl-panel-color, #333);
52
+ }
53
+
54
+ .sheetxl-panel.dark {
55
+ color: var(--sheetxl-panel-color, #e0e0e0);
56
+ }
57
+
58
+ .sheetxl-icon {
59
+ width: 24px;
60
+ height: 24px;
61
+ color: var(--sheetxl-panel-icon-color, #1976d2);
62
+ }
63
+
64
+ .sheetxl-panel.loading {
65
+ /* Loading panel defaults */
66
+ color: var(--sheetxl-panel-color, #333);
67
+ }
68
+
69
+ .sheetxl-panel.loading.dark {
70
+ color: var(--sheetxl-panel-color, #e0e0e0);
71
+ }
72
+
73
+ .sheetxl-panel.error {
74
+ /* Error panel defaults */
75
+ color: var(--sheetxl-panel-color, #d32f2f);
76
+ }
77
+
78
+ .sheetxl-panel.error.dark {
79
+ color: var(--sheetxl-panel-color, #f44336);
80
+ }
81
+
82
+ .sheetxl-panel.error .sheetxl-icon {
83
+ color: var(--sheetxl-panel-icon-color, #d32f2f);
84
+ }
85
+
86
+ .sheetxl-panel.error.dark .sheetxl-icon {
87
+ color: var(--sheetxl-panel-icon-color, #f44336);
88
+ }
89
+
90
+ .sheetxl-message {
91
+ font-size: 1.1em;
92
+ font-weight: 500;
93
+ letter-spacing: 0.1px;
94
+ text-align: center;
95
+ margin: 0;
96
+ }
97
+ `, h = document.createElement("style");
98
+ if (h.textContent = g, r.appendChild(h), n) {
99
+ const s = document.createElement("div");
100
+ s.className = "sheetxl-icon", typeof n == "string" ? s.innerHTML = n : n instanceof HTMLElement && s.appendChild(n), r.appendChild(s);
101
+ }
102
+ if (e) {
103
+ const s = document.createElement("div");
104
+ s.className = "sheetxl-message", s.textContent = e, r.appendChild(s);
105
+ }
106
+ m && (r.style.cssText += m), window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches && r.classList.add("dark");
107
+ }
108
+ window.getComputedStyle(c).position === "static" && (c.style.position = "relative"), c.appendChild(r), S.set(t, r);
109
+ }, f = (t) => {
110
+ const o = S.get(t);
111
+ o && o.parentNode && (o.parentNode.removeChild(o), S.delete(t));
112
+ }, O = (t, o = {}) => {
113
+ R(t, { icon: `
114
+ <svg width="24" height="24" viewBox="0 0 24 24" style="animation: sheetxl-spin 1s linear infinite;">
115
+ <circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="31.416" stroke-dashoffset="31.416">
116
+ <animate attributeName="stroke-dasharray" dur="2s" values="0 31.416;15.708 15.708;0 31.416" repeatCount="indefinite"/>
117
+ <animate attributeName="stroke-dashoffset" dur="2s" values="0;-15.708;-31.416" repeatCount="indefinite"/>
118
+ </circle>
119
+ </svg>
120
+ `, className: "loading", ...o });
121
+ }, j = (t, o = {}) => {
122
+ R(t, { message: "Failed to load SheetXL", icon: `
123
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
124
+ <path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"/>
125
+ </svg>
126
+ `, className: "error", ...o });
127
+ }, x = /* @__PURE__ */ new Map(), T = b(D());
128
+ var M = F();
129
+ const X = N({ __proto__: null, default: b(M) }, [M]);
130
+ var k = I();
131
+ const z = N({ __proto__: null, default: b(k) }, [k]);
132
+ let w;
133
+ const U = async (t) => {
134
+ if (w) return w;
135
+ if (C.Studio === void 0) throw new Error("StudioMUI.Studio is undefined. Make sure @sheetxl/studio-mui is correctly installed.");
136
+ return w = await (async (o, e) => {
137
+ typeof e == "string" && (e = { selector: e });
138
+ try {
139
+ if (e?.selector && O(e?.selector, e?.loading), !o) throw new Error("No runtime provided");
140
+ e?.licenseKey && await o.StudioMUI.LicenseManager.setLicenseKey(e.licenseKey), e?.selector && f(e?.selector);
141
+ } catch (n) {
142
+ throw e?.selector && (f(e.selector), j(e.selector, { message: `Failed to initialize: ${n instanceof Error ? n.message : String(n)}`, ...e?.error })), console.error("Failed to initialize:", n), n;
143
+ }
144
+ return o;
145
+ })({ React: T, ReactJSXTransform: X, ReactDOM: z, ReactDOMClient: z, StudioMUI: C }, typeof t == "object" ? t : void 0), w;
146
+ };
147
+ let p;
148
+ const L = async (t) => p || await U(t), q = { attachStudio: async (t, o) => (p || (p = await L(t)), (async (e, n, i, l) => {
149
+ if (!n) throw new Error("Either a 'selector' or a 'InitializationOptions' must be provided to attach.");
150
+ const a = typeof n == "string" ? n : n.selector || "#sheetxl", u = typeof a == "string" ? document.querySelector(a) : a;
151
+ if (!u) throw new Error(`Element with selector "${a}" not found.`);
152
+ if (x.has(a) && x.get(a) !== null) throw new Error(`SheetXL already attached to "${a}". Detach first if you want to re-attach.`);
153
+ const c = typeof n == "object" ? n : null;
154
+ O(a, c?.loading);
155
+ try {
156
+ f(a);
157
+ const r = e.ReactDOMClient.createRoot(u), m = e.React.createRef(), g = e.StudioMUI[i];
158
+ let h = null;
159
+ await new Promise((v) => {
160
+ r.render(e.React.createElement(g, { ...l, ref: (d) => {
161
+ d && (h = d, v());
162
+ } }));
163
+ });
164
+ const y = { runtime: e, root: r };
165
+ x.set(a, y);
166
+ let E = !1;
167
+ return new Proxy(h, { get(v, d, $) {
168
+ if (E) throw new Error(`SheetXL instance attached to "${a}" has been detached. Cannot access properties.`);
169
+ return d === "update" ? (_) => {
170
+ const P = { ...l, ..._, ref: m };
171
+ return r.render(e.React.createElement(g, P)), Promise.resolve();
172
+ } : d === "detach" ? () => (x.delete(a), r.unmount(), E = !0, Promise.resolve()) : Reflect.get(v, d, $);
173
+ } });
174
+ } catch (r) {
175
+ throw f(a), j(a, { message: `Failed to initialize: ${r instanceof Error ? r.message : String(r)}`, ...c?.error }), console.error("Failed to initialize:", r), r;
176
+ }
177
+ })(p, t, "Studio", o)), async initialize(t) {
178
+ await L(t);
179
+ } };
8
180
  export {
9
- t as SheetXL,
10
- f as default
181
+ q as SheetXL,
182
+ q as default
11
183
  };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.21
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
+ let a = null;
8
+ const i = { reactUrl: "https://esm.sh/react@19.1.0", reactJsxTransform: "https://esm.sh/react@19.1.0/jsx-runtime", reactDomUrl: "https://esm.sh/react-dom@19.1.0", reactDomUrlClient: "https://esm.sh/react-dom@19.1.0/client" }, n = (t) => (t = { ...t, ...i }, a || (a = (async () => {
9
+ const c = t.reactUrl, o = t.reactDomUrl, s = t.reactDomUrlClient, m = t.reactJsxTransform;
10
+ if (document.querySelector('script[type="importmap"]')) console.warn("SheetXL: Import map already exists. Skipping injection.");
11
+ else {
12
+ const r = document.createElement("script");
13
+ r.type = "importmap", r.textContent = JSON.stringify({ imports: { react: c, "react/jsx-runtime": m, "react-dom": o, "react-dom/client": s } }), document.head.appendChild(r);
14
+ }
15
+ await new Promise((r) => setTimeout(r, 0));
16
+ const e = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("@sheetxl/studio-mui")]);
17
+ return { React: e[0], ReactJSXTransform: e[1], ReactDOM: e[2], ReactDOMClient: e[3], StudioMUI: e[4] };
18
+ })(), a));
19
+ export {
20
+ n as resolveDependencies
21
+ };
package/cdn/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.21
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -114,7 +114,7 @@ const S = /* @__PURE__ */ new Map(), k = (e, o = {}) => {
114
114
  let d;
115
115
  const C = async (e) => {
116
116
  if (d) return d;
117
- const { resolveDependencies: o } = await import("./assets/CSBAnGx7ebIRyjML.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
117
+ const { resolveDependencies: o } = await import("./assets/CY8njwo06MWkoPz2.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
118
118
  return d = await (async (a, n) => {
119
119
  typeof n == "string" && (n = { selector: n });
120
120
  try {
package/cdn/loader.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(e){typeof define=="function"&&define.amd?define(e):e()})(function(){"use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.21
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sheetxl/studio-vanilla",
3
3
  "description": "SheetXL Studio - Vanilla entry point for integrating SheetXL UI.",
4
- "version": "0.4.19",
4
+ "version": "0.4.21",
5
5
  "license": "SEE LICENSE IN <LICENSE>",
6
6
  "type": "module",
7
7
  "main": "./browser/esm/index.mjs",
@@ -41,8 +41,8 @@
41
41
  "@mui/styled-engine": "^6.5.0",
42
42
  "@mui/system": "^6.5.0",
43
43
  "@mui/utils": "^6.4.9",
44
- "@sheetxl/studio-mui": "^0.4.19",
45
- "@sheetxl/sdk": "^0.4.19",
44
+ "@sheetxl/studio-mui": "^0.4.21",
45
+ "@sheetxl/sdk": "^0.4.21",
46
46
  "react": "^19.1.0",
47
47
  "react-dom": "^19.1.0",
48
48
  "csstype": "^3.1.3",
@@ -1,15 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var ct,pt={exports:{}};const _t=function(Y,Q){for(var b=0;b<Q.length;b++){const P=Q[b];if(typeof P!="string"&&!Array.isArray(P)){for(const B in P)if(B!=="default"&&!(B in Y)){const J=Object.getOwnPropertyDescriptor(P,B);J&&Object.defineProperty(Y,B,J.get?J:{enumerable:!0,get:()=>P[B]})}}}return Object.freeze(Object.defineProperty(Y,Symbol.toStringTag,{value:"Module"}))}({__proto__:null},[(ct||(ct=1,pt.exports=function Y(){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={},gt=0,a={};function K(t){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){var i=at(e);i.chunkSize=parseInt(i.chunkSize),e.step||e.chunk||(i.chunkSize=null),this._handle=new ht(i),(this._handle.streamer=this)._config=i}.call(this,t),this.parseChunk=function(e,i){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<n){let l=this._config.newline;l||(r=this._config.quoteChar||'"',l=this._handle.guessLineEndings(e,r)),e=[...e.split(l).slice(n)].join(l)}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;var r=(this._partialLine="",this._handle.parse(n,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){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});else if(y(this._config.chunk)&&!i){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}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}this._halted=!0},this._sendError=function(e){y(this._config.error)?this._config.error(e):B&&this._config.error&&b.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function it(t){var e;(t=t||{}).chunkSize||(t.chunkSize=a.RemoteChunkSize),K.call(this,t),this._nextChunk=P?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(i){this._input=i,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{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){var i,n=this._config.downloadRequestHeaders;for(i in n)e.setRequestHeader(i,n[i])}var r;this._config.chunkSize&&(r=this._start+this._config.chunkSize-1,e.setRequestHeader("Range","bytes="+this._start+"-"+r));try{e.send(this._config.downloadRequestBody)}catch(l){this._chunkError(l.message)}P&&e.status===0&&this._chunkError()}},this._chunkLoaded=function(){var i;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)))},this._chunkError=function(i){i=e.statusText||i,this._sendError(new Error(i))}}function rt(t){(t=t||{}).chunkSize||(t.chunkSize=a.LocalChunkSize),K.call(this,t);var e,i,n=typeof FileReader<"u";this.stream=function(r){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()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){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));n||this._chunkLoaded({target:{result:l}})},this._chunkLoaded=function(r){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(r.target.result)},this._chunkError=function(){this._sendError(e.error)}}function X(t){var e;K.call(this,t=t||{}),this.stream=function(i){return e=i,this._nextChunk()},this._nextChunk=function(){var i,n;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)}}function nt(t){K.call(this,t=t||{});var e=[],i=!0,n=!1;this.pause=function(){K.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){K.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(r){this._input=r,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&e.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),e.length?this.parseChunk(e.shift()):i=!0},this._streamData=$(function(r){try{e.push(typeof r=="string"?r:r.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(e.shift()))}catch(l){this._streamError(l)}},this),this._streamError=$(function(r){this._streamCleanUp(),this._sendError(r)},this),this._streamEnd=$(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=$(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function ht(t){var e,i,n,r,l=Math.pow(2,53),p=-l,M=/^\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,j=!1,u=!1,g=[],s={data:[],errors:[],meta:{}};function C(h){return t.skipEmptyLines==="greedy"?h.join("").trim()==="":h.length===1&&h[0].length===0}function R(){if(s&&n&&(z("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+a.DefaultDelimiter+"'"),n=!1),t.skipEmptyLines&&(s.data=s.data.filter(function(f){return!C(f)})),L()){let f=function(O,A){y(t.transformHeader)&&(O=t.transformHeader(O,A)),g.push(O)};if(s)if(Array.isArray(s.data[0])){for(var h=0;L()&&h<s.data.length;h++)s.data[h].forEach(f);s.data.splice(0,1)}else s.data.forEach(f)}function c(f,O){for(var A=t.header?{}:[],v=0;v<f.length;v++){var k=v,m=f[v];m=((U,d)=>{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"&&((I=>{if(M.test(I)&&(I=parseFloat(I),p<I&&I<l))return 1})(d)?parseFloat(d):w.test(d)?new Date(d):d===""?null:d):d;var S})(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}return t.header&&(v>g.length?z("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+v,o+O):v<g.length&&z("FieldMismatch","TooFewFields","Too few fields: expected "+g.length+" fields but parsed "+v,o+O)),A}var E;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)}function L(){return t.header&&g.length===0}function z(h,c,E,f){h={type:h,code:c,message:E},f!==void 0&&(h.row=f),s.errors.push(h)}y(t.step)&&(r=t.step,t.step=function(h){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,_))))}),this.parse=function(h,c,E){var f=t.quoteChar||'"';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)=>{var U,d,S,I;m=m||[","," ","|",";",a.RECORD_SEP,a.UNIT_SEP];for(var Z=0;Z<m.length;Z++){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));0<D.data.length&&(q/=D.data.length-x),(d===void 0||F<=d)&&(I===void 0||I<q)&&1.99<q&&(d=F,U=tt,I=q)}return{successful:!!(t.delimiter=U),bestDelimiter:U}})(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(),j?{meta:{paused:!0}}:s||{meta:{paused:!1}}},this.paused=function(){return j},this.pause=function(){j=!0,i.abort(),e=y(t.chunk)?"":e.substring(i.getCharIndex())},this.resume=function(){_.streamer._halted?(j=!1,_.streamer.parseChunk(e,!0)):setTimeout(_.resume,3)},this.aborted=function(){return u},this.abort=function(){u=!0,i.abort(),s.meta.aborted=!0,y(t.complete)&&t.complete(s),e=""},this.guessLineEndings=function(h,c){h=h.substring(0,1048576),c=new RegExp(V(c)+"([^]*?)"+V(c),"gm");var E=(h=h.replace(c,"")).split("\r");if(h=1<(c=h.split(`
7
- `)).length&&c[0].length<E[0].length,E.length===1||h)return`
8
- `;for(var f=0,O=0;O<E.length;O++)E[O][0]===`
9
- `&&f++;return f>=E.length/2?`\r
10
- `:"\r"}}function V(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(t){var e=(t=t||{}).delimiter,i=t.newline,n=t.comments,r=t.step,l=t.preview,p=t.fastMode,M=null,w=!1,_=t.quoteChar==null?'"':t.quoteChar,T=_;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");n===!0?n="#":(typeof n!="string"||-1<a.BAD_DELIMITERS.indexOf(n))&&(n=!1),i!==`
11
- `&&i!=="\r"&&i!==`\r
12
- `&&(i=`
13
- `);var o=0,j=!1;this.parse=function(u,g,s){if(typeof u!="string")throw new Error("Input must be a string");var C=u.length,R=e.length,L=i.length,z=n.length,h=y(r),c=[],E=[],f=[],O=o=0;if(!u)return F();if(p||p!==!1&&u.indexOf(_)===-1){for(var A=u.split(i),v=0;v<A.length;v++){if(f=A[v],o+=f.length,v!==A.length-1)o+=i.length;else if(s)return F();if(!n||f.substring(0,z)!==n){if(h){if(c=[],I(f.split(e)),q(),j)return F()}else I(f.split(e));if(l&&l<=v)return c=c.slice(0,l),F(!0)}}return F()}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++;;){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();if(d===C-1)return W(u.substring(o,d).replace(U,_));if(_===T&&u[d+1]===T)d++;else if(_===T||d===0||u[d-1]!==T){k!==-1&&k<d+1&&(k=u.indexOf(e,d+1));var S=Z((m=m!==-1&&m<d+1?u.indexOf(i,d+1):m)===-1?k:Math.min(k,m));if(u.substr(d+1+S,R)===e){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);break}if(S=Z(m),u.substring(d+1+S,d+1+S+L)===i){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(),j))return F();if(l&&c.length>=l)return F(!0);break}E.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:c.length,index:o}),d++}}else if(n&&f.length===0&&u.substring(o,o+z)===n){if(m===-1)return F();o=m+L,m=u.indexOf(i,o),k=u.indexOf(e,o)}else if(k!==-1&&(k<m||m===-1))f.push(u.substring(o,k)),o=k+R,k=u.indexOf(e,o);else{if(m===-1)break;if(f.push(u.substring(o,m)),tt(m+L),h&&(q(),j))return F();if(l&&c.length>=l)return F(!0)}return W();function I(x){c.push(x),O=o}function Z(x){return x!==-1&&(x=u.substring(d+1,x))&&x.trim()===""?x.length:0}function W(x){return s||(x===void 0&&(x=u.substring(o)),f.push(x),o=C,I(f),h&&q()),F()}function tt(x){o=x,I(f),f=[],m=u.indexOf(i,o)}function F(x){if(t.header&&!g&&c.length&&!w){var D=c[0],H=Object.create(null),ot=new Set(D);let ft=!1;for(let G=0;G<D.length;G++){let N=D[G];if(H[N=y(t.transformHeader)?t.transformHeader(N,G):N]){let et,lt=H[N];for(;et=N+"_"+lt,lt++,ot.has(et););ot.add(et),D[G]=et,H[N]++,ft=!0,(M=M===null?{}:M)[et]=N}else H[N]=1,D[G]=N;ot.add(N)}ft&&console.warn("Duplicate headers found and renamed."),w=!0}return{data:c,errors:E,meta:{delimiter:e,linebreak:i,aborted:j,truncated:!!x,cursor:O+(g||0),renamedHeaders:M}}}function q(){r(F()),c=[],E=[]}},this.abort=function(){j=!0},this.getCharIndex=function(){return o}}function mt(t){var e=t.data,i=J[e.workerId],n=!1;if(e.error)i.userError(e.error,e.file);else if(e.results&&e.results.data){var r={abort:function(){n=!0,ut(e.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:dt,resume:dt};if(y(i.userStep)){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++);delete e.results}else y(i.userChunk)&&(i.userChunk(e.results,r,e.file),delete e.results)}e.finished&&!n&&ut(e.workerId,e.results)}function ut(t,e){var i=J[t];y(i.userComplete)&&i.userComplete(e),i.terminate(),delete J[t]}function dt(){throw new Error("Not implemented.")}function at(t){if(typeof t!="object"||t===null)return t;var e,i=Array.isArray(t)?[]:{};for(e in t)i[e]=at(t[e]);return i}function $(t,e){return function(){t.apply(e,arguments)}}function y(t){return typeof t=="function"}return a.parse=function(t,e){var i,n,r,l,p=(e=e||{}).dynamicTyping||!1;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);(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=mt,n.id=gt++,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})},a.unparse=function(t,e){var i=!1,n=!0,r=",",l=`\r
14
- `,p='"',M=p+p,w=!1,_=null,T=!1,o=((()=>{if(typeof e=="object"){if(typeof e.delimiter!="string"||a.BAD_DELIMITERS.filter(function(g){return e.delimiter.indexOf(g)!==-1}).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)){if(e.columns.length===0)throw new Error("Option columns is empty");_=e.columns}e.escapeChar!==void 0&&(M=e.escapeChar+p),e.escapeFormulae instanceof RegExp?T=e.escapeFormulae:typeof e.escapeFormulae=="boolean"&&e.escapeFormulae&&(T=/^[=+\-@\t\r].*$/)}})(),new RegExp(V(p),"g"));if(typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return j(null,t,w);if(typeof t[0]=="object")return j(_||Object.keys(t[0]),t,w)}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])),j(t.fields||[],t.data||[],w);throw new Error("Unable to serialize unrecognized input");function j(g,s,C){var R="",L=(typeof g=="string"&&(g=JSON.parse(g)),typeof s=="string"&&(s=JSON.parse(s)),Array.isArray(g)&&0<g.length),z=!Array.isArray(s[0]);if(L&&n){for(var h=0;h<g.length;h++)0<h&&(R+=r),R+=u(g[h],h);0<s.length&&(R+=l)}for(var c=0;c<s.length;c++){var E=(L?g:s[c]).length,f=!1,O=L?Object.keys(s[c]).length===0:s[c].length===0;if(C&&!L&&(f=C==="greedy"?s[c].join("").trim()==="":s[c].length===1&&s[c][0].length===0),C==="greedy"&&L){for(var A=[],v=0;v<E;v++){var k=z?g[v]:v;A.push(s[c][k])}f=A.join("").trim()===""}if(!f){for(var m=0;m<E;m++){0<m&&!O&&(R+=r);var U=L&&z?g[m]:m;R+=u(s[c][U],m)}c<s.length-1&&(!C||0<E&&!O)&&(R+=l)}}return R}function u(g,s){var C,R;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,M),(R=R||i===!0||typeof i=="function"&&i(g,s)||Array.isArray(i)&&i[s]||((L,z)=>{for(var h=0;h<z.length;h++)if(-1<L.indexOf(z[h]))return!0;return!1})(C,a.BAD_DELIMITERS)||-1<C.indexOf(r)||C.charAt(0)===" "||C.charAt(C.length-1)===" ")?p+C+p:C)}},a.RECORD_SEP="",a.UNIT_SEP="",a.BYTE_ORDER_MARK="\uFEFF",a.BAD_DELIMITERS=["\r",`
15
- `,'"',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){var e=t.config||{},i=[];return this.each(function(l){if(Q(this).prop("tagName").toUpperCase()!=="INPUT"||Q(this).attr("type").toLowerCase()!=="file"||!b.FileReader||!this.files||this.files.length===0)return!0;for(var p=0;p<this.files.length;p++)i.push({file:this.files[p],inputElem:this,instanceConfig:Q.extend({},e)})}),n(),this;function n(){if(i.length===0)y(t.complete)&&t.complete();else{var l,p,M,w=i[0];if(y(t.before)){var _=t.before(w.file,w.inputElem);if(typeof _=="object"){if(_.action==="abort")return l=w.file,p=w.inputElem,M=_.reason,void(y(t.error)&&t.error({name:"AbortError"},l,p,M));if(_.action==="skip")return void r();typeof _.config=="object"&&(w.instanceConfig=Q.extend(w.instanceConfig,_.config))}else if(_==="skip")return void r()}var T=w.instanceConfig.complete;w.instanceConfig.complete=function(o){y(T)&&T(o,w.file,w.inputElem),r()},a.parse(w.file,w.instanceConfig)}}function r(){i.splice(0,1),n()}}),B&&(b.onmessage=function(t){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})}),(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}()),pt.exports)]);exports.p=_t;
@@ -1,12 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("./B7V2ifI29G13Ypfn.cjs");exports.fromBufferJSON=async(w,l)=>{let u=w;(function(t){if(t.byteLength<4)return!1;const i=new Uint8Array(t),r={gzip:[31,139],zip:[80,75,3,4],bz2:[66,90,104],br:[206,178,207,129]},n=Object.keys(r);for(let f=0;f<n.length;f++){const o=n[f],e=r[o];let a=!0;for(let s=0;s<e.length;s++)if(i[s]!==e[s]){a=!1;break}if(a)return o}return!1})(u)&&(u=await async function(t,i="gzip"){let r;typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer?(r=new ArrayBuffer(t.byteLength),new Uint8Array(r).set(new Uint8Array(t))):r=t;const n=new Blob([r]).stream(),f=new DecompressionStream(i),o=n.pipeThrough(f);return(await new Response(o).blob()).arrayBuffer()}(u));let b=new TextDecoder().decode(u);const g=JSON.parse(b),p={...l?.createWorkbookOptions??{},json:g};return new J.j1(p)},exports.toBufferJSON=async(w,l)=>{const u=await w.toJSON(),b=l?.whiteSpace??0;let g;l?.beforeWrite?.(w,u),g=b===0?JSON.stringify(u):function(i,r=2){const n=[];function f(o){const e=r*o;return n[e]===void 0&&(n[e]=" ".repeat(e)),n[e]}return function o(e,a,s,m){if(e==null||typeof e!="object")return JSON.stringify(e);const A=f(a),O=f(a+1);if(Array.isArray(e)){const c=e.length;if(c===0)return"[]";if(s!==0)return JSON.stringify(e);let y=`[
7
- `;for(let h=0;h<c;h++)y+=O+o(e[h],a+1,s+1,!0),h<c-1&&(y+=`,
8
- `);return y+=`
9
- `+A+"]",y}const B=Object.keys(e),d=B.length;if(d===0)return"{}";if(!(s<2))return JSON.stringify(e);let S=`{
10
- `;m||(s=0);for(let c=0;c<d;c++){const y=B[c];S+=O+JSON.stringify(y)+": "+o(e[y],a+1,s,!1),c<d-1&&(S+=`,
11
- `)}return S+=`
12
- `+A+"}",S}(i,0,0,!1)}(u,b);let p=new TextEncoder().encode(g).buffer;const t=l?.compress??!0;return t&&(p=await async function(i,r="gzip"){let n;typeof SharedArrayBuffer<"u"&&i instanceof SharedArrayBuffer?(n=new ArrayBuffer(i.byteLength),new Uint8Array(n).set(new Uint8Array(i))):n=i;const f=new ReadableStream({start(a){a.enqueue(n),a.close()}}),o=new CompressionStream(r),e=f.pipeThrough(o);return(await new Response(e).blob()).arrayBuffer()}(p,typeof t=="string"?t:void 0)),p};
@@ -1,6 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.default={BIN2DEC:{s:"Converts a binary number to decimal",p:{number:{d:"is the binary number you want to convert"}}},BIN2HEX:{s:"Converts a binary number to hexadecimal",p:{number:{d:"is the binary number you want to convert"},places:{d:"is the number of characters to use"}}},BIN2OCT:{s:"Converts a binary number to octal",p:{number:{d:"is the binary number you want to convert"},places:{d:"is the number of characters to use"}}},BITAND:{s:"Returns a bitwise 'And' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},BITLSHIFT:{s:"Returns a number shifted left by shift_amount bits",p:{number:{d:"is the decimal representation of the binary number you want to evaluate"},shiftAmount:{d:"is the number of bits that you want to shift Number left by"}}},BITOR:{s:"Returns a bitwise 'Or' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},BITRSHIFT:{s:"Returns a number shifted right by shift_amount bits",p:{number:{d:"is the decimal representation of the binary number you want to evaluate"},shiftAmount:{d:"is the number of bits that you want to shift Number left by"}}},BITXOR:{s:"Returns a bitwise 'Exclusive Or' of two numbers",p:{number1:{d:"is the decimal representation of the binary number you want to evaluate"},number2:{d:"is the decimal representation of the binary number you want to evaluate"}}},DEC2BIN:{s:"Converts a decimal number to binary",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},DEC2HEX:{s:"Converts a decimal number to hexadecimal",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},DEC2OCT:{s:"Converts a decimal number to octal",p:{number:{d:"is the decimal integer you want to convert"},places:{d:"is the number of characters to use"}}},HEX2BIN:{s:"Converts a Hexadecimal number to binary",p:{number:{d:"is the hexadecimal number you want to convert"},places:{d:"is the number of characters to use"}}},HEX2DEC:{s:"Converts a hexadecimal number to decimal",p:{number:{d:"is the hexadecimal number you want to convert"}}},HEX2OCT:{s:"Converts a hexadecimal number to octal",p:{number:{d:"is the hexadecimal number you want to convert"},places:{d:"is the number of characters to use"}}},OCT2BIN:{s:"Converts an octal number to binary",p:{number:{d:"is the octal number you want to convert"},places:{d:"is the number of characters to use"}}},OCT2DEC:{s:"Converts an octal number to decimal",p:{number:{d:"is the octal number you want to convert"}}},OCT2HEX:{s:"Converts an octal number to hexadecimal",p:{number:{d:"is the octal number you want to convert"},places:{d:"is the number of characters to use"}}}};
@@ -1,6 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.default={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"}};