@ubiquitypress/react-invenio-bulk-importer
Version:
React components for Invenio Bulk Importer
1,565 lines (1,564 loc) • 253 kB
JavaScript
import ct from "axios";
import Re from "qs";
import { connect as D, Provider as xo } from "react-redux";
import s, { Component as U, useContext as R, useEffect as Oe, useState as P, useCallback as k, Fragment as mr, useRef as ma, useMemo as ha, createContext as $o } from "react";
import E, { OverridableContext as Co } from "react-overridable";
import { Label as j, Icon as _, Input as ga, Button as M, List as x, Checkbox as hr, Card as H, Segment as he, Header as _e, Menu as zt, Pagination as wo, Item as we, Loader as ya, Dropdown as pe, Image as To, Popup as fe, Dimmer as Io, TableRow as St, TableCell as X, Table as I, TableHeader as ba, TableHeaderCell as Z, TableBody as va, Form as Se, Modal as de, ModalHeader as Ao, ModalContent as Fo, Grid as nt, Accordion as Mt, Message as J, Tab as ze, Progress as Oo, Container as Ro } from "semantic-ui-react";
import { combineReducers as ko, createStore as Po, applyMiddleware as Do } from "redux";
import No from "redux-thunk";
import Lo from "lodash";
import { TextField as Bo, SelectField as jt, BooleanField as Uo, TextAreaField as zo, BaseForm as Mo } from "react-invenio-forms";
import { useFormikContext as jo } from "formik";
const Ae = (e) => (e == null ? void 0 : e.charAt(0).toUpperCase()) + (e == null ? void 0 : e.slice(1)) || "";
var at = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function N(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var Ea = { exports: {} };
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
(function(e) {
(function() {
var t = {}.hasOwnProperty;
function r() {
for (var i = "", o = 0; o < arguments.length; o++) {
var l = arguments[o];
l && (i = a(i, n(l)));
}
return i;
}
function n(i) {
if (typeof i == "string" || typeof i == "number")
return i;
if (typeof i != "object")
return "";
if (Array.isArray(i))
return r.apply(null, i);
if (i.toString !== Object.prototype.toString && !i.toString.toString().includes("[native code]"))
return i.toString();
var o = "";
for (var l in i)
t.call(i, l) && i[l] && (o = a(o, l));
return o;
}
function a(i, o) {
return o ? i ? i + " " + o : i + o : i;
}
e.exports ? (r.default = r, e.exports = r) : window.classNames = r;
})();
})(Ea);
var Qo = Ea.exports;
const ut = /* @__PURE__ */ N(Qo), Sa = (e, t) => {
if (!(e instanceof Blob))
throw new Error("Invalid blob: expected a Blob instance");
if (typeof t != "string" || t.trim().length === 0)
throw new Error("Invalid filename: expected a non-empty string");
const r = window.URL.createObjectURL(e), n = document.createElement("a");
try {
n.href = r, n.download = t, document.body.appendChild(n), n.click();
} finally {
n.remove(), window.URL.revokeObjectURL(r);
}
}, _a = (e) => e.reduce((t, r) => t + r.file.size, 0), xa = (e) => gr(_a(e)), gr = (e) => {
if (e === 0)
return "0 Bytes";
const t = 1024, r = ["Bytes", "KB", "MB", "GB"], n = Math.floor(Math.log(e) / Math.log(t));
return `${Number.parseFloat((e / t ** n).toFixed(2))} ${r[n]}`;
}, We = (e) => new Date(e).toLocaleString(void 0, {
year: "numeric",
month: "2-digit",
day: "2-digit",
hour: "2-digit",
minute: "2-digit"
}), le = (e, t) => typeof e == "boolean" ? e ? "Enabled" : "Disabled" : e == null || e === "" ? "Not available" : t ? t(String(e)) : String(e), _t = (e) => e === "publish" ? "Publishing" : e.split("_").map((t, r) => t === "doi" ? "DOI" : r === 0 ? `${t.charAt(0).toUpperCase()}${t.slice(1)}` : t).join(" ");
var $a = { exports: {} };
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
(function(e, t) {
(function(r) {
var n;
if (e.exports = r(), n = !0, !n) {
var a = window.Cookies, i = window.Cookies = r();
i.noConflict = function() {
return window.Cookies = a, i;
};
}
})(function() {
function r() {
for (var i = 0, o = {}; i < arguments.length; i++) {
var l = arguments[i];
for (var c in l)
o[c] = l[c];
}
return o;
}
function n(i) {
return i.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
}
function a(i) {
function o() {
}
function l(u, d, p) {
if (!(typeof document > "u")) {
p = r({
path: "/"
}, o.defaults, p), typeof p.expires == "number" && (p.expires = new Date(/* @__PURE__ */ new Date() * 1 + p.expires * 864e5)), p.expires = p.expires ? p.expires.toUTCString() : "";
try {
var m = JSON.stringify(d);
/^[\{\[]/.test(m) && (d = m);
} catch {
}
d = i.write ? i.write(d, u) : encodeURIComponent(String(d)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), u = encodeURIComponent(String(u)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\(\)]/g, escape);
var f = "";
for (var g in p)
p[g] && (f += "; " + g, p[g] !== !0 && (f += "=" + p[g].split(";")[0]));
return document.cookie = u + "=" + d + f;
}
}
function c(u, d) {
if (!(typeof document > "u")) {
for (var p = {}, m = document.cookie ? document.cookie.split("; ") : [], f = 0; f < m.length; f++) {
var g = m[f].split("="), b = g.slice(1).join("=");
!d && b.charAt(0) === '"' && (b = b.slice(1, -1));
try {
var v = n(g[0]);
if (b = (i.read || i)(b, v) || n(b), d)
try {
b = JSON.parse(b);
} catch {
}
if (p[v] = b, u === v)
break;
} catch {
}
}
return u ? p[u] : p;
}
}
return o.set = l, o.get = function(u) {
return c(
u,
!1
/* read as raw */
);
}, o.getJSON = function(u) {
return c(
u,
!0
/* read as json */
);
}, o.remove = function(u, d) {
l(u, "", r(d, {
expires: -1
}));
}, o.defaults = {}, o.withConverter = a, o;
}
return a(function() {
});
});
})($a);
var Vo = $a.exports;
const qo = /* @__PURE__ */ N(Vo), Go = () => qo.get("csrftoken") || null, Ho = (e) => {
switch (e) {
case "success":
return "green";
case "validation failed":
case "serializer validation failed":
case "import failed":
case "imported with failures":
case "validated with failures":
case "damaged":
return "red";
case "validated":
case "created":
return "blue";
case "importing":
case "validating":
return "yellow";
default:
return "grey";
}
};
var Wo = Object.prototype;
function Yo(e) {
var t = e && e.constructor, r = typeof t == "function" && t.prototype || Wo;
return e === r;
}
var xt = Yo;
function Ko(e, t) {
return function(r) {
return e(t(r));
};
}
var Ca = Ko, Xo = Ca, Zo = Xo(Object.keys, Object), Jo = Zo, el = xt, tl = Jo, rl = Object.prototype, nl = rl.hasOwnProperty;
function al(e) {
if (!el(e))
return tl(e);
var t = [];
for (var r in Object(e))
nl.call(e, r) && r != "constructor" && t.push(r);
return t;
}
var wa = al, il = typeof at == "object" && at && at.Object === Object && at, Ta = il, sl = Ta, ol = typeof self == "object" && self && self.Object === Object && self, ll = sl || ol || Function("return this")(), ae = ll, cl = ae, ul = cl.Symbol, ke = ul, Kr = ke, Ia = Object.prototype, dl = Ia.hasOwnProperty, pl = Ia.toString, Me = Kr ? Kr.toStringTag : void 0;
function fl(e) {
var t = dl.call(e, Me), r = e[Me];
try {
e[Me] = void 0;
var n = !0;
} catch {
}
var a = pl.call(e);
return n && (t ? e[Me] = r : delete e[Me]), a;
}
var ml = fl, hl = Object.prototype, gl = hl.toString;
function yl(e) {
return gl.call(e);
}
var bl = yl, Xr = ke, vl = ml, El = bl, Sl = "[object Null]", _l = "[object Undefined]", Zr = Xr ? Xr.toStringTag : void 0;
function xl(e) {
return e == null ? e === void 0 ? _l : Sl : Zr && Zr in Object(e) ? vl(e) : El(e);
}
var ge = xl;
function $l(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var oe = $l;
const Cl = /* @__PURE__ */ N(oe);
var wl = ge, Tl = oe, Il = "[object AsyncFunction]", Al = "[object Function]", Fl = "[object GeneratorFunction]", Ol = "[object Proxy]";
function Rl(e) {
if (!Tl(e))
return !1;
var t = wl(e);
return t == Al || t == Fl || t == Il || t == Ol;
}
var Aa = Rl, kl = ae, Pl = kl["__core-js_shared__"], Dl = Pl, Qt = Dl, Jr = function() {
var e = /[^.]+$/.exec(Qt && Qt.keys && Qt.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function Nl(e) {
return !!Jr && Jr in e;
}
var Ll = Nl, Bl = Function.prototype, Ul = Bl.toString;
function zl(e) {
if (e != null) {
try {
return Ul.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var Fa = zl, Ml = Aa, jl = Ll, Ql = oe, Vl = Fa, ql = /[\\^$.*+?()[\]{}|]/g, Gl = /^\[object .+?Constructor\]$/, Hl = Function.prototype, Wl = Object.prototype, Yl = Hl.toString, Kl = Wl.hasOwnProperty, Xl = RegExp(
"^" + Yl.call(Kl).replace(ql, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function Zl(e) {
if (!Ql(e) || jl(e))
return !1;
var t = Ml(e) ? Xl : Gl;
return t.test(Vl(e));
}
var Jl = Zl;
function ec(e, t) {
return e == null ? void 0 : e[t];
}
var tc = ec, rc = Jl, nc = tc;
function ac(e, t) {
var r = nc(e, t);
return rc(r) ? r : void 0;
}
var xe = ac, ic = xe, sc = ae, oc = ic(sc, "DataView"), lc = oc, cc = xe, uc = ae, dc = cc(uc, "Map"), yr = dc, pc = xe, fc = ae, mc = pc(fc, "Promise"), hc = mc, gc = xe, yc = ae, bc = gc(yc, "Set"), vc = bc, Ec = xe, Sc = ae, _c = Ec(Sc, "WeakMap"), xc = _c, Kt = lc, Xt = yr, Zt = hc, Jt = vc, er = xc, Oa = ge, Pe = Fa, en = "[object Map]", $c = "[object Object]", tn = "[object Promise]", rn = "[object Set]", nn = "[object WeakMap]", an = "[object DataView]", Cc = Pe(Kt), wc = Pe(Xt), Tc = Pe(Zt), Ic = Pe(Jt), Ac = Pe(er), ve = Oa;
(Kt && ve(new Kt(new ArrayBuffer(1))) != an || Xt && ve(new Xt()) != en || Zt && ve(Zt.resolve()) != tn || Jt && ve(new Jt()) != rn || er && ve(new er()) != nn) && (ve = function(e) {
var t = Oa(e), r = t == $c ? e.constructor : void 0, n = r ? Pe(r) : "";
if (n)
switch (n) {
case Cc:
return an;
case wc:
return en;
case Tc:
return tn;
case Ic:
return rn;
case Ac:
return nn;
}
return t;
});
var Ke = ve;
function Fc(e) {
return e != null && typeof e == "object";
}
var ie = Fc, Oc = ge, Rc = ie, kc = "[object Arguments]";
function Pc(e) {
return Rc(e) && Oc(e) == kc;
}
var Dc = Pc, sn = Dc, Nc = ie, Ra = Object.prototype, Lc = Ra.hasOwnProperty, Bc = Ra.propertyIsEnumerable, Uc = sn(function() {
return arguments;
}()) ? sn : function(e) {
return Nc(e) && Lc.call(e, "callee") && !Bc.call(e, "callee");
}, $t = Uc, zc = Array.isArray, Y = zc;
const ka = /* @__PURE__ */ N(Y);
var Mc = 9007199254740991;
function jc(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Mc;
}
var br = jc, Qc = Aa, Vc = br;
function qc(e) {
return e != null && Vc(e.length) && !Qc(e);
}
var Ct = qc, pt = { exports: {} };
function Gc() {
return !1;
}
var Hc = Gc;
pt.exports;
(function(e, t) {
var r = ae, n = Hc, a = t && !t.nodeType && t, i = a && !0 && e && !e.nodeType && e, o = i && i.exports === a, l = o ? r.Buffer : void 0, c = l ? l.isBuffer : void 0, u = c || n;
e.exports = u;
})(pt, pt.exports);
var wt = pt.exports, Wc = ge, Yc = br, Kc = ie, Xc = "[object Arguments]", Zc = "[object Array]", Jc = "[object Boolean]", eu = "[object Date]", tu = "[object Error]", ru = "[object Function]", nu = "[object Map]", au = "[object Number]", iu = "[object Object]", su = "[object RegExp]", ou = "[object Set]", lu = "[object String]", cu = "[object WeakMap]", uu = "[object ArrayBuffer]", du = "[object DataView]", pu = "[object Float32Array]", fu = "[object Float64Array]", mu = "[object Int8Array]", hu = "[object Int16Array]", gu = "[object Int32Array]", yu = "[object Uint8Array]", bu = "[object Uint8ClampedArray]", vu = "[object Uint16Array]", Eu = "[object Uint32Array]", T = {};
T[pu] = T[fu] = T[mu] = T[hu] = T[gu] = T[yu] = T[bu] = T[vu] = T[Eu] = !0;
T[Xc] = T[Zc] = T[uu] = T[Jc] = T[du] = T[eu] = T[tu] = T[ru] = T[nu] = T[au] = T[iu] = T[su] = T[ou] = T[lu] = T[cu] = !1;
function Su(e) {
return Kc(e) && Yc(e.length) && !!T[Wc(e)];
}
var _u = Su;
function xu(e) {
return function(t) {
return e(t);
};
}
var vr = xu, ft = { exports: {} };
ft.exports;
(function(e, t) {
var r = Ta, n = t && !t.nodeType && t, a = n && !0 && e && !e.nodeType && e, i = a && a.exports === n, o = i && r.process, l = function() {
try {
var c = a && a.require && a.require("util").types;
return c || o && o.binding && o.binding("util");
} catch {
}
}();
e.exports = l;
})(ft, ft.exports);
var Er = ft.exports, $u = _u, Cu = vr, on = Er, ln = on && on.isTypedArray, wu = ln ? Cu(ln) : $u, Sr = wu, Tu = wa, Iu = Ke, Au = $t, Fu = Y, Ou = Ct, Ru = wt, ku = xt, Pu = Sr, Du = "[object Map]", Nu = "[object Set]", Lu = Object.prototype, Bu = Lu.hasOwnProperty;
function Uu(e) {
if (e == null)
return !0;
if (Ou(e) && (Fu(e) || typeof e == "string" || typeof e.splice == "function" || Ru(e) || Pu(e) || Au(e)))
return !e.length;
var t = Iu(e);
if (t == Du || t == Nu)
return !e.size;
if (ku(e))
return !Tu(e).length;
for (var r in e)
if (Bu.call(e, r))
return !1;
return !0;
}
var zu = Uu;
const se = /* @__PURE__ */ N(zu);
var Mu = ge, ju = ie, Qu = "[object Symbol]";
function Vu(e) {
return typeof e == "symbol" || ju(e) && Mu(e) == Qu;
}
var _r = Vu, qu = Y, Gu = _r, Hu = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Wu = /^\w*$/;
function Yu(e, t) {
if (qu(e))
return !1;
var r = typeof e;
return r == "number" || r == "symbol" || r == "boolean" || e == null || Gu(e) ? !0 : Wu.test(e) || !Hu.test(e) || t != null && e in Object(t);
}
var xr = Yu, Ku = xe, Xu = Ku(Object, "create"), Tt = Xu, cn = Tt;
function Zu() {
this.__data__ = cn ? cn(null) : {}, this.size = 0;
}
var Ju = Zu;
function ed(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var td = ed, rd = Tt, nd = "__lodash_hash_undefined__", ad = Object.prototype, id = ad.hasOwnProperty;
function sd(e) {
var t = this.__data__;
if (rd) {
var r = t[e];
return r === nd ? void 0 : r;
}
return id.call(t, e) ? t[e] : void 0;
}
var od = sd, ld = Tt, cd = Object.prototype, ud = cd.hasOwnProperty;
function dd(e) {
var t = this.__data__;
return ld ? t[e] !== void 0 : ud.call(t, e);
}
var pd = dd, fd = Tt, md = "__lodash_hash_undefined__";
function hd(e, t) {
var r = this.__data__;
return this.size += this.has(e) ? 0 : 1, r[e] = fd && t === void 0 ? md : t, this;
}
var gd = hd, yd = Ju, bd = td, vd = od, Ed = pd, Sd = gd;
function De(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
De.prototype.clear = yd;
De.prototype.delete = bd;
De.prototype.get = vd;
De.prototype.has = Ed;
De.prototype.set = Sd;
var _d = De;
function xd() {
this.__data__ = [], this.size = 0;
}
var $d = xd;
function Cd(e, t) {
return e === t || e !== e && t !== t;
}
var It = Cd, wd = It;
function Td(e, t) {
for (var r = e.length; r--; )
if (wd(e[r][0], t))
return r;
return -1;
}
var At = Td, Id = At, Ad = Array.prototype, Fd = Ad.splice;
function Od(e) {
var t = this.__data__, r = Id(t, e);
if (r < 0)
return !1;
var n = t.length - 1;
return r == n ? t.pop() : Fd.call(t, r, 1), --this.size, !0;
}
var Rd = Od, kd = At;
function Pd(e) {
var t = this.__data__, r = kd(t, e);
return r < 0 ? void 0 : t[r][1];
}
var Dd = Pd, Nd = At;
function Ld(e) {
return Nd(this.__data__, e) > -1;
}
var Bd = Ld, Ud = At;
function zd(e, t) {
var r = this.__data__, n = Ud(r, e);
return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;
}
var Md = zd, jd = $d, Qd = Rd, Vd = Dd, qd = Bd, Gd = Md;
function Ne(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
Ne.prototype.clear = jd;
Ne.prototype.delete = Qd;
Ne.prototype.get = Vd;
Ne.prototype.has = qd;
Ne.prototype.set = Gd;
var Ft = Ne, un = _d, Hd = Ft, Wd = yr;
function Yd() {
this.size = 0, this.__data__ = {
hash: new un(),
map: new (Wd || Hd)(),
string: new un()
};
}
var Kd = Yd;
function Xd(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
var Zd = Xd, Jd = Zd;
function ep(e, t) {
var r = e.__data__;
return Jd(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
}
var Ot = ep, tp = Ot;
function rp(e) {
var t = tp(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
var np = rp, ap = Ot;
function ip(e) {
return ap(this, e).get(e);
}
var sp = ip, op = Ot;
function lp(e) {
return op(this, e).has(e);
}
var cp = lp, up = Ot;
function dp(e, t) {
var r = up(this, e), n = r.size;
return r.set(e, t), this.size += r.size == n ? 0 : 1, this;
}
var pp = dp, fp = Kd, mp = np, hp = sp, gp = cp, yp = pp;
function Le(e) {
var t = -1, r = e == null ? 0 : e.length;
for (this.clear(); ++t < r; ) {
var n = e[t];
this.set(n[0], n[1]);
}
}
Le.prototype.clear = fp;
Le.prototype.delete = mp;
Le.prototype.get = hp;
Le.prototype.has = gp;
Le.prototype.set = yp;
var $r = Le, Pa = $r, bp = "Expected a function";
function Cr(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(bp);
var r = function() {
var n = arguments, a = t ? t.apply(this, n) : n[0], i = r.cache;
if (i.has(a))
return i.get(a);
var o = e.apply(this, n);
return r.cache = i.set(a, o) || i, o;
};
return r.cache = new (Cr.Cache || Pa)(), r;
}
Cr.Cache = Pa;
var vp = Cr, Ep = vp, Sp = 500;
function _p(e) {
var t = Ep(e, function(n) {
return r.size === Sp && r.clear(), n;
}), r = t.cache;
return t;
}
var xp = _p, $p = xp, Cp = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, wp = /\\(\\)?/g, Tp = $p(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(Cp, function(r, n, a, i) {
t.push(a ? i.replace(wp, "$1") : n || r);
}), t;
}), Ip = Tp;
function Ap(e, t) {
for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )
a[r] = t(e[r], r, e);
return a;
}
var Fp = Ap, dn = ke, Op = Fp, Rp = Y, kp = _r, Pp = 1 / 0, pn = dn ? dn.prototype : void 0, fn = pn ? pn.toString : void 0;
function Da(e) {
if (typeof e == "string")
return e;
if (Rp(e))
return Op(e, Da) + "";
if (kp(e))
return fn ? fn.call(e) : "";
var t = e + "";
return t == "0" && 1 / e == -Pp ? "-0" : t;
}
var Dp = Da, Np = Dp;
function Lp(e) {
return e == null ? "" : Np(e);
}
var Xe = Lp, Bp = Y, Up = xr, zp = Ip, Mp = Xe;
function jp(e, t) {
return Bp(e) ? e : Up(e, t) ? [e] : zp(Mp(e));
}
var Rt = jp, Qp = _r, Vp = 1 / 0;
function qp(e) {
if (typeof e == "string" || Qp(e))
return e;
var t = e + "";
return t == "0" && 1 / e == -Vp ? "-0" : t;
}
var Ze = qp, Gp = Rt, Hp = Ze;
function Wp(e, t) {
t = Gp(t, e);
for (var r = 0, n = t.length; e != null && r < n; )
e = e[Hp(t[r++])];
return r && r == n ? e : void 0;
}
var wr = Wp, Yp = wr;
function Kp(e, t, r) {
var n = e == null ? void 0 : Yp(e, t);
return n === void 0 ? r : n;
}
var Na = Kp;
const Ve = /* @__PURE__ */ N(Na);
function Xp(e, t) {
return e != null && t in Object(e);
}
var Zp = Xp, Jp = 9007199254740991, ef = /^(?:0|[1-9]\d*)$/;
function tf(e, t) {
var r = typeof e;
return t = t ?? Jp, !!t && (r == "number" || r != "symbol" && ef.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
var kt = tf, rf = Rt, nf = $t, af = Y, sf = kt, of = br, lf = Ze;
function cf(e, t, r) {
t = rf(t, e);
for (var n = -1, a = t.length, i = !1; ++n < a; ) {
var o = lf(t[n]);
if (!(i = e != null && r(e, o)))
break;
e = e[o];
}
return i || ++n != a ? i : (a = e == null ? 0 : e.length, !!a && of(a) && sf(o, a) && (af(e) || nf(e)));
}
var La = cf, uf = Zp, df = La;
function pf(e, t) {
return e != null && df(e, t, uf);
}
var Tr = pf;
const ff = /* @__PURE__ */ N(Tr);
var mf = xe, hf = function() {
try {
var e = mf(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}(), Ba = hf, mn = Ba;
function gf(e, t, r) {
t == "__proto__" && mn ? mn(e, t, {
configurable: !0,
enumerable: !0,
value: r,
writable: !0
}) : e[t] = r;
}
var Pt = gf, yf = Pt, bf = It, vf = Object.prototype, Ef = vf.hasOwnProperty;
function Sf(e, t, r) {
var n = e[t];
(!(Ef.call(e, t) && bf(n, r)) || r === void 0 && !(t in e)) && yf(e, t, r);
}
var Ir = Sf, _f = Ir, xf = Pt;
function $f(e, t, r, n) {
var a = !r;
r || (r = {});
for (var i = -1, o = t.length; ++i < o; ) {
var l = t[i], c = n ? n(r[l], e[l], l, r, e) : void 0;
c === void 0 && (c = e[l]), a ? xf(r, l, c) : _f(r, l, c);
}
return r;
}
var Je = $f;
function Cf(e) {
return e;
}
var Ar = Cf;
function wf(e, t, r) {
switch (r.length) {
case 0:
return e.call(t);
case 1:
return e.call(t, r[0]);
case 2:
return e.call(t, r[0], r[1]);
case 3:
return e.call(t, r[0], r[1], r[2]);
}
return e.apply(t, r);
}
var Tf = wf, If = Tf, hn = Math.max;
function Af(e, t, r) {
return t = hn(t === void 0 ? e.length - 1 : t, 0), function() {
for (var n = arguments, a = -1, i = hn(n.length - t, 0), o = Array(i); ++a < i; )
o[a] = n[t + a];
a = -1;
for (var l = Array(t + 1); ++a < t; )
l[a] = n[a];
return l[t] = r(o), If(e, this, l);
};
}
var Ua = Af;
function Ff(e) {
return function() {
return e;
};
}
var Of = Ff, Rf = Of, gn = Ba, kf = Ar, Pf = gn ? function(e, t) {
return gn(e, "toString", {
configurable: !0,
enumerable: !1,
value: Rf(t),
writable: !0
});
} : kf, Df = Pf, Nf = 800, Lf = 16, Bf = Date.now;
function Uf(e) {
var t = 0, r = 0;
return function() {
var n = Bf(), a = Lf - (n - r);
if (r = n, a > 0) {
if (++t >= Nf)
return arguments[0];
} else
t = 0;
return e.apply(void 0, arguments);
};
}
var zf = Uf, Mf = Df, jf = zf, Qf = jf(Mf), za = Qf, Vf = Ar, qf = Ua, Gf = za;
function Hf(e, t) {
return Gf(qf(e, t, Vf), e + "");
}
var Wf = Hf, Yf = It, Kf = Ct, Xf = kt, Zf = oe;
function Jf(e, t, r) {
if (!Zf(r))
return !1;
var n = typeof t;
return (n == "number" ? Kf(r) && Xf(t, r.length) : n == "string" && t in r) ? Yf(r[t], e) : !1;
}
var em = Jf, tm = Wf, rm = em;
function nm(e) {
return tm(function(t, r) {
var n = -1, a = r.length, i = a > 1 ? r[a - 1] : void 0, o = a > 2 ? r[2] : void 0;
for (i = e.length > 3 && typeof i == "function" ? (a--, i) : void 0, o && rm(r[0], r[1], o) && (i = a < 3 ? void 0 : i, a = 1), t = Object(t); ++n < a; ) {
var l = r[n];
l && e(t, l, n, i);
}
return t;
});
}
var am = nm;
function im(e, t) {
for (var r = -1, n = Array(e); ++r < e; )
n[r] = t(r);
return n;
}
var sm = im, om = sm, lm = $t, cm = Y, um = wt, dm = kt, pm = Sr, fm = Object.prototype, mm = fm.hasOwnProperty;
function hm(e, t) {
var r = cm(e), n = !r && lm(e), a = !r && !n && um(e), i = !r && !n && !a && pm(e), o = r || n || a || i, l = o ? om(e.length, String) : [], c = l.length;
for (var u in e)
(t || mm.call(e, u)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
a && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
i && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
dm(u, c))) && l.push(u);
return l;
}
var Ma = hm;
function gm(e) {
var t = [];
if (e != null)
for (var r in Object(e))
t.push(r);
return t;
}
var ym = gm, bm = oe, vm = xt, Em = ym, Sm = Object.prototype, _m = Sm.hasOwnProperty;
function xm(e) {
if (!bm(e))
return Em(e);
var t = vm(e), r = [];
for (var n in e)
n == "constructor" && (t || !_m.call(e, n)) || r.push(n);
return r;
}
var $m = xm, Cm = Ma, wm = $m, Tm = Ct;
function Im(e) {
return Tm(e) ? Cm(e, !0) : wm(e);
}
var Dt = Im, Am = Je, Fm = am, Om = Dt, Rm = Fm(function(e, t) {
Am(t, Om(t), e);
}), km = Rm, Pm = km;
const mt = /* @__PURE__ */ N(Pm);
function Dm(e) {
return e && e.length ? e[0] : void 0;
}
var Nm = Dm;
const Lm = /* @__PURE__ */ N(Nm);
var Bm = Ir, Um = Rt, zm = kt, yn = oe, Mm = Ze;
function jm(e, t, r, n) {
if (!yn(e))
return e;
t = Um(t, e);
for (var a = -1, i = t.length, o = i - 1, l = e; l != null && ++a < i; ) {
var c = Mm(t[a]), u = r;
if (c === "__proto__" || c === "constructor" || c === "prototype")
return e;
if (a != o) {
var d = l[c];
u = n ? n(d, c, l) : void 0, u === void 0 && (u = yn(d) ? d : zm(t[a + 1]) ? [] : {});
}
Bm(l, c, u), l = l[c];
}
return e;
}
var Qm = jm, Vm = wr, qm = Qm, Gm = Rt;
function Hm(e, t, r) {
for (var n = -1, a = t.length, i = {}; ++n < a; ) {
var o = t[n], l = Vm(e, o);
r(l, o) && qm(i, Gm(o, e), l);
}
return i;
}
var Wm = Hm, Ym = Wm, Km = Tr;
function Xm(e, t) {
return Ym(e, t, function(r, n) {
return Km(e, n);
});
}
var Zm = Xm;
function Jm(e, t) {
for (var r = -1, n = t.length, a = e.length; ++r < n; )
e[a + r] = t[r];
return e;
}
var Fr = Jm, bn = ke, eh = $t, th = Y, vn = bn ? bn.isConcatSpreadable : void 0;
function rh(e) {
return th(e) || eh(e) || !!(vn && e && e[vn]);
}
var nh = rh, ah = Fr, ih = nh;
function ja(e, t, r, n, a) {
var i = -1, o = e.length;
for (r || (r = ih), a || (a = []); ++i < o; ) {
var l = e[i];
t > 0 && r(l) ? t > 1 ? ja(l, t - 1, r, n, a) : ah(a, l) : n || (a[a.length] = l);
}
return a;
}
var sh = ja, oh = sh;
function lh(e) {
var t = e == null ? 0 : e.length;
return t ? oh(e, 1) : [];
}
var ch = lh, uh = ch, dh = Ua, ph = za;
function fh(e) {
return ph(dh(e, void 0, uh), e + "");
}
var mh = fh, hh = Zm, gh = mh, yh = gh(function(e, t) {
return e == null ? {} : hh(e, t);
}), bh = yh;
const vh = /* @__PURE__ */ N(bh);
var Eh = Ft;
function Sh() {
this.__data__ = new Eh(), this.size = 0;
}
var _h = Sh;
function xh(e) {
var t = this.__data__, r = t.delete(e);
return this.size = t.size, r;
}
var $h = xh;
function Ch(e) {
return this.__data__.get(e);
}
var wh = Ch;
function Th(e) {
return this.__data__.has(e);
}
var Ih = Th, Ah = Ft, Fh = yr, Oh = $r, Rh = 200;
function kh(e, t) {
var r = this.__data__;
if (r instanceof Ah) {
var n = r.__data__;
if (!Fh || n.length < Rh - 1)
return n.push([e, t]), this.size = ++r.size, this;
r = this.__data__ = new Oh(n);
}
return r.set(e, t), this.size = r.size, this;
}
var Ph = kh, Dh = Ft, Nh = _h, Lh = $h, Bh = wh, Uh = Ih, zh = Ph;
function Be(e) {
var t = this.__data__ = new Dh(e);
this.size = t.size;
}
Be.prototype.clear = Nh;
Be.prototype.delete = Lh;
Be.prototype.get = Bh;
Be.prototype.has = Uh;
Be.prototype.set = zh;
var Or = Be;
function Mh(e, t) {
for (var r = -1, n = e == null ? 0 : e.length; ++r < n && t(e[r], r, e) !== !1; )
;
return e;
}
var jh = Mh, Qh = Ma, Vh = wa, qh = Ct;
function Gh(e) {
return qh(e) ? Qh(e) : Vh(e);
}
var et = Gh, Hh = Je, Wh = et;
function Yh(e, t) {
return e && Hh(t, Wh(t), e);
}
var Kh = Yh, Xh = Je, Zh = Dt;
function Jh(e, t) {
return e && Xh(t, Zh(t), e);
}
var eg = Jh, ht = { exports: {} };
ht.exports;
(function(e, t) {
var r = ae, n = t && !t.nodeType && t, a = n && !0 && e && !e.nodeType && e, i = a && a.exports === n, o = i ? r.Buffer : void 0, l = o ? o.allocUnsafe : void 0;
function c(u, d) {
if (d)
return u.slice();
var p = u.length, m = l ? l(p) : new u.constructor(p);
return u.copy(m), m;
}
e.exports = c;
})(ht, ht.exports);
var tg = ht.exports;
function rg(e, t) {
var r = -1, n = e.length;
for (t || (t = Array(n)); ++r < n; )
t[r] = e[r];
return t;
}
var ng = rg;
function ag(e, t) {
for (var r = -1, n = e == null ? 0 : e.length, a = 0, i = []; ++r < n; ) {
var o = e[r];
t(o, r, e) && (i[a++] = o);
}
return i;
}
var ig = ag;
function sg() {
return [];
}
var Qa = sg, og = ig, lg = Qa, cg = Object.prototype, ug = cg.propertyIsEnumerable, En = Object.getOwnPropertySymbols, dg = En ? function(e) {
return e == null ? [] : (e = Object(e), og(En(e), function(t) {
return ug.call(e, t);
}));
} : lg, Rr = dg, pg = Je, fg = Rr;
function mg(e, t) {
return pg(e, fg(e), t);
}
var hg = mg, gg = Ca, yg = gg(Object.getPrototypeOf, Object), Va = yg, bg = Fr, vg = Va, Eg = Rr, Sg = Qa, _g = Object.getOwnPropertySymbols, xg = _g ? function(e) {
for (var t = []; e; )
bg(t, Eg(e)), e = vg(e);
return t;
} : Sg, qa = xg, $g = Je, Cg = qa;
function wg(e, t) {
return $g(e, Cg(e), t);
}
var Tg = wg, Ig = Fr, Ag = Y;
function Fg(e, t, r) {
var n = t(e);
return Ag(e) ? n : Ig(n, r(e));
}
var Ga = Fg, Og = Ga, Rg = Rr, kg = et;
function Pg(e) {
return Og(e, kg, Rg);
}
var Ha = Pg, Dg = Ga, Ng = qa, Lg = Dt;
function Bg(e) {
return Dg(e, Lg, Ng);
}
var Ug = Bg, zg = Object.prototype, Mg = zg.hasOwnProperty;
function jg(e) {
var t = e.length, r = new e.constructor(t);
return t && typeof e[0] == "string" && Mg.call(e, "index") && (r.index = e.index, r.input = e.input), r;
}
var Qg = jg, Vg = ae, qg = Vg.Uint8Array, Wa = qg, Sn = Wa;
function Gg(e) {
var t = new e.constructor(e.byteLength);
return new Sn(t).set(new Sn(e)), t;
}
var kr = Gg, Hg = kr;
function Wg(e, t) {
var r = t ? Hg(e.buffer) : e.buffer;
return new e.constructor(r, e.byteOffset, e.byteLength);
}
var Yg = Wg, Kg = /\w*$/;
function Xg(e) {
var t = new e.constructor(e.source, Kg.exec(e));
return t.lastIndex = e.lastIndex, t;
}
var Zg = Xg, _n = ke, xn = _n ? _n.prototype : void 0, $n = xn ? xn.valueOf : void 0;
function Jg(e) {
return $n ? Object($n.call(e)) : {};
}
var ey = Jg, ty = kr;
function ry(e, t) {
var r = t ? ty(e.buffer) : e.buffer;
return new e.constructor(r, e.byteOffset, e.length);
}
var ny = ry, ay = kr, iy = Yg, sy = Zg, oy = ey, ly = ny, cy = "[object Boolean]", uy = "[object Date]", dy = "[object Map]", py = "[object Number]", fy = "[object RegExp]", my = "[object Set]", hy = "[object String]", gy = "[object Symbol]", yy = "[object ArrayBuffer]", by = "[object DataView]", vy = "[object Float32Array]", Ey = "[object Float64Array]", Sy = "[object Int8Array]", _y = "[object Int16Array]", xy = "[object Int32Array]", $y = "[object Uint8Array]", Cy = "[object Uint8ClampedArray]", wy = "[object Uint16Array]", Ty = "[object Uint32Array]";
function Iy(e, t, r) {
var n = e.constructor;
switch (t) {
case yy:
return ay(e);
case cy:
case uy:
return new n(+e);
case by:
return iy(e, r);
case vy:
case Ey:
case Sy:
case _y:
case xy:
case $y:
case Cy:
case wy:
case Ty:
return ly(e, r);
case dy:
return new n();
case py:
case hy:
return new n(e);
case fy:
return sy(e);
case my:
return new n();
case gy:
return oy(e);
}
}
var Ay = Iy, Fy = oe, Cn = Object.create, Oy = function() {
function e() {
}
return function(t) {
if (!Fy(t))
return {};
if (Cn)
return Cn(t);
e.prototype = t;
var r = new e();
return e.prototype = void 0, r;
};
}(), Ry = Oy, ky = Ry, Py = Va, Dy = xt;
function Ny(e) {
return typeof e.constructor == "function" && !Dy(e) ? ky(Py(e)) : {};
}
var Ly = Ny, By = Ke, Uy = ie, zy = "[object Map]";
function My(e) {
return Uy(e) && By(e) == zy;
}
var jy = My, Qy = jy, Vy = vr, wn = Er, Tn = wn && wn.isMap, qy = Tn ? Vy(Tn) : Qy, Gy = qy, Hy = Ke, Wy = ie, Yy = "[object Set]";
function Ky(e) {
return Wy(e) && Hy(e) == Yy;
}
var Xy = Ky, Zy = Xy, Jy = vr, In = Er, An = In && In.isSet, eb = An ? Jy(An) : Zy, tb = eb, rb = Or, nb = jh, ab = Ir, ib = Kh, sb = eg, ob = tg, lb = ng, cb = hg, ub = Tg, db = Ha, pb = Ug, fb = Ke, mb = Qg, hb = Ay, gb = Ly, yb = Y, bb = wt, vb = Gy, Eb = oe, Sb = tb, _b = et, xb = Dt, $b = 1, Cb = 2, wb = 4, Ya = "[object Arguments]", Tb = "[object Array]", Ib = "[object Boolean]", Ab = "[object Date]", Fb = "[object Error]", Ka = "[object Function]", Ob = "[object GeneratorFunction]", Rb = "[object Map]", kb = "[object Number]", Xa = "[object Object]", Pb = "[object RegExp]", Db = "[object Set]", Nb = "[object String]", Lb = "[object Symbol]", Bb = "[object WeakMap]", Ub = "[object ArrayBuffer]", zb = "[object DataView]", Mb = "[object Float32Array]", jb = "[object Float64Array]", Qb = "[object Int8Array]", Vb = "[object Int16Array]", qb = "[object Int32Array]", Gb = "[object Uint8Array]", Hb = "[object Uint8ClampedArray]", Wb = "[object Uint16Array]", Yb = "[object Uint32Array]", C = {};
C[Ya] = C[Tb] = C[Ub] = C[zb] = C[Ib] = C[Ab] = C[Mb] = C[jb] = C[Qb] = C[Vb] = C[qb] = C[Rb] = C[kb] = C[Xa] = C[Pb] = C[Db] = C[Nb] = C[Lb] = C[Gb] = C[Hb] = C[Wb] = C[Yb] = !0;
C[Fb] = C[Ka] = C[Bb] = !1;
function dt(e, t, r, n, a, i) {
var o, l = t & $b, c = t & Cb, u = t & wb;
if (r && (o = a ? r(e, n, a, i) : r(e)), o !== void 0)
return o;
if (!Eb(e))
return e;
var d = yb(e);
if (d) {
if (o = mb(e), !l)
return lb(e, o);
} else {
var p = fb(e), m = p == Ka || p == Ob;
if (bb(e))
return ob(e, l);
if (p == Xa || p == Ya || m && !a) {
if (o = c || m ? {} : gb(e), !l)
return c ? ub(e, sb(o, e)) : cb(e, ib(o, e));
} else {
if (!C[p])
return a ? e : {};
o = hb(e, p, l);
}
}
i || (i = new rb());
var f = i.get(e);
if (f)
return f;
i.set(e, o), Sb(e) ? e.forEach(function(v) {
o.add(dt(v, t, r, v, e, i));
}) : vb(e) && e.forEach(function(v, y) {
o.set(y, dt(v, t, r, y, e, i));
});
var g = u ? c ? pb : db : c ? xb : _b, b = d ? void 0 : g(e);
return nb(b || e, function(v, y) {
b && (y = v, v = e[y]), ab(o, y, dt(v, t, r, y, e, i));
}), o;
}
var Kb = dt, Xb = Kb, Zb = 1, Jb = 4;
function ev(e) {
return Xb(e, Zb | Jb);
}
var tv = ev;
const Fe = /* @__PURE__ */ N(tv);
var rv = ge, nv = ie, av = "[object Boolean]";
function iv(e) {
return e === !0 || e === !1 || nv(e) && rv(e) == av;
}
var sv = iv;
const ov = /* @__PURE__ */ N(sv);
var lv = ge, cv = Y, uv = ie, dv = "[object String]";
function pv(e) {
return typeof e == "string" || !cv(e) && uv(e) && lv(e) == dv;
}
var fv = pv;
const mv = /* @__PURE__ */ N(fv);
var hv = ge, gv = ie, yv = "[object Number]";
function bv(e) {
return typeof e == "number" || gv(e) && hv(e) == yv;
}
var vv = bv;
const Ev = /* @__PURE__ */ N(vv);
function Pr() {
}
Pr.prototype = new Error();
class Fn {
constructor() {
this._addFilter = (t, r) => {
if (!Array.isArray(t))
throw new Error(`Filter value "${t}" in query state must be an array.`);
if (!(t.length === 2 || t.length === 3))
throw new Error(`Filter value "${t}" in query state must be an array of 2 or 3 elements`);
const n = t.length === 3;
var a = t[0], i = t[1];
if (n) {
if (!Array.isArray(t[2]))
throw new Error(`Filter value "${t[2]}" in query state must be an array.`);
i = i + "::" + t[2][1];
}
a in r ? r[a].push(i) : r[a] = [i];
}, this._addFilters = (t) => {
if (!Array.isArray(t))
throw new Error(`Filters query state "${t}" must be an array.`);
const r = {};
return t.forEach((n) => {
this._addFilter(n, r);
}), r;
}, this.serialize = this.serialize.bind(this);
}
/**
* Return a serialized version of the app state `query` for the API backend.
* @param {object} stateQuery the `query` state to serialize
*/
serialize(t) {
const {
queryString: r,
sortBy: n,
sortOrder: a,
page: i,
size: o,
filters: l,
hiddenParams: c
} = t;
let u = {};
r !== null && (u.q = r), n !== null && (u.sort = n, a !== null && (u.sort = a === "desc" ? `-${n}` : n)), i > 0 && (u.page = i), o > 0 && (u.size = o), se(c) || mt(u, this._addFilters(c));
const d = this._addFilters(l);
return mt(u, d), Re.stringify(u, {
arrayFormat: "repeat"
});
}
}
class Sv {
constructor() {
this.serialize = this.serialize.bind(this);
}
/**
* Return a serialized version of the API backend response for the app state `results`.
* @param {object} payload the backend response payload
*/
serialize(t) {
const {
aggregations: r,
hits: n,
...a
} = t;
return {
aggregations: r || {},
hits: n.hits,
total: n.total,
extras: a
};
}
}
function it(e, t) {
return e.indexOf(t) === 0 && (e.length === t.length || e.indexOf(t + "&") === 0);
}
function Vt(e) {
return Re.stringify({
q: e
});
}
function _v(e) {
return Re.parse(e).q;
}
function Za(e) {
if (e.length === 3) {
const r = [e[0], e[1]], n = Za(e[2]);
return n.length && r.push(n), r;
}
return [];
}
function On(e, t) {
const r = Vt(e), n = t.map((o) => Vt(o));
let a = !1;
const i = n.filter((o) => {
const l = it(o, r), c = it(r, o);
return l && !a && (a = !0), !l && !c;
});
if (!a)
i.push(r);
else if (e.length === 3) {
const l = Za(e), c = Vt(l), u = i.some((d) => {
const p = it(d, c), m = it(c, d);
return p || m;
});
(se(i) || !u) && i.push(c);
}
return i.map((o) => _v(o));
}
const Ja = (e, t) => {
if (se(e))
return;
if (!ka(Lm(e)))
return On(e, t);
let r = t;
for (const n of e)
r = On(n, r);
return r;
}, ei = (e, t, r) => {
let n = vh(t, r);
return se(n.filters) || (n.filters = Ja(n.filters, e.filters)), n;
}, gt = {
queryString: "",
suggestions: [],
sortBy: null,
sortOrder: null,
page: -1,
size: -1,
filters: [],
hiddenParams: [],
layout: null
}, ti = Object.keys(gt), xv = {
loading: !1,
data: {
hits: [],
total: 0,
aggregations: {}
},
error: {}
}, $v = {
hasUserChangedSorting: !1,
initialSortBy: null,
initialSortOrder: null
};
class Cv {
constructor() {
this._checkFilter = (t) => {
if (!Array.isArray(t))
throw new Error(`Filter value "${t}" in query state must be an array.`);
if (!(t.length === 2 || t.length === 3))
throw new Error(`Filter value "${t}" in query state must be an array of 2 or 3 elements`);
}, this._addFilter = (t, r) => {
this._checkFilter(t);
const n = t[0], a = t[1], i = t.length === 3;
i && this._checkFilter(t[2]), n in r ? i ? r[n].push(a + "::" + t[2][1]) : r[n].push(a) : i ? r[n] = [a + "::" + t[2][1]] : r[n] = [a];
}, this._addFilters = (t) => {
if (!Array.isArray(t))
throw new Error(`Filters query state "${t}" must be an array.`);
const r = {};
return t.forEach((n) => {
this._addFilter(n, r);
}), r;
}, this.serialize = this.serialize.bind(this);
}
/**
* Return a serialized version of the app state `query` for the API backend.
* @param {object} stateQuery the `query` state to serialize
*/
serialize(t) {
const {
queryString: r,
sortBy: n,
sortOrder: a,
page: i,
size: o,
filters: l,
hiddenParams: c
} = t;
let u = {};
r !== null && (u.q = r), n !== null && (u.sort = n, a !== null && (u.sort = a === "desc" ? `-${n}` : n)), i > 0 && (u.page = i), o > 0 && (u.size = o), se(c) || mt(u, this._addFilters(c));
const d = this._addFilters(l);
return mt(u, d), Re.stringify(u, {
arrayFormat: "repeat"
});
}
}
class ri {
constructor(t) {
this.axiosConfig = Ve(t, "axios", {}), this.validateAxiosConfig(), this.initSerializers(t), this.initInterceptors(t), this.initAxios(), this.search = this.search.bind(this), this.axiosCancelToken = ct.CancelToken;
}
validateAxiosConfig() {
if (!ff(this.axiosConfig, "url"))
throw new Error("InvenioSearchApi config: `url` field is required.");
}
initInterceptors(t) {
this.requestInterceptor = Ve(t, "interceptors.request", void 0), this.responseInterceptor = Ve(t, "interceptors.response", void 0);
}
getSerializer(t) {
const r = {
InvenioRecordsResourcesRequestSerializer: Cv,
InvenioRequestSerializer: Fn
};
return typeof t == "string" ? r[t] : t || Fn;
}
initSerializers(t) {
var r;
const n = this.getSerializer((r = t.invenio) === null || r === void 0 ? void 0 : r.requestSerializer), a = Ve(t, "invenio.responseSerializer", Sv);
this.requestSerializer = new n(), this.responseSerializer = new a();
}
initAxios() {
const t = {
paramsSerializer: this.requestSerializer.serialize,
...this.axiosConfig
};
this.http = ct.create(t), this.addInterceptors();
}
addInterceptors() {
this.requestInterceptor && this.http.interceptors.request.use(this.requestInterceptor.resolve, this.requestInterceptor.reject), this.responseInterceptor && this.http.interceptors.request.use(this.responseInterceptor.resolve, this.responseInterceptor.reject);
}
/**
* Perform the backend request to search and return the serialized list of results for the app state `results`.
* @param {string} stateQuery the `query` state with the user input
*/
async search(t) {
this.axiosCancel && this.axiosCancel.cancel(), this.axiosCancel = this.axiosCancelToken.source();
try {
let r = await this.http.request({
url: this.axiosConfig.url,
params: t,
cancelToken: this.axiosCancel.token
});
r = this.responseSerializer.serialize(r.data);
const n = ei(t, r.extras, ti);
return se(n) || (r.newQueryState = n), delete r.extras, r;
} catch (r) {
throw ct.isCancel(r) ? new Pr() : r;
}
}
}
class wv {
constructor() {
this.isValid = (t, r, n) => {
switch (r) {
case "queryString":
case "sortBy":
return !0;
case "sortOrder":
return ["asc", "desc"].includes(n);
case "page":
case "size":
return Ev(n) && n > 0;
case "layout":
return ["grid", "list"].includes(n);
case "filters":
case "hiddenParams": {
const a = ka(n) ? n : [n], i = ":", o = t.urlFilterSeparator, l = `[^\\${i}\\${o}]*`, c = `${l}\\${i}${l}`, u = `${c}(\\${o}${c})*`, d = new RegExp(`^${u}$`);
return a.every((p) => String(p).match(d));
}
default:
return !1;
}
};
}
}
const Tv = (e) => {
window.history.pushState && window.history.pushState({
path: e
}, "", e);
}, Rn = (e) => {
window.history.replaceState && window.history.replaceState({
path: e
}, "", e);
};
class Iv {
constructor() {
this._convertValue = (t, r) => {
switch (t) {
case this.paramsMapping.page:
case this.paramsMapping.size:
return parseInt(r);
default:
return r;
}
}, this.parse = this.parse.bind(this), this.paramsMapping = {};
}
set urlParamsMapping(t) {
this.paramsMapping = t;
}
/**
* Parse the URL query string and return an object with all the params.
* @param {string} queryString the query string to parse
*/
parse() {
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
const r = Re.parse(t, {
ignoreQueryPrefix: !0
}), n = {};
return Object.entries(r).forEach((a) => {
const i = a[0], o = a[1];
n[i] = this._convertValue(i, o);
}), n;
}
}
class Av {
constructor() {
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
if (this._filterListToString = (r) => {
const n = r.length === 3 ? this.urlFilterSeparator.concat(this._filterListToString(r[2])) : "";
return `${r[0]}:${r[1]}${n}`;
}, this._mapQueryStateToUrlParams = (r) => {
const n = {};
Object.keys(r).filter((i) => i in this.urlParamsMapping).filter((i) => (i === "page" || i === "size") && r[i] <= 0 || i === "hiddenParams" ? !1 : r[i] !== null).forEach((i) => {
const o = this.urlParamsMapping[i];
i === "filters" ? n[o] = r[i].map((l) => this._filterListToString(l)) : n[o] = r[i];
});
const a = (i, o) => {
const l = "q";
return i === l ? -1 : o === l ? 1 : i.localeCompare(o);
};
return Re.stringify(n, {
addQueryPrefix: !0,
skipNulls: !0,
indices: !1,
// order for filters params is not important, remove indices
sort: a
});
}, this._filterStringToList = (r) => {
const n = r.indexOf(this.urlFilterSeparator), a = n > -1, i = r.indexOf(":");
if (i === -1)
throw new Error(`Filter "${r}" not parsable. Format expected: "<agg name>:<value>"`);
const o = r.slice(0, i), l = a ? n : r.length, c = r.slice(i + 1, l);
let u = [o, c];
if (a) {
const d = r.slice(n + 1, r.length);
u.push(this._filterStringToList(d));
}
return u;
}, this._mapUrlParamsToQueryState = (r) => {
const n = {};
return Object.keys(r).forEach((a) => {
const i = this.fromUrlParamsMapping[a];
this.urlParamValidator.isValid(this, i, r[a]) ? (n[i] = r[a], i === "filters" && (Array.isArray(r[a]) || (r[a] = [r[a]]), n[i] = r[a].map((o) => this._filterStringToList(o)))) : console.warn(`URL parameter '${a}' with value '${r[a]}' is incorrect and was ignored.`);
}), n;
}, this._mergeParamsIntoState = (r, n) => {
const a = Fe(n);
return Object.keys(r).forEach((i) => {
a[i] = r[i];
}), a;
}, this.urlParamsMapping = Cl(t.urlParamsMapping) ? t.urlParamsMapping : {
queryString: "q",
sortBy: "sort",
sortOrder: "order",
page: "p",
size: "s",
layout: "l",
filters: "f",
hiddenParams: "hp"
}, this.keepHistory = t.keepHistory !== void 0 ? t.keepHistory : !0, !ov(this.keepHistory))
throw new Error(`"keepHistory configuration must be a boolean, ${this.keepHistory} provided.`);
if (this.urlFilterSeparator = t.urlFilterSeparator !== void 0 ? t.urlFilterSeparator : "+", !mv(this.urlFilterSeparator))
throw new Error(`"urlFilterSeparator configuration must be a string, ${this.urlFilterSeparator} provided.`);
this.urlParamValidator = t.urlParamValidator || new wv(), this.urlParser = t.urlParser || new Iv(), this.urlParser.urlParamsMapping = this.urlParamsMapping, this.fromUrlParamsMapping = {}, Object.keys(this.urlParamsMapping).forEach((r) => {
this.fromUrlParamsMapping[this.urlParamsMapping[r]] = r;
}), this.get = this.get.bind(this), this.set = this.set.bind(this), this.replace = this.replace.bind(this);
}
/**
* Return a new version of the given `query` state with updated values parsed from the URL query string.
* @param {object} queryState the `query` state
*/
get(t) {
const r = this.urlParser.parse(window.location.search), n = this._mapUrlParamsToQueryState(r), a = this._mergeParamsIntoState(n, t), i = this._mapQueryStateToUrlParams(a);
return Rn(i), a;
}
/**
* Update the URL query string parameters from the given `query` state
* @param {object} stateQuery the `query` state
*/
set(t) {
if (this.keepHistory) {
const r = this._mapQueryStateToUrlParams(t);
Tv(r);
} else
this.replace(t);
}
/**
* Replace the URL query string parameters from the given `query` state
* @param {object} stateQuery the `query` state
*/
replace(t) {
const r = this._mapQueryStateToUrlParams(t);
Rn(r);
}
}
const Fv = "SET_QUERY_COMPONENT_INITIAL_STATE", ni = "SET_QUERY_STRING", Dr = "SET_QUERY_SORTING", Nr = "SET_QUERY_SORT_BY", Lr = "SET_QUERY_SORT_ORDER", tt = "SET_QUERY_STATE", ai = "SET_QUERY_PAGINATION_PAGE", ii = "SET_QUERY_PAGINATION_SIZE", si = "SET_QUERY_FILTERS", oi = "SET_QUERY_SUGGESTIONS", li = "SET_SUGGESTION_STRING", ci = "CLEAR_QUERY_SUGGESTIONS", ui = "RESULTS_LOADING", di = "RESULTS_FETCH_SUCCESS", pi = "RESULTS_FETCH_ERROR", tr = "RESULTS_UPDATE_LAYOUT", fi = "RESET_QUERY", Ov = (e) => (t) => {
e && t(re({
shouldUpdateUrlQueryString: !1,
shouldReplaceUrlQueryString: !0
}));
}, mi = (e) => (t) => {
t({
type: tt,
payload: e
}), t(re());
}, hi = (e) => (t) => {
t({
type: ni,
payload: e
}), t(re());
}, Rv = (e, t) => (r) => {
r({
type: Dr,
payload: {
sortBy: e,
sortOrder: t
}
}), r(re());
}, kv = (e) => (t) => {
t({
type: Nr,
payload: e
}), t(re());
}, Pv = (e) => (t) => {
t({
type: Lr,
payload: e
}), t(re());
}, Dv = (e) => (t) => {
t({
type: ai,
payload: e
}), t(re());
}, Nv = (e) => (t) => {
t({
type: ii,
payload: e
}), t(re());
}, Br = (e) => (t) => {
t({
type: si,
payload: e
}), t(re());
}, Lv = (e) => async (t, r, n) => {
const a = n.urlHandlerApi;
if (a) {
await t({
type: tr,
payload: e
});
const i = r().query;
a.set(i);
} else
t({
type: tr,
payload: e
});
}, Bv = () => (e, t, r) => {
e({
type: fi,
payload: {
queryString: "",
page: 1,