finform-react-builder
Version:
A powerful, flexible React form builder with dynamic field rendering, custom validation, multi-step forms, Material-UI integration, image component support, toggle/radio buttons, switches, autocomplete, and advanced button positioning
1,539 lines (1,538 loc) • 383 kB
JavaScript
var Oa = (e) => {
throw TypeError(e);
};
var pi = (e, t, r) => t.has(e) || Oa("Cannot " + r);
var v = (e, t, r) => (pi(e, t, "read from private field"), r ? r.call(e) : t.get(e)), re = (e, t, r) => t.has(e) ? Oa("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), K = (e, t, r, n) => (pi(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r), ue = (e, t, r) => (pi(e, t, "access private method"), r);
var bn = (e, t, r, n) => ({
set _(i) {
K(e, t, i, r);
},
get _() {
return v(e, t, n);
}
});
import { jsx as D, jsxs as Te, Fragment as Sl } from "react/jsx-runtime";
import * as Ce from "react";
import he, { useMemo as Qe, useState as Zt, useRef as Xt, useCallback as Pe, useEffect as ur, useReducer as El, forwardRef as kl, useImperativeHandle as Ol, Fragment as _l, createElement as Tl } from "react";
import { Box as we, TextField as wn, Autocomplete as Cl, CircularProgress as Tr, FormControlLabel as Sn, Switch as Al, FormHelperText as Hr, FormControl as fi, Typography as Me, RadioGroup as _a, Radio as Ta, Checkbox as Fl, InputLabel as $l, Select as Dl, MenuItem as En, Stepper as Rl, Step as Pl, StepLabel as jl, Button as Lt, ButtonGroup as Il, createTheme as Ml, ThemeProvider as zl, Paper as no, Tooltip as Vl, IconButton as Nl, Chip as Ca, Alert as Ll } from "@mui/material";
import ql from "@emotion/styled";
import "@emotion/react";
var pn = (e) => e.type === "checkbox", er = (e) => e instanceof Date, Be = (e) => e == null;
const io = (e) => typeof e == "object";
var $e = (e) => !Be(e) && !Array.isArray(e) && io(e) && !er(e), ao = (e) => $e(e) && e.target ? pn(e.target) ? e.target.checked : e.target.value : e, Bl = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, so = (e, t) => e.has(Bl(t)), Ul = (e) => {
const t = e.constructor && e.constructor.prototype;
return $e(t) && t.hasOwnProperty("isPrototypeOf");
}, na = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
function Ie(e) {
let t;
const r = Array.isArray(e), n = typeof FileList < "u" ? e instanceof FileList : !1;
if (e instanceof Date)
t = new Date(e);
else if (e instanceof Set)
t = new Set(e);
else if (!(na && (e instanceof Blob || n)) && (r || $e(e)))
if (t = r ? [] : {}, !r && !Ul(e))
t = e;
else
for (const i in e)
e.hasOwnProperty(i) && (t[i] = Ie(e[i]));
else
return e;
return t;
}
var ei = (e) => /^\w*$/.test(e), Fe = (e) => e === void 0, ia = (e) => Array.isArray(e) ? e.filter(Boolean) : [], aa = (e) => ia(e.replace(/["|']|\]/g, "").split(/\.|\[/)), N = (e, t, r) => {
if (!t || !$e(e))
return r;
const n = (ei(t) ? [t] : aa(t)).reduce((i, a) => Be(i) ? i : i[a], e);
return Fe(n) || n === e ? Fe(e[t]) ? r : e[t] : n;
}, Ye = (e) => typeof e == "boolean", me = (e, t, r) => {
let n = -1;
const i = ei(t) ? [t] : aa(t), a = i.length, s = a - 1;
for (; ++n < a; ) {
const o = i[n];
let l = r;
if (n !== s) {
const p = e[o];
l = $e(p) || Array.isArray(p) ? p : isNaN(+i[n + 1]) ? {} : [];
}
if (o === "__proto__" || o === "constructor" || o === "prototype")
return;
e[o] = l, e = e[o];
}
};
const zn = {
BLUR: "blur",
FOCUS_OUT: "focusout",
CHANGE: "change"
}, lt = {
onBlur: "onBlur",
onChange: "onChange",
onSubmit: "onSubmit",
onTouched: "onTouched",
all: "all"
}, bt = {
max: "max",
min: "min",
maxLength: "maxLength",
minLength: "minLength",
pattern: "pattern",
required: "required",
validate: "validate"
}, oo = he.createContext(null);
oo.displayName = "HookFormContext";
const sa = () => he.useContext(oo);
var lo = (e, t, r, n = !0) => {
const i = {
defaultValues: t._defaultValues
};
for (const a in e)
Object.defineProperty(i, a, {
get: () => {
const s = a;
return t._proxyFormState[s] !== lt.all && (t._proxyFormState[s] = !n || lt.all), r && (r[s] = !0), e[s];
}
});
return i;
};
const oa = typeof window < "u" ? Ce.useLayoutEffect : Ce.useEffect;
function Wl(e) {
const t = sa(), { control: r = t.control, disabled: n, name: i, exact: a } = e || {}, [s, o] = he.useState(r._formState), l = he.useRef({
isDirty: !1,
isLoading: !1,
dirtyFields: !1,
touchedFields: !1,
validatingFields: !1,
isValidating: !1,
isValid: !1,
errors: !1
});
return oa(() => r._subscribe({
name: i,
formState: l.current,
exact: a,
callback: (p) => {
!n && o({
...r._formState,
...p
});
}
}), [i, n, a]), he.useEffect(() => {
l.current.isValid && r._setValid(!0);
}, [r]), he.useMemo(() => lo(s, r, l.current, !1), [s, r]);
}
var xt = (e) => typeof e == "string", co = (e, t, r, n, i) => xt(e) ? (n && t.watch.add(e), N(r, e, i)) : Array.isArray(e) ? e.map((a) => (n && t.watch.add(a), N(r, a))) : (n && (t.watchAll = !0), r);
function Hl(e) {
const t = sa(), { control: r = t.control, name: n, defaultValue: i, disabled: a, exact: s } = e || {}, o = he.useRef(i), [l, p] = he.useState(r._getWatch(n, o.current));
return oa(() => r._subscribe({
name: n,
formState: {
values: !0
},
exact: s,
callback: (d) => !a && p(co(n, r._names, d.values || r._formValues, !1, o.current))
}), [n, r, a, s]), he.useEffect(() => r._removeUnmounted()), l;
}
function Kl(e) {
const t = sa(), { name: r, disabled: n, control: i = t.control, shouldUnregister: a } = e, s = so(i._names.array, r), o = Hl({
control: i,
name: r,
defaultValue: N(i._formValues, r, N(i._defaultValues, r, e.defaultValue)),
exact: !0
}), l = Wl({
control: i,
name: r,
exact: !0
}), p = he.useRef(e), d = he.useRef(i.register(r, {
...e.rules,
value: o,
...Ye(e.disabled) ? { disabled: e.disabled } : {}
})), f = he.useMemo(() => Object.defineProperties({}, {
invalid: {
enumerable: !0,
get: () => !!N(l.errors, r)
},
isDirty: {
enumerable: !0,
get: () => !!N(l.dirtyFields, r)
},
isTouched: {
enumerable: !0,
get: () => !!N(l.touchedFields, r)
},
isValidating: {
enumerable: !0,
get: () => !!N(l.validatingFields, r)
},
error: {
enumerable: !0,
get: () => N(l.errors, r)
}
}), [l, r]), m = he.useCallback((w) => d.current.onChange({
target: {
value: ao(w),
name: r
},
type: zn.CHANGE
}), [r]), x = he.useCallback(() => d.current.onBlur({
target: {
value: N(i._formValues, r),
name: r
},
type: zn.BLUR
}), [r, i._formValues]), h = he.useCallback((w) => {
const y = N(i._fields, r);
y && w && (y._f.ref = {
focus: () => w.focus && w.focus(),
select: () => w.select && w.select(),
setCustomValidity: (O) => w.setCustomValidity(O),
reportValidity: () => w.reportValidity()
});
}, [i._fields, r]), c = he.useMemo(() => ({
name: r,
value: o,
...Ye(n) || l.disabled ? { disabled: l.disabled || n } : {},
onChange: m,
onBlur: x,
ref: h
}), [r, n, l.disabled, m, x, h, o]);
return he.useEffect(() => {
const w = i._options.shouldUnregister || a;
i.register(r, {
...p.current.rules,
...Ye(p.current.disabled) ? { disabled: p.current.disabled } : {}
});
const y = (O, $) => {
const A = N(i._fields, O);
A && A._f && (A._f.mount = $);
};
if (y(r, !0), w) {
const O = Ie(N(i._options.defaultValues, r));
me(i._defaultValues, r, O), Fe(N(i._formValues, r)) && me(i._formValues, r, O);
}
return !s && i.register(r), () => {
(s ? w && !i._state.action : w) ? i.unregister(r) : y(r, !1);
};
}, [r, i, s, a]), he.useEffect(() => {
i._setDisabledField({
disabled: n,
name: r
});
}, [n, r, i]), he.useMemo(() => ({
field: c,
formState: l,
fieldState: f
}), [c, l, f]);
}
const pt = (e) => e.render(Kl(e));
var uo = (e, t, r, n, i) => t ? {
...r[e],
types: {
...r[e] && r[e].types ? r[e].types : {},
[n]: i || !0
}
} : {}, en = (e) => Array.isArray(e) ? e : [e], Aa = () => {
let e = [];
return {
get observers() {
return e;
},
next: (i) => {
for (const a of e)
a.next && a.next(i);
},
subscribe: (i) => (e.push(i), {
unsubscribe: () => {
e = e.filter((a) => a !== i);
}
}),
unsubscribe: () => {
e = [];
}
};
}, $i = (e) => Be(e) || !io(e);
function Dt(e, t) {
if ($i(e) || $i(t))
return e === t;
if (er(e) && er(t))
return e.getTime() === t.getTime();
const r = Object.keys(e), n = Object.keys(t);
if (r.length !== n.length)
return !1;
for (const i of r) {
const a = e[i];
if (!n.includes(i))
return !1;
if (i !== "ref") {
const s = t[i];
if (er(a) && er(s) || $e(a) && $e(s) || Array.isArray(a) && Array.isArray(s) ? !Dt(a, s) : a !== s)
return !1;
}
}
return !0;
}
var He = (e) => $e(e) && !Object.keys(e).length, la = (e) => e.type === "file", ct = (e) => typeof e == "function", Vn = (e) => {
if (!na)
return !1;
const t = e ? e.ownerDocument : 0;
return e instanceof (t && t.defaultView ? t.defaultView.HTMLElement : HTMLElement);
}, po = (e) => e.type === "select-multiple", ca = (e) => e.type === "radio", Ql = (e) => ca(e) || pn(e), mi = (e) => Vn(e) && e.isConnected;
function Gl(e, t) {
const r = t.slice(0, -1).length;
let n = 0;
for (; n < r; )
e = Fe(e) ? n++ : e[t[n++]];
return e;
}
function Yl(e) {
for (const t in e)
if (e.hasOwnProperty(t) && !Fe(e[t]))
return !1;
return !0;
}
function Re(e, t) {
const r = Array.isArray(t) ? t : ei(t) ? [t] : aa(t), n = r.length === 1 ? e : Gl(e, r), i = r.length - 1, a = r[i];
return n && delete n[a], i !== 0 && ($e(n) && He(n) || Array.isArray(n) && Yl(n)) && Re(e, r.slice(0, -1)), e;
}
var fo = (e) => {
for (const t in e)
if (ct(e[t]))
return !0;
return !1;
};
function Nn(e, t = {}) {
const r = Array.isArray(e);
if ($e(e) || r)
for (const n in e)
Array.isArray(e[n]) || $e(e[n]) && !fo(e[n]) ? (t[n] = Array.isArray(e[n]) ? [] : {}, Nn(e[n], t[n])) : Be(e[n]) || (t[n] = !0);
return t;
}
function mo(e, t, r) {
const n = Array.isArray(e);
if ($e(e) || n)
for (const i in e)
Array.isArray(e[i]) || $e(e[i]) && !fo(e[i]) ? Fe(t) || $i(r[i]) ? r[i] = Array.isArray(e[i]) ? Nn(e[i], []) : { ...Nn(e[i]) } : mo(e[i], Be(t) ? {} : t[i], r[i]) : r[i] = !Dt(e[i], t[i]);
return r;
}
var Kr = (e, t) => mo(e, t, Nn(t));
const Fa = {
value: !1,
isValid: !1
}, $a = { value: !0, isValid: !0 };
var ho = (e) => {
if (Array.isArray(e)) {
if (e.length > 1) {
const t = e.filter((r) => r && r.checked && !r.disabled).map((r) => r.value);
return { value: t, isValid: !!t.length };
}
return e[0].checked && !e[0].disabled ? (
// @ts-expect-error expected to work in the browser
e[0].attributes && !Fe(e[0].attributes.value) ? Fe(e[0].value) || e[0].value === "" ? $a : { value: e[0].value, isValid: !0 } : $a
) : Fa;
}
return Fa;
}, go = (e, { valueAsNumber: t, valueAsDate: r, setValueAs: n }) => Fe(e) ? e : t ? e === "" ? NaN : e && +e : r && xt(e) ? new Date(e) : n ? n(e) : e;
const Da = {
isValid: !1,
value: null
};
var yo = (e) => Array.isArray(e) ? e.reduce((t, r) => r && r.checked && !r.disabled ? {
isValid: !0,
value: r.value
} : t, Da) : Da;
function Ra(e) {
const t = e.ref;
return la(t) ? t.files : ca(t) ? yo(e.refs).value : po(t) ? [...t.selectedOptions].map(({ value: r }) => r) : pn(t) ? ho(e.refs).value : go(Fe(t.value) ? e.ref.value : t.value, e);
}
var Zl = (e, t, r, n) => {
const i = {};
for (const a of e) {
const s = N(t, a);
s && me(i, a, s._f);
}
return {
criteriaMode: r,
names: [...e],
fields: i,
shouldUseNativeValidation: n
};
}, Ln = (e) => e instanceof RegExp, Qr = (e) => Fe(e) ? e : Ln(e) ? e.source : $e(e) ? Ln(e.value) ? e.value.source : e.value : e, Pa = (e) => ({
isOnSubmit: !e || e === lt.onSubmit,
isOnBlur: e === lt.onBlur,
isOnChange: e === lt.onChange,
isOnAll: e === lt.all,
isOnTouch: e === lt.onTouched
});
const ja = "AsyncFunction";
var Jl = (e) => !!e && !!e.validate && !!(ct(e.validate) && e.validate.constructor.name === ja || $e(e.validate) && Object.values(e.validate).find((t) => t.constructor.name === ja)), Xl = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate), Ia = (e, t, r) => !r && (t.watchAll || t.watch.has(e) || [...t.watch].some((n) => e.startsWith(n) && /^\.\w+/.test(e.slice(n.length))));
const tn = (e, t, r, n) => {
for (const i of r || Object.keys(e)) {
const a = N(e, i);
if (a) {
const { _f: s, ...o } = a;
if (s) {
if (s.refs && s.refs[0] && t(s.refs[0], i) && !n)
return !0;
if (s.ref && t(s.ref, s.name) && !n)
return !0;
if (tn(o, t))
break;
} else if ($e(o) && tn(o, t))
break;
}
}
};
function Ma(e, t, r) {
const n = N(e, r);
if (n || ei(r))
return {
error: n,
name: r
};
const i = r.split(".");
for (; i.length; ) {
const a = i.join("."), s = N(t, a), o = N(e, a);
if (s && !Array.isArray(s) && r !== a)
return { name: r };
if (o && o.type)
return {
name: a,
error: o
};
if (o && o.root && o.root.type)
return {
name: `${a}.root`,
error: o.root
};
i.pop();
}
return {
name: r
};
}
var ec = (e, t, r, n) => {
r(e);
const { name: i, ...a } = e;
return He(a) || Object.keys(a).length >= Object.keys(t).length || Object.keys(a).find((s) => t[s] === (!n || lt.all));
}, tc = (e, t, r) => !e || !t || e === t || en(e).some((n) => n && (r ? n === t : n.startsWith(t) || t.startsWith(n))), rc = (e, t, r, n, i) => i.isOnAll ? !1 : !r && i.isOnTouch ? !(t || e) : (r ? n.isOnBlur : i.isOnBlur) ? !e : (r ? n.isOnChange : i.isOnChange) ? e : !0, nc = (e, t) => !ia(N(e, t)).length && Re(e, t), ic = (e, t, r) => {
const n = en(N(e, r));
return me(n, "root", t[r]), me(e, r, n), e;
}, Pn = (e) => xt(e);
function za(e, t, r = "validate") {
if (Pn(e) || Array.isArray(e) && e.every(Pn) || Ye(e) && !e)
return {
type: r,
message: Pn(e) ? e : "",
ref: t
};
}
var vr = (e) => $e(e) && !Ln(e) ? e : {
value: e,
message: ""
}, Va = async (e, t, r, n, i, a) => {
const { ref: s, refs: o, required: l, maxLength: p, minLength: d, min: f, max: m, pattern: x, validate: h, name: c, valueAsNumber: w, mount: y } = e._f, O = N(r, c);
if (!y || t.has(c))
return {};
const $ = o ? o[0] : s, A = (k) => {
i && $.reportValidity && ($.setCustomValidity(Ye(k) ? "" : k || ""), $.reportValidity());
}, b = {}, M = ca(s), W = pn(s), Q = M || W, B = (w || la(s)) && Fe(s.value) && Fe(O) || Vn(s) && s.value === "" || O === "" || Array.isArray(O) && !O.length, u = uo.bind(null, c, n, b), R = (k, j, I, V = bt.maxLength, q = bt.minLength) => {
const le = k ? j : I;
b[c] = {
type: k ? V : q,
message: le,
ref: s,
...u(k ? V : q, le)
};
};
if (a ? !Array.isArray(O) || !O.length : l && (!Q && (B || Be(O)) || Ye(O) && !O || W && !ho(o).isValid || M && !yo(o).isValid)) {
const { value: k, message: j } = Pn(l) ? { value: !!l, message: l } : vr(l);
if (k && (b[c] = {
type: bt.required,
message: j,
ref: $,
...u(bt.required, j)
}, !n))
return A(j), b;
}
if (!B && (!Be(f) || !Be(m))) {
let k, j;
const I = vr(m), V = vr(f);
if (!Be(O) && !isNaN(O)) {
const q = s.valueAsNumber || O && +O;
Be(I.value) || (k = q > I.value), Be(V.value) || (j = q < V.value);
} else {
const q = s.valueAsDate || new Date(O), le = (P) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + P), Z = s.type == "time", J = s.type == "week";
xt(I.value) && O && (k = Z ? le(O) > le(I.value) : J ? O > I.value : q > new Date(I.value)), xt(V.value) && O && (j = Z ? le(O) < le(V.value) : J ? O < V.value : q < new Date(V.value));
}
if ((k || j) && (R(!!k, I.message, V.message, bt.max, bt.min), !n))
return A(b[c].message), b;
}
if ((p || d) && !B && (xt(O) || a && Array.isArray(O))) {
const k = vr(p), j = vr(d), I = !Be(k.value) && O.length > +k.value, V = !Be(j.value) && O.length < +j.value;
if ((I || V) && (R(I, k.message, j.message), !n))
return A(b[c].message), b;
}
if (x && !B && xt(O)) {
const { value: k, message: j } = vr(x);
if (Ln(k) && !O.match(k) && (b[c] = {
type: bt.pattern,
message: j,
ref: s,
...u(bt.pattern, j)
}, !n))
return A(j), b;
}
if (h) {
if (ct(h)) {
const k = await h(O, r), j = za(k, $);
if (j && (b[c] = {
...j,
...u(bt.validate, j.message)
}, !n))
return A(j.message), b;
} else if ($e(h)) {
let k = {};
for (const j in h) {
if (!He(k) && !n)
break;
const I = za(await h[j](O, r), $, j);
I && (k = {
...I,
...u(j, I.message)
}, A(I.message), n && (b[c] = k));
}
if (!He(k) && (b[c] = {
ref: $,
...k
}, !n))
return b;
}
}
return A(!0), b;
};
const ac = {
mode: lt.onSubmit,
reValidateMode: lt.onChange,
shouldFocusError: !0
};
function sc(e = {}) {
let t = {
...ac,
...e
}, r = {
submitCount: 0,
isDirty: !1,
isReady: !1,
isLoading: ct(t.defaultValues),
isValidating: !1,
isSubmitted: !1,
isSubmitting: !1,
isSubmitSuccessful: !1,
isValid: !1,
touchedFields: {},
dirtyFields: {},
validatingFields: {},
errors: t.errors || {},
disabled: t.disabled || !1
};
const n = {};
let i = $e(t.defaultValues) || $e(t.values) ? Ie(t.defaultValues || t.values) || {} : {}, a = t.shouldUnregister ? {} : Ie(i), s = {
action: !1,
mount: !1,
watch: !1
}, o = {
mount: /* @__PURE__ */ new Set(),
disabled: /* @__PURE__ */ new Set(),
unMount: /* @__PURE__ */ new Set(),
array: /* @__PURE__ */ new Set(),
watch: /* @__PURE__ */ new Set()
}, l, p = 0;
const d = {
isDirty: !1,
dirtyFields: !1,
validatingFields: !1,
touchedFields: !1,
isValidating: !1,
isValid: !1,
errors: !1
};
let f = {
...d
};
const m = {
array: Aa(),
state: Aa()
}, x = t.criteriaMode === lt.all, h = (g) => (S) => {
clearTimeout(p), p = setTimeout(g, S);
}, c = async (g) => {
if (!t.disabled && (d.isValid || f.isValid || g)) {
const S = t.resolver ? He((await W()).errors) : await B(n, !0);
S !== r.isValid && m.state.next({
isValid: S
});
}
}, w = (g, S) => {
!t.disabled && (d.isValidating || d.validatingFields || f.isValidating || f.validatingFields) && ((g || Array.from(o.mount)).forEach((F) => {
F && (S ? me(r.validatingFields, F, S) : Re(r.validatingFields, F));
}), m.state.next({
validatingFields: r.validatingFields,
isValidating: !He(r.validatingFields)
}));
}, y = (g, S = [], F, U, E = !0, T = !0) => {
if (U && F && !t.disabled) {
if (s.action = !0, T && Array.isArray(N(n, g))) {
const L = F(N(n, g), U.argA, U.argB);
E && me(n, g, L);
}
if (T && Array.isArray(N(r.errors, g))) {
const L = F(N(r.errors, g), U.argA, U.argB);
E && me(r.errors, g, L), nc(r.errors, g);
}
if ((d.touchedFields || f.touchedFields) && T && Array.isArray(N(r.touchedFields, g))) {
const L = F(N(r.touchedFields, g), U.argA, U.argB);
E && me(r.touchedFields, g, L);
}
(d.dirtyFields || f.dirtyFields) && (r.dirtyFields = Kr(i, a)), m.state.next({
name: g,
isDirty: R(g, S),
dirtyFields: r.dirtyFields,
errors: r.errors,
isValid: r.isValid
});
} else
me(a, g, S);
}, O = (g, S) => {
me(r.errors, g, S), m.state.next({
errors: r.errors
});
}, $ = (g) => {
r.errors = g, m.state.next({
errors: r.errors,
isValid: !1
});
}, A = (g, S, F, U) => {
const E = N(n, g);
if (E) {
const T = N(a, g, Fe(F) ? N(i, g) : F);
Fe(T) || U && U.defaultChecked || S ? me(a, g, S ? T : Ra(E._f)) : I(g, T), s.mount && c();
}
}, b = (g, S, F, U, E) => {
let T = !1, L = !1;
const te = {
name: g
};
if (!t.disabled) {
if (!F || U) {
(d.isDirty || f.isDirty) && (L = r.isDirty, r.isDirty = te.isDirty = R(), T = L !== te.isDirty);
const se = Dt(N(i, g), S);
L = !!N(r.dirtyFields, g), se ? Re(r.dirtyFields, g) : me(r.dirtyFields, g, !0), te.dirtyFields = r.dirtyFields, T = T || (d.dirtyFields || f.dirtyFields) && L !== !se;
}
if (F) {
const se = N(r.touchedFields, g);
se || (me(r.touchedFields, g, F), te.touchedFields = r.touchedFields, T = T || (d.touchedFields || f.touchedFields) && se !== F);
}
T && E && m.state.next(te);
}
return T ? te : {};
}, M = (g, S, F, U) => {
const E = N(r.errors, g), T = (d.isValid || f.isValid) && Ye(S) && r.isValid !== S;
if (t.delayError && F ? (l = h(() => O(g, F)), l(t.delayError)) : (clearTimeout(p), l = null, F ? me(r.errors, g, F) : Re(r.errors, g)), (F ? !Dt(E, F) : E) || !He(U) || T) {
const L = {
...U,
...T && Ye(S) ? { isValid: S } : {},
errors: r.errors,
name: g
};
r = {
...r,
...L
}, m.state.next(L);
}
}, W = async (g) => {
w(g, !0);
const S = await t.resolver(a, t.context, Zl(g || o.mount, n, t.criteriaMode, t.shouldUseNativeValidation));
return w(g), S;
}, Q = async (g) => {
const { errors: S } = await W(g);
if (g)
for (const F of g) {
const U = N(S, F);
U ? me(r.errors, F, U) : Re(r.errors, F);
}
else
r.errors = S;
return S;
}, B = async (g, S, F = {
valid: !0
}) => {
for (const U in g) {
const E = g[U];
if (E) {
const { _f: T, ...L } = E;
if (T) {
const te = o.array.has(T.name), se = E._f && Jl(E._f);
se && d.validatingFields && w([U], !0);
const je = await Va(E, o.disabled, a, x, t.shouldUseNativeValidation && !S, te);
if (se && d.validatingFields && w([U]), je[T.name] && (F.valid = !1, S))
break;
!S && (N(je, T.name) ? te ? ic(r.errors, je, T.name) : me(r.errors, T.name, je[T.name]) : Re(r.errors, T.name));
}
!He(L) && await B(L, S, F);
}
}
return F.valid;
}, u = () => {
for (const g of o.unMount) {
const S = N(n, g);
S && (S._f.refs ? S._f.refs.every((F) => !mi(F)) : !mi(S._f.ref)) && ie(g);
}
o.unMount = /* @__PURE__ */ new Set();
}, R = (g, S) => !t.disabled && (g && S && me(a, g, S), !Dt(P(), i)), k = (g, S, F) => co(g, o, {
...s.mount ? a : Fe(S) ? i : xt(g) ? { [g]: S } : S
}, F, S), j = (g) => ia(N(s.mount ? a : i, g, t.shouldUnregister ? N(i, g, []) : [])), I = (g, S, F = {}) => {
const U = N(n, g);
let E = S;
if (U) {
const T = U._f;
T && (!T.disabled && me(a, g, go(S, T)), E = Vn(T.ref) && Be(S) ? "" : S, po(T.ref) ? [...T.ref.options].forEach((L) => L.selected = E.includes(L.value)) : T.refs ? pn(T.ref) ? T.refs.forEach((L) => {
(!L.defaultChecked || !L.disabled) && (Array.isArray(E) ? L.checked = !!E.find((te) => te === L.value) : L.checked = E === L.value || !!E);
}) : T.refs.forEach((L) => L.checked = L.value === E) : la(T.ref) ? T.ref.value = "" : (T.ref.value = E, T.ref.type || m.state.next({
name: g,
values: Ie(a)
})));
}
(F.shouldDirty || F.shouldTouch) && b(g, E, F.shouldTouch, F.shouldDirty, !0), F.shouldValidate && J(g);
}, V = (g, S, F) => {
for (const U in S) {
if (!S.hasOwnProperty(U))
return;
const E = S[U], T = g + "." + U, L = N(n, T);
(o.array.has(g) || $e(E) || L && !L._f) && !er(E) ? V(T, E, F) : I(T, E, F);
}
}, q = (g, S, F = {}) => {
const U = N(n, g), E = o.array.has(g), T = Ie(S);
me(a, g, T), E ? (m.array.next({
name: g,
values: Ie(a)
}), (d.isDirty || d.dirtyFields || f.isDirty || f.dirtyFields) && F.shouldDirty && m.state.next({
name: g,
dirtyFields: Kr(i, a),
isDirty: R(g, T)
})) : U && !U._f && !Be(T) ? V(g, T, F) : I(g, T, F), Ia(g, o) && m.state.next({ ...r }), m.state.next({
name: s.mount ? g : void 0,
values: Ie(a)
});
}, le = async (g) => {
s.mount = !0;
const S = g.target;
let F = S.name, U = !0;
const E = N(n, F), T = (se) => {
U = Number.isNaN(se) || er(se) && isNaN(se.getTime()) || Dt(se, N(a, F, se));
}, L = Pa(t.mode), te = Pa(t.reValidateMode);
if (E) {
let se, je;
const at = S.type ? Ra(E._f) : ao(g), et = g.type === zn.BLUR || g.type === zn.FOCUS_OUT, Br = !Xl(E._f) && !t.resolver && !N(r.errors, F) && !E._f.deps || rc(et, N(r.touchedFields, F), r.isSubmitted, te, L), Gt = Ia(F, o, et);
me(a, F, at), et ? (E._f.onBlur && E._f.onBlur(g), l && l(0)) : E._f.onChange && E._f.onChange(g);
const At = b(F, at, et), Ur = !He(At) || Gt;
if (!et && m.state.next({
name: F,
type: g.type,
values: Ie(a)
}), Br)
return (d.isValid || f.isValid) && (t.mode === "onBlur" ? et && c() : et || c()), Ur && m.state.next({ name: F, ...Gt ? {} : At });
if (!et && Gt && m.state.next({ ...r }), t.resolver) {
const { errors: gr } = await W([F]);
if (T(at), U) {
const Wr = Ma(r.errors, n, F), yr = Ma(gr, n, Wr.name || F);
se = yr.error, F = yr.name, je = He(gr);
}
} else
w([F], !0), se = (await Va(E, o.disabled, a, x, t.shouldUseNativeValidation))[F], w([F]), T(at), U && (se ? je = !1 : (d.isValid || f.isValid) && (je = await B(n, !0)));
U && (E._f.deps && J(E._f.deps), M(F, je, se, At));
}
}, Z = (g, S) => {
if (N(r.errors, S) && g.focus)
return g.focus(), 1;
}, J = async (g, S = {}) => {
let F, U;
const E = en(g);
if (t.resolver) {
const T = await Q(Fe(g) ? g : E);
F = He(T), U = g ? !E.some((L) => N(T, L)) : F;
} else g ? (U = (await Promise.all(E.map(async (T) => {
const L = N(n, T);
return await B(L && L._f ? { [T]: L } : L);
}))).every(Boolean), !(!U && !r.isValid) && c()) : U = F = await B(n);
return m.state.next({
...!xt(g) || (d.isValid || f.isValid) && F !== r.isValid ? {} : { name: g },
...t.resolver || !g ? { isValid: F } : {},
errors: r.errors
}), S.shouldFocus && !U && tn(n, Z, g ? E : o.mount), U;
}, P = (g) => {
const S = {
...s.mount ? a : i
};
return Fe(g) ? S : xt(g) ? N(S, g) : g.map((F) => N(S, F));
}, _ = (g, S) => ({
invalid: !!N((S || r).errors, g),
isDirty: !!N((S || r).dirtyFields, g),
error: N((S || r).errors, g),
isValidating: !!N(r.validatingFields, g),
isTouched: !!N((S || r).touchedFields, g)
}), ee = (g) => {
g && en(g).forEach((S) => Re(r.errors, S)), m.state.next({
errors: g ? r.errors : {}
});
}, Y = (g, S, F) => {
const U = (N(n, g, { _f: {} })._f || {}).ref, E = N(r.errors, g) || {}, { ref: T, message: L, type: te, ...se } = E;
me(r.errors, g, {
...se,
...S,
ref: U
}), m.state.next({
name: g,
errors: r.errors,
isValid: !1
}), F && F.shouldFocus && U && U.focus && U.focus();
}, H = (g, S) => ct(g) ? m.state.subscribe({
next: (F) => g(k(void 0, S), F)
}) : k(g, S, !0), X = (g) => m.state.subscribe({
next: (S) => {
tc(g.name, S.name, g.exact) && ec(S, g.formState || d, Ct, g.reRenderRoot) && g.callback({
values: { ...a },
...r,
...S
});
}
}).unsubscribe, ne = (g) => (s.mount = !0, f = {
...f,
...g.formState
}, X({
...g,
formState: f
})), ie = (g, S = {}) => {
for (const F of g ? en(g) : o.mount)
o.mount.delete(F), o.array.delete(F), S.keepValue || (Re(n, F), Re(a, F)), !S.keepError && Re(r.errors, F), !S.keepDirty && Re(r.dirtyFields, F), !S.keepTouched && Re(r.touchedFields, F), !S.keepIsValidating && Re(r.validatingFields, F), !t.shouldUnregister && !S.keepDefaultValue && Re(i, F);
m.state.next({
values: Ie(a)
}), m.state.next({
...r,
...S.keepDirty ? { isDirty: R() } : {}
}), !S.keepIsValid && c();
}, oe = ({ disabled: g, name: S }) => {
(Ye(g) && s.mount || g || o.disabled.has(S)) && (g ? o.disabled.add(S) : o.disabled.delete(S));
}, ce = (g, S = {}) => {
let F = N(n, g);
const U = Ye(S.disabled) || Ye(t.disabled);
return me(n, g, {
...F || {},
_f: {
...F && F._f ? F._f : { ref: { name: g } },
name: g,
mount: !0,
...S
}
}), o.mount.add(g), F ? oe({
disabled: Ye(S.disabled) ? S.disabled : t.disabled,
name: g
}) : A(g, !0, S.value), {
...U ? { disabled: S.disabled || t.disabled } : {},
...t.progressive ? {
required: !!S.required,
min: Qr(S.min),
max: Qr(S.max),
minLength: Qr(S.minLength),
maxLength: Qr(S.maxLength),
pattern: Qr(S.pattern)
} : {},
name: g,
onChange: le,
onBlur: le,
ref: (E) => {
if (E) {
ce(g, S), F = N(n, g);
const T = Fe(E.value) && E.querySelectorAll && E.querySelectorAll("input,select,textarea")[0] || E, L = Ql(T), te = F._f.refs || [];
if (L ? te.find((se) => se === T) : T === F._f.ref)
return;
me(n, g, {
_f: {
...F._f,
...L ? {
refs: [
...te.filter(mi),
T,
...Array.isArray(N(i, g)) ? [{}] : []
],
ref: { type: T.type, name: g }
} : { ref: T }
}
}), A(g, !1, void 0, T);
} else
F = N(n, g, {}), F._f && (F._f.mount = !1), (t.shouldUnregister || S.shouldUnregister) && !(so(o.array, g) && s.action) && o.unMount.add(g);
}
};
}, ae = () => t.shouldFocusError && tn(n, Z, o.mount), Ae = (g) => {
Ye(g) && (m.state.next({ disabled: g }), tn(n, (S, F) => {
const U = N(n, F);
U && (S.disabled = U._f.disabled || g, Array.isArray(U._f.refs) && U._f.refs.forEach((E) => {
E.disabled = U._f.disabled || g;
}));
}, 0, !1));
}, z = (g, S) => async (F) => {
let U;
F && (F.preventDefault && F.preventDefault(), F.persist && F.persist());
let E = Ie(a);
if (m.state.next({
isSubmitting: !0
}), t.resolver) {
const { errors: T, values: L } = await W();
r.errors = T, E = L;
} else
await B(n);
if (o.disabled.size)
for (const T of o.disabled)
me(E, T, void 0);
if (Re(r.errors, "root"), He(r.errors)) {
m.state.next({
errors: {}
});
try {
await g(E, F);
} catch (T) {
U = T;
}
} else
S && await S({ ...r.errors }, F), ae(), setTimeout(ae);
if (m.state.next({
isSubmitted: !0,
isSubmitting: !1,
isSubmitSuccessful: He(r.errors) && !U,
submitCount: r.submitCount + 1,
errors: r.errors
}), U)
throw U;
}, Ne = (g, S = {}) => {
N(n, g) && (Fe(S.defaultValue) ? q(g, Ie(N(i, g))) : (q(g, S.defaultValue), me(i, g, Ie(S.defaultValue))), S.keepTouched || Re(r.touchedFields, g), S.keepDirty || (Re(r.dirtyFields, g), r.isDirty = S.defaultValue ? R(g, Ie(N(i, g))) : R()), S.keepError || (Re(r.errors, g), d.isValid && c()), m.state.next({ ...r }));
}, dt = (g, S = {}) => {
const F = g ? Ie(g) : i, U = Ie(F), E = He(g), T = E ? i : U;
if (S.keepDefaultValues || (i = F), !S.keepValues) {
if (S.keepDirtyValues) {
const L = /* @__PURE__ */ new Set([
...o.mount,
...Object.keys(Kr(i, a))
]);
for (const te of Array.from(L))
N(r.dirtyFields, te) ? me(T, te, N(a, te)) : q(te, N(T, te));
} else {
if (na && Fe(g))
for (const L of o.mount) {
const te = N(n, L);
if (te && te._f) {
const se = Array.isArray(te._f.refs) ? te._f.refs[0] : te._f.ref;
if (Vn(se)) {
const je = se.closest("form");
if (je) {
je.reset();
break;
}
}
}
}
for (const L of o.mount)
q(L, N(T, L));
}
a = Ie(T), m.array.next({
values: { ...T }
}), m.state.next({
values: { ...T }
});
}
o = {
mount: S.keepDirtyValues ? o.mount : /* @__PURE__ */ new Set(),
unMount: /* @__PURE__ */ new Set(),
array: /* @__PURE__ */ new Set(),
disabled: /* @__PURE__ */ new Set(),
watch: /* @__PURE__ */ new Set(),
watchAll: !1,
focus: ""
}, s.mount = !d.isValid || !!S.keepIsValid || !!S.keepDirtyValues, s.watch = !!t.shouldUnregister, m.state.next({
submitCount: S.keepSubmitCount ? r.submitCount : 0,
isDirty: E ? !1 : S.keepDirty ? r.isDirty : !!(S.keepDefaultValues && !Dt(g, i)),
isSubmitted: S.keepIsSubmitted ? r.isSubmitted : !1,
dirtyFields: E ? {} : S.keepDirtyValues ? S.keepDefaultValues && a ? Kr(i, a) : r.dirtyFields : S.keepDefaultValues && g ? Kr(i, g) : S.keepDirty ? r.dirtyFields : {},
touchedFields: S.keepTouched ? r.touchedFields : {},
errors: S.keepErrors ? r.errors : {},
isSubmitSuccessful: S.keepIsSubmitSuccessful ? r.isSubmitSuccessful : !1,
isSubmitting: !1
});
}, Tt = (g, S) => dt(ct(g) ? g(a) : g, S), vn = (g, S = {}) => {
const F = N(n, g), U = F && F._f;
if (U) {
const E = U.refs ? U.refs[0] : U.ref;
E.focus && (E.focus(), S.shouldSelect && ct(E.select) && E.select());
}
}, Ct = (g) => {
r = {
...r,
...g
};
}, Qt = {
control: {
register: ce,
unregister: ie,
getFieldState: _,
handleSubmit: z,
setError: Y,
_subscribe: X,
_runSchema: W,
_focusError: ae,
_getWatch: k,
_getDirty: R,
_setValid: c,
_setFieldArray: y,
_setDisabledField: oe,
_setErrors: $,
_getFieldArray: j,
_reset: dt,
_resetDefaultValues: () => ct(t.defaultValues) && t.defaultValues().then((g) => {
Tt(g, t.resetOptions), m.state.next({
isLoading: !1
});
}),
_removeUnmounted: u,
_disableForm: Ae,
_subjects: m,
_proxyFormState: d,
get _fields() {
return n;
},
get _formValues() {
return a;
},
get _state() {
return s;
},
set _state(g) {
s = g;
},
get _defaultValues() {
return i;
},
get _names() {
return o;
},
set _names(g) {
o = g;
},
get _formState() {
return r;
},
get _options() {
return t;
},
set _options(g) {
t = {
...t,
...g
};
}
},
subscribe: ne,
trigger: J,
register: ce,
handleSubmit: z,
watch: H,
setValue: q,
getValues: P,
reset: Tt,
resetField: Ne,
clearErrors: ee,
unregister: ie,
setError: Y,
setFocus: vn,
getFieldState: _
};
return {
...Qt,
formControl: Qt
};
}
function oc(e = {}) {
const t = he.useRef(void 0), r = he.useRef(void 0), [n, i] = he.useState({
isDirty: !1,
isValidating: !1,
isLoading: ct(e.defaultValues),
isSubmitted: !1,
isSubmitting: !1,
isSubmitSuccessful: !1,
isValid: !1,
submitCount: 0,
dirtyFields: {},
touchedFields: {},
validatingFields: {},
errors: e.errors || {},
disabled: e.disabled || !1,
isReady: !1,
defaultValues: ct(e.defaultValues) ? void 0 : e.defaultValues
});
if (!t.current)
if (e.formControl)
t.current = {
...e.formControl,
formState: n
}, e.defaultValues && !ct(e.defaultValues) && e.formControl.reset(e.defaultValues, e.resetOptions);
else {
const { formControl: s, ...o } = sc(e);
t.current = {
...o,
formState: n
};
}
const a = t.current.control;
return a._options = e, oa(() => {
const s = a._subscribe({
formState: a._proxyFormState,
callback: () => i({ ...a._formState }),
reRenderRoot: !0
});
return i((o) => ({
...o,
isReady: !0
})), a._formState.isReady = !0, s;
}, [a]), he.useEffect(() => a._disableForm(e.disabled), [a, e.disabled]), he.useEffect(() => {
e.mode && (a._options.mode = e.mode), e.reValidateMode && (a._options.reValidateMode = e.reValidateMode);
}, [a, e.mode, e.reValidateMode]), he.useEffect(() => {
e.errors && (a._setErrors(e.errors), a._focusError());
}, [a, e.errors]), he.useEffect(() => {
e.shouldUnregister && a._subjects.state.next({
values: a._getWatch()
});
}, [a, e.shouldUnregister]), he.useEffect(() => {
if (a._proxyFormState.isDirty) {
const s = a._getDirty();
s !== n.isDirty && a._subjects.state.next({
isDirty: s
});
}
}, [a, n.isDirty]), he.useEffect(() => {
e.values && !Dt(e.values, r.current) ? (a._reset(e.values, a._options.resetOptions), r.current = e.values, i((s) => ({ ...s }))) : a._resetDefaultValues();
}, [a, e.values]), he.useEffect(() => {
a._state.mount || (a._setValid(), a._state.mount = !0), a._state.watch && (a._state.watch = !1, a._subjects.state.next({ ...a._formState })), a._removeUnmounted();
}), t.current.formState = lo(n, a), t.current;
}
const Na = (e, t, r) => {
if (e && "reportValidity" in e) {
const n = N(r, t);
e.setCustomValidity(n && n.message || ""), e.reportValidity();
}
}, vo = (e, t) => {
for (const r in t.fields) {
const n = t.fields[r];
n && n.ref && "reportValidity" in n.ref ? Na(n.ref, r, e) : n && n.refs && n.refs.forEach((i) => Na(i, r, e));
}
}, lc = (e, t) => {
t.shouldUseNativeValidation && vo(e, t);
const r = {};
for (const n in e) {
const i = N(t.fields, n), a = Object.assign(e[n] || {}, { ref: i && i.ref });
if (cc(t.names || Object.keys(e), n)) {
const s = Object.assign({}, N(r, n));
me(s, "root", a), me(r, n, s);
} else me(r, n, a);
}
return r;
}, cc = (e, t) => {
const r = La(t);
return e.some((n) => La(n).match(`^${r}\\.\\d+`));
};
function La(e) {
return e.replace(/\]|\[/g, "");
}
function uc(e, t, r) {
return r === void 0 && (r = {}), function(n, i, a) {
try {
return Promise.resolve(function(s, o) {
try {
var l = (t != null && t.context && process.env.NODE_ENV === "development" && console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"), Promise.resolve(e[r.mode === "sync" ? "validateSync" : "validate"](n, Object.assign({ abortEarly: !1 }, t, { context: i }))).then(function(p) {
return a.shouldUseNativeValidation && vo({}, a), { values: r.raw ? Object.assign({}, n) : p, errors: {} };
}));
} catch (p) {
return o(p);
}
return l && l.then ? l.then(void 0, o) : l;
}(0, function(s) {
if (!s.inner) throw s;
return { values: {}, errors: lc((o = s, l = !a.shouldUseNativeValidation && a.criteriaMode === "all", (o.inner || []).reduce(function(p, d) {
if (p[d.path] || (p[d.path] = { message: d.message, type: d.type }), l) {
var f = p[d.path].types, m = f && f[d.type];
p[d.path] = uo(d.path, l, p, d.type, m ? [].concat(m, d.message) : d.message);
}
return p;
}, {})), a) };
var o, l;
}));
} catch (s) {
return Promise.reject(s);
}
};
}
var fn = class {
constructor() {
this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
}
subscribe(e) {
return this.listeners.add(e), this.onSubscribe(), () => {
this.listeners.delete(e), this.onUnsubscribe();
};
}
hasListeners() {
return this.listeners.size > 0;
}
onSubscribe() {
}
onUnsubscribe() {
}
}, pr = typeof window > "u" || "Deno" in globalThis;
function Ke() {
}
function dc(e, t) {
return typeof e == "function" ? e(t) : e;
}
function Di(e) {
return typeof e == "number" && e >= 0 && e !== 1 / 0;
}
function xo(e, t) {
return Math.max(e + (t || 0) - Date.now(), 0);
}
function Bt(e, t) {
return typeof e == "function" ? e(t) : e;
}
function rt(e, t) {
return typeof e == "function" ? e(t) : e;
}
function qa(e, t) {
const {
type: r = "all",
exact: n,
fetchStatus: i,
predicate: a,
queryKey: s,
stale: o
} = e;
if (s) {
if (n) {
if (t.queryHash !== ua(s, t.options))
return !1;
} else if (!an(t.queryKey, s))
return !1;
}
if (r !== "all") {
const l = t.isActive();
if (r === "active" && !l || r === "inactive" && l)
return !1;
}
return !(typeof o == "boolean" && t.isStale() !== o || i && i !== t.state.fetchStatus || a && !a(t));
}
function Ba(e, t) {
const { exact: r, status: n, predicate: i, mutationKey: a } = e;
if (a) {
if (!t.options.mutationKey)
return !1;
if (r) {
if (nn(t.options.mutationKey) !== nn(a))
return !1;
} else if (!an(t.options.mutationKey, a))
return !1;
}
return !(n && t.state.status !== n || i && !i(t));
}
function ua(e, t) {
return ((t == null ? void 0 : t.queryKeyHashFn) || nn)(e);
}
function nn(e) {
return JSON.stringify(
e,
(t, r) => ji(r) ? Object.keys(r).sort().reduce((n, i) => (n[i] = r[i], n), {}) : r
);
}
function an(e, t) {
return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? Object.keys(t).every((r) => an(e[r], t[r])) : !1;
}
function Ri(e, t) {
if (e === t)
return e;
const r = Ua(e) && Ua(t);
if (r || ji(e) && ji(t)) {
const n = r ? e : Object.keys(e), i = n.length, a = r ? t : Object.keys(t), s = a.length, o = r ? [] : {}, l = new Set(n);
let p = 0;
for (let d = 0; d < s; d++) {
const f = r ? d : a[d];
(!r && l.has(f) || r) && e[f] === void 0 && t[f] === void 0 ? (o[f] = void 0, p++) : (o[f] = Ri(e[f], t[f]), o[f] === e[f] && e[f] !== void 0 && p++);
}
return i === s && p === i ? e : o;
}
return t;
}
function Pi(e, t) {
if (!t || Object.keys(e).length !== Object.keys(t).length)
return !1;
for (const r in e)
if (e[r] !== t[r])
return !1;
return !0;
}
function Ua(e) {
return Array.isArray(e) && e.length === Object.keys(e).length;
}
function ji(e) {
if (!Wa(e))
return !1;
const t = e.constructor;
if (t === void 0)
return !0;
const r = t.prototype;
return !(!Wa(r) || !r.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
}
function Wa(e) {
return Object.prototype.toString.call(e) === "[object Object]";
}
function pc(e) {
return new Promise((t) => {
setTimeout(t, e);
});
}
function Ii(e, t, r) {
if (typeof r.structuralSharing == "function")
return r.structuralSharing(e, t);
if (r.structuralSharing !== !1) {
if (process.env.NODE_ENV !== "production")
try {
return Ri(e, t);
} catch (n) {
throw console.error(
`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${r.queryHash}]: ${n}`
), n;
}
return Ri(e, t);
}
return t;
}
function fc(e, t, r = 0) {
const n = [...e, t];
return r && n.length > r ? n.slice(1) : n;
}
function mc(e, t, r = 0) {
const n = [t, ...e];
return r && n.length > r ? n.slice(0, -1) : n;
}
var qn = Symbol();
function bo(e, t) {
return process.env.NODE_ENV !== "production" && e.queryFn === qn && console.error(
`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`
), !e.queryFn && (t != null && t.initialPromise) ? () => t.initialPromise : !e.queryFn || e.queryFn === qn ? () => Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)) : e.queryFn;
}
function hc(e, t) {
return typeof e == "function" ? e(...t) : !!e;
}
var tr, Rt, Ar, Qs, gc = (Qs = class extends fn {
constructor() {
super();
re(this, tr);
re(this, Rt);
re(this, Ar);
K(this, Ar, (t) => {
if (!pr && window.addEventListener) {
const r = () => t();
return window.addEventListener("visibilitychange", r, !1), () => {
window.removeEventListener("visibilitychange", r);
};
}
});
}
onSubscribe() {
v(this, Rt) || this.setEventListener(v(this, Ar));
}
onUnsubscribe() {
var t;
this.hasListeners() || ((t = v(this, Rt)) == null || t.call(this), K(this, Rt, void 0));
}
setEventListener(t) {
var r;
K(this, Ar, t), (r = v(this, Rt)) == null || r.call(this), K(this, Rt, t((n) => {
typeof n == "boolean" ? this.setFocused(n) : this.onFocus();
}));
}
setFocused(t) {
v(this, tr) !== t && (K(this, tr, t), this.onFocus());
}
onFocus() {
const t = this.isFocused();
this.listeners.forEach((r) => {
r(t);
});
}
isFocused() {
var t;
return typeof v(this, tr) == "boolean" ? v(this, tr) : ((t = globalThis.document) == null ? void 0 : t.visibilityState) !== "hidden";
}
}, tr = new WeakMap(), Rt = new WeakMap(), Ar = new WeakMap(), Qs), da = new gc(), Fr, Pt, $r, Gs, yc = (Gs = class extends fn {
constructor() {
super();
re(this, Fr, !0);
re(this, Pt);
re(this, $r);
K(this, $r, (t) => {
if (!pr && window.addEventListener) {
const r = () => t(!0), n = () => t(!1);
return window.addEventListener("online", r, !1), window.addEventListener("offline", n, !1), () => {
window.removeEventListener("online", r), window.removeEventListener("offline", n);
};
}
});
}
onSubscribe() {
v(this, Pt) || this.setEventListener(v(this, $r));
}
onUnsubscribe() {
var t;
this.hasListeners() || ((t = v(this, Pt)) == null || t.call(this), K(this, Pt, void 0));
}
setEventListener(t) {
var r;
K(this, $r, t), (r = v(this, Pt)) == null || r.call(this), K(this, Pt, t(this.setOnline.bind(this)));
}
setOnline(t) {
v(this, Fr) !== t && (K(this, Fr, t), this.listeners.forEach((n) => {
n(t);
}));
}
isOnline() {
return v(this, Fr);
}
}, Fr = new WeakMap(), Pt = new WeakMap(), $r = new WeakMap(), Gs), Bn = new yc();
function Mi() {
let e, t;
const r = new Promise((i, a) => {
e = i, t = a;
});
r.status = "pending", r.catch(() => {
});
function n(i) {
Object.assign(r, i), delete r.resolve, delete r.reject;
}
return r.resolve = (i) => {
n({
status: "fulfilled",
value: i
}), e(i);
}, r.reject = (i) => {
n({
status: "rejected",
reason: i
}), t(i);
}, r;
}
function vc(e) {
return Math.min(1e3 * 2 ** e, 3e4);
}
function wo(e) {
return (e ?? "online") === "online" ? Bn.isOnline() : !0;
}
var So = class extends Error {
constructor(e) {
super("CancelledError"), this.revert = e == null ? void 0 : e.revert, this.silent = e == null ? void 0 : e.silent;
}
};
function hi(e) {
return e instanceof So;
}
function Eo(e) {
let t = !1, r = 0, n = !1, i;
const a = Mi(), s = (c) => {
var w;
n || (m(new So(c)), (w = e.abort) == null || w.call(e));
}, o = () => {
t = !0;
}, l = () => {
t = !1;
}, p = () => da.isFocused() && (e.networkMode === "always" || Bn.isOnline()) && e.canRun(), d = () => wo(e.networkMode) && e.canRun(), f = (c) => {
var w;
n || (n = !0, (w = e.onSuccess) == null || w.call(e, c), i == null || i(), a.resolve(c));
}, m = (c) => {
var w;
n || (n = !0, (w = e.onError) == null || w.call(e, c), i == null || i(), a.reject(c));
}, x = () => new Promise((c) => {
var w;
i = (y) => {
(n || p()) && c(y);
}, (w = e.onPause) == null || w.call(e);
}).then(() => {
var c;
i = void 0, n || (c = e.onContinue) == null || c.call(e);
}), h = () => {
if (n)
return;
let c;
const w = r === 0 ? e.initialPromise : void 0;
try {
c = w ?? e.fn();
} catch (y) {
c = Promise.reject(y);
}
Promise.resolve(c).then(f).catch((y) => {
var M;
if (n)
return;
const O = e.retry ?? (pr ? 0 : 3), $ = e.retryDelay ?? vc, A = typeof $ == "function" ? $(r, y) : $, b = O === !0 || typeof O == "number" && r < O || typeof O == "function" && O(r, y);
if (t || !b) {
m(y);
return;
}
r++, (M = e.onFail) == null || M.call(e, r, y), pc(A).then(() => p() ? void 0 : x()).then(() => {
t ? m(y) : h();
});
});
};
return {
promise: a,
cancel: s,
continue: () => (i == null || i(), a),
cancelRetry: o,
continueRetry: l,
canStart: d,
start: () => (d() ? h() : x().then(h), a)
};
}
var xc = (e) => setTimeout(e, 0);
function bc() {
let e = [], t = 0, r = (o) => {
o();
}, n = (o) => {
o();
}, i = xc;
const a = (o) => {
t ? e.push(o) : i(() => {
r(o);
});
}, s = () => {
const o = e;
e = [], o.length && i(() => {
n(() => {
o.forEach((l) => {
r(l);
});
});
});
};
return {
batch: (o) => {
let l;
t++;
try {
l = o();
} finally {
t--, t || s();
}
return l;
},
/**
* All calls to the wrapped function will be batched.