@sheetxl/studio-vanilla 0.3.18 → 0.3.20

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 (94) hide show
  1. package/browser/cjs/{M2DWfdK0ctQctT7T.cjs → B-9AKoIXEd-ulFuY.cjs} +2 -2
  2. package/browser/cjs/{CfnTR1Qy-WVFzRhw.cjs → BPdcMei67VVXsIlT.cjs} +4 -4
  3. package/browser/cjs/{Da9leDv0BrMDcAmM.cjs → BRJqic9ew--MKBtM.cjs} +1 -1
  4. package/browser/cjs/{S1ymoLlv7Uf-qfRz.cjs → BVX0aBbb7I-Kr9jc.cjs} +48 -48
  5. package/browser/cjs/BWmDn9V2sxtBmc6p.cjs +6 -0
  6. package/browser/cjs/{DRPysX3BgTyOtc_X.cjs → BpecyHhrGjCZE4te.cjs} +1 -1
  7. package/browser/cjs/{DvjIxJUC4K8kmZsN.cjs → BwGmOm-0YbK8wfol.cjs} +2 -2
  8. package/browser/cjs/{DAGAHrQyWku5BzOx.cjs → BzXx3M5W6subztPb.cjs} +2 -2
  9. package/browser/cjs/{C7S-2ysc4XzmIGIC.cjs → C0LJ0bF3u-3P9xS-.cjs} +2 -2
  10. package/browser/cjs/{DcKGSA3SMuEvjd87.cjs → C6t8cCjO4T_Spvjd.cjs} +1 -1
  11. package/browser/cjs/{_ziVh-PPWxWmEGfz.cjs → C9RhDco7MuSv11tm.cjs} +3 -3
  12. package/browser/cjs/{D_yi3Bmt7QylbNjX.cjs → CIERBNfPNBXwwSjF.cjs} +2 -2
  13. package/browser/cjs/{DWmar9vh-C0GMWUE.cjs → CLkZVJrhqrGRT7EY.cjs} +1 -1
  14. package/browser/cjs/{DU5bkZX7g1nGYiyr.cjs → CXwshmt0OewyJfbd.cjs} +2 -2
  15. package/browser/cjs/CcLVF4EIHey434Rb.cjs +6 -0
  16. package/browser/cjs/{BYKCnVVe-UC0DLAg.cjs → CgnC4fGFEo3MyV2x.cjs} +1 -1
  17. package/browser/cjs/{BQDBBqqYeHWRLSmz.cjs → Cl0cEDzKsPIVTFUl.cjs} +5 -5
  18. package/browser/cjs/{fkUUKUigUVeizJCn.cjs → DIonFfSsVgz-APZ5.cjs} +6 -6
  19. package/browser/cjs/{Cyis9v9OePqed0Dh.cjs → DV7nfhw95uXOc3j5.cjs} +2 -2
  20. package/browser/cjs/{DWRHniG382TBBpFz.cjs → D_m11V6SqD8ZwpMI.cjs} +3 -3
  21. package/browser/cjs/{DqW0_yEVBgywVFtY.cjs → DrepEMxM-QaJ8YDx.cjs} +1 -1
  22. package/browser/cjs/{DtIlU_avOLio9EiE.cjs → DtOzJ-WMg99faUjm.cjs} +1 -1
  23. package/browser/cjs/DttPtqkuFAJyEAN3.cjs +12 -0
  24. package/browser/cjs/{BqsLsLOIcCoQLkFG.cjs → Ggiiir_7aP_cXY_b.cjs} +2 -2
  25. package/browser/cjs/{asqh4V32TzlgSg5e.cjs → Vz5CvuEA-X08grjB.cjs} +1 -1
  26. package/browser/cjs/index.cjs +2 -2
  27. package/browser/cjs/qZ6Vl_sLywkC5RaU.cjs +6 -0
  28. package/{cdn/assets/B048AhsMgarmATbo.js → browser/esm/2zQv7N1BLM5b5SIm.mjs} +9 -9
  29. package/browser/esm/{CxpsUomBmsPdQKN7.mjs → 3KBcYITgi01N4TNv.mjs} +7 -7
  30. package/{cdn/assets/B8PLUmI-u31BZVd6.js → browser/esm/8_OfjXQ6fzbtH-9u.mjs} +1 -1
  31. package/browser/esm/{Z1hTdWF7Gnd7lwEi.mjs → B6bM984q736FqYsz.mjs} +1 -1
  32. package/browser/esm/B7jQrPqkaYVNv-as.mjs +84 -0
  33. package/{cdn/assets/Dp2nf7t-XHCeT9z1.js → browser/esm/B8-YcyfsXmJeuMiP.mjs} +2 -2
  34. package/browser/esm/{DXfVp9l0_p8tTvaN.mjs → BHNhgRX5eU1xhun6.mjs} +3622 -3530
  35. package/browser/esm/{DyhSx6j-hlOPAYJZ.mjs → BJ7YCFsebpVSTx7u.mjs} +2 -2
  36. package/{cdn/assets/CMIrbndkU0UVjjQ_.js → browser/esm/BJQKOvL-x79vdFAs.mjs} +1 -1
  37. package/{cdn/assets/Dctd5ghWrESGG3Co.js → browser/esm/Bah4Gz0wMfZQ-d68.mjs} +1 -1
  38. package/browser/esm/Bas7osg_0v4Pzo34.mjs +41 -0
  39. package/browser/esm/{Ds9ulL0El--2XZxz.mjs → Bh-yYlNifjJSLSUP.mjs} +47 -47
  40. package/browser/esm/{CEM1UbNtZh6zUcI4.mjs → Bi5JEwcdCUy1Scr4.mjs} +3 -3
  41. package/browser/esm/{B_lXgGve4BaGb9VP.mjs → BoWW29GsMFycnCgj.mjs} +5 -5
  42. package/browser/esm/{vsshjgK_uLUMXLx1.mjs → CABW-eWs3Z1wU1vK.mjs} +90 -90
  43. package/browser/esm/{Dao0wUfvplQebarN.mjs → Cla5lXoGQSxvUMVw.mjs} +4 -4
  44. package/browser/esm/{yBjDi6dOfUg5E0mg.mjs → D0qgtKFnSobrHC2F.mjs} +5 -5
  45. package/browser/esm/{vO-cPppKuuwM-ZbD.mjs → D8bW70p6OB7P1DpI.mjs} +1 -1
  46. package/{cdn/assets/D0Cgu7sUw30-mnqB.js → browser/esm/DB1WsS0LRj2NPsFd.mjs} +7 -7
  47. package/browser/esm/{CCGl8RxWO4yKms9p.mjs → DgDZxwvfJyTly9Uu.mjs} +1 -1
  48. package/{cdn/assets/Cx5_1Ld9VgK4afkO.js → browser/esm/DmE1sCvAX5Z9Ia15.mjs} +1 -1
  49. package/browser/esm/HGUzGKrEwqYcdKbM.mjs +46 -0
  50. package/{cdn/assets/Bwmetegu2MJ05lq3.js → browser/esm/UPoO_Vlq41Hmj-Ku.mjs} +8 -8
  51. package/browser/esm/{Bu74cvcXGNxQ6eQO.mjs → dQ66kiennyNr0dND.mjs} +1 -1
  52. package/browser/esm/index.mjs +2 -2
  53. package/browser/esm/{DscLpbq31HrJWVSt.mjs → pptIDlmrkAbz6i1c.mjs} +17 -17
  54. package/browser/esm/{DmdaLSunj1pIaeEo.mjs → x6PmuzLfP5nqS_eQ.mjs} +4 -4
  55. package/cdn/assets/{b5siqWNPQWp_hlIg.js → 0vZqExkLfT4asC9K.js} +2 -2
  56. package/cdn/assets/{DXZHEN_G41ARU9aP.js → 1ASZw9IfvnArDaCZ.js} +4 -4
  57. package/{browser/esm/B8PLUmI-u31BZVd6.mjs → cdn/assets/8_OfjXQ6fzbtH-9u.js} +1 -1
  58. package/cdn/assets/{IXjjn0b7hP-r-rz5.js → B5zelATPrbDla2Iy.js} +90 -90
  59. package/cdn/assets/{Z1hTdWF7Gnd7lwEi.js → B6bM984q736FqYsz.js} +1 -1
  60. package/cdn/assets/B7jQrPqkaYVNv-as.js +84 -0
  61. package/{browser/esm/CMIrbndkU0UVjjQ_.mjs → cdn/assets/BJQKOvL-x79vdFAs.js} +1 -1
  62. package/cdn/assets/{DpXpV2Nd-U9CeW99.js → BSsHFJzgfxmp5r7_.js} +4 -4
  63. package/{browser/esm/Dctd5ghWrESGG3Co.mjs → cdn/assets/Bah4Gz0wMfZQ-d68.js} +1 -1
  64. package/cdn/assets/{DcwFhmc6DauSay_m.js → BziPRQRGrFtCnyRv.js} +7 -7
  65. package/{browser/esm/xQa55VzyxKLtju1P.mjs → cdn/assets/C6y3ZvDtBqiKjmQR.js} +7 -7
  66. package/cdn/assets/CP2hI6uxS16oQXqQ.js +41 -0
  67. package/{browser/esm/xCvG1lefZTf09iDX.mjs → cdn/assets/CYXS2N-s5O4VNSpQ.js} +2 -2
  68. package/cdn/assets/{BfCDUWippQ188QJ_.js → CbXEnmr2CeR0TImv.js} +5 -5
  69. package/cdn/assets/{CXyKsX-Rk4hkAgns.js → CyUSCTdWkG7ZxVra.js} +3610 -3518
  70. package/cdn/assets/{DXkBcCCoCQhFBFpQ.js → D0NB6zWEw5Rdh0kS.js} +3 -3
  71. package/cdn/assets/{vO-cPppKuuwM-ZbD.js → D8bW70p6OB7P1DpI.js} +1 -1
  72. package/cdn/assets/{JWXHlKikGyP_aFCO.js → DYYGpOI8W9jNCrTX.js} +17 -17
  73. package/cdn/assets/{CCGl8RxWO4yKms9p.js → DgDZxwvfJyTly9Uu.js} +1 -1
  74. package/cdn/assets/{B5Xa0YYj-Y9Ob5he.js → Dj4FGU0a8x6XVJsN.js} +47 -47
  75. package/{browser/esm/Cx5_1Ld9VgK4afkO.mjs → cdn/assets/DmE1sCvAX5Z9Ia15.js} +1 -1
  76. package/cdn/assets/DresaRXt2fvt83HL.js +46 -0
  77. package/{browser/esm/5KE3eJeALYas2fJL.mjs → cdn/assets/TLsARwdDVPeqjguR.js} +9 -9
  78. package/cdn/assets/{Bu74cvcXGNxQ6eQO.js → dQ66kiennyNr0dND.js} +1 -1
  79. package/cdn/assets/{BKj70d8kss8lWQ5j.js → pgLOdNAK0tTv9jW5.js} +5 -5
  80. package/{browser/esm/BElryNS11jWM5tq7.mjs → cdn/assets/zMYtuFnY5e4kuvlC.js} +8 -8
  81. package/cdn/index.js +2 -2
  82. package/cdn/loader.js +1 -1
  83. package/package.json +3 -3
  84. package/types/index.d.ts +1 -1
  85. package/browser/cjs/BYQV2q8HPKlf74j3.cjs +0 -6
  86. package/browser/cjs/ClYi27L-BwfwOane.cjs +0 -6
  87. package/browser/cjs/DvCk-FEyF55Ifc2r.cjs +0 -6
  88. package/browser/cjs/hRorav-Vugk2j14d.cjs +0 -12
  89. package/browser/esm/CATPGvRDTTOuHtl8.mjs +0 -46
  90. package/browser/esm/DT7M18T3_fx1cPVf.mjs +0 -80
  91. package/browser/esm/Dmp9Rj_xUISYWU8A.mjs +0 -41
  92. package/cdn/assets/DBZHYaXm5oENOlcW.js +0 -41
  93. package/cdn/assets/DT7M18T3_fx1cPVf.js +0 -80
  94. package/cdn/assets/c46EuNJ8AHDaEf22.js +0 -46
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,10 +1,10 @@
1
1
  import { jsx as H, jsxs as We } from "react/jsx-runtime";
2
- import { f as to, g as oo, u as no, m as ro, n as io, aT as Q, o as lo, q as so, aU as ao, aV as co, c as Z, aA as uo, aB as ho, av as wt, Q as fo, B as he, a as po, aF as mo, a0 as go, a2 as vo, ay as fe, at as _o, au as So, _ as yo, aW as wo, aX as Co, aY as De, aZ as xo, a_ as Ro, a$ as bo, J as ye, b0 as To, b1 as zo, b2 as K, b3 as Io, b4 as V, b5 as Po } from "./CXyKsX-Rk4hkAgns.js";
2
+ import { d as to, g as oo, u as no, s as ro, m as io, aT as Q, n as lo, p as so, aU as ao, aV as co, a as Z, aA as uo, aB as ho, av as wt, J as fo, B as he, T as po, aF as mo, a0 as go, a2 as vo, ay as fe, at as _o, au as So, $ as yo, aW as wo, aX as Co, aY as De, aZ as xo, a_ as Ro, a$ as bo, H as ye, b0 as To, b1 as zo, b2 as K, b3 as Io, b4 as V, b5 as Po } from "./CyUSCTdWkG7ZxVra.js";
3
3
  import * as x from "react";
4
4
  import Ct, { useState as pe, useMemo as ko, useEffect as je, cloneElement as Oo } from "react";
5
- import { f as N } from "./IXjjn0b7hP-r-rz5.js";
5
+ import { f as N } from "./B5zelATPrbDla2Iy.js";
6
6
  /**
7
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
7
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
8
8
  *
9
9
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
10
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -2147,7 +2147,7 @@ function an(o) {
2147
2147
  return v;
2148
2148
  }, [n, e]), [s, c] = pe(null);
2149
2149
  je(() => {
2150
- import("./B8PLUmI-u31BZVd6.js").then((u) => {
2150
+ import("./8_OfjXQ6fzbtH-9u.js").then((u) => {
2151
2151
  c(new u.default(a, { threshold: 0, ignoreLocation: !0, keys: ["label", "description"] }));
2152
2152
  });
2153
2153
  }, [a]);
@@ -1,6 +1,6 @@
1
1
  import C, { memo as ne, useState as _, useRef as m, useCallback as re, useEffect as S } from "react";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
4
4
  *
5
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
6
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,15 +1,15 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { memo as E, useMemo as M, useState as x, useCallback as j } from "react";
3
- import { w as r, b as S, B as V, F as $, a as z, c as h, ay as C } from "./CXyKsX-Rk4hkAgns.js";
3
+ import { v as r, b as S, B as V, F as $, T as z, a as h, ay as C } from "./CyUSCTdWkG7ZxVra.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
9
9
  */
10
10
  const G = ["Ok", "Cancel"], U = E((O) => {
11
- const { initialComments: w = null, onUpdateComments: m, context: y, onOption: u, onValidateOption: l, onDone: p, options: d = G, defaultOption: c = d?.[0], cancelOption: s = "Cancel", sx: F, ...b } = O, g = M(() => {
12
- const n = w ?? y?.()?.getComments();
11
+ const { initialComments: y = null, onUpdateComments: m, context: F, onOption: u, onValidateOption: l, onDone: p, options: d = G, defaultOption: c = d?.[0], cancelOption: s = "Cancel", sx: T, ...b } = O, g = M(() => {
12
+ const n = y ?? F?.()?.getComments();
13
13
  let t = "";
14
14
  if (n && n.content && n.content.runs) {
15
15
  const a = n.content.runs;
@@ -19,7 +19,7 @@ const G = ["Ok", "Cancel"], U = E((O) => {
19
19
  }
20
20
  }
21
21
  return t;
22
- }, []), [e, k] = x(g), [P, T] = x(!1), f = j(async (n, t) => null, []), v = r(async (n) => {
22
+ }, []), [e, k] = x(g), [v, w] = x(!1), f = j(async (n, t) => null, []), P = r(async (n) => {
23
23
  const t = e === "" ? [] : e.split(`
24
24
  `);
25
25
  if (n !== s) {
@@ -38,8 +38,8 @@ const G = ["Ok", "Cancel"], U = E((O) => {
38
38
  }
39
39
  return t ?? !0;
40
40
  }, [l, e]);
41
- return i(S, { title: (g ? "Edit" : "Insert") + " Comments", options: d, onDone: p, onOption: (n) => v(n), onValidateOption: I, defaultOption: c, cancelOption: s, autoFocusSel: ".autoFocus", sx: { width: "480px", ...F }, ...b, children: i(V, { sx: { paddingTop: (n) => n.spacing(1), paddingBottom: (n) => n.spacing(0), rowGap: (n) => n.spacing(1), display: "flex", flexDirection: "column" }, children: i($, { sx: { paddingTop: (n) => n.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(z, { label: "Comments", placeholder: "Enter a comment.", onFocus: (n) => {
42
- P || n.target?.select(), T(!0);
41
+ return i(S, { title: (g ? "Edit" : "Insert") + " Comments", options: d, onDone: p, onOption: (n) => P(n), onValidateOption: I, defaultOption: c, cancelOption: s, autoFocusSel: ".autoFocus", sx: { width: "480px", ...T }, ...b, children: i(V, { sx: { paddingTop: (n) => n.spacing(1), paddingBottom: (n) => n.spacing(0), rowGap: (n) => n.spacing(1), display: "flex", flexDirection: "column" }, children: i($, { sx: { paddingTop: (n) => n.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(z, { label: "Comments", placeholder: "Enter a comment.", onFocus: (n) => {
42
+ v || n.target?.select(), w(!0);
43
43
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (n) => n.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (n) => n.spacing(1.25), paddingBottom: (n) => n.spacing(0.75), backgroundImage: `linear-gradient(${h("#fff", C(5))}, ${h("#fff", C(5))})` } } }, value: e, onChange: D, onContextMenu: (n) => {
44
44
  n.stopPropagation();
45
45
  } }) }) }) });
@@ -1,15 +1,15 @@
1
1
  import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
2
  import { memo as G, useState as x, useCallback as O, useEffect as H, useMemo as w } from "react";
3
3
  import { NumberFormat as n } from "@sheetxl/sdk";
4
- import { w as l, av as K, b as _, B as P, F as S, aw as q, ax as A, c as p, ay as c, a as J, _ as D, az as Q } from "./DXfVp9l0_p8tTvaN.mjs";
4
+ import { v as l, av as K, b as q, B as P, F as S, aw as A, ax as J, a as p, ay as c, T as Q, $, az as U } from "./CyUSCTdWkG7ZxVra.js";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
7
7
  *
8
8
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
9
9
  * License: The license can be found at https://www.sheetxl.com/license.
10
10
  */
11
- const U = ["Ok", "Cancel"], ea = G(($) => {
12
- const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v = U, defaultOption: r = v?.[0], cancelOption: m = "Cancel", sx: N, ...V } = $, [e, T] = x(I), [j, z] = x(!1), g = O(async (a, o) => !0, []), y = l(async (a) => {
11
+ const X = ["Ok", "Cancel"], ea = G((D) => {
12
+ const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v = X, defaultOption: r = v?.[0], cancelOption: m = "Cancel", sx: N, ...V } = D, [e, T] = x(I), [j, z] = x(!1), g = O(async (a, o) => !0, []), y = l(async (a) => {
13
13
  C?.(e, a), b?.(a, a === m, a === r), d?.();
14
14
  }, [e, C, d, b, m, r]), B = l(async (a) => {
15
15
  a.keyCode === K.Enter && await g?.(e, null) !== !1 && y(r);
@@ -27,7 +27,7 @@ const U = ["Ok", "Cancel"], ea = G(($) => {
27
27
  F(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
28
28
  }, [e]);
29
29
  const L = w(() => {
30
- const a = n.Styles.lookupPrimary(), o = (i) => t(Q, { value: i, children: i }, i), s = Object.keys(a).map((i) => o(a[i].formatType));
30
+ const a = n.Styles.lookupPrimary(), o = (i) => t(U, { value: i, children: i }, i), s = Object.keys(a).map((i) => o(a[i].formatType));
31
31
  return s.push(o(n.Type.Custom)), s;
32
32
  }, []), R = O((a) => {
33
33
  const o = a.target.value;
@@ -38,11 +38,11 @@ const U = ["Ok", "Cancel"], ea = G(($) => {
38
38
  const a = h();
39
39
  return a.createTemporaryCell({ value: a.getValue() ?? 12345, style: { numberFormat: e } });
40
40
  }, [k, e, h]);
41
- return t(_, { title: "Number Format", options: v, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(q, { children: "Category" }), t(A, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(J, { label: "Code", onFocus: (a) => {
41
+ return t(q, { title: "Number Format", options: v, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(A, { children: "Category" }), t(J, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(Q, { label: "Code", onFocus: (a) => {
42
42
  j || a.target?.select(), z(!0);
43
43
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` } } }, value: e, onChange: M, onKeyDown: B, onContextMenu: (a) => {
44
44
  a.stopPropagation();
45
- } }) }), f(P, { children: [t(D, { variant: "caption", component: "div", sx: { paddingLeft: (a) => a.spacing(2) }, children: "Preview" }), t(D, { variant: "body2", component: "div", sx: { borderRadius: (a) => `${a.shape.borderRadius}px`, padding: (a) => a.spacing(1), border: (a) => `1px solid ${a.palette.grey[400]}` }, children: W.getNumberFormat().displayText || "(empty)" })] })] }) });
45
+ } }) }), f(P, { children: [t($, { variant: "caption", component: "div", sx: { paddingLeft: (a) => a.spacing(2) }, children: "Preview" }), t($, { variant: "body2", component: "div", sx: { borderRadius: (a) => `${a.shape.borderRadius}px`, padding: (a) => a.spacing(1), border: (a) => `1px solid ${a.palette.grey[400]}` }, children: W.getNumberFormat().displayText || "(empty)" })] })] }) });
46
46
  });
47
47
  export {
48
48
  ea as NumberFormatDialog,
@@ -0,0 +1,41 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { memo as z, forwardRef as E, useState as s } from "react";
3
+ import { k as t, i as G, b as K, B as R, F as W, T as Y, a as x, G as q, Y as y } from "./CyUSCTdWkG7ZxVra.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
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
+ const A = ["Input"], X = z(E((w, T) => {
11
+ const { initialValue: F = "", onOption: I, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: P, inputType: b, inputPlaceHolder: k, options: d = A, autoFocusSel: v = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...C } = w, [V, B] = s(!1), [o, D] = s(F), [S, H] = s(""), [L, M] = s(!0), e = t(async (a, n) => {
12
+ if (!p) return !0;
13
+ const h = await p?.(a, n);
14
+ H(h?.message ?? "");
15
+ const O = h?.valid ?? !0;
16
+ return M(O), O;
17
+ }, [p]), f = t(async (a) => {
18
+ l?.(o, a);
19
+ }, [o, l, u, I, g, m]), N = t(async (a) => {
20
+ a.keyCode === G.Enter && await e?.(o, null);
21
+ }, [o, f]), $ = t((a) => {
22
+ D(a.target.value), e?.(a.target.value, null);
23
+ }, [r]), j = t(async (a) => {
24
+ let n = await e(o, a);
25
+ try {
26
+ n !== !1 && (n = await e(o, a));
27
+ } catch {
28
+ }
29
+ return n ?? !0;
30
+ }, [o, r]);
31
+ return i(K, { options: d, onDone: u, onOption: (a, n) => {
32
+ n || f(a);
33
+ }, onValidateOption: j, cancelOption: g, defaultOption: m, autoFocusSel: v, ref: T, ...C, 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(Y, { onFocus: (a) => {
34
+ V || a.target?.select(), B(!0);
35
+ }, type: b, label: P, helperText: S || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: L ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: k, spellCheck: !1, autoComplete: "off", ...c, className: q("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: $, onKeyDown: N, onContextMenu: (a) => {
36
+ a.stopPropagation();
37
+ } }) }) }) });
38
+ }));
39
+ export {
40
+ X as default
41
+ };
@@ -1,8 +1,8 @@
1
1
  import { jsx as z, jsxs as lt } from "react/jsx-runtime";
2
2
  import k, { memo as es, useState as pe, useCallback as de, useLayoutEffect as rs, PureComponent as mt, Component as _t, isValidElement as ns } from "react";
3
- import { D as os, E as as, O as is, B as us, z as Su, d as ss, S as xt } from "./DXfVp9l0_p8tTvaN.mjs";
3
+ import { M as os, E as as, I as is, B as us, P as Su, c as ss, S as xt } from "./CyUSCTdWkG7ZxVra.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,14 +1,14 @@
1
1
  import { jsx as d, jsxs as k } from "react/jsx-runtime";
2
2
  import { memo as E, useMemo as V, useState as p, useCallback as h } from "react";
3
- import { w as u, b as L, B as S, aO as A, aP as G } from "./CXyKsX-Rk4hkAgns.js";
3
+ import { v as u, b as L, B as S, aO as A, aP as G } from "./CyUSCTdWkG7ZxVra.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.20
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
9
9
  */
10
- const M = ["Ok", "Cancel"], z = E((C) => {
11
- const { value: a = null, context: t, onOption: c, onValidateOption: P, onDone: m, onUpdate: g, options: x = M, defaultOption: f = x?.[0], cancelOption: N = "Cancel", sx: R, ...v } = C, y = V(() => t?.getNames().findValidName("Range1"), []), i = V(() => {
10
+ const M = ["Ok", "Cancel"], z = E((v) => {
11
+ const { value: a = null, context: t, onOption: c, onValidateOption: P, onDone: m, onUpdate: g, options: x = M, defaultOption: f = x?.[0], cancelOption: N = "Cancel", sx: C, ...R } = v, y = V(() => t?.getNames().findValidName("Range1"), []), i = V(() => {
12
12
  if (!a) return !0;
13
13
  }, []), [n, w] = p({ displayText: a?.getName() ?? y, errorText: null }), [l, D] = p({ displayValue: a?.getRanges() ?? t?.selection() ?? null, errorText: null }), [T, O] = p(!1), F = h(async (e) => !n.errorText && !l.errorText, [t]), b = u((e, s, r) => {
14
14
  if (!s) {
@@ -31,7 +31,7 @@ const M = ["Ok", "Cancel"], z = E((C) => {
31
31
  }, [t, a]), j = h((e) => {
32
32
  D({ displayValue: e ?? null, errorText: null });
33
33
  }, []);
34
- return d(L, { title: (i ? "Define" : "Edit") + " Range", options: x, onOption: b, onValidateOption: F, defaultOption: f, cancelOption: N, autoFocusSel: ".autoFocus", sx: { width: "460px", ...R }, ...v, children: k(S, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), range: "flex", flexDirection: "column" }, children: [d(A, { formName: "name", defaultInput: y, value: n.displayText, onChangeInput: B, onValidate: I, onFocus: (e) => {
34
+ return d(L, { title: (i ? "Define" : "Edit") + " Range", options: x, onOption: b, onValidateOption: F, defaultOption: f, cancelOption: N, autoFocusSel: ".autoFocus", sx: { width: "460px", ...C }, ...R, children: k(S, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), range: "flex", flexDirection: "column" }, children: [d(A, { formName: "name", defaultInput: y, value: n.displayText, onChangeInput: B, onValidate: I, onFocus: (e) => {
35
35
  T || e.target?.select(), O(!0);
36
36
  } }), d(G, { formName: "range", value: l.displayValue, onChangeInput: j, resolvedAddress: t.getNames().getRanges.bind(t.getNames()), onFocus: (e) => {
37
37
  T || e.target?.select(), O(!0);