@stlite/browser
Version:
Browser Stlite
617 lines (616 loc) • 20.5 kB
JavaScript
import { Ka as e, Ua as t } from "./index-Dl4ETd_L-D2oMd1k2.js";
import { s as n } from "./DataFrame-ZHi5iyDV-BYXp5O6Z.js";
//#region ../react/build/number-overlay-editor-CQ3u-ilh.js
var r = /* @__PURE__ */ e(t(), 1), i = /* @__PURE__ */ n("div")({
name: "NumberOverlayEditorStyle",
class: "gdg-n15fjm3e",
propsAsIs: !1
});
function a(e, t) {
var n = {};
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var i = 0, r = Object.getOwnPropertySymbols(e); i < r.length; i++) t.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[i]) && (n[r[i]] = e[r[i]]);
return n;
}
var o;
(function(e) {
e.event = "event", e.props = "prop";
})(o ||= {});
function s() {}
function c(e) {
var t, n = void 0;
return function() {
for (var r = [], i = arguments.length; i--;) r[i] = arguments[i];
return t && r.length === t.length && r.every(function(e, n) {
return e === t[n];
}) || (t = r, n = e.apply(void 0, r)), n;
};
}
function l(e) {
return !!(e || "").match(/\d/);
}
function u(e) {
return e == null;
}
function d(e) {
return typeof e == "number" && isNaN(e);
}
function f(e) {
return u(e) || d(e) || typeof e == "number" && !isFinite(e);
}
function p(e) {
return e.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
}
function m(e) {
switch (e) {
case "lakh": return /(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;
case "wan": return /(\d)(?=(\d{4})+(?!\d))/g;
default: return /(\d)(?=(\d{3})+(?!\d))/g;
}
}
function h(e, t, n) {
var r = m(n), i = e.search(/[1-9]/);
return i = i === -1 ? e.length : i, e.substring(0, i) + e.substring(i, e.length).replace(r, "$1" + t);
}
function g(e) {
var t = (0, r.useRef)(e);
return t.current = e, (0, r.useRef)(function() {
for (var e = [], n = arguments.length; n--;) e[n] = arguments[n];
return t.current.apply(t, e);
}).current;
}
function _(e, t) {
t === void 0 && (t = !0);
var n = e[0] === "-", r = n && t;
e = e.replace("-", "");
var i = e.split(".");
return {
beforeDecimal: i[0],
afterDecimal: i[1] || "",
hasNegation: n,
addNegation: r
};
}
function v(e) {
if (!e) return e;
var t = e[0] === "-";
t && (e = e.substring(1, e.length));
var n = e.split("."), r = n[0].replace(/^0+/, "") || "0", i = n[1] || "";
return (t ? "-" : "") + r + (i ? "." + i : "");
}
function y(e, t, n) {
for (var r = "", i = n ? "0" : "", a = 0; a <= t - 1; a++) r += e[a] || i;
return r;
}
function b(e, t) {
return Array(t + 1).join(e);
}
function x(e) {
var t = e + "", n = t[0] === "-" ? "-" : "";
n && (t = t.substring(1));
var r = t.split(/[eE]/g), i = r[0], a = r[1];
if (a = Number(a), !a) return n + i;
i = i.replace(".", "");
var o = 1 + a, s = i.length;
return o < 0 ? i = "0." + b("0", Math.abs(o)) + i : o >= s ? i += b("0", o - s) : i = (i.substring(0, o) || "0") + "." + i.substring(o), n + i;
}
function S(e, t, n) {
if (["", "-"].indexOf(e) !== -1) return e;
var r = (e.indexOf(".") !== -1 || n) && t, i = _(e), a = i.beforeDecimal, o = i.afterDecimal, s = i.hasNegation, c = parseFloat("0." + (o || "0")), l = (o.length <= t ? "0." + o : c.toFixed(t)).split("."), u = a;
a && Number(l[0]) && (u = a.split("").reverse().reduce(function(e, t, n) {
return e.length > n ? (Number(e[0]) + Number(t)).toString() + e.substring(1, e.length) : t + e;
}, l[0]));
var d = y(l[1] || "", t, n), f = s ? "-" : "", p = r ? "." : "";
return "" + f + u + p + d;
}
function C(e, t) {
if (e.value = e.value, e !== null) {
if (e.createTextRange) {
var n = e.createTextRange();
return n.move("character", t), n.select(), !0;
}
return e.selectionStart || e.selectionStart === 0 ? (e.focus(), e.setSelectionRange(t, t), !0) : (e.focus(), !1);
}
}
var w = c(function(e, t) {
for (var n = 0, r = 0, i = e.length, a = t.length; e[n] === t[n] && n < i;) n++;
for (; e[i - 1 - r] === t[a - 1 - r] && a - r > n && i - r > n;) r++;
return {
from: {
start: n,
end: i - r
},
to: {
start: n,
end: a - r
}
};
}), T = function(e, t) {
var n = Math.min(e.selectionStart, t);
return {
from: {
start: n,
end: e.selectionEnd
},
to: {
start: n,
end: t
}
};
};
function E(e, t, n) {
return Math.min(Math.max(e, t), n);
}
function D(e) {
return Math.max(e.selectionStart, e.selectionEnd);
}
function O() {
return typeof navigator < "u" && !(navigator.platform && /iPhone|iPod/.test(navigator.platform));
}
function k(e) {
return {
from: {
start: 0,
end: 0
},
to: {
start: 0,
end: e.length
},
lastValue: ""
};
}
function A(e) {
var t = e.currentValue, n = e.formattedValue, r = e.currentValueIndex, i = e.formattedValueIndex;
return t[r] === n[i];
}
function j(e, t, n, r, i, a, o) {
o === void 0 && (o = A);
var s = i.findIndex(function(e) {
return e;
}), c = e.slice(0, s);
!t && !n.startsWith(c) && (t = c, n = c + n, r += c.length);
for (var l = n.length, u = e.length, d = {}, f = Array(l), p = 0; p < l; p++) {
f[p] = -1;
for (var m = 0, h = u; m < h; m++) if (o({
currentValue: n,
lastValue: t,
formattedValue: e,
currentValueIndex: p,
formattedValueIndex: m
}) && d[m] !== !0) {
f[p] = m, d[m] = !0;
break;
}
}
for (var g = r; g < l && (f[g] === -1 || !a(n[g]));) g++;
var _ = g === l || f[g] === -1 ? u : f[g];
for (g = r - 1; g > 0 && f[g] === -1;) g--;
var v = g === -1 || f[g] === -1 ? 0 : f[g] + 1;
return v > _ ? _ : r - v < _ - r ? v : _;
}
function M(e, t, n, r) {
var i = e.length;
if (t = E(t, 0, i), r === "left") {
for (; t >= 0 && !n[t];) t--;
t === -1 && (t = n.indexOf(!0));
} else {
for (; t <= i && !n[t];) t++;
t > i && (t = n.lastIndexOf(!0));
}
return t === -1 && (t = i), t;
}
function N(e) {
for (var t = Array.from({ length: e.length + 1 }).map(function() {
return !0;
}), n = 0, r = t.length; n < r; n++) t[n] = !!(l(e[n]) || l(e[n - 1]));
return t;
}
function P(e, t, n, i, a, o) {
o === void 0 && (o = s);
var c = g(function(e, t) {
var n, r;
return f(e) ? (r = "", n = "") : typeof e == "number" || t ? (r = typeof e == "number" ? x(e) : e, n = i(r)) : (r = a(e, void 0), n = i(r)), {
formattedValue: n,
numAsString: r
};
}), l = (0, r.useState)(function() {
return c(u(e) ? t : e, n);
}), d = l[0], p = l[1], m = function(e, t) {
e.formattedValue !== d.formattedValue && p({
formattedValue: e.formattedValue,
numAsString: e.value
}), o(e, t);
}, h = e, _ = n;
u(e) && (h = d.numAsString, _ = !0);
var v = c(h, _);
return (0, r.useMemo)(function() {
p(v);
}, [v.formattedValue]), [d, m];
}
function F(e) {
return e.replace(/[^0-9]/g, "");
}
function I(e) {
return e;
}
function L(e) {
var t = e.type;
t === void 0 && (t = "text");
var n = e.displayType;
n === void 0 && (n = "input");
var i = e.customInput, c = e.renderText, u = e.getInputRef, d = e.format;
d === void 0 && (d = I);
var f = e.removeFormatting;
f === void 0 && (f = F);
var p = e.defaultValue, m = e.valueIsNumericString, h = e.onValueChange, g = e.isAllowed, _ = e.onChange;
_ === void 0 && (_ = s);
var v = e.onKeyDown;
v === void 0 && (v = s);
var y = e.onMouseUp;
y === void 0 && (y = s);
var b = e.onFocus;
b === void 0 && (b = s);
var x = e.onBlur;
x === void 0 && (x = s);
var S = e.value, E = e.getCaretBoundary;
E === void 0 && (E = N);
var k = e.isValidInputCharacter;
k === void 0 && (k = l);
var A = e.isCharacterSame, L = a(e, [
"type",
"displayType",
"customInput",
"renderText",
"getInputRef",
"format",
"removeFormatting",
"defaultValue",
"valueIsNumericString",
"onValueChange",
"isAllowed",
"onChange",
"onKeyDown",
"onMouseUp",
"onFocus",
"onBlur",
"value",
"getCaretBoundary",
"isValidInputCharacter",
"isCharacterSame"
]), R = P(S, p, !!m, d, f, h), z = R[0], B = z.formattedValue, V = z.numAsString, ee = R[1], H = (0, r.useRef)(), U = (0, r.useRef)({
formattedValue: B,
numAsString: V
}), W = function(e, t) {
U.current = {
formattedValue: e.formattedValue,
numAsString: e.value
}, ee(e, t);
}, G = (0, r.useState)(!1), te = G[0], K = G[1], q = (0, r.useRef)(null), J = (0, r.useRef)({
setCaretTimeout: null,
focusTimeout: null
});
(0, r.useEffect)(function() {
return K(!0), function() {
clearTimeout(J.current.setCaretTimeout), clearTimeout(J.current.focusTimeout);
};
}, []);
var ne = d, Y = function(e, t) {
var n = parseFloat(t);
return {
formattedValue: e,
value: t,
floatValue: isNaN(n) ? void 0 : n
};
}, X = function(e, t, n) {
e.selectionStart === 0 && e.selectionEnd === e.value.length || (C(e, t), J.current.setCaretTimeout = setTimeout(function() {
e.value === n && e.selectionStart !== t && C(e, t);
}, 0));
}, Z = function(e, t, n) {
return M(e, t, E(e), n);
}, Q = function(e, t, n) {
var r = E(t), i = j(t, B, e, n, r, k, A);
return i = M(t, i, r), i;
}, re = function(e) {
var t = e.formattedValue;
t === void 0 && (t = "");
var n = e.input, r = e.source, i = e.event, a = e.numAsString, o;
if (n) {
var s = e.inputValue || n.value, c = D(n);
n.value = t, o = Q(s, t, c), o !== void 0 && X(n, o, t);
}
t !== B && W(Y(t, a), {
event: i,
source: r
});
};
(0, r.useEffect)(function() {
var e = U.current, t = e.formattedValue, n = e.numAsString;
(B !== t || V !== n) && W(Y(B, V), {
event: void 0,
source: o.props
});
}, [B, V]);
var ie = q.current ? D(q.current) : void 0;
(typeof window < "u" ? r.useLayoutEffect : r.useEffect)(function() {
var e = q.current;
if (B !== U.current.formattedValue && e) {
var t = Q(U.current.formattedValue, B, ie);
e.value = B, X(e, t, B);
}
}, [B]);
var ae = function(e, t, n) {
var r = t.target, i = H.current ? T(H.current, r.selectionEnd) : w(B, e), a = Object.assign(Object.assign({}, i), { lastValue: B }), o = f(e, a), s = ne(o);
if (o = f(s, void 0), g && !g(Y(s, o))) {
var c = t.target, l = Q(e, B, D(c));
return c.value = B, X(c, l, B), !1;
}
return re({
formattedValue: s,
numAsString: o,
inputValue: e,
event: t,
source: n,
input: t.target
}), !0;
}, $ = function(e, t) {
t === void 0 && (t = 0), H.current = {
selectionStart: e.selectionStart,
selectionEnd: e.selectionEnd + t
};
}, oe = function(e) {
var t = e.target.value;
ae(t, e, o.event) && _(e), H.current = void 0;
}, se = function(e) {
var t = e.target, n = e.key, r = t.selectionStart, i = t.selectionEnd, a = t.value;
a === void 0 && (a = "");
var o;
n === "ArrowLeft" || n === "Backspace" ? o = Math.max(r - 1, 0) : n === "ArrowRight" ? o = Math.min(r + 1, a.length) : n === "Delete" && (o = r);
var s = 0;
n === "Delete" && r === i && (s = 1);
var c = n === "ArrowLeft" || n === "ArrowRight";
if (o === void 0 || r !== i && !c) {
v(e), $(t, s);
return;
}
var l = o;
c ? (l = Z(a, o, n === "ArrowLeft" ? "left" : "right"), l !== o && e.preventDefault()) : n === "Delete" && !k(a[o]) ? l = Z(a, o, "right") : n === "Backspace" && !k(a[o]) && (l = Z(a, o, "left")), l !== o && X(t, l, a), v(e), $(t, s);
}, ce = function(e) {
var t = e.target, n = function() {
var e = t.selectionStart, n = t.selectionEnd, r = t.value;
if (r === void 0 && (r = ""), e === n) {
var i = Z(r, e);
i !== e && X(t, i, r);
}
};
n(), requestAnimationFrame(function() {
n();
}), y(e), $(t);
}, le = function(e) {
e.persist && e.persist();
var t = e.target, n = e.currentTarget;
q.current = t, J.current.focusTimeout = setTimeout(function() {
var r = t.selectionStart, i = t.selectionEnd, a = t.value;
a === void 0 && (a = "");
var o = Z(a, r);
o !== r && !(r === 0 && i === a.length) && X(t, o, a), b(Object.assign(Object.assign({}, e), { currentTarget: n }));
}, 0);
}, ue = function(e) {
q.current = null, clearTimeout(J.current.focusTimeout), clearTimeout(J.current.setCaretTimeout), x(e);
}, de = te && O() ? "numeric" : void 0, fe = Object.assign({ inputMode: de }, L, {
type: t,
value: B,
onChange: oe,
onKeyDown: se,
onMouseUp: ce,
onFocus: le,
onBlur: ue
});
if (n === "text") return c ? r.createElement(r.Fragment, null, c(B, L) || null) : r.createElement("span", Object.assign({}, L, { ref: u }), B);
if (i) {
var pe = i;
return r.createElement(pe, Object.assign({}, fe, { ref: u }));
}
return r.createElement("input", Object.assign({}, fe, { ref: u }));
}
function R(e, t) {
var n = t.decimalScale, r = t.fixedDecimalScale, i = t.prefix;
i === void 0 && (i = "");
var a = t.suffix;
a === void 0 && (a = "");
var o = t.allowNegative, s = t.thousandsGroupStyle;
if (s === void 0 && (s = "thousand"), e === "" || e === "-") return e;
var c = z(t), l = c.thousandSeparator, u = c.decimalSeparator, d = n !== 0 && e.indexOf(".") !== -1 || n && r, f = _(e, o), p = f.beforeDecimal, m = f.afterDecimal, g = f.addNegation;
return n !== void 0 && (m = y(m, n, !!r)), l && (p = h(p, l, s)), i && (p = i + p), a && (m += a), g && (p = "-" + p), e = p + (d && u || "") + m, e;
}
function z(e) {
var t = e.decimalSeparator;
t === void 0 && (t = ".");
var n = e.thousandSeparator, r = e.allowedDecimalSeparators;
return n === !0 && (n = ","), r ||= [t, "."], {
decimalSeparator: t,
thousandSeparator: n,
allowedDecimalSeparators: r
};
}
function B(e, t) {
e === void 0 && (e = "");
var n = /* @__PURE__ */ RegExp("(-)"), r = /* @__PURE__ */ RegExp("(-)(.)*(-)"), i = n.test(e), a = r.test(e);
return e = e.replace(/-/g, ""), i && !a && t && (e = "-" + e), e;
}
function V(e, t) {
return RegExp("(^-)|[0-9]|" + p(e), "g");
}
function ee(e, t, n) {
return e === "" ? !0 : !t?.match(/\d/) && !n?.match(/\d/) && typeof e == "string" && !isNaN(Number(e));
}
function H(e, t, n) {
var r;
t === void 0 && (t = k(e));
var i = n.allowNegative, a = n.prefix;
a === void 0 && (a = "");
var o = n.suffix;
o === void 0 && (o = "");
var s = n.decimalScale, c = t.from, u = t.to, d = u.start, f = u.end, m = z(n), h = m.allowedDecimalSeparators, g = m.decimalSeparator, v = e[f] === g;
if (l(e) && (e === a || e === o) && t.lastValue === "") return e;
if (f - d === 1 && h.indexOf(e[d]) !== -1) {
var y = s === 0 ? "" : g;
e = e.substring(0, d) + y + e.substring(d + 1, e.length);
}
var b = function(e, t, n) {
var r = !1, i = !1;
a.startsWith("-") ? r = !1 : e.startsWith("--") ? (r = !1, i = !0) : o.startsWith("-") && e.length === o.length ? r = !1 : e[0] === "-" && (r = !0);
var s = +!!r;
return i && (s = 2), s && (e = e.substring(s), t -= s, n -= s), {
value: e,
start: t,
end: n,
hasNegation: r
};
}, x = b(e, d, f), S = x.hasNegation;
r = x, e = r.value, d = r.start, f = r.end;
var C = b(t.lastValue, c.start, c.end), w = C.start, T = C.end, E = C.value, D = e.substring(d, f);
e.length && E.length && (w > E.length - o.length || T < a.length) && !(D && o.startsWith(D)) && (e = E);
var O = 0;
e.startsWith(a) ? O += a.length : d < a.length && (O = d), e = e.substring(O), f -= O;
var A = e.length, j = e.length - o.length;
e.endsWith(o) ? A = j : (f > j || f > e.length - o.length) && (A = f), e = e.substring(0, A), e = B(S ? "-" + e : e, i), e = (e.match(V(g)) || []).join("");
var M = e.indexOf(g);
e = e.replace(new RegExp(p(g), "g"), function(e, t) {
return t === M ? "." : "";
});
var N = _(e, i), P = N.beforeDecimal, F = N.afterDecimal, I = N.addNegation;
return u.end - u.start < c.end - c.start && P === "" && v && !parseFloat(F) && (e = I ? "-" : ""), e;
}
function U(e, t) {
var n = t.prefix;
n === void 0 && (n = "");
var r = t.suffix;
r === void 0 && (r = "");
var i = Array.from({ length: e.length + 1 }).map(function() {
return !0;
}), a = e[0] === "-";
i.fill(!1, 0, n.length + +!!a);
var o = e.length;
return i.fill(!1, o - r.length + 1, o + 1), i;
}
function W(e) {
var t = z(e), n = t.thousandSeparator, r = t.decimalSeparator, i = e.prefix;
i === void 0 && (i = "");
var a = e.allowNegative;
if (a === void 0 && (a = !0), n === r) throw Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: " + n + " (thousandSeparator = {true} is same as thousandSeparator = \",\")\n decimalSeparator: " + r + " (default value for decimalSeparator is .)\n ");
return i.startsWith("-") && a && (console.error("\n Prefix can't start with '-' when allowNegative is true.\n prefix: " + i + "\n allowNegative: " + a + "\n "), a = !1), Object.assign(Object.assign({}, e), { allowNegative: a });
}
function G(e) {
e = W(e), e.decimalSeparator, e.allowedDecimalSeparators, e.thousandsGroupStyle;
var t = e.suffix, n = e.allowNegative, r = e.allowLeadingZeros, i = e.onKeyDown;
i === void 0 && (i = s);
var c = e.onBlur;
c === void 0 && (c = s);
var d = e.thousandSeparator, p = e.decimalScale, m = e.fixedDecimalScale, h = e.prefix;
h === void 0 && (h = "");
var g = e.defaultValue, _ = e.value, y = e.valueIsNumericString, b = e.onValueChange, T = a(e, [
"decimalSeparator",
"allowedDecimalSeparators",
"thousandsGroupStyle",
"suffix",
"allowNegative",
"allowLeadingZeros",
"onKeyDown",
"onBlur",
"thousandSeparator",
"decimalScale",
"fixedDecimalScale",
"prefix",
"defaultValue",
"value",
"valueIsNumericString",
"onValueChange"
]), E = z(e), D = E.decimalSeparator, O = E.allowedDecimalSeparators, k = function(t) {
return R(t, e);
}, A = function(t, n) {
return H(t, n, e);
}, j = u(_) ? g : _, M = y ?? ee(j, h, t);
u(_) ? u(g) || (M ||= typeof g == "number") : M ||= typeof _ == "number";
var N = function(e) {
return f(e) ? e : (typeof e == "number" && (e = x(e)), M && typeof p == "number" ? S(e, p, !!m) : e);
}, F = P(N(_), N(g), !!M, k, A, b), I = F[0], L = I.numAsString, B = I.formattedValue, V = F[1];
return Object.assign(Object.assign({}, T), {
value: B,
valueIsNumericString: !1,
isValidInputCharacter: function(e) {
return e === D ? !0 : l(e);
},
isCharacterSame: function(e) {
var t = e.currentValue, n = e.lastValue, r = e.formattedValue, i = e.currentValueIndex, a = e.formattedValueIndex, o = t[i], s = r[a], c = w(n, t).to, l = function(e) {
return A(e).indexOf(".") + h.length;
};
return _ === 0 && m && p && t[c.start] === D && l(t) < i && l(r) > a ? !1 : i >= c.start && i < c.end && O && O.includes(o) && s === D ? !0 : o === s;
},
onValueChange: V,
format: k,
removeFormatting: A,
getCaretBoundary: function(t) {
return U(t, e);
},
onKeyDown: function(e) {
var t = e.target, r = e.key, a = t.selectionStart, o = t.selectionEnd, s = t.value;
if (s === void 0 && (s = ""), (r === "Backspace" || r === "Delete") && o < h.length) {
e.preventDefault();
return;
}
if (a !== o) {
i(e);
return;
}
r === "Backspace" && s[0] === "-" && a === h.length + 1 && n && C(t, 1), p && m && (r === "Backspace" && s[a - 1] === D ? (C(t, a - 1), e.preventDefault()) : r === "Delete" && s[a] === D && e.preventDefault()), O?.includes(r) && s[a] === D && C(t, a + 1);
var c = d === !0 ? "," : d;
r === "Backspace" && s[a - 1] === c && C(t, a - 1), r === "Delete" && s[a] === c && C(t, a + 1), i(e);
},
onBlur: function(t) {
var n = L;
n.match(/\d/g) || (n = ""), r || (n = v(n)), m && p && (n = S(n, p, m)), n !== L && V({
formattedValue: R(n, e),
value: n,
floatValue: parseFloat(n)
}, {
event: t,
source: o.event
}), c(t);
}
});
}
function te(e) {
var t = G(e);
return r.createElement(L, Object.assign({}, t));
}
function K() {
return Intl.NumberFormat()?.formatToParts(1.1)?.find((e) => e.type === "decimal")?.value ?? ".";
}
function q() {
return K() === "." ? "," : ".";
}
var J = (e) => {
let { value: t, onChange: n, disabled: a, highlight: o, validatedSelection: s, fixedDecimals: c, allowNegative: l, thousandSeparator: u, decimalSeparator: d } = e, f = r.useRef();
return r.useLayoutEffect(() => {
if (s !== void 0) {
let e = typeof s == "number" ? [s, null] : s;
f.current?.setSelectionRange(e[0], e[1]);
}
}, [s]), r.createElement(i, null, r.createElement(te, {
autoFocus: !0,
getInputRef: f,
className: "gdg-input",
onFocus: (e) => e.target.setSelectionRange(o ? 0 : e.target.value.length, e.target.value.length),
disabled: a === !0,
decimalScale: c,
allowNegative: l,
thousandSeparator: u ?? q(),
decimalSeparator: d ?? K(),
value: Object.is(t, -0) ? "-" : t ?? "",
onValueChange: n
}));
};
//#endregion
export { J as default };
//# sourceMappingURL=number-overlay-editor-CQ3u-ilh-BGbttBIy.js.map