diff --git a/dist/index.js b/dist/index.js index ea4cb95..b7f7389 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,55 +1,56 @@ -import { jsxs as I, jsx as a, Fragment as Z } from "react/jsx-runtime"; -import { useState as v, useRef as N, useEffect as C, useCallback as E, createContext as $, useMemo as _, useContext as P } from "react"; -import { HStack as k, IconButton as K, Button as R, Input as L, Text as S, Spinner as ee } from "@chakra-ui/react"; -import { IoChevronForwardOutline as O, IoChevronBackOutline as W } from "react-icons/io5"; -import te from "keycloak-js"; -import { useQuery as ne } from "@tanstack/react-query"; -import re from "axios"; -const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => String(e).replace(/\d/g, (t) => "۰۱۲۳۴۵۶۷۸۹"[Number(t)]), D = (e) => String(e).replace(/[۰-۹]/g, (n) => String("۰۱۲۳۴۵۶۷۸۹".indexOf(n))), Ke = ({ +import { jsxs as Y, jsx as x } from "react/jsx-runtime"; +import * as F from "react"; +import { useState as P, useRef as te, useEffect as L, useCallback as j, createContext as Je, useMemo as fe, useContext as He, forwardRef as Kr } from "react"; +import { HStack as W, IconButton as J, Button as Te, Input as _e, Text as q, extendTheme as Yr, withDefaultColorScheme as Vr, ChakraProvider as Wr, Spinner as qr } from "@chakra-ui/react"; +import { IoChevronForwardOutline as $e, IoChevronBackOutline as Re } from "react-icons/io5"; +import jr from "keycloak-js"; +import { useQuery as Ur, QueryClient as Gr, QueryClientProvider as Jr } from "@tanstack/react-query"; +import Hr from "axios"; +const xn = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), _ = (e) => String(e).replace(/\d/g, (r) => "۰۱۲۳۴۵۶۷۸۹"[Number(r)]), U = (e) => String(e).replace(/[۰-۹]/g, (t) => String("۰۱۲۳۴۵۶۷۸۹".indexOf(t))), Sn = ({ currentPage: e, - totalPages: t, - totalCount: n, - onPageChange: l + totalPages: r, + totalCount: t, + onPageChange: n }) => { - const [c, s] = v(p(e)), [i, o] = v(!1), [d, u] = v(null), b = N(null), y = [.../* @__PURE__ */ new Set([1, e, t])].filter( - (r) => r >= 1 && r <= t + const [i, o] = P(_(e)), [s, a] = P(!1), [u, c] = P(null), d = te(null), y = [.../* @__PURE__ */ new Set([1, e, r])].filter( + (f) => f >= 1 && f <= r ); - C(() => { - if (d !== null) { - e === d && (u(null), o(!1), s(p(e))); + L(() => { + if (u !== null) { + e === u && (c(null), a(!1), o(_(e))); return; } - i || s(p(e)); - }, [e, i, d]), C(() => { - if (!i || !c || d !== null) return; - const r = parseInt(D(c), 10); - if (isNaN(r)) return; - const h = setTimeout(() => { - var w; - const m = Math.min(Math.max(r, 1), t); - m !== e ? (u(m), s(p(m)), l(m)) : (o(!1), s(p(e))), (w = b.current) == null || w.blur(); + s || o(_(e)); + }, [e, s, u]), L(() => { + if (!s || !i || u !== null) return; + const f = parseInt(U(i), 10); + if (isNaN(f)) return; + const m = setTimeout(() => { + var b; + const h = Math.min(Math.max(f, 1), r); + h !== e ? (c(h), o(_(h)), n(h)) : (a(!1), o(_(e))), (b = d.current) == null || b.blur(); }, 1e3); - return () => clearTimeout(h); + return () => clearTimeout(m); }, [ - c, i, - d, - t, + s, + u, + r, e, - l + n ]); - const A = () => { - var m, w; - const r = parseInt(D(c), 10); - if (isNaN(r)) { - s(p(e)), o(!1), u(null), (m = b.current) == null || m.blur(); + const $ = () => { + var h, b; + const f = parseInt(U(i), 10); + if (isNaN(f)) { + o(_(e)), a(!1), c(null), (h = d.current) == null || h.blur(); return; } - const h = Math.min(Math.max(r, 1), t); - h !== e ? (u(h), s(p(h)), l(h)) : (s(p(e)), o(!1), u(null)), (w = b.current) == null || w.blur(); + const m = Math.min(Math.max(f, 1), r); + m !== e ? (c(m), o(_(m)), n(m)) : (o(_(e)), a(!1), c(null)), (b = d.current) == null || b.blur(); }; - return t === 0 || !n ? null : /* @__PURE__ */ I( - k, + return r === 0 || !t ? null : /* @__PURE__ */ Y( + W, { justifyContent: "space-around", backgroundColor: "white", @@ -60,68 +61,68 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S borderColor: "blue.200", w: "100%", children: [ - /* @__PURE__ */ I(k, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ - /* @__PURE__ */ a( - K, + /* @__PURE__ */ Y(W, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => l(e - 1), + onClick: () => n(e - 1), isDisabled: e === 1, - icon: /* @__PURE__ */ a(O, {}), + icon: /* @__PURE__ */ x($e, {}), "aria-label": "صفحه قبلی" } ), - y.map((r) => /* @__PURE__ */ a( - R, + y.map((f) => /* @__PURE__ */ x( + Te, { size: "md", px: 2, - bg: e === r ? "#4B49AC" : "#e6e6f1", - color: e === r ? "#e6e6f1" : "#4B49AC", - _hover: { bg: e === r ? "#4B49AC" : "#cbcbe8" }, - onClick: () => l(r), + bg: e === f ? "#4B49AC" : "#e6e6f1", + color: e === f ? "#e6e6f1" : "#4B49AC", + _hover: { bg: e === f ? "#4B49AC" : "#cbcbe8" }, + onClick: () => n(f), variant: "soft", - children: p(r) + children: _(f) }, - r + f )), - /* @__PURE__ */ a( - K, + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => l(e + 1), - isDisabled: e === t, - icon: /* @__PURE__ */ a(W, {}), + onClick: () => n(e + 1), + isDisabled: e === r, + icon: /* @__PURE__ */ x(Re, {}), "aria-label": "صفحه بعدی" } ), - /* @__PURE__ */ a( - L, + /* @__PURE__ */ x( + _e, { - ref: b, + ref: d, type: "text", inputMode: "numeric", placeholder: "صفحه", w: "56px", - value: c, + value: i, onFocus: () => { - o(!0), u(null), s(""); + a(!0), c(null), o(""); }, - onChange: (r) => { - const h = r.target.value, m = D(h).replace(/\D/g, ""); - s(p(m)); + onChange: (f) => { + const m = f.target.value, h = U(m).replace(/\D/g, ""); + o(_(h)); }, onBlur: () => { - c || (s(p(e)), o(!1), u(null)); + i || (o(_(e)), a(!1), c(null)); }, - onKeyDown: (r) => { - r.key === "Enter" && A(); + onKeyDown: (f) => { + f.key === "Enter" && $(); }, textAlign: "center", color: "#1D2939", @@ -131,58 +132,58 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S } ) ] }), - /* @__PURE__ */ I(k, { spacing: 2, children: [ - /* @__PURE__ */ a(S, { w: "auto", fontWeight: "bold", whiteSpace: "nowrap", children: "تعداد کل:" }), - /* @__PURE__ */ a(S, { children: p(n) }) + /* @__PURE__ */ Y(W, { spacing: 2, children: [ + /* @__PURE__ */ x(q, { w: "auto", fontWeight: "bold", whiteSpace: "nowrap", children: "تعداد کل:" }), + /* @__PURE__ */ x(q, { children: _(t) }) ] }) ] } ); -}, Ne = ({ +}, En = ({ currentPage: e, - totalPages: t, - totalCount: n, - onPageChange: l + totalPages: r, + totalCount: t, + onPageChange: n }) => { - const [c, s] = v(p(e)), [i, o] = v(!1), [d, u] = v(null), b = N(null), y = Array.from( - /* @__PURE__ */ new Set([1, e, e + 1, t]) - ).filter((r) => r >= 1 && r <= t).sort((r, h) => r - h); - C(() => { - if (d !== null) { - e === d && (u(null), o(!1), s(p(e))); + const [i, o] = P(_(e)), [s, a] = P(!1), [u, c] = P(null), d = te(null), y = Array.from( + /* @__PURE__ */ new Set([1, e, e + 1, r]) + ).filter((f) => f >= 1 && f <= r).sort((f, m) => f - m); + L(() => { + if (u !== null) { + e === u && (c(null), a(!1), o(_(e))); return; } - i || s(p(e)); - }, [e, i, d]), C(() => { - if (!i || !c || d !== null) return; - const r = parseInt(D(c), 10); - if (isNaN(r)) return; - const h = setTimeout(() => { - var w; - const m = Math.min(Math.max(r, 1), t); - m !== e ? (u(m), s(p(m)), l(m)) : (o(!1), s(p(e))), (w = b.current) == null || w.blur(); + s || o(_(e)); + }, [e, s, u]), L(() => { + if (!s || !i || u !== null) return; + const f = parseInt(U(i), 10); + if (isNaN(f)) return; + const m = setTimeout(() => { + var b; + const h = Math.min(Math.max(f, 1), r); + h !== e ? (c(h), o(_(h)), n(h)) : (a(!1), o(_(e))), (b = d.current) == null || b.blur(); }, 1e3); - return () => clearTimeout(h); + return () => clearTimeout(m); }, [ - c, i, - d, - t, + s, + u, + r, e, - l + n ]); - const A = () => { - var m, w; - const r = parseInt(D(c), 10); - if (isNaN(r)) { - s(p(e)), o(!1), u(null), (m = b.current) == null || m.blur(); + const $ = () => { + var h, b; + const f = parseInt(U(i), 10); + if (isNaN(f)) { + o(_(e)), a(!1), c(null), (h = d.current) == null || h.blur(); return; } - const h = Math.min(Math.max(r, 1), t); - h !== e ? (u(h), s(p(h)), l(h)) : (s(p(e)), o(!1), u(null)), (w = b.current) == null || w.blur(); + const m = Math.min(Math.max(f, 1), r); + m !== e ? (c(m), o(_(m)), n(m)) : (o(_(e)), a(!1), c(null)), (b = d.current) == null || b.blur(); }; - return t === 0 || !n ? null : /* @__PURE__ */ I( - k, + return r === 0 || !t ? null : /* @__PURE__ */ Y( + W, { justifyContent: "space-around", backgroundColor: "white", @@ -193,73 +194,73 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S borderColor: "blue.200", w: "100%", children: [ - /* @__PURE__ */ I(k, { spacing: 2, whiteSpace: "nowrap", children: [ - /* @__PURE__ */ a(S, { fontWeight: "bold", children: "صفحه" }), - /* @__PURE__ */ a(S, { children: p(e) }), - /* @__PURE__ */ a(S, { fontWeight: "bold", children: "از" }), - /* @__PURE__ */ a(S, { children: p(t) }) + /* @__PURE__ */ Y(W, { spacing: 2, whiteSpace: "nowrap", children: [ + /* @__PURE__ */ x(q, { fontWeight: "bold", children: "صفحه" }), + /* @__PURE__ */ x(q, { children: _(e) }), + /* @__PURE__ */ x(q, { fontWeight: "bold", children: "از" }), + /* @__PURE__ */ x(q, { children: _(r) }) ] }), - /* @__PURE__ */ I(k, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ - /* @__PURE__ */ a( - K, + /* @__PURE__ */ Y(W, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => l(e - 1), + onClick: () => n(e - 1), isDisabled: e === 1, - icon: /* @__PURE__ */ a(O, {}), + icon: /* @__PURE__ */ x($e, {}), "aria-label": "صفحه قبلی" } ), - y.map((r) => /* @__PURE__ */ a( - R, + y.map((f) => /* @__PURE__ */ x( + Te, { size: "md", - bg: e === r ? "#4B49AC" : "#e6e6f1", - color: e === r ? "#e6e6f1" : "#4B49AC", - _hover: { bg: e === r ? "#4B49AC" : "#cbcbe8" }, - onClick: () => l(r), + bg: e === f ? "#4B49AC" : "#e6e6f1", + color: e === f ? "#e6e6f1" : "#4B49AC", + _hover: { bg: e === f ? "#4B49AC" : "#cbcbe8" }, + onClick: () => n(f), variant: "soft", - children: p(r) + children: _(f) }, - r + f )), - /* @__PURE__ */ a( - K, + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => l(e + 1), - isDisabled: e === t, - icon: /* @__PURE__ */ a(W, {}), + onClick: () => n(e + 1), + isDisabled: e === r, + icon: /* @__PURE__ */ x(Re, {}), "aria-label": "صفحه بعدی" } ), - /* @__PURE__ */ a( - L, + /* @__PURE__ */ x( + _e, { - ref: b, + ref: d, type: "text", inputMode: "numeric", placeholder: "صفحه", w: "100px", - value: c, + value: i, onFocus: () => { - o(!0), u(null), s(""); + a(!0), c(null), o(""); }, - onChange: (r) => { - const h = r.target.value, m = D(h).replace(/\D/g, ""); - s(p(m)); + onChange: (f) => { + const m = f.target.value, h = U(m).replace(/\D/g, ""); + o(_(h)); }, onBlur: () => { - c || (s(p(e)), o(!1), u(null)); + i || (o(_(e)), a(!1), c(null)); }, - onKeyDown: (r) => { - r.key === "Enter" && A(); + onKeyDown: (f) => { + f.key === "Enter" && $(); }, textAlign: "center", color: "#1D2939", @@ -269,69 +270,69 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S } ) ] }), - /* @__PURE__ */ I(k, { spacing: 2, whiteSpace: "nowrap", children: [ - /* @__PURE__ */ a(S, { fontWeight: "bold", children: "تعداد کل:" }), - /* @__PURE__ */ a(S, { children: p(n) }) + /* @__PURE__ */ Y(W, { spacing: 2, whiteSpace: "nowrap", children: [ + /* @__PURE__ */ x(q, { fontWeight: "bold", children: "تعداد کل:" }), + /* @__PURE__ */ x(q, { children: _(t) }) ] }) ] } ); -}, Te = ({ +}, Cn = ({ currentPage: e, - totalPages: t, - totalCount: n, - onPageChange: l + totalPages: r, + totalCount: t, + onPageChange: n }) => { - const [c, s] = v(""), [i, o] = v(!1), [d, u] = v(null), b = N(null), y = d ?? e, A = E( - (x) => { - const B = Math.min(Math.max(x, 1), t); - o(!1), s(""), u(null), B !== e && l(B); + const [i, o] = P(""), [s, a] = P(!1), [u, c] = P(null), d = te(null), y = u ?? e, $ = j( + (w) => { + const v = Math.min(Math.max(w, 1), r); + a(!1), o(""), c(null), v !== e && n(v); }, - [e, t, l] - ), r = E(() => { - if (!c) { - o(!1), s(""), u(null); + [e, r, n] + ), f = j(() => { + if (!i) { + a(!1), o(""), c(null); return; } - const x = parseInt(D(c), 10); - if (isNaN(x)) { - o(!1), s(""), u(null); + const w = parseInt(U(i), 10); + if (isNaN(w)) { + a(!1), o(""), c(null); return; } - const B = Math.min(Math.max(x, 1), t); - o(!1), s(""), B !== e ? (u(B), l(B)) : u(null); - }, [c, e, t, l]); - C(() => { - var x; - i && ((x = b.current) == null || x.focus()); - }, [i]), C(() => { - d !== null && e === d && u(null); - }, [e, d]), C(() => { - if (!i || !c) return; - const x = setTimeout(() => { - r(); + const v = Math.min(Math.max(w, 1), r); + a(!1), o(""), v !== e ? (c(v), n(v)) : c(null); + }, [i, e, r, n]); + L(() => { + var w; + s && ((w = d.current) == null || w.focus()); + }, [s]), L(() => { + u !== null && e === u && c(null); + }, [e, u]), L(() => { + if (!s || !i) return; + const w = setTimeout(() => { + f(); }, 1e3); - return () => clearTimeout(x); - }, [c, i, r]); - const h = () => { - u(null), s(""), o(!0); - }, m = (x, B = !1) => /* @__PURE__ */ a( - R, + return () => clearTimeout(w); + }, [i, s, f]); + const m = () => { + c(null), o(""), a(!0); + }, h = (w, v = !1) => /* @__PURE__ */ x( + Te, { size: "md", - bg: B ? "#4B49AC" : "#e6e6f1", - color: B ? "#e6e6f1" : "#4B49AC", - _hover: { bg: B ? "#4B49AC" : "#cbcbe8" }, - onClick: B ? h : () => A(x), + bg: v ? "#4B49AC" : "#e6e6f1", + color: v ? "#e6e6f1" : "#4B49AC", + _hover: { bg: v ? "#4B49AC" : "#cbcbe8" }, + onClick: v ? m : () => $(w), variant: "soft", - children: p(x) + children: _(w) }, - x + w ); - if (t === 0 || !n) return null; - const w = t > 1 && y !== 1, g = t > 1 && y !== t; - return /* @__PURE__ */ a( - k, + if (r === 0 || !t) return null; + const b = r > 1 && y !== 1, T = r > 1 && y !== r; + return /* @__PURE__ */ x( + W, { justifyContent: "center", backgroundColor: "white", @@ -341,39 +342,39 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S border: "1px", borderColor: "blue.200", w: "100%", - children: /* @__PURE__ */ I(k, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ - /* @__PURE__ */ a( - K, + children: /* @__PURE__ */ Y(W, { spacing: 2, alignItems: "center", justifyContent: "center", children: [ + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => A(y - 1), + onClick: () => $(y - 1), isDisabled: y === 1, - icon: /* @__PURE__ */ a(O, {}), + icon: /* @__PURE__ */ x($e, {}), "aria-label": "صفحه قبلی" } ), - w && m(1), - i ? /* @__PURE__ */ a( - L, + b && h(1), + s ? /* @__PURE__ */ x( + _e, { - ref: b, + ref: d, type: "text", inputMode: "numeric", placeholder: "صفحه", w: "48px", - value: c, - onChange: (x) => { - const B = x.target.value, X = D(B).replace(/\D/g, ""); - s(p(X)); + value: i, + onChange: (w) => { + const v = w.target.value, k = U(v).replace(/\D/g, ""); + o(_(k)); }, onBlur: () => { - c ? r() : (s(""), o(!1), u(null)); + i ? f() : (o(""), a(!1), c(null)); }, - onKeyDown: (x) => { - x.key === "Enter" && r(), x.key === "Escape" && (s(""), o(!1), u(null)); + onKeyDown: (w) => { + w.key === "Enter" && f(), w.key === "Escape" && (o(""), a(!1), c(null)); }, textAlign: "center", color: "#1D2939", @@ -381,18 +382,18 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S minW: 0, dir: "ltr" } - ) : m(y, !0), - g && m(t), - /* @__PURE__ */ a( - K, + ) : h(y, !0), + T && h(r), + /* @__PURE__ */ x( + J, { size: "md", bg: "#e6e6f1", color: "#4B49AC", _hover: { bg: "#cbcbe8" }, - onClick: () => A(y + 1), - isDisabled: y === t, - icon: /* @__PURE__ */ a(W, {}), + onClick: () => $(y + 1), + isDisabled: y === r, + icon: /* @__PURE__ */ x(Re, {}), "aria-label": "صفحه بعدی" } ) @@ -400,250 +401,250 @@ const De = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), p = (e) => S } ); }; -let V = null, f = null, F = null, j = !1; -const ie = $(null), oe = ({ url: e, realm: t, clientId: n }) => (f || (f = new te({ +let xe = null, C = null, ve = null, Se = !1; +const Xr = Je(null), Qr = ({ url: e, realm: r, clientId: t }) => (C || (C = new jr({ url: e, - realm: t, - clientId: n -})), f), se = (e) => (V = e, V), le = () => j, G = () => !!(f != null && f.authenticated), T = () => (f == null ? void 0 : f.token) ?? null, q = async (e = 30) => f ? f.updateToken(e) : !1, H = (e) => f == null ? void 0 : f.logout(e), _e = (e) => f == null ? void 0 : f.login(e), J = ({ config: e, initOptions: t = {} } = {}) => { - const n = e ?? V; - if (!(n != null && n.url) || !(n != null && n.realm) || !(n != null && n.clientId)) + realm: r, + clientId: t +})), C), Zr = (e) => (xe = e, xe), et = () => Se, Xe = () => !!(C != null && C.authenticated), se = () => (C == null ? void 0 : C.token) ?? null, Be = async (e = 30) => C ? C.updateToken(e) : !1, Qe = (e) => C == null ? void 0 : C.logout(e), gn = (e) => C == null ? void 0 : C.login(e), Ze = ({ config: e, initOptions: r = {} } = {}) => { + const t = e ?? xe; + if (!(t != null && t.url) || !(t != null && t.realm) || !(t != null && t.clientId)) throw new Error("Keycloak config is required."); - se(n); - const l = oe(n); - return F || (F = l.init({ + Zr(t); + const n = Qr(t); + return ve || (ve = n.init({ onLoad: "login-required", checkLoginIframe: !1, flow: "implicit", - ...t - }).then((c) => (j = !0, c)).catch((c) => { - throw j = !0, c; - })), F; -}, ce = ({ + ...r + }).then((i) => (Se = !0, i)).catch((i) => { + throw Se = !0, i; + })), ve; +}, rt = ({ children: e, - config: t, - initOptions: n, - loading: l = null + config: r, + initOptions: t, + loading: n = null }) => { - const [c, s] = v(!1), [i, o] = v(!1), [d, u] = v(null), b = N(!1), y = E(() => { - f && (o(!!f.authenticated), u(f.token ?? null)); + const [i, o] = P(!1), [s, a] = P(!1), [u, c] = P(null), d = te(!1), y = j(() => { + C && (a(!!C.authenticated), c(C.token ?? null)); }, []); - C(() => (b.current = !0, J({ config: t, initOptions: n }).then((w) => { - b.current && (o(!!w), u((f == null ? void 0 : f.token) ?? null), s(!0)); + L(() => (d.current = !0, Ze({ config: r, initOptions: t }).then((b) => { + d.current && (a(!!b), c((C == null ? void 0 : C.token) ?? null), o(!0)); }).catch(() => { - b.current && (o(!1), u(null), s(!0)); + d.current && (a(!1), c(null), o(!0)); }), () => { - b.current = !1; - }), [t, n]); - const A = E(() => f == null ? void 0 : f.login(), []), r = E((w) => f == null ? void 0 : f.logout(w), []), h = E( - async (w = 30) => { - if (!f) return !1; - const g = await f.updateToken(w); - return y(), g; + d.current = !1; + }), [r, t]); + const $ = j(() => C == null ? void 0 : C.login(), []), f = j((b) => C == null ? void 0 : C.logout(b), []), m = j( + async (b = 30) => { + if (!C) return !1; + const T = await C.updateToken(b); + return y(), T; }, [y] - ), m = _( + ), h = fe( () => ({ - initialized: c, - authenticated: i, - token: d, - login: A, - logout: r, - updateToken: h + initialized: i, + authenticated: s, + token: u, + login: $, + logout: f, + updateToken: m }), - [c, i, d, A, r, h] + [i, s, u, $, f, m] ); - return c ? /* @__PURE__ */ a(ie.Provider, { value: m, children: e }) : l; -}, Q = $(null), M = "permissions", ue = (e) => (e == null ? void 0 : e.storageKey) || M, ae = ({ + return i ? /* @__PURE__ */ x(Xr.Provider, { value: h, children: e }) : n; +}, er = Je(null), he = "permissions", tt = (e) => (e == null ? void 0 : e.storageKey) || he, nt = ({ user: e = null, - children: t, - config: n, - loading: l = /* @__PURE__ */ a("div", { children: "Loading permissions..." }), - errorFallback: c = /* @__PURE__ */ a("div", { children: "Error loading permissions" }) + children: r, + config: t, + loading: n = /* @__PURE__ */ x("div", { children: "Loading permissions..." }), + errorFallback: i = /* @__PURE__ */ x("div", { children: "Error loading permissions" }) }) => { - const s = ue(n), [i, o] = v( - () => de(s) - ), { data: d, isLoading: u, error: b } = be(n), y = d ?? i; - C(() => { - d && (fe(s, d), o(d)); - }, [d, s]); - const A = _( - () => pe(y), + const o = tt(t), [s, a] = P( + () => it(o) + ), { data: u, isLoading: c, error: d } = ut(t), y = u ?? s; + L(() => { + u && (ot(o, u), a(u)); + }, [u, o]); + const $ = fe( + () => st(y), [y] - ), r = E( - (w = "") => he(A, w), - [A] - ), h = E((w = "") => !r(w), [r]), m = _( + ), f = j( + (b = "") => at($, b), + [$] + ), m = j((b = "") => !f(b), [f]), h = fe( () => ({ user: e, - can: r, - cannot: h, + can: f, + cannot: m, permissions: y, - isLoading: u, - error: b + isLoading: c, + error: d }), - [e, r, h, y, u, b] + [e, f, m, y, c, d] ); - return b && !y ? c : u && !y ? l : /* @__PURE__ */ a(Q.Provider, { value: m, children: t }); -}, de = (e = M) => { + return d && !y ? i : c && !y ? n : /* @__PURE__ */ x(er.Provider, { value: h, children: r }); +}, it = (e = he) => { if (!(typeof window > "u")) try { - const t = localStorage.getItem(e); - return t ? JSON.parse(t) : void 0; + const r = localStorage.getItem(e); + return r ? JSON.parse(r) : void 0; } catch { return; } -}, fe = (e = M, t) => { +}, ot = (e = he, r) => { if (!(typeof window > "u")) try { - localStorage.setItem(e, JSON.stringify(t)); + localStorage.setItem(e, JSON.stringify(r)); } catch { } -}, ze = (e = M) => { +}, An = (e = he) => { if (!(typeof window > "u")) try { localStorage.removeItem(e); } catch { } -}, pe = (e) => e ? new Set(e.map((t) => t.name)) : /* @__PURE__ */ new Set(), he = (e, t = "") => { - if (!t) return !1; - if (e.has(t) || [...e].some((l) => l.startsWith(t))) return !0; - let n = t; - for (; n.includes(":"); ) - if (n = n.slice(0, n.lastIndexOf(":")), e.has(`${n}:*`)) return !0; +}, st = (e) => e ? new Set(e.map((r) => r.name)) : /* @__PURE__ */ new Set(), at = (e, r = "") => { + if (!r) return !1; + if (e.has(r) || [...e].some((n) => n.startsWith(r))) return !0; + let t = r; + for (; t.includes(":"); ) + if (t = t.slice(0, t.lastIndexOf(":")), e.has(`${t}:*`)) return !0; return !1; -}, Y = { +}, rr = { all: ["permissions"], - list: (e) => [...Y.all, e] -}, me = async (e) => { + list: (e) => [...rr.all, e] +}, ct = async (e) => { if (!(e != null && e.url) || !(e != null && e.clientId)) throw new Error("Permission config requires url and clientId."); - const t = T(), n = new URL(e.url); - n.searchParams.set("client_id", e.clientId); - const l = await fetch(n.toString(), { + const r = se(), t = new URL(e.url); + t.searchParams.set("client_id", e.clientId); + const n = await fetch(t.toString(), { method: "GET", headers: { - ...t ? { Authorization: `Bearer ${t}` } : {} + ...r ? { Authorization: `Bearer ${r}` } : {} } }); - if (!l.ok) + if (!n.ok) throw new Error("Failed to load permissions"); - return l.json(); -}, U = () => { - const e = P(Q); + return n.json(); +}, ke = () => { + const e = He(er); if (!e) throw new Error("usePermission must be used within PermissionProvider"); return e; -}, be = (e) => ne({ - queryKey: Y.list(e == null ? void 0 : e.clientId), - queryFn: () => me(e), - enabled: !!(e != null && e.url) && !!(e != null && e.clientId) && G(), +}, ut = (e) => Ur({ + queryKey: rr.list(e == null ? void 0 : e.clientId), + queryFn: () => ct(e), + enabled: !!(e != null && e.url) && !!(e != null && e.clientId) && Xe(), staleTime: 1 / 0, refetchOnWindowFocus: !1, refetchOnReconnect: !1 -}), Me = ({ +}), Tn = ({ perm: e, - children: t, - fallback: n = /* @__PURE__ */ a("div", { children: "You are not allowed to do this" }) + children: r, + fallback: t = /* @__PURE__ */ x("div", { children: "You are not allowed to do this" }) }) => { - const { can: l } = U(); - return l(e) ? t : n; -}, ge = ({ children: e }) => { - const { can: t, permissions: n } = U(); - return n && t("admin") ? e : null; -}, Fe = ({ children: e }) => { - const { can: t, isLoading: n } = U(); - return C(() => { - n || t("panel_access") || H(); - }, [n, t]), e; + const { can: n } = ke(); + return n(e) ? r : t; +}, _n = ({ children: e }) => { + const { can: r, permissions: t } = ke(); + return t && r("admin") ? e : null; +}, $n = ({ children: e }) => { + const { can: r, isLoading: t } = ke(); + return L(() => { + t || r("panel_access") || Qe(); + }, [t, r]), e; }; -let z = null; -const we = (e) => { - const { api: t } = e, n = re.create({ - baseURL: t.baseUrl - }), l = async () => { - (!le() || !G()) && await J(); - }, c = async (i) => { - await l(); - let o = T(); - if (o) { +let le = null; +const ft = (e) => { + const { api: r } = e, t = Hr.create({ + baseURL: r.baseUrl + }), n = async () => { + (!et() || !Xe()) && await Ze(); + }, i = async (s) => { + await n(); + let a = se(); + if (a) { try { - await q(5), o = T(); + await Be(5), a = se(); } catch { } - i.headers = { - ...i.headers, - Authorization: `Bearer ${o}` + s.headers = { + ...s.headers, + Authorization: `Bearer ${a}` }; } - return i; - }, s = async (i) => { - var d; - const o = i.config; - if (((d = i == null ? void 0 : i.response) == null ? void 0 : d.status) === 401 && !(o != null && o._retry)) { - o._retry = !0; + return s; + }, o = async (s) => { + var u; + const a = s.config; + if (((u = s == null ? void 0 : s.response) == null ? void 0 : u.status) === 401 && !(a != null && a._retry)) { + a._retry = !0; try { - await q(30); - const u = T(); - return o.headers = { - ...o.headers, - Authorization: `Bearer ${u}` - }, n(o); + await Be(30); + const c = se(); + return a.headers = { + ...a.headers, + Authorization: `Bearer ${c}` + }, t(a); } catch { - H({ redirectUri: window.location.origin }); + Qe({ redirectUri: window.location.origin }); } } - return Promise.reject(i); + return Promise.reject(s); }; - return n.interceptors.request.use(c), n.interceptors.response.use( - (i) => i, - s + return t.interceptors.request.use(i), t.interceptors.response.use( + (s) => s, + o ), { - api: n + api: t }; -}, ye = (e) => (z = we(e), z), xe = () => { - if (!z) +}, lt = (e) => (le = ft(e), le), dt = () => { + if (!le) throw new Error("api is not configured. Call configureApi(config) first."); - return z.api; -}, Ve = new Proxy( + return le.api; +}, Rn = new Proxy( {}, { - get(e, t) { - return xe()[t]; + get(e, r) { + return dt()[r]; } } ); -function ve() { - const [e, t] = v(!1), n = N(null); - return C(() => { +function ht() { + const [e, r] = P(!1), t = te(null); + return L(() => { if (process.env.NODE_ENV !== "production") return; - let l; - const c = async () => { - const i = await fetch(`/version.json?t=${Date.now()}`, { + let n; + const i = async () => { + const s = await fetch(`/version.json?t=${Date.now()}`, { cache: "no-store" }); - if (!i.ok) - throw new Error(`Failed to fetch version: ${i.status}`); - const o = await i.json(); - return String(o.version); + if (!s.ok) + throw new Error(`Failed to fetch version: ${s.status}`); + const a = await s.json(); + return String(a.version); }; return (async () => { try { - n.current = await c(), l = setInterval(async () => { + t.current = await i(), n = setInterval(async () => { try { - const i = await c(); - n.current && i !== n.current && (t(!0), clearInterval(l)); - } catch (i) { - console.error("Update check failed:", i); + const s = await i(); + t.current && s !== t.current && (r(!0), clearInterval(n)); + } catch (s) { + console.error("Update check failed:", s); } }, 3e4); - } catch (i) { - console.error("Initial version fetch failed:", i); + } catch (s) { + console.error("Initial version fetch failed:", s); } })(), () => { - l && clearInterval(l); + n && clearInterval(n); }; - }, []), e ? /* @__PURE__ */ a( + }, []), e ? /* @__PURE__ */ x( "div", { style: { @@ -662,80 +663,1166 @@ function ve() { } ) : null; } -function je({ +const pt = new Gr({ + defaultOptions: { + queries: { + retry: 1, + refetchOnWindowFocus: !1 + } + } +}); +function mt(e) { + if (e.sheet) + return e.sheet; + for (var r = 0; r < document.styleSheets.length; r++) + if (document.styleSheets[r].ownerNode === e) + return document.styleSheets[r]; +} +function yt(e) { + var r = document.createElement("style"); + return r.setAttribute("data-emotion", e.key), e.nonce !== void 0 && r.setAttribute("nonce", e.nonce), r.appendChild(document.createTextNode("")), r.setAttribute("data-s", ""), r; +} +var bt = /* @__PURE__ */ function() { + function e(t) { + var n = this; + this._insertTag = function(i) { + var o; + n.tags.length === 0 ? n.insertionPoint ? o = n.insertionPoint.nextSibling : n.prepend ? o = n.container.firstChild : o = n.before : o = n.tags[n.tags.length - 1].nextSibling, n.container.insertBefore(i, o), n.tags.push(i); + }, this.isSpeedy = t.speedy === void 0 ? !0 : t.speedy, this.tags = [], this.ctr = 0, this.nonce = t.nonce, this.key = t.key, this.container = t.container, this.prepend = t.prepend, this.insertionPoint = t.insertionPoint, this.before = null; + } + var r = e.prototype; + return r.hydrate = function(n) { + n.forEach(this._insertTag); + }, r.insert = function(n) { + this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(yt(this)); + var i = this.tags[this.tags.length - 1]; + if (this.isSpeedy) { + var o = mt(i); + try { + o.insertRule(n, o.cssRules.length); + } catch { + } + } else + i.appendChild(document.createTextNode(n)); + this.ctr++; + }, r.flush = function() { + this.tags.forEach(function(n) { + var i; + return (i = n.parentNode) == null ? void 0 : i.removeChild(n); + }), this.tags = [], this.ctr = 0; + }, e; +}(), O = "-ms-", de = "-moz-", S = "-webkit-", tr = "comm", Ie = "rule", Me = "decl", vt = "@import", nr = "@keyframes", wt = "@layer", xt = Math.abs, pe = String.fromCharCode, St = Object.assign; +function Et(e, r) { + return M(e, 0) ^ 45 ? (((r << 2 ^ M(e, 0)) << 2 ^ M(e, 1)) << 2 ^ M(e, 2)) << 2 ^ M(e, 3) : 0; +} +function ir(e) { + return e.trim(); +} +function Ct(e, r) { + return (e = r.exec(e)) ? e[0] : e; +} +function E(e, r, t) { + return e.replace(r, t); +} +function Ee(e, r) { + return e.indexOf(r); +} +function M(e, r) { + return e.charCodeAt(r) | 0; +} +function Z(e, r, t) { + return e.slice(r, t); +} +function z(e) { + return e.length; +} +function Ne(e) { + return e.length; +} +function oe(e, r) { + return r.push(e), e; +} +function gt(e, r) { + return e.map(r).join(""); +} +var me = 1, H = 1, or = 0, D = 0, I = 0, X = ""; +function ye(e, r, t, n, i, o, s) { + return { value: e, root: r, parent: t, type: n, props: i, children: o, line: me, column: H, length: s, return: "" }; +} +function Q(e, r) { + return St(ye("", null, null, "", null, null, 0), e, { length: -e.length }, r); +} +function At() { + return I; +} +function Tt() { + return I = D > 0 ? M(X, --D) : 0, H--, I === 10 && (H = 1, me--), I; +} +function B() { + return I = D < or ? M(X, D++) : 0, H++, I === 10 && (H = 1, me++), I; +} +function V() { + return M(X, D); +} +function ae() { + return D; +} +function ne(e, r) { + return Z(X, e, r); +} +function ee(e) { + switch (e) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5; + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4; + case 58: + return 3; + case 34: + case 39: + case 40: + case 91: + return 2; + case 41: + case 93: + return 1; + } + return 0; +} +function sr(e) { + return me = H = 1, or = z(X = e), D = 0, []; +} +function ar(e) { + return X = "", e; +} +function ce(e) { + return ir(ne(D - 1, Ce(e === 91 ? e + 2 : e === 40 ? e + 1 : e))); +} +function _t(e) { + for (; (I = V()) && I < 33; ) + B(); + return ee(e) > 2 || ee(I) > 3 ? "" : " "; +} +function $t(e, r) { + for (; --r && B() && !(I < 48 || I > 102 || I > 57 && I < 65 || I > 70 && I < 97); ) + ; + return ne(e, ae() + (r < 6 && V() == 32 && B() == 32)); +} +function Ce(e) { + for (; B(); ) + switch (I) { + case e: + return D; + case 34: + case 39: + e !== 34 && e !== 39 && Ce(I); + break; + case 40: + e === 41 && Ce(e); + break; + case 92: + B(); + break; + } + return D; +} +function Rt(e, r) { + for (; B() && e + I !== 57; ) + if (e + I === 84 && V() === 47) + break; + return "/*" + ne(r, D - 1) + "*" + pe(e === 47 ? e : B()); +} +function kt(e) { + for (; !ee(V()); ) + B(); + return ne(e, D); +} +function It(e) { + return ar(ue("", null, null, null, [""], e = sr(e), 0, [0], e)); +} +function ue(e, r, t, n, i, o, s, a, u) { + for (var c = 0, d = 0, y = s, $ = 0, f = 0, m = 0, h = 1, b = 1, T = 1, w = 0, v = "", k = i, l = o, N = n, R = v; b; ) + switch (m = w, w = B()) { + case 40: + if (m != 108 && M(R, y - 1) == 58) { + Ee(R += E(ce(w), "&", "&\f"), "&\f") != -1 && (T = -1); + break; + } + case 34: + case 39: + case 91: + R += ce(w); + break; + case 9: + case 10: + case 13: + case 32: + R += _t(m); + break; + case 92: + R += $t(ae() - 1, 7); + continue; + case 47: + switch (V()) { + case 42: + case 47: + oe(Mt(Rt(B(), ae()), r, t), u); + break; + default: + R += "/"; + } + break; + case 123 * h: + a[c++] = z(R) * T; + case 125 * h: + case 59: + case 0: + switch (w) { + case 0: + case 125: + b = 0; + case 59 + d: + T == -1 && (R = E(R, /\f/g, "")), f > 0 && z(R) - y && oe(f > 32 ? ze(R + ";", n, t, y - 1) : ze(E(R, " ", "") + ";", n, t, y - 2), u); + break; + case 59: + R += ";"; + default: + if (oe(N = Le(R, r, t, c, d, i, a, v, k = [], l = [], y), o), w === 123) + if (d === 0) + ue(R, r, N, N, k, o, y, a, l); + else + switch ($ === 99 && M(R, 3) === 110 ? 100 : $) { + case 100: + case 108: + case 109: + case 115: + ue(e, N, N, n && oe(Le(e, N, N, 0, 0, i, a, v, i, k = [], y), l), i, l, y, a, n ? k : l); + break; + default: + ue(R, N, N, N, [""], l, 0, a, l); + } + } + c = d = f = 0, h = T = 1, v = R = "", y = s; + break; + case 58: + y = 1 + z(R), f = m; + default: + if (h < 1) { + if (w == 123) + --h; + else if (w == 125 && h++ == 0 && Tt() == 125) + continue; + } + switch (R += pe(w), w * h) { + case 38: + T = d > 0 ? 1 : (R += "\f", -1); + break; + case 44: + a[c++] = (z(R) - 1) * T, T = 1; + break; + case 64: + V() === 45 && (R += ce(B())), $ = V(), d = y = z(v = R += kt(ae())), w++; + break; + case 45: + m === 45 && z(R) == 2 && (h = 0); + } + } + return o; +} +function Le(e, r, t, n, i, o, s, a, u, c, d) { + for (var y = i - 1, $ = i === 0 ? o : [""], f = Ne($), m = 0, h = 0, b = 0; m < n; ++m) + for (var T = 0, w = Z(e, y + 1, y = xt(h = s[m])), v = e; T < f; ++T) + (v = ir(h > 0 ? $[T] + " " + w : E(w, /&\f/g, $[T]))) && (u[b++] = v); + return ye(e, r, t, i === 0 ? Ie : a, u, c, d); +} +function Mt(e, r, t) { + return ye(e, r, t, tr, pe(At()), Z(e, 2, -2), 0); +} +function ze(e, r, t, n) { + return ye(e, r, t, Me, Z(e, 0, n), Z(e, n + 1, -1), n); +} +function G(e, r) { + for (var t = "", n = Ne(e), i = 0; i < n; i++) + t += r(e[i], i, e, r) || ""; + return t; +} +function Nt(e, r, t, n) { + switch (e.type) { + case wt: + if (e.children.length) break; + case vt: + case Me: + return e.return = e.return || e.value; + case tr: + return ""; + case nr: + return e.return = e.value + "{" + G(e.children, n) + "}"; + case Ie: + e.value = e.props.join(","); + } + return z(t = G(e.children, n)) ? e.return = e.value + "{" + t + "}" : ""; +} +function Ot(e) { + var r = Ne(e); + return function(t, n, i, o) { + for (var s = "", a = 0; a < r; a++) + s += e[a](t, n, i, o) || ""; + return s; + }; +} +function Ft(e) { + return function(r) { + r.root || (r = r.return) && e(r); + }; +} +function Pt(e) { + var r = /* @__PURE__ */ Object.create(null); + return function(t) { + return r[t] === void 0 && (r[t] = e(t)), r[t]; + }; +} +var Dt = function(r, t, n) { + for (var i = 0, o = 0; i = o, o = V(), i === 38 && o === 12 && (t[n] = 1), !ee(o); ) + B(); + return ne(r, D); +}, Bt = function(r, t) { + var n = -1, i = 44; + do + switch (ee(i)) { + case 0: + i === 38 && V() === 12 && (t[n] = 1), r[n] += Dt(D - 1, t, n); + break; + case 2: + r[n] += ce(i); + break; + case 4: + if (i === 44) { + r[++n] = V() === 58 ? "&\f" : "", t[n] = r[n].length; + break; + } + default: + r[n] += pe(i); + } + while (i = B()); + return r; +}, Lt = function(r, t) { + return ar(Bt(sr(r), t)); +}, Ke = /* @__PURE__ */ new WeakMap(), zt = function(r) { + if (!(r.type !== "rule" || !r.parent || // positive .length indicates that this rule contains pseudo + // negative .length indicates that this rule has been already prefixed + r.length < 1)) { + for (var t = r.value, n = r.parent, i = r.column === n.column && r.line === n.line; n.type !== "rule"; ) + if (n = n.parent, !n) return; + if (!(r.props.length === 1 && t.charCodeAt(0) !== 58 && !Ke.get(n)) && !i) { + Ke.set(r, !0); + for (var o = [], s = Lt(t, o), a = n.props, u = 0, c = 0; u < s.length; u++) + for (var d = 0; d < a.length; d++, c++) + r.props[c] = o[u] ? s[u].replace(/&\f/g, a[d]) : a[d] + " " + s[u]; + } + } +}, Kt = function(r) { + if (r.type === "decl") { + var t = r.value; + // charcode for l + t.charCodeAt(0) === 108 && // charcode for b + t.charCodeAt(2) === 98 && (r.return = "", r.value = ""); + } +}; +function cr(e, r) { + switch (Et(e, r)) { + case 5103: + return S + "print-" + e + e; + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return S + e + e; + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return S + e + de + e + O + e + e; + case 6828: + case 4268: + return S + e + O + e + e; + case 6165: + return S + e + O + "flex-" + e + e; + case 5187: + return S + e + E(e, /(\w+).+(:[^]+)/, S + "box-$1$2" + O + "flex-$1$2") + e; + case 5443: + return S + e + O + "flex-item-" + E(e, /flex-|-self/, "") + e; + case 4675: + return S + e + O + "flex-line-pack" + E(e, /align-content|flex-|-self/, "") + e; + case 5548: + return S + e + O + E(e, "shrink", "negative") + e; + case 5292: + return S + e + O + E(e, "basis", "preferred-size") + e; + case 6060: + return S + "box-" + E(e, "-grow", "") + S + e + O + E(e, "grow", "positive") + e; + case 4554: + return S + E(e, /([^-])(transform)/g, "$1" + S + "$2") + e; + case 6187: + return E(E(E(e, /(zoom-|grab)/, S + "$1"), /(image-set)/, S + "$1"), e, "") + e; + case 5495: + case 3959: + return E(e, /(image-set\([^]*)/, S + "$1$`$1"); + case 4968: + return E(E(e, /(.+:)(flex-)?(.*)/, S + "box-pack:$3" + O + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + S + e + e; + case 4095: + case 3583: + case 4068: + case 2532: + return E(e, /(.+)-inline(.+)/, S + "$1$2") + e; + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (z(e) - 1 - r > 6) switch (M(e, r + 1)) { + case 109: + if (M(e, r + 4) !== 45) break; + case 102: + return E(e, /(.+:)(.+)-([^]+)/, "$1" + S + "$2-$3$1" + de + (M(e, r + 3) == 108 ? "$3" : "$2-$3")) + e; + case 115: + return ~Ee(e, "stretch") ? cr(E(e, "stretch", "fill-available"), r) + e : e; + } + break; + case 4949: + if (M(e, r + 1) !== 115) break; + case 6444: + switch (M(e, z(e) - 3 - (~Ee(e, "!important") && 10))) { + case 107: + return E(e, ":", ":" + S) + e; + case 101: + return E(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + S + (M(e, 14) === 45 ? "inline-" : "") + "box$3$1" + S + "$2$3$1" + O + "$2box$3") + e; + } + break; + case 5936: + switch (M(e, r + 11)) { + case 114: + return S + e + O + E(e, /[svh]\w+-[tblr]{2}/, "tb") + e; + case 108: + return S + e + O + E(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e; + case 45: + return S + e + O + E(e, /[svh]\w+-[tblr]{2}/, "lr") + e; + } + return S + e + O + e + e; + } + return e; +} +var Yt = function(r, t, n, i) { + if (r.length > -1 && !r.return) switch (r.type) { + case Me: + r.return = cr(r.value, r.length); + break; + case nr: + return G([Q(r, { + value: E(r.value, "@", "@" + S) + })], i); + case Ie: + if (r.length) return gt(r.props, function(o) { + switch (Ct(o, /(::plac\w+|:read-\w+)/)) { + case ":read-only": + case ":read-write": + return G([Q(r, { + props: [E(o, /:(read-\w+)/, ":" + de + "$1")] + })], i); + case "::placeholder": + return G([Q(r, { + props: [E(o, /:(plac\w+)/, ":" + S + "input-$1")] + }), Q(r, { + props: [E(o, /:(plac\w+)/, ":" + de + "$1")] + }), Q(r, { + props: [E(o, /:(plac\w+)/, O + "input-$1")] + })], i); + } + return ""; + }); + } +}, Vt = [Yt], Wt = function(r) { + var t = r.key; + if (t === "css") { + var n = document.querySelectorAll("style[data-emotion]:not([data-s])"); + Array.prototype.forEach.call(n, function(h) { + var b = h.getAttribute("data-emotion"); + b.indexOf(" ") !== -1 && (document.head.appendChild(h), h.setAttribute("data-s", "")); + }); + } + var i = r.stylisPlugins || Vt, o = {}, s, a = []; + s = r.container || document.head, Array.prototype.forEach.call( + // this means we will ignore elements which don't have a space in them which + // means that the style elements we're looking at are only Emotion 11 server-rendered style elements + document.querySelectorAll('style[data-emotion^="' + t + ' "]'), + function(h) { + for (var b = h.getAttribute("data-emotion").split(" "), T = 1; T < b.length; T++) + o[b[T]] = !0; + a.push(h); + } + ); + var u, c = [zt, Kt]; + { + var d, y = [Nt, Ft(function(h) { + d.insert(h); + })], $ = Ot(c.concat(i, y)), f = function(b) { + return G(It(b), $); + }; + u = function(b, T, w, v) { + d = w, f(b ? b + "{" + T.styles + "}" : T.styles), v && (m.inserted[T.name] = !0); + }; + } + var m = { + key: t, + sheet: new bt({ + key: t, + container: s, + nonce: r.nonce, + speedy: r.speedy, + prepend: r.prepend, + insertionPoint: r.insertionPoint + }), + nonce: r.nonce, + inserted: o, + registered: {}, + insert: u + }; + return m.sheet.hydrate(a), m; +}, ge = { exports: {} }, g = {}; +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var Ye; +function qt() { + if (Ye) return g; + Ye = 1; + var e = typeof Symbol == "function" && Symbol.for, r = e ? Symbol.for("react.element") : 60103, t = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, a = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, y = e ? Symbol.for("react.suspense") : 60113, $ = e ? Symbol.for("react.suspense_list") : 60120, f = e ? Symbol.for("react.memo") : 60115, m = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, b = e ? Symbol.for("react.fundamental") : 60117, T = e ? Symbol.for("react.responder") : 60118, w = e ? Symbol.for("react.scope") : 60119; + function v(l) { + if (typeof l == "object" && l !== null) { + var N = l.$$typeof; + switch (N) { + case r: + switch (l = l.type, l) { + case u: + case c: + case n: + case o: + case i: + case y: + return l; + default: + switch (l = l && l.$$typeof, l) { + case a: + case d: + case m: + case f: + case s: + return l; + default: + return N; + } + } + case t: + return N; + } + } + } + function k(l) { + return v(l) === c; + } + return g.AsyncMode = u, g.ConcurrentMode = c, g.ContextConsumer = a, g.ContextProvider = s, g.Element = r, g.ForwardRef = d, g.Fragment = n, g.Lazy = m, g.Memo = f, g.Portal = t, g.Profiler = o, g.StrictMode = i, g.Suspense = y, g.isAsyncMode = function(l) { + return k(l) || v(l) === u; + }, g.isConcurrentMode = k, g.isContextConsumer = function(l) { + return v(l) === a; + }, g.isContextProvider = function(l) { + return v(l) === s; + }, g.isElement = function(l) { + return typeof l == "object" && l !== null && l.$$typeof === r; + }, g.isForwardRef = function(l) { + return v(l) === d; + }, g.isFragment = function(l) { + return v(l) === n; + }, g.isLazy = function(l) { + return v(l) === m; + }, g.isMemo = function(l) { + return v(l) === f; + }, g.isPortal = function(l) { + return v(l) === t; + }, g.isProfiler = function(l) { + return v(l) === o; + }, g.isStrictMode = function(l) { + return v(l) === i; + }, g.isSuspense = function(l) { + return v(l) === y; + }, g.isValidElementType = function(l) { + return typeof l == "string" || typeof l == "function" || l === n || l === c || l === o || l === i || l === y || l === $ || typeof l == "object" && l !== null && (l.$$typeof === m || l.$$typeof === f || l.$$typeof === s || l.$$typeof === a || l.$$typeof === d || l.$$typeof === b || l.$$typeof === T || l.$$typeof === w || l.$$typeof === h); + }, g.typeOf = v, g; +} +var A = {}; +/** @license React v16.13.1 + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var Ve; +function jt() { + return Ve || (Ve = 1, process.env.NODE_ENV !== "production" && function() { + var e = typeof Symbol == "function" && Symbol.for, r = e ? Symbol.for("react.element") : 60103, t = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, a = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, y = e ? Symbol.for("react.suspense") : 60113, $ = e ? Symbol.for("react.suspense_list") : 60120, f = e ? Symbol.for("react.memo") : 60115, m = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, b = e ? Symbol.for("react.fundamental") : 60117, T = e ? Symbol.for("react.responder") : 60118, w = e ? Symbol.for("react.scope") : 60119; + function v(p) { + return typeof p == "string" || typeof p == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + p === n || p === c || p === o || p === i || p === y || p === $ || typeof p == "object" && p !== null && (p.$$typeof === m || p.$$typeof === f || p.$$typeof === s || p.$$typeof === a || p.$$typeof === d || p.$$typeof === b || p.$$typeof === T || p.$$typeof === w || p.$$typeof === h); + } + function k(p) { + if (typeof p == "object" && p !== null) { + var be = p.$$typeof; + switch (be) { + case r: + var ie = p.type; + switch (ie) { + case u: + case c: + case n: + case o: + case i: + case y: + return ie; + default: + var De = ie && ie.$$typeof; + switch (De) { + case a: + case d: + case m: + case f: + case s: + return De; + default: + return be; + } + } + case t: + return be; + } + } + } + var l = u, N = c, R = a, wr = s, xr = r, Sr = d, Er = n, Cr = m, gr = f, Ar = t, Tr = o, _r = i, $r = y, Fe = !1; + function Rr(p) { + return Fe || (Fe = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), Pe(p) || k(p) === u; + } + function Pe(p) { + return k(p) === c; + } + function kr(p) { + return k(p) === a; + } + function Ir(p) { + return k(p) === s; + } + function Mr(p) { + return typeof p == "object" && p !== null && p.$$typeof === r; + } + function Nr(p) { + return k(p) === d; + } + function Or(p) { + return k(p) === n; + } + function Fr(p) { + return k(p) === m; + } + function Pr(p) { + return k(p) === f; + } + function Dr(p) { + return k(p) === t; + } + function Br(p) { + return k(p) === o; + } + function Lr(p) { + return k(p) === i; + } + function zr(p) { + return k(p) === y; + } + A.AsyncMode = l, A.ConcurrentMode = N, A.ContextConsumer = R, A.ContextProvider = wr, A.Element = xr, A.ForwardRef = Sr, A.Fragment = Er, A.Lazy = Cr, A.Memo = gr, A.Portal = Ar, A.Profiler = Tr, A.StrictMode = _r, A.Suspense = $r, A.isAsyncMode = Rr, A.isConcurrentMode = Pe, A.isContextConsumer = kr, A.isContextProvider = Ir, A.isElement = Mr, A.isForwardRef = Nr, A.isFragment = Or, A.isLazy = Fr, A.isMemo = Pr, A.isPortal = Dr, A.isProfiler = Br, A.isStrictMode = Lr, A.isSuspense = zr, A.isValidElementType = v, A.typeOf = k; + }()), A; +} +process.env.NODE_ENV === "production" ? ge.exports = qt() : ge.exports = jt(); +var Ut = ge.exports, ur = Ut, Gt = { + $$typeof: !0, + render: !0, + defaultProps: !0, + displayName: !0, + propTypes: !0 +}, Jt = { + $$typeof: !0, + compare: !0, + defaultProps: !0, + displayName: !0, + propTypes: !0, + type: !0 +}, fr = {}; +fr[ur.ForwardRef] = Gt; +fr[ur.Memo] = Jt; +var Ht = !0; +function Xt(e, r, t) { + var n = ""; + return t.split(" ").forEach(function(i) { + e[i] !== void 0 ? r.push(e[i] + ";") : i && (n += i + " "); + }), n; +} +var lr = function(r, t, n) { + var i = r.key + "-" + t.name; + // we only need to add the styles to the registered cache if the + // class name could be used further down + // the tree but if it's a string tag, we know it won't + // so we don't have to add it to registered cache. + // this improves memory usage since we can avoid storing the whole style string + (n === !1 || // we need to always store it if we're in compat mode and + // in node since emotion-server relies on whether a style is in + // the registered cache to know whether a style is global or not + // also, note that this check will be dead code eliminated in the browser + Ht === !1) && r.registered[i] === void 0 && (r.registered[i] = t.styles); +}, dr = function(r, t, n) { + lr(r, t, n); + var i = r.key + "-" + t.name; + if (r.inserted[t.name] === void 0) { + var o = t; + do + r.insert(t === o ? "." + i : "", o, r.sheet, !0), o = o.next; + while (o !== void 0); + } +}; +function Qt(e) { + for (var r = 0, t, n = 0, i = e.length; i >= 4; ++n, i -= 4) + t = e.charCodeAt(n) & 255 | (e.charCodeAt(++n) & 255) << 8 | (e.charCodeAt(++n) & 255) << 16 | (e.charCodeAt(++n) & 255) << 24, t = /* Math.imul(k, m): */ + (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), t ^= /* k >>> r: */ + t >>> 24, r = /* Math.imul(k, m): */ + (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */ + (r & 65535) * 1540483477 + ((r >>> 16) * 59797 << 16); + switch (i) { + case 3: + r ^= (e.charCodeAt(n + 2) & 255) << 16; + case 2: + r ^= (e.charCodeAt(n + 1) & 255) << 8; + case 1: + r ^= e.charCodeAt(n) & 255, r = /* Math.imul(h, m): */ + (r & 65535) * 1540483477 + ((r >>> 16) * 59797 << 16); + } + return r ^= r >>> 13, r = /* Math.imul(h, m): */ + (r & 65535) * 1540483477 + ((r >>> 16) * 59797 << 16), ((r ^ r >>> 15) >>> 0).toString(36); +} +var Zt = { + animationIterationCount: 1, + aspectRatio: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + scale: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + // SVG-related properties + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1 +}, en = /[A-Z]|^ms/g, rn = /_EMO_([^_]+?)_([^]*?)_EMO_/g, hr = function(r) { + return r.charCodeAt(1) === 45; +}, We = function(r) { + return r != null && typeof r != "boolean"; +}, we = /* @__PURE__ */ Pt(function(e) { + return hr(e) ? e : e.replace(en, "-$&").toLowerCase(); +}), qe = function(r, t) { + switch (r) { + case "animation": + case "animationName": + if (typeof t == "string") + return t.replace(rn, function(n, i, o) { + return K = { + name: i, + styles: o, + next: K + }, i; + }); + } + return Zt[r] !== 1 && !hr(r) && typeof t == "number" && t !== 0 ? t + "px" : t; +}; +function re(e, r, t) { + if (t == null) + return ""; + var n = t; + if (n.__emotion_styles !== void 0) + return n; + switch (typeof t) { + case "boolean": + return ""; + case "object": { + var i = t; + if (i.anim === 1) + return K = { + name: i.name, + styles: i.styles, + next: K + }, i.name; + var o = t; + if (o.styles !== void 0) { + var s = o.next; + if (s !== void 0) + for (; s !== void 0; ) + K = { + name: s.name, + styles: s.styles, + next: K + }, s = s.next; + var a = o.styles + ";"; + return a; + } + return tn(e, r, t); + } + case "function": { + if (e !== void 0) { + var u = K, c = t(e); + return K = u, re(e, r, c); + } + break; + } + } + var d = t; + return d; +} +function tn(e, r, t) { + var n = ""; + if (Array.isArray(t)) + for (var i = 0; i < t.length; i++) + n += re(e, r, t[i]) + ";"; + else + for (var o in t) { + var s = t[o]; + if (typeof s != "object") { + var a = s; + We(a) && (n += we(o) + ":" + qe(o, a) + ";"); + } else if (Array.isArray(s) && typeof s[0] == "string" && r == null) + for (var u = 0; u < s.length; u++) + We(s[u]) && (n += we(o) + ":" + qe(o, s[u]) + ";"); + else { + var c = re(e, r, s); + switch (o) { + case "animation": + case "animationName": { + n += we(o) + ":" + c + ";"; + break; + } + default: + n += o + "{" + c + "}"; + } + } + } + return n; +} +var je = /label:\s*([^\s;{]+)\s*(;|$)/g, K; +function pr(e, r, t) { + if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0) + return e[0]; + var n = !0, i = ""; + K = void 0; + var o = e[0]; + if (o == null || o.raw === void 0) + n = !1, i += re(t, r, o); + else { + var s = o; + i += s[0]; + } + for (var a = 1; a < e.length; a++) + if (i += re(t, r, e[a]), n) { + var u = o; + i += u[a]; + } + je.lastIndex = 0; + for (var c = "", d; (d = je.exec(i)) !== null; ) + c += "-" + d[1]; + var y = Qt(i) + c; + return { + name: y, + styles: i, + next: K + }; +} +var nn = function(r) { + return r(); +}, mr = F.useInsertionEffect ? F.useInsertionEffect : !1, on = mr || nn, Ue = mr || F.useLayoutEffect, yr = /* @__PURE__ */ F.createContext( + // we're doing this to avoid preconstruct's dead code elimination in this one case + // because this module is primarily intended for the browser and node + // but it's also required in react native and similar environments sometimes + // and we could have a special build just for that + // but this is much easier and the native packages + // might use a different theme context in the future anyway + typeof HTMLElement < "u" ? /* @__PURE__ */ Wt({ + key: "css" + }) : null +); +yr.Provider; +var br = function(r) { + return /* @__PURE__ */ Kr(function(t, n) { + var i = He(yr); + return r(t, i, n); + }); +}, vr = /* @__PURE__ */ F.createContext({}), Oe = {}.hasOwnProperty, Ae = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", sn = function(r, t) { + var n = {}; + for (var i in t) + Oe.call(t, i) && (n[i] = t[i]); + return n[Ae] = r, n; +}, an = function(r) { + var t = r.cache, n = r.serialized, i = r.isStringTag; + return lr(t, n, i), on(function() { + return dr(t, n, i); + }), null; +}, cn = /* @__PURE__ */ br(function(e, r, t) { + var n = e.css; + typeof n == "string" && r.registered[n] !== void 0 && (n = r.registered[n]); + var i = e[Ae], o = [n], s = ""; + typeof e.className == "string" ? s = Xt(r.registered, o, e.className) : e.className != null && (s = e.className + " "); + var a = pr(o, void 0, F.useContext(vr)); + s += r.key + "-" + a.name; + var u = {}; + for (var c in e) + Oe.call(e, c) && c !== "css" && c !== Ae && (u[c] = e[c]); + return u.className = s, t && (u.ref = t), /* @__PURE__ */ F.createElement(F.Fragment, null, /* @__PURE__ */ F.createElement(an, { + cache: r, + serialized: a, + isStringTag: typeof i == "string" + }), /* @__PURE__ */ F.createElement(i, u)); +}), un = cn, Ge = function(r, t) { + var n = arguments; + if (t == null || !Oe.call(t, "css")) + return F.createElement.apply(void 0, n); + var i = n.length, o = new Array(i); + o[0] = un, o[1] = sn(r, t); + for (var s = 2; s < i; s++) + o[s] = n[s]; + return F.createElement.apply(null, o); +}; +(function(e) { + var r; + r || (r = e.JSX || (e.JSX = {})); +})(Ge || (Ge = {})); +var fn = /* @__PURE__ */ br(function(e, r) { + var t = e.styles, n = pr([t], void 0, F.useContext(vr)), i = F.useRef(); + return Ue(function() { + var o = r.key + "-global", s = new r.sheet.constructor({ + key: o, + nonce: r.sheet.nonce, + container: r.sheet.container, + speedy: r.sheet.isSpeedy + }), a = !1, u = document.querySelector('style[data-emotion="' + o + " " + n.name + '"]'); + return r.sheet.tags.length && (s.before = r.sheet.tags[0]), u !== null && (a = !0, u.setAttribute("data-emotion", o), s.hydrate([u])), i.current = [s, a], function() { + s.flush(); + }; + }, [r]), Ue(function() { + var o = i.current, s = o[0], a = o[1]; + if (a) { + o[1] = !1; + return; + } + if (n.next !== void 0 && dr(r, n.next, !0), s.tags.length) { + var u = s.tags[s.tags.length - 1].nextElementSibling; + s.before = u, s.flush(); + } + r.insert("", n, s, !1); + }, [r, n.name]), null; +}); +const ln = Yr( + { + direction: "rtl", + styles: { + global: { + html: { + fontSize: "14px" + }, + body: { + bg: "white" + } + } + }, + fonts: { + heading: "Estedad", + body: "Estedad" + } + }, + Vr({ colorScheme: "facebook" }) +), dn = () => /* @__PURE__ */ x( + fn, + { + styles: ` + @font-face { + font-family: Estedad; + src: url('/fonts/estedad.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; + } + ` + } +); +function kn({ children: e, - apiBaseUrl: t, - keycloakClientId: n, - permissionClientId: l, - loading: c = /* @__PURE__ */ a(ee, {}), - updateChecker: s = !0, - updateCheckerProps: i, - keycloakUrl: o = "https://auth.ibagher.ir", - keycloakRealm: d = "bi", - permissionUrl: u = "https://api.d.aiengines.ir/user_api/v1/permissions/list" + apiBaseUrl: r, + keycloakClientId: t, + permissionClientId: n, + loading: i = /* @__PURE__ */ x(qr, {}), + updateChecker: o = !0, + updateCheckerProps: s, + keycloakUrl: a = "https://auth.ibagher.ir", + keycloakRealm: u = "bi", + permissionUrl: c = "https://api.d.aiengines.ir/user_api/v1/permissions/list" }) { - const b = _( + const d = fe( () => ({ api: { - baseUrl: t + baseUrl: r }, keycloak: { - url: o, - realm: d, - clientId: n + url: a, + realm: u, + clientId: t }, permission: { - url: u, - clientId: l + url: c, + clientId: n } }), [ + r, t, n, - l, - o, - d, - u + a, + u, + c ] ); - return C(() => { - ye(b); - }, [b]), /* @__PURE__ */ I(Z, { children: [ - s && /* @__PURE__ */ a(ve, { ...i }), - /* @__PURE__ */ a(ce, { config: b.keycloak, loading: c, children: /* @__PURE__ */ a(ae, { config: b.permission, loading: c, children: e }) }) - ] }); + return L(() => { + lt(d); + }, [d]), /* @__PURE__ */ x(Wr, { theme: ln, children: /* @__PURE__ */ Y(Jr, { client: pt, children: [ + o && /* @__PURE__ */ x(ht, { ...s }), + /* @__PURE__ */ x(rt, { config: d.keycloak, loading: i, children: /* @__PURE__ */ Y(nt, { config: d.permission, loading: i, children: [ + /* @__PURE__ */ x(dn, {}), + e + ] }) }) + ] }) }); } export { - ge as AdminGuard, - je as BiProvider, - Me as Can, - ce as KeycloakProvider, - Ke as LightPagination, - Ne as Pagination, - Fe as PanelAccessGuard, - ae as PermissionProvider, - Te as SimplePagination, - Ve as api, - he as checkPermission, - ze as clearCachedPermissions, - ye as configureApi, - we as createApi, - pe as createPermissionSet, - xe as getApi, - de as getCachedPermissions, - T as getKeycloakToken, - me as getPermissions, - J as initKeycloak, - G as isKeycloakAuthenticated, - le as isKeycloakInitialized, - _e as loginKeycloak, - H as logoutKeycloak, - Y as permissionKeys, - fe as setCachedPermissions, - D as toEnDigits, - p as toFaDigits, - De as toFaNumber, - q as updateKeycloakToken, - U as usePermission, - be as usePermissionsQuery + _n as AdminGuard, + kn as BiProvider, + Tn as Can, + rt as KeycloakProvider, + Sn as LightPagination, + En as Pagination, + $n as PanelAccessGuard, + nt as PermissionProvider, + Cn as SimplePagination, + Rn as api, + at as checkPermission, + An as clearCachedPermissions, + lt as configureApi, + ft as createApi, + st as createPermissionSet, + dt as getApi, + it as getCachedPermissions, + se as getKeycloakToken, + ct as getPermissions, + Ze as initKeycloak, + Xe as isKeycloakAuthenticated, + et as isKeycloakInitialized, + gn as loginKeycloak, + Qe as logoutKeycloak, + rr as permissionKeys, + ot as setCachedPermissions, + U as toEnDigits, + _ as toFaDigits, + xn as toFaNumber, + Be as updateKeycloakToken, + ke as usePermission, + ut as usePermissionsQuery }; diff --git a/package.json b/package.json index d2fa0ef..1283e7e 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "peerDependencies": { "@chakra-ui/react": "^2.0.0", + "@emotion/react": "^11.0.0", "@tanstack/react-query": "^5.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", @@ -19,6 +20,7 @@ }, "devDependencies": { "@chakra-ui/react": "^2.0.0", + "@emotion/react": "^11.14.0", "@tanstack/react-query": "^5.0.0", "@vitejs/plugin-react": "4.3.4", "axios": "^1.17.0", diff --git a/src/core/query.js b/src/core/query.js new file mode 100644 index 0000000..6bc5929 --- /dev/null +++ b/src/core/query.js @@ -0,0 +1,10 @@ +import { QueryClient } from "@tanstack/react-query"; + +export const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: 1, + refetchOnWindowFocus: false, + }, + }, +}); diff --git a/src/core/style.jsx b/src/core/style.jsx new file mode 100644 index 0000000..0b6e2f8 --- /dev/null +++ b/src/core/style.jsx @@ -0,0 +1,37 @@ +import { extendTheme, withDefaultColorScheme } from "@chakra-ui/react"; +import { Global } from "@emotion/react"; + +export const theme = extendTheme( + { + direction: "rtl", + styles: { + global: { + html: { + fontSize: "14px", + }, + body: { + bg: "white", + }, + }, + }, + fonts: { + heading: "Estedad", + body: "Estedad", + }, + }, + withDefaultColorScheme({ colorScheme: "facebook" }), +); + +export const Fonts = () => ( + +); diff --git a/src/provider/BiProvider.jsx b/src/provider/BiProvider.jsx index 130412c..67f1bf4 100644 --- a/src/provider/BiProvider.jsx +++ b/src/provider/BiProvider.jsx @@ -1,9 +1,12 @@ import { useEffect, useMemo } from "react"; -import { Spinner } from "@chakra-ui/react"; +import { ChakraProvider, Spinner } from "@chakra-ui/react"; +import { QueryClientProvider } from "@tanstack/react-query"; import { KeycloakProvider } from "../core/keycloak.jsx"; import { PermissionProvider } from "../core/permission.jsx"; import { UpdateChecker } from "../components/UpdateChecker.jsx"; import { configureApi } from "../core/api.js"; +import { queryClient } from "../core/query.js"; +import { Fonts, theme } from "../core/style.jsx"; export function BiProvider({ children, @@ -47,14 +50,16 @@ export function BiProvider({ }, [config]); return ( - <> - {updateChecker && } - - - - {children} - - - + + + {updateChecker && } + + + + {children} + + + + ); } diff --git a/yarn.lock b/yarn.lock index c80c33e..b155304 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@^7.29.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== @@ -64,7 +64,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz#f04a96fbd8473241b1079243f5b3f03a3010ab7b" integrity sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA== -"@babel/helper-module-imports@^7.29.7": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== @@ -130,7 +130,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.29.7" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.7.tgz#12022450c45a4da6d8d8287b18a4ff2ddb23f768" integrity sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw== @@ -230,6 +230,94 @@ "@types/lodash.mergewith" "4.6.9" lodash.mergewith "4.6.2" +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== + +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + "@esbuild/aix-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" @@ -571,6 +659,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.24.tgz#4ae334fc62c0e915ca8ed8e35dcc6d4eeb29215f" integrity sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ== +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + "@vitejs/plugin-react@4.3.4": version "4.3.4" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20" @@ -628,6 +721,15 @@ axios@^1.17.0: https-proxy-agent "^5.0.1" proxy-from-env "^2.1.0" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + baseline-browser-mapping@^2.10.12: version "2.10.35" resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.35.tgz#f0f2232e0de2d2f82cc491bcf830b05ed05937c6" @@ -652,6 +754,11 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: es-errors "^1.3.0" function-bind "^1.1.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + caniuse-lite@^1.0.30001782: version "1.0.30001799" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz#5c909138c27f1a61219d3e092071c1cc7d32dc55" @@ -669,6 +776,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -681,7 +793,18 @@ copy-to-clipboard@3.3.3: dependencies: toggle-selection "^1.0.6" -csstype@^3.1.2: +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +csstype@^3.0.2, csstype@^3.1.2: version "3.2.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== @@ -717,6 +840,13 @@ electron-to-chromium@^1.5.328: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.371.tgz#fa5684f2a514c57368823f9e75553f9a7c5ef0be" integrity sha512-e9htk9mAYL6AzmkEhSvVVw7IWGSBJ/Bqdn2eRyRLrj1g6sncN4WbFt5qnILYoCktktr45pyjIrOiRvBThQ808w== +error-ex@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== + dependencies: + is-arrayish "^0.2.1" + es-define-property@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" @@ -778,6 +908,16 @@ escalade@^3.2.0: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + focus-lock@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-1.3.6.tgz#955eec1e10591d56f679258edb94aedb11d691cd" @@ -869,13 +1009,20 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hasown@^2.0.2, hasown@^2.0.4: +hasown@^2.0.2, hasown@^2.0.3, hasown@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== dependencies: function-bind "^1.1.2" +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -884,6 +1031,26 @@ https-proxy-agent@^5.0.1: agent-base "6" debug "4" +import-fresh@^3.2.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.16.1: + version "2.16.2" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.2.tgz#3e07450a8080ebce3fbf0cac494f4d2ab324e082" + integrity sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA== + dependencies: + hasown "^2.0.3" + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -894,6 +1061,11 @@ jsesc@^3.0.2: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" @@ -904,6 +1076,11 @@ keycloak-js@^26.2.4: resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-26.2.4.tgz#b96ff33ed08ff6fd8d1e09d9e5055c7b3f2fa918" integrity sha512-PnXpR3ubETGOt0B/Qt2lxmPbkZr5bc3vlQsOqDoTPPQsZRp7JjhTKxlJ187uWh8qJhvBab6Gsjb06a8ayOPfuw== +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + lodash.mergewith@4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" @@ -960,6 +1137,33 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" @@ -1025,7 +1229,7 @@ react-icons@^5.0.0: resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.6.0.tgz#27bcc4acbc836e762548d76041cf9b9fef4e3837" integrity sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA== -react-is@^16.13.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -1069,6 +1273,21 @@ react@^18.0.0: dependencies: loose-envify "^1.1.0" +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.19.0: + version "1.22.12" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" + integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== + dependencies: + es-errors "^1.3.0" + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + rollup@^4.20.0: version "4.61.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.61.1.tgz#4a053204912e9083e51cb3a0bf02ffdc397264fb" @@ -1120,6 +1339,21 @@ source-map-js@^1.2.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" @@ -1173,3 +1407,8 @@ yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^1.10.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.3.tgz#76e407ed95c42684fb8e14641e5de62fe65bbcb3" + integrity sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==