1902 lines
60 KiB
JavaScript
1902 lines
60 KiB
JavaScript
import { jsxs as F, jsx as g } from "react/jsx-runtime";
|
||
import * as Z from "react";
|
||
import { useState as Y, useRef as te, useEffect as W, useCallback as $, createContext as Ke, useMemo as le, useContext as Xe, forwardRef as jr } from "react";
|
||
import { HStack as L, IconButton as K, Button as Se, Input as Re, Text as B, extendTheme as Vr, withDefaultColorScheme as _r, ChakraProvider as $r, Spinner as Qr, Box as Ur, VStack as Je, Image as He } from "@chakra-ui/react";
|
||
import { IoChevronForwardOutline as Te, IoChevronBackOutline as Me } from "react-icons/io5";
|
||
import Kr from "keycloak-js";
|
||
import { useQuery as Xr, QueryClient as Jr, QueryClientProvider as Hr } from "@tanstack/react-query";
|
||
import qr from "axios";
|
||
const Nn = (e) => new Intl.NumberFormat("fa-IR").format(Number(e)), T = (e) => String(e).replace(/\d/g, (r) => "۰۱۲۳۴۵۶۷۸۹"[Number(r)]), Q = (e) => String(e).replace(/[۰-۹]/g, (t) => String("۰۱۲۳۴۵۶۷۸۹".indexOf(t))), Dn = ({
|
||
currentPage: e,
|
||
totalPages: r,
|
||
totalCount: t,
|
||
onPageChange: n
|
||
}) => {
|
||
const [i, o] = Y(T(e)), [s, a] = Y(!1), [u, c] = Y(null), d = te(null), m = [.../* @__PURE__ */ new Set([1, e, r])].filter(
|
||
(l) => l >= 1 && l <= r
|
||
);
|
||
W(() => {
|
||
if (u !== null) {
|
||
e === u && (c(null), a(!1), o(T(e)));
|
||
return;
|
||
}
|
||
s || o(T(e));
|
||
}, [e, s, u]), W(() => {
|
||
if (!s || !i || u !== null) return;
|
||
const l = parseInt(Q(i), 10);
|
||
if (isNaN(l)) return;
|
||
const p = setTimeout(() => {
|
||
var C;
|
||
const A = Math.min(Math.max(l, 1), r);
|
||
A !== e ? (c(A), o(T(A)), n(A)) : (a(!1), o(T(e))), (C = d.current) == null || C.blur();
|
||
}, 1e3);
|
||
return () => clearTimeout(p);
|
||
}, [
|
||
i,
|
||
s,
|
||
u,
|
||
r,
|
||
e,
|
||
n
|
||
]);
|
||
const I = () => {
|
||
var A, C;
|
||
const l = parseInt(Q(i), 10);
|
||
if (isNaN(l)) {
|
||
o(T(e)), a(!1), c(null), (A = d.current) == null || A.blur();
|
||
return;
|
||
}
|
||
const p = Math.min(Math.max(l, 1), r);
|
||
p !== e ? (c(p), o(T(p)), n(p)) : (o(T(e)), a(!1), c(null)), (C = d.current) == null || C.blur();
|
||
};
|
||
return r === 0 || !t ? null : /* @__PURE__ */ F(
|
||
L,
|
||
{
|
||
justifyContent: "space-around",
|
||
backgroundColor: "white",
|
||
py: "10px",
|
||
px: "16px",
|
||
rounded: "lg",
|
||
border: "1px",
|
||
borderColor: "blue.200",
|
||
w: "100%",
|
||
children: [
|
||
/* @__PURE__ */ F(L, { spacing: 2, alignItems: "center", justifyContent: "center", children: [
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => n(e - 1),
|
||
isDisabled: e === 1,
|
||
icon: /* @__PURE__ */ g(Te, {}),
|
||
"aria-label": "صفحه قبلی"
|
||
}
|
||
),
|
||
m.map((l) => /* @__PURE__ */ g(
|
||
Se,
|
||
{
|
||
size: "md",
|
||
px: 2,
|
||
bg: e === l ? "#4B49AC" : "#e6e6f1",
|
||
color: e === l ? "#e6e6f1" : "#4B49AC",
|
||
_hover: { bg: e === l ? "#4B49AC" : "#cbcbe8" },
|
||
onClick: () => n(l),
|
||
variant: "soft",
|
||
children: T(l)
|
||
},
|
||
l
|
||
)),
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => n(e + 1),
|
||
isDisabled: e === r,
|
||
icon: /* @__PURE__ */ g(Me, {}),
|
||
"aria-label": "صفحه بعدی"
|
||
}
|
||
),
|
||
/* @__PURE__ */ g(
|
||
Re,
|
||
{
|
||
ref: d,
|
||
type: "text",
|
||
inputMode: "numeric",
|
||
placeholder: "صفحه",
|
||
w: "56px",
|
||
value: i,
|
||
onFocus: () => {
|
||
a(!0), c(null), o("");
|
||
},
|
||
onChange: (l) => {
|
||
const p = l.target.value, A = Q(p).replace(/\D/g, "");
|
||
o(T(A));
|
||
},
|
||
onBlur: () => {
|
||
i || (o(T(e)), a(!1), c(null));
|
||
},
|
||
onKeyDown: (l) => {
|
||
l.key === "Enter" && I();
|
||
},
|
||
textAlign: "center",
|
||
color: "#1D2939",
|
||
px: 1,
|
||
minW: 0,
|
||
dir: "ltr"
|
||
}
|
||
)
|
||
] }),
|
||
/* @__PURE__ */ F(L, { spacing: 2, children: [
|
||
/* @__PURE__ */ g(B, { w: "auto", fontWeight: "bold", whiteSpace: "nowrap", children: "تعداد کل:" }),
|
||
/* @__PURE__ */ g(B, { children: T(t) })
|
||
] })
|
||
]
|
||
}
|
||
);
|
||
}, Gn = ({
|
||
currentPage: e,
|
||
totalPages: r,
|
||
totalCount: t,
|
||
onPageChange: n
|
||
}) => {
|
||
const [i, o] = Y(T(e)), [s, a] = Y(!1), [u, c] = Y(null), d = te(null), m = Array.from(
|
||
/* @__PURE__ */ new Set([1, e, e + 1, r])
|
||
).filter((l) => l >= 1 && l <= r).sort((l, p) => l - p);
|
||
W(() => {
|
||
if (u !== null) {
|
||
e === u && (c(null), a(!1), o(T(e)));
|
||
return;
|
||
}
|
||
s || o(T(e));
|
||
}, [e, s, u]), W(() => {
|
||
if (!s || !i || u !== null) return;
|
||
const l = parseInt(Q(i), 10);
|
||
if (isNaN(l)) return;
|
||
const p = setTimeout(() => {
|
||
var C;
|
||
const A = Math.min(Math.max(l, 1), r);
|
||
A !== e ? (c(A), o(T(A)), n(A)) : (a(!1), o(T(e))), (C = d.current) == null || C.blur();
|
||
}, 1e3);
|
||
return () => clearTimeout(p);
|
||
}, [
|
||
i,
|
||
s,
|
||
u,
|
||
r,
|
||
e,
|
||
n
|
||
]);
|
||
const I = () => {
|
||
var A, C;
|
||
const l = parseInt(Q(i), 10);
|
||
if (isNaN(l)) {
|
||
o(T(e)), a(!1), c(null), (A = d.current) == null || A.blur();
|
||
return;
|
||
}
|
||
const p = Math.min(Math.max(l, 1), r);
|
||
p !== e ? (c(p), o(T(p)), n(p)) : (o(T(e)), a(!1), c(null)), (C = d.current) == null || C.blur();
|
||
};
|
||
return r === 0 || !t ? null : /* @__PURE__ */ F(
|
||
L,
|
||
{
|
||
justifyContent: "space-around",
|
||
backgroundColor: "white",
|
||
py: "10px",
|
||
px: "16px",
|
||
rounded: "lg",
|
||
border: "1px",
|
||
borderColor: "blue.200",
|
||
w: "100%",
|
||
children: [
|
||
/* @__PURE__ */ F(L, { spacing: 2, whiteSpace: "nowrap", children: [
|
||
/* @__PURE__ */ g(B, { fontWeight: "bold", children: "صفحه" }),
|
||
/* @__PURE__ */ g(B, { children: T(e) }),
|
||
/* @__PURE__ */ g(B, { fontWeight: "bold", children: "از" }),
|
||
/* @__PURE__ */ g(B, { children: T(r) })
|
||
] }),
|
||
/* @__PURE__ */ F(L, { spacing: 2, alignItems: "center", justifyContent: "center", children: [
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => n(e - 1),
|
||
isDisabled: e === 1,
|
||
icon: /* @__PURE__ */ g(Te, {}),
|
||
"aria-label": "صفحه قبلی"
|
||
}
|
||
),
|
||
m.map((l) => /* @__PURE__ */ g(
|
||
Se,
|
||
{
|
||
size: "md",
|
||
bg: e === l ? "#4B49AC" : "#e6e6f1",
|
||
color: e === l ? "#e6e6f1" : "#4B49AC",
|
||
_hover: { bg: e === l ? "#4B49AC" : "#cbcbe8" },
|
||
onClick: () => n(l),
|
||
variant: "soft",
|
||
children: T(l)
|
||
},
|
||
l
|
||
)),
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => n(e + 1),
|
||
isDisabled: e === r,
|
||
icon: /* @__PURE__ */ g(Me, {}),
|
||
"aria-label": "صفحه بعدی"
|
||
}
|
||
),
|
||
/* @__PURE__ */ g(
|
||
Re,
|
||
{
|
||
ref: d,
|
||
type: "text",
|
||
inputMode: "numeric",
|
||
placeholder: "صفحه",
|
||
w: "100px",
|
||
value: i,
|
||
onFocus: () => {
|
||
a(!0), c(null), o("");
|
||
},
|
||
onChange: (l) => {
|
||
const p = l.target.value, A = Q(p).replace(/\D/g, "");
|
||
o(T(A));
|
||
},
|
||
onBlur: () => {
|
||
i || (o(T(e)), a(!1), c(null));
|
||
},
|
||
onKeyDown: (l) => {
|
||
l.key === "Enter" && I();
|
||
},
|
||
textAlign: "center",
|
||
color: "#1D2939",
|
||
px: 1,
|
||
minW: 0,
|
||
dir: "ltr"
|
||
}
|
||
)
|
||
] }),
|
||
/* @__PURE__ */ F(L, { spacing: 2, whiteSpace: "nowrap", children: [
|
||
/* @__PURE__ */ g(B, { fontWeight: "bold", children: "تعداد کل:" }),
|
||
/* @__PURE__ */ g(B, { children: T(t) })
|
||
] })
|
||
]
|
||
}
|
||
);
|
||
}, On = ({
|
||
currentPage: e,
|
||
totalPages: r,
|
||
totalCount: t,
|
||
onPageChange: n
|
||
}) => {
|
||
const [i, o] = Y(""), [s, a] = Y(!1), [u, c] = Y(null), d = te(null), m = u ?? e, I = $(
|
||
(y) => {
|
||
const b = Math.min(Math.max(y, 1), r);
|
||
a(!1), o(""), c(null), b !== e && n(b);
|
||
},
|
||
[e, r, n]
|
||
), l = $(() => {
|
||
if (!i) {
|
||
a(!1), o(""), c(null);
|
||
return;
|
||
}
|
||
const y = parseInt(Q(i), 10);
|
||
if (isNaN(y)) {
|
||
a(!1), o(""), c(null);
|
||
return;
|
||
}
|
||
const b = Math.min(Math.max(y, 1), r);
|
||
a(!1), o(""), b !== e ? (c(b), n(b)) : c(null);
|
||
}, [i, e, r, n]);
|
||
W(() => {
|
||
var y;
|
||
s && ((y = d.current) == null || y.focus());
|
||
}, [s]), W(() => {
|
||
u !== null && e === u && c(null);
|
||
}, [e, u]), W(() => {
|
||
if (!s || !i) return;
|
||
const y = setTimeout(() => {
|
||
l();
|
||
}, 1e3);
|
||
return () => clearTimeout(y);
|
||
}, [i, s, l]);
|
||
const p = () => {
|
||
c(null), o(""), a(!0);
|
||
}, A = (y, b = !1) => /* @__PURE__ */ g(
|
||
Se,
|
||
{
|
||
size: "md",
|
||
bg: b ? "#4B49AC" : "#e6e6f1",
|
||
color: b ? "#e6e6f1" : "#4B49AC",
|
||
_hover: { bg: b ? "#4B49AC" : "#cbcbe8" },
|
||
onClick: b ? p : () => I(y),
|
||
variant: "soft",
|
||
children: T(y)
|
||
},
|
||
y
|
||
);
|
||
if (r === 0 || !t) return null;
|
||
const C = r > 1 && m !== 1, R = r > 1 && m !== r;
|
||
return /* @__PURE__ */ g(
|
||
L,
|
||
{
|
||
justifyContent: "center",
|
||
backgroundColor: "white",
|
||
py: "10px",
|
||
px: "16px",
|
||
rounded: "lg",
|
||
border: "1px",
|
||
borderColor: "blue.200",
|
||
w: "100%",
|
||
children: /* @__PURE__ */ F(L, { spacing: 2, alignItems: "center", justifyContent: "center", children: [
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => I(m - 1),
|
||
isDisabled: m === 1,
|
||
icon: /* @__PURE__ */ g(Te, {}),
|
||
"aria-label": "صفحه قبلی"
|
||
}
|
||
),
|
||
C && A(1),
|
||
s ? /* @__PURE__ */ g(
|
||
Re,
|
||
{
|
||
ref: d,
|
||
type: "text",
|
||
inputMode: "numeric",
|
||
placeholder: "صفحه",
|
||
w: "48px",
|
||
value: i,
|
||
onChange: (y) => {
|
||
const b = y.target.value, k = Q(b).replace(/\D/g, "");
|
||
o(T(k));
|
||
},
|
||
onBlur: () => {
|
||
i ? l() : (o(""), a(!1), c(null));
|
||
},
|
||
onKeyDown: (y) => {
|
||
y.key === "Enter" && l(), y.key === "Escape" && (o(""), a(!1), c(null));
|
||
},
|
||
textAlign: "center",
|
||
color: "#1D2939",
|
||
px: 1,
|
||
minW: 0,
|
||
dir: "ltr"
|
||
}
|
||
) : A(m, !0),
|
||
R && A(r),
|
||
/* @__PURE__ */ g(
|
||
K,
|
||
{
|
||
size: "md",
|
||
bg: "#e6e6f1",
|
||
color: "#4B49AC",
|
||
_hover: { bg: "#cbcbe8" },
|
||
onClick: () => I(m + 1),
|
||
isDisabled: m === r,
|
||
icon: /* @__PURE__ */ g(Me, {}),
|
||
"aria-label": "صفحه بعدی"
|
||
}
|
||
)
|
||
] })
|
||
}
|
||
);
|
||
};
|
||
let ye = null, x = null, Ce = null, Ie = !1;
|
||
const et = Ke(null), rt = ({ url: e, realm: r, clientId: t }) => (x || (x = new Kr({
|
||
url: e,
|
||
realm: r,
|
||
clientId: t
|
||
})), x), tt = (e) => (ye = e, ye), nt = () => Ie, qe = () => !!(x != null && x.authenticated), se = () => (x == null ? void 0 : x.token) ?? null, We = async (e = 30) => x ? x.updateToken(e) : !1, er = (e) => x == null ? void 0 : x.logout(e), Yn = (e) => x == null ? void 0 : x.login(e), rr = ({ config: e, initOptions: r = {} } = {}) => {
|
||
const t = e ?? ye;
|
||
if (!(t != null && t.url) || !(t != null && t.realm) || !(t != null && t.clientId))
|
||
throw new Error("Keycloak config is required.");
|
||
tt(t);
|
||
const n = rt(t);
|
||
return Ce || (Ce = n.init({
|
||
onLoad: "login-required",
|
||
checkLoginIframe: !1,
|
||
flow: "implicit",
|
||
...r
|
||
}).then((i) => (Ie = !0, i)).catch((i) => {
|
||
throw Ie = !0, i;
|
||
})), Ce;
|
||
}, it = ({
|
||
children: e,
|
||
config: r,
|
||
initOptions: t,
|
||
loading: n = null
|
||
}) => {
|
||
const [i, o] = Y(!1), [s, a] = Y(!1), [u, c] = Y(null), d = te(!1), m = $(() => {
|
||
x && (a(!!x.authenticated), c(x.token ?? null));
|
||
}, []);
|
||
W(() => (d.current = !0, rr({ config: r, initOptions: t }).then((C) => {
|
||
d.current && (a(!!C), c((x == null ? void 0 : x.token) ?? null), o(!0));
|
||
}).catch(() => {
|
||
d.current && (a(!1), c(null), o(!0));
|
||
}), () => {
|
||
d.current = !1;
|
||
}), [r, t]);
|
||
const I = $(() => x == null ? void 0 : x.login(), []), l = $((C) => x == null ? void 0 : x.logout(C), []), p = $(
|
||
async (C = 30) => {
|
||
if (!x) return !1;
|
||
const R = await x.updateToken(C);
|
||
return m(), R;
|
||
},
|
||
[m]
|
||
), A = le(
|
||
() => ({
|
||
initialized: i,
|
||
authenticated: s,
|
||
token: u,
|
||
login: I,
|
||
logout: l,
|
||
updateToken: p
|
||
}),
|
||
[i, s, u, I, l, p]
|
||
);
|
||
return i ? /* @__PURE__ */ g(et.Provider, { value: A, children: e }) : n;
|
||
}, tr = Ke(null), Ae = "permissions", ot = (e) => (e == null ? void 0 : e.storageKey) || Ae, st = ({
|
||
user: e = null,
|
||
children: r,
|
||
config: t,
|
||
loading: n = /* @__PURE__ */ g("div", { children: "Loading permissions..." }),
|
||
errorFallback: i = /* @__PURE__ */ g("div", { children: "Error loading permissions" })
|
||
}) => {
|
||
const o = ot(t), [s, a] = Y(
|
||
() => at(o)
|
||
), { data: u, isLoading: c, error: d } = dt(t), m = u ?? s;
|
||
W(() => {
|
||
u && (ct(o, u), a(u));
|
||
}, [u, o]);
|
||
const I = le(
|
||
() => ut(m),
|
||
[m]
|
||
), l = $(
|
||
(C = "") => lt(I, C),
|
||
[I]
|
||
), p = $((C = "") => !l(C), [l]), A = le(
|
||
() => ({
|
||
user: e,
|
||
can: l,
|
||
cannot: p,
|
||
permissions: m,
|
||
isLoading: c,
|
||
error: d
|
||
}),
|
||
[e, l, p, m, c, d]
|
||
);
|
||
return d && !m ? i : c && !m ? n : /* @__PURE__ */ g(tr.Provider, { value: A, children: r });
|
||
}, at = (e = Ae) => {
|
||
if (!(typeof window > "u"))
|
||
try {
|
||
const r = localStorage.getItem(e);
|
||
return r ? JSON.parse(r) : void 0;
|
||
} catch {
|
||
return;
|
||
}
|
||
}, ct = (e = Ae, r) => {
|
||
if (!(typeof window > "u"))
|
||
try {
|
||
localStorage.setItem(e, JSON.stringify(r));
|
||
} catch {
|
||
}
|
||
}, Zn = (e = Ae) => {
|
||
if (!(typeof window > "u"))
|
||
try {
|
||
localStorage.removeItem(e);
|
||
} catch {
|
||
}
|
||
}, ut = (e) => e ? new Set(e.map((r) => r.name)) : /* @__PURE__ */ new Set(), lt = (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;
|
||
}, nr = {
|
||
all: ["permissions"],
|
||
list: (e) => [...nr.all, e]
|
||
}, ft = async (e) => {
|
||
if (!(e != null && e.url) || !(e != null && e.clientId))
|
||
throw new Error("Permission config requires url and clientId.");
|
||
const r = se(), t = new URL(e.url);
|
||
t.searchParams.set("client_id", e.clientId);
|
||
const n = await fetch(t.toString(), {
|
||
method: "GET",
|
||
headers: {
|
||
...r ? { Authorization: `Bearer ${r}` } : {}
|
||
}
|
||
});
|
||
if (!n.ok)
|
||
throw new Error("Failed to load permissions");
|
||
return n.json();
|
||
}, ke = () => {
|
||
const e = Xe(tr);
|
||
if (!e)
|
||
throw new Error("usePermission must be used within PermissionProvider");
|
||
return e;
|
||
}, dt = (e) => Xr({
|
||
queryKey: nr.list(e == null ? void 0 : e.clientId),
|
||
queryFn: () => ft(e),
|
||
enabled: !!(e != null && e.url) && !!(e != null && e.clientId) && qe(),
|
||
staleTime: 1 / 0,
|
||
refetchOnWindowFocus: !1,
|
||
refetchOnReconnect: !1
|
||
}), zn = ({
|
||
perm: e,
|
||
children: r,
|
||
fallback: t = /* @__PURE__ */ g("div", { children: "You are not allowed to do this" })
|
||
}) => {
|
||
const { can: n } = ke();
|
||
return n(e) ? r : t;
|
||
}, Wn = ({ children: e }) => {
|
||
const { can: r, permissions: t } = ke();
|
||
return t && r("admin") ? e : null;
|
||
}, Pn = ({ children: e }) => {
|
||
const { can: r, isLoading: t } = ke();
|
||
return W(() => {
|
||
t || r("panel_access") || er();
|
||
}, [t, r]), e;
|
||
};
|
||
let fe = null;
|
||
const At = (e) => {
|
||
const { api: r } = e, t = qr.create({
|
||
baseURL: r.baseUrl
|
||
}), n = async () => {
|
||
(!nt() || !qe()) && await rr();
|
||
}, i = async (s) => {
|
||
await n();
|
||
let a = se();
|
||
if (a) {
|
||
try {
|
||
await We(5), a = se();
|
||
} catch {
|
||
}
|
||
s.headers = {
|
||
...s.headers,
|
||
Authorization: `Bearer ${a}`
|
||
};
|
||
}
|
||
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 We(30);
|
||
const c = se();
|
||
return a.headers = {
|
||
...a.headers,
|
||
Authorization: `Bearer ${c}`
|
||
}, t(a);
|
||
} catch {
|
||
er({ redirectUri: window.location.origin });
|
||
}
|
||
}
|
||
return Promise.reject(s);
|
||
};
|
||
return t.interceptors.request.use(i), t.interceptors.response.use(
|
||
(s) => s,
|
||
o
|
||
), {
|
||
api: t
|
||
};
|
||
}, ht = (e) => (fe = At(e), fe), mt = () => {
|
||
if (!fe)
|
||
throw new Error("api is not configured. Call configureApi(config) first.");
|
||
return fe.api;
|
||
}, Bn = new Proxy(
|
||
{},
|
||
{
|
||
get(e, r) {
|
||
return mt()[r];
|
||
}
|
||
}
|
||
);
|
||
function pt() {
|
||
const [e, r] = Y(!1), t = te(null);
|
||
return W(() => {
|
||
if (process.env.NODE_ENV !== "production") return;
|
||
let n;
|
||
const i = async () => {
|
||
const s = await fetch(`/version.json?t=${Date.now()}`, {
|
||
cache: "no-store"
|
||
});
|
||
if (!s.ok)
|
||
throw new Error(`Failed to fetch version: ${s.status}`);
|
||
const a = await s.json();
|
||
return String(a.version);
|
||
};
|
||
return (async () => {
|
||
try {
|
||
t.current = await i(), n = setInterval(async () => {
|
||
try {
|
||
const s = await i();
|
||
t.current && s !== t.current && (r(!0), clearInterval(n));
|
||
} catch (s) {
|
||
console.error("Update check failed:", s);
|
||
}
|
||
}, 3e4);
|
||
} catch (s) {
|
||
console.error("Initial version fetch failed:", s);
|
||
}
|
||
})(), () => {
|
||
n && clearInterval(n);
|
||
};
|
||
}, []), e ? /* @__PURE__ */ g(
|
||
"div",
|
||
{
|
||
style: {
|
||
position: "fixed",
|
||
bottom: "16px",
|
||
right: "16px",
|
||
background: "#111",
|
||
color: "#fff",
|
||
padding: "12px 16px",
|
||
borderRadius: "8px",
|
||
zIndex: 9999,
|
||
cursor: "pointer"
|
||
},
|
||
onClick: () => window.location.reload(),
|
||
children: "نسخه جدید سامانه در دسترس است"
|
||
}
|
||
) : null;
|
||
}
|
||
const gt = new Jr({
|
||
defaultOptions: {
|
||
queries: {
|
||
retry: 1,
|
||
refetchOnWindowFocus: !1
|
||
}
|
||
}
|
||
});
|
||
function Ct(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 bt(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 yt = /* @__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(bt(this));
|
||
var i = this.tags[this.tags.length - 1];
|
||
if (this.isSpeedy) {
|
||
var o = Ct(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-", v = "-webkit-", ir = "comm", Ne = "rule", De = "decl", It = "@import", or = "@keyframes", vt = "@layer", wt = Math.abs, he = String.fromCharCode, xt = Object.assign;
|
||
function Et(e, r) {
|
||
return D(e, 0) ^ 45 ? (((r << 2 ^ D(e, 0)) << 2 ^ D(e, 1)) << 2 ^ D(e, 2)) << 2 ^ D(e, 3) : 0;
|
||
}
|
||
function sr(e) {
|
||
return e.trim();
|
||
}
|
||
function St(e, r) {
|
||
return (e = r.exec(e)) ? e[0] : e;
|
||
}
|
||
function w(e, r, t) {
|
||
return e.replace(r, t);
|
||
}
|
||
function ve(e, r) {
|
||
return e.indexOf(r);
|
||
}
|
||
function D(e, r) {
|
||
return e.charCodeAt(r) | 0;
|
||
}
|
||
function q(e, r, t) {
|
||
return e.slice(r, t);
|
||
}
|
||
function j(e) {
|
||
return e.length;
|
||
}
|
||
function Ge(e) {
|
||
return e.length;
|
||
}
|
||
function oe(e, r) {
|
||
return r.push(e), e;
|
||
}
|
||
function Rt(e, r) {
|
||
return e.map(r).join("");
|
||
}
|
||
var me = 1, X = 1, ar = 0, z = 0, N = 0, J = "";
|
||
function pe(e, r, t, n, i, o, s) {
|
||
return { value: e, root: r, parent: t, type: n, props: i, children: o, line: me, column: X, length: s, return: "" };
|
||
}
|
||
function H(e, r) {
|
||
return xt(pe("", null, null, "", null, null, 0), e, { length: -e.length }, r);
|
||
}
|
||
function Tt() {
|
||
return N;
|
||
}
|
||
function Mt() {
|
||
return N = z > 0 ? D(J, --z) : 0, X--, N === 10 && (X = 1, me--), N;
|
||
}
|
||
function P() {
|
||
return N = z < ar ? D(J, z++) : 0, X++, N === 10 && (X = 1, me++), N;
|
||
}
|
||
function _() {
|
||
return D(J, z);
|
||
}
|
||
function ae() {
|
||
return z;
|
||
}
|
||
function ne(e, r) {
|
||
return q(J, 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 cr(e) {
|
||
return me = X = 1, ar = j(J = e), z = 0, [];
|
||
}
|
||
function ur(e) {
|
||
return J = "", e;
|
||
}
|
||
function ce(e) {
|
||
return sr(ne(z - 1, we(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
|
||
}
|
||
function kt(e) {
|
||
for (; (N = _()) && N < 33; )
|
||
P();
|
||
return ee(e) > 2 || ee(N) > 3 ? "" : " ";
|
||
}
|
||
function Nt(e, r) {
|
||
for (; --r && P() && !(N < 48 || N > 102 || N > 57 && N < 65 || N > 70 && N < 97); )
|
||
;
|
||
return ne(e, ae() + (r < 6 && _() == 32 && P() == 32));
|
||
}
|
||
function we(e) {
|
||
for (; P(); )
|
||
switch (N) {
|
||
case e:
|
||
return z;
|
||
case 34:
|
||
case 39:
|
||
e !== 34 && e !== 39 && we(N);
|
||
break;
|
||
case 40:
|
||
e === 41 && we(e);
|
||
break;
|
||
case 92:
|
||
P();
|
||
break;
|
||
}
|
||
return z;
|
||
}
|
||
function Dt(e, r) {
|
||
for (; P() && e + N !== 57; )
|
||
if (e + N === 84 && _() === 47)
|
||
break;
|
||
return "/*" + ne(r, z - 1) + "*" + he(e === 47 ? e : P());
|
||
}
|
||
function Gt(e) {
|
||
for (; !ee(_()); )
|
||
P();
|
||
return ne(e, z);
|
||
}
|
||
function Ot(e) {
|
||
return ur(ue("", null, null, null, [""], e = cr(e), 0, [0], e));
|
||
}
|
||
function ue(e, r, t, n, i, o, s, a, u) {
|
||
for (var c = 0, d = 0, m = s, I = 0, l = 0, p = 0, A = 1, C = 1, R = 1, y = 0, b = "", k = i, f = o, G = n, M = b; C; )
|
||
switch (p = y, y = P()) {
|
||
case 40:
|
||
if (p != 108 && D(M, m - 1) == 58) {
|
||
ve(M += w(ce(y), "&", "&\f"), "&\f") != -1 && (R = -1);
|
||
break;
|
||
}
|
||
case 34:
|
||
case 39:
|
||
case 91:
|
||
M += ce(y);
|
||
break;
|
||
case 9:
|
||
case 10:
|
||
case 13:
|
||
case 32:
|
||
M += kt(p);
|
||
break;
|
||
case 92:
|
||
M += Nt(ae() - 1, 7);
|
||
continue;
|
||
case 47:
|
||
switch (_()) {
|
||
case 42:
|
||
case 47:
|
||
oe(Yt(Dt(P(), ae()), r, t), u);
|
||
break;
|
||
default:
|
||
M += "/";
|
||
}
|
||
break;
|
||
case 123 * A:
|
||
a[c++] = j(M) * R;
|
||
case 125 * A:
|
||
case 59:
|
||
case 0:
|
||
switch (y) {
|
||
case 0:
|
||
case 125:
|
||
C = 0;
|
||
case 59 + d:
|
||
R == -1 && (M = w(M, /\f/g, "")), l > 0 && j(M) - m && oe(l > 32 ? Be(M + ";", n, t, m - 1) : Be(w(M, " ", "") + ";", n, t, m - 2), u);
|
||
break;
|
||
case 59:
|
||
M += ";";
|
||
default:
|
||
if (oe(G = Pe(M, r, t, c, d, i, a, b, k = [], f = [], m), o), y === 123)
|
||
if (d === 0)
|
||
ue(M, r, G, G, k, o, m, a, f);
|
||
else
|
||
switch (I === 99 && D(M, 3) === 110 ? 100 : I) {
|
||
case 100:
|
||
case 108:
|
||
case 109:
|
||
case 115:
|
||
ue(e, G, G, n && oe(Pe(e, G, G, 0, 0, i, a, b, i, k = [], m), f), i, f, m, a, n ? k : f);
|
||
break;
|
||
default:
|
||
ue(M, G, G, G, [""], f, 0, a, f);
|
||
}
|
||
}
|
||
c = d = l = 0, A = R = 1, b = M = "", m = s;
|
||
break;
|
||
case 58:
|
||
m = 1 + j(M), l = p;
|
||
default:
|
||
if (A < 1) {
|
||
if (y == 123)
|
||
--A;
|
||
else if (y == 125 && A++ == 0 && Mt() == 125)
|
||
continue;
|
||
}
|
||
switch (M += he(y), y * A) {
|
||
case 38:
|
||
R = d > 0 ? 1 : (M += "\f", -1);
|
||
break;
|
||
case 44:
|
||
a[c++] = (j(M) - 1) * R, R = 1;
|
||
break;
|
||
case 64:
|
||
_() === 45 && (M += ce(P())), I = _(), d = m = j(b = M += Gt(ae())), y++;
|
||
break;
|
||
case 45:
|
||
p === 45 && j(M) == 2 && (A = 0);
|
||
}
|
||
}
|
||
return o;
|
||
}
|
||
function Pe(e, r, t, n, i, o, s, a, u, c, d) {
|
||
for (var m = i - 1, I = i === 0 ? o : [""], l = Ge(I), p = 0, A = 0, C = 0; p < n; ++p)
|
||
for (var R = 0, y = q(e, m + 1, m = wt(A = s[p])), b = e; R < l; ++R)
|
||
(b = sr(A > 0 ? I[R] + " " + y : w(y, /&\f/g, I[R]))) && (u[C++] = b);
|
||
return pe(e, r, t, i === 0 ? Ne : a, u, c, d);
|
||
}
|
||
function Yt(e, r, t) {
|
||
return pe(e, r, t, ir, he(Tt()), q(e, 2, -2), 0);
|
||
}
|
||
function Be(e, r, t, n) {
|
||
return pe(e, r, t, De, q(e, 0, n), q(e, n + 1, -1), n);
|
||
}
|
||
function U(e, r) {
|
||
for (var t = "", n = Ge(e), i = 0; i < n; i++)
|
||
t += r(e[i], i, e, r) || "";
|
||
return t;
|
||
}
|
||
function Zt(e, r, t, n) {
|
||
switch (e.type) {
|
||
case vt:
|
||
if (e.children.length) break;
|
||
case It:
|
||
case De:
|
||
return e.return = e.return || e.value;
|
||
case ir:
|
||
return "";
|
||
case or:
|
||
return e.return = e.value + "{" + U(e.children, n) + "}";
|
||
case Ne:
|
||
e.value = e.props.join(",");
|
||
}
|
||
return j(t = U(e.children, n)) ? e.return = e.value + "{" + t + "}" : "";
|
||
}
|
||
function zt(e) {
|
||
var r = Ge(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 Wt(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 Bt = function(r, t, n) {
|
||
for (var i = 0, o = 0; i = o, o = _(), i === 38 && o === 12 && (t[n] = 1), !ee(o); )
|
||
P();
|
||
return ne(r, z);
|
||
}, Ft = function(r, t) {
|
||
var n = -1, i = 44;
|
||
do
|
||
switch (ee(i)) {
|
||
case 0:
|
||
i === 38 && _() === 12 && (t[n] = 1), r[n] += Bt(z - 1, t, n);
|
||
break;
|
||
case 2:
|
||
r[n] += ce(i);
|
||
break;
|
||
case 4:
|
||
if (i === 44) {
|
||
r[++n] = _() === 58 ? "&\f" : "", t[n] = r[n].length;
|
||
break;
|
||
}
|
||
default:
|
||
r[n] += he(i);
|
||
}
|
||
while (i = P());
|
||
return r;
|
||
}, Lt = function(r, t) {
|
||
return ur(Ft(cr(r), t));
|
||
}, Fe = /* @__PURE__ */ new WeakMap(), jt = 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 && !Fe.get(n)) && !i) {
|
||
Fe.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];
|
||
}
|
||
}
|
||
}, Vt = 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 lr(e, r) {
|
||
switch (Et(e, r)) {
|
||
case 5103:
|
||
return v + "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 v + e + e;
|
||
case 5349:
|
||
case 4246:
|
||
case 4810:
|
||
case 6968:
|
||
case 2756:
|
||
return v + e + de + e + O + e + e;
|
||
case 6828:
|
||
case 4268:
|
||
return v + e + O + e + e;
|
||
case 6165:
|
||
return v + e + O + "flex-" + e + e;
|
||
case 5187:
|
||
return v + e + w(e, /(\w+).+(:[^]+)/, v + "box-$1$2" + O + "flex-$1$2") + e;
|
||
case 5443:
|
||
return v + e + O + "flex-item-" + w(e, /flex-|-self/, "") + e;
|
||
case 4675:
|
||
return v + e + O + "flex-line-pack" + w(e, /align-content|flex-|-self/, "") + e;
|
||
case 5548:
|
||
return v + e + O + w(e, "shrink", "negative") + e;
|
||
case 5292:
|
||
return v + e + O + w(e, "basis", "preferred-size") + e;
|
||
case 6060:
|
||
return v + "box-" + w(e, "-grow", "") + v + e + O + w(e, "grow", "positive") + e;
|
||
case 4554:
|
||
return v + w(e, /([^-])(transform)/g, "$1" + v + "$2") + e;
|
||
case 6187:
|
||
return w(w(w(e, /(zoom-|grab)/, v + "$1"), /(image-set)/, v + "$1"), e, "") + e;
|
||
case 5495:
|
||
case 3959:
|
||
return w(e, /(image-set\([^]*)/, v + "$1$`$1");
|
||
case 4968:
|
||
return w(w(e, /(.+:)(flex-)?(.*)/, v + "box-pack:$3" + O + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + v + e + e;
|
||
case 4095:
|
||
case 3583:
|
||
case 4068:
|
||
case 2532:
|
||
return w(e, /(.+)-inline(.+)/, v + "$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 (j(e) - 1 - r > 6) switch (D(e, r + 1)) {
|
||
case 109:
|
||
if (D(e, r + 4) !== 45) break;
|
||
case 102:
|
||
return w(e, /(.+:)(.+)-([^]+)/, "$1" + v + "$2-$3$1" + de + (D(e, r + 3) == 108 ? "$3" : "$2-$3")) + e;
|
||
case 115:
|
||
return ~ve(e, "stretch") ? lr(w(e, "stretch", "fill-available"), r) + e : e;
|
||
}
|
||
break;
|
||
case 4949:
|
||
if (D(e, r + 1) !== 115) break;
|
||
case 6444:
|
||
switch (D(e, j(e) - 3 - (~ve(e, "!important") && 10))) {
|
||
case 107:
|
||
return w(e, ":", ":" + v) + e;
|
||
case 101:
|
||
return w(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + v + (D(e, 14) === 45 ? "inline-" : "") + "box$3$1" + v + "$2$3$1" + O + "$2box$3") + e;
|
||
}
|
||
break;
|
||
case 5936:
|
||
switch (D(e, r + 11)) {
|
||
case 114:
|
||
return v + e + O + w(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
|
||
case 108:
|
||
return v + e + O + w(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
|
||
case 45:
|
||
return v + e + O + w(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
|
||
}
|
||
return v + e + O + e + e;
|
||
}
|
||
return e;
|
||
}
|
||
var _t = function(r, t, n, i) {
|
||
if (r.length > -1 && !r.return) switch (r.type) {
|
||
case De:
|
||
r.return = lr(r.value, r.length);
|
||
break;
|
||
case or:
|
||
return U([H(r, {
|
||
value: w(r.value, "@", "@" + v)
|
||
})], i);
|
||
case Ne:
|
||
if (r.length) return Rt(r.props, function(o) {
|
||
switch (St(o, /(::plac\w+|:read-\w+)/)) {
|
||
case ":read-only":
|
||
case ":read-write":
|
||
return U([H(r, {
|
||
props: [w(o, /:(read-\w+)/, ":" + de + "$1")]
|
||
})], i);
|
||
case "::placeholder":
|
||
return U([H(r, {
|
||
props: [w(o, /:(plac\w+)/, ":" + v + "input-$1")]
|
||
}), H(r, {
|
||
props: [w(o, /:(plac\w+)/, ":" + de + "$1")]
|
||
}), H(r, {
|
||
props: [w(o, /:(plac\w+)/, O + "input-$1")]
|
||
})], i);
|
||
}
|
||
return "";
|
||
});
|
||
}
|
||
}, $t = [_t], Qt = 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(A) {
|
||
var C = A.getAttribute("data-emotion");
|
||
C.indexOf(" ") !== -1 && (document.head.appendChild(A), A.setAttribute("data-s", ""));
|
||
});
|
||
}
|
||
var i = r.stylisPlugins || $t, 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(A) {
|
||
for (var C = A.getAttribute("data-emotion").split(" "), R = 1; R < C.length; R++)
|
||
o[C[R]] = !0;
|
||
a.push(A);
|
||
}
|
||
);
|
||
var u, c = [jt, Vt];
|
||
{
|
||
var d, m = [Zt, Wt(function(A) {
|
||
d.insert(A);
|
||
})], I = zt(c.concat(i, m)), l = function(C) {
|
||
return U(Ot(C), I);
|
||
};
|
||
u = function(C, R, y, b) {
|
||
d = y, l(C ? C + "{" + R.styles + "}" : R.styles), b && (p.inserted[R.name] = !0);
|
||
};
|
||
}
|
||
var p = {
|
||
key: t,
|
||
sheet: new yt({
|
||
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 p.sheet.hydrate(a), p;
|
||
}, xe = { exports: {} }, E = {};
|
||
/** @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 Le;
|
||
function Ut() {
|
||
if (Le) return E;
|
||
Le = 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, m = e ? Symbol.for("react.suspense") : 60113, I = e ? Symbol.for("react.suspense_list") : 60120, l = e ? Symbol.for("react.memo") : 60115, p = e ? Symbol.for("react.lazy") : 60116, A = e ? Symbol.for("react.block") : 60121, C = e ? Symbol.for("react.fundamental") : 60117, R = e ? Symbol.for("react.responder") : 60118, y = e ? Symbol.for("react.scope") : 60119;
|
||
function b(f) {
|
||
if (typeof f == "object" && f !== null) {
|
||
var G = f.$$typeof;
|
||
switch (G) {
|
||
case r:
|
||
switch (f = f.type, f) {
|
||
case u:
|
||
case c:
|
||
case n:
|
||
case o:
|
||
case i:
|
||
case m:
|
||
return f;
|
||
default:
|
||
switch (f = f && f.$$typeof, f) {
|
||
case a:
|
||
case d:
|
||
case p:
|
||
case l:
|
||
case s:
|
||
return f;
|
||
default:
|
||
return G;
|
||
}
|
||
}
|
||
case t:
|
||
return G;
|
||
}
|
||
}
|
||
}
|
||
function k(f) {
|
||
return b(f) === c;
|
||
}
|
||
return E.AsyncMode = u, E.ConcurrentMode = c, E.ContextConsumer = a, E.ContextProvider = s, E.Element = r, E.ForwardRef = d, E.Fragment = n, E.Lazy = p, E.Memo = l, E.Portal = t, E.Profiler = o, E.StrictMode = i, E.Suspense = m, E.isAsyncMode = function(f) {
|
||
return k(f) || b(f) === u;
|
||
}, E.isConcurrentMode = k, E.isContextConsumer = function(f) {
|
||
return b(f) === a;
|
||
}, E.isContextProvider = function(f) {
|
||
return b(f) === s;
|
||
}, E.isElement = function(f) {
|
||
return typeof f == "object" && f !== null && f.$$typeof === r;
|
||
}, E.isForwardRef = function(f) {
|
||
return b(f) === d;
|
||
}, E.isFragment = function(f) {
|
||
return b(f) === n;
|
||
}, E.isLazy = function(f) {
|
||
return b(f) === p;
|
||
}, E.isMemo = function(f) {
|
||
return b(f) === l;
|
||
}, E.isPortal = function(f) {
|
||
return b(f) === t;
|
||
}, E.isProfiler = function(f) {
|
||
return b(f) === o;
|
||
}, E.isStrictMode = function(f) {
|
||
return b(f) === i;
|
||
}, E.isSuspense = function(f) {
|
||
return b(f) === m;
|
||
}, E.isValidElementType = function(f) {
|
||
return typeof f == "string" || typeof f == "function" || f === n || f === c || f === o || f === i || f === m || f === I || typeof f == "object" && f !== null && (f.$$typeof === p || f.$$typeof === l || f.$$typeof === s || f.$$typeof === a || f.$$typeof === d || f.$$typeof === C || f.$$typeof === R || f.$$typeof === y || f.$$typeof === A);
|
||
}, E.typeOf = b, E;
|
||
}
|
||
var S = {};
|
||
/** @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 je;
|
||
function Kt() {
|
||
return je || (je = 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, m = e ? Symbol.for("react.suspense") : 60113, I = e ? Symbol.for("react.suspense_list") : 60120, l = e ? Symbol.for("react.memo") : 60115, p = e ? Symbol.for("react.lazy") : 60116, A = e ? Symbol.for("react.block") : 60121, C = e ? Symbol.for("react.fundamental") : 60117, R = e ? Symbol.for("react.responder") : 60118, y = e ? Symbol.for("react.scope") : 60119;
|
||
function b(h) {
|
||
return typeof h == "string" || typeof h == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
||
h === n || h === c || h === o || h === i || h === m || h === I || typeof h == "object" && h !== null && (h.$$typeof === p || h.$$typeof === l || h.$$typeof === s || h.$$typeof === a || h.$$typeof === d || h.$$typeof === C || h.$$typeof === R || h.$$typeof === y || h.$$typeof === A);
|
||
}
|
||
function k(h) {
|
||
if (typeof h == "object" && h !== null) {
|
||
var ge = h.$$typeof;
|
||
switch (ge) {
|
||
case r:
|
||
var ie = h.type;
|
||
switch (ie) {
|
||
case u:
|
||
case c:
|
||
case n:
|
||
case o:
|
||
case i:
|
||
case m:
|
||
return ie;
|
||
default:
|
||
var ze = ie && ie.$$typeof;
|
||
switch (ze) {
|
||
case a:
|
||
case d:
|
||
case p:
|
||
case l:
|
||
case s:
|
||
return ze;
|
||
default:
|
||
return ge;
|
||
}
|
||
}
|
||
case t:
|
||
return ge;
|
||
}
|
||
}
|
||
}
|
||
var f = u, G = c, M = a, Ir = s, vr = r, wr = d, xr = n, Er = p, Sr = l, Rr = t, Tr = o, Mr = i, kr = m, Ye = !1;
|
||
function Nr(h) {
|
||
return Ye || (Ye = !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.")), Ze(h) || k(h) === u;
|
||
}
|
||
function Ze(h) {
|
||
return k(h) === c;
|
||
}
|
||
function Dr(h) {
|
||
return k(h) === a;
|
||
}
|
||
function Gr(h) {
|
||
return k(h) === s;
|
||
}
|
||
function Or(h) {
|
||
return typeof h == "object" && h !== null && h.$$typeof === r;
|
||
}
|
||
function Yr(h) {
|
||
return k(h) === d;
|
||
}
|
||
function Zr(h) {
|
||
return k(h) === n;
|
||
}
|
||
function zr(h) {
|
||
return k(h) === p;
|
||
}
|
||
function Wr(h) {
|
||
return k(h) === l;
|
||
}
|
||
function Pr(h) {
|
||
return k(h) === t;
|
||
}
|
||
function Br(h) {
|
||
return k(h) === o;
|
||
}
|
||
function Fr(h) {
|
||
return k(h) === i;
|
||
}
|
||
function Lr(h) {
|
||
return k(h) === m;
|
||
}
|
||
S.AsyncMode = f, S.ConcurrentMode = G, S.ContextConsumer = M, S.ContextProvider = Ir, S.Element = vr, S.ForwardRef = wr, S.Fragment = xr, S.Lazy = Er, S.Memo = Sr, S.Portal = Rr, S.Profiler = Tr, S.StrictMode = Mr, S.Suspense = kr, S.isAsyncMode = Nr, S.isConcurrentMode = Ze, S.isContextConsumer = Dr, S.isContextProvider = Gr, S.isElement = Or, S.isForwardRef = Yr, S.isFragment = Zr, S.isLazy = zr, S.isMemo = Wr, S.isPortal = Pr, S.isProfiler = Br, S.isStrictMode = Fr, S.isSuspense = Lr, S.isValidElementType = b, S.typeOf = k;
|
||
}()), S;
|
||
}
|
||
process.env.NODE_ENV === "production" ? xe.exports = Ut() : xe.exports = Kt();
|
||
var Xt = xe.exports, fr = Xt, Jt = {
|
||
$$typeof: !0,
|
||
render: !0,
|
||
defaultProps: !0,
|
||
displayName: !0,
|
||
propTypes: !0
|
||
}, Ht = {
|
||
$$typeof: !0,
|
||
compare: !0,
|
||
defaultProps: !0,
|
||
displayName: !0,
|
||
propTypes: !0,
|
||
type: !0
|
||
}, dr = {};
|
||
dr[fr.ForwardRef] = Jt;
|
||
dr[fr.Memo] = Ht;
|
||
var qt = !0;
|
||
function en(e, r, t) {
|
||
var n = "";
|
||
return t.split(" ").forEach(function(i) {
|
||
e[i] !== void 0 ? r.push(e[i] + ";") : i && (n += i + " ");
|
||
}), n;
|
||
}
|
||
var Ar = 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
|
||
qt === !1) && r.registered[i] === void 0 && (r.registered[i] = t.styles);
|
||
}, hr = function(r, t, n) {
|
||
Ar(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 rn(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 tn = {
|
||
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
|
||
}, nn = /[A-Z]|^ms/g, on = /_EMO_([^_]+?)_([^]*?)_EMO_/g, mr = function(r) {
|
||
return r.charCodeAt(1) === 45;
|
||
}, Ve = function(r) {
|
||
return r != null && typeof r != "boolean";
|
||
}, be = /* @__PURE__ */ Pt(function(e) {
|
||
return mr(e) ? e : e.replace(nn, "-$&").toLowerCase();
|
||
}), _e = function(r, t) {
|
||
switch (r) {
|
||
case "animation":
|
||
case "animationName":
|
||
if (typeof t == "string")
|
||
return t.replace(on, function(n, i, o) {
|
||
return V = {
|
||
name: i,
|
||
styles: o,
|
||
next: V
|
||
}, i;
|
||
});
|
||
}
|
||
return tn[r] !== 1 && !mr(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 V = {
|
||
name: i.name,
|
||
styles: i.styles,
|
||
next: V
|
||
}, i.name;
|
||
var o = t;
|
||
if (o.styles !== void 0) {
|
||
var s = o.next;
|
||
if (s !== void 0)
|
||
for (; s !== void 0; )
|
||
V = {
|
||
name: s.name,
|
||
styles: s.styles,
|
||
next: V
|
||
}, s = s.next;
|
||
var a = o.styles + ";";
|
||
return a;
|
||
}
|
||
return sn(e, r, t);
|
||
}
|
||
case "function": {
|
||
if (e !== void 0) {
|
||
var u = V, c = t(e);
|
||
return V = u, re(e, r, c);
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
var d = t;
|
||
return d;
|
||
}
|
||
function sn(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;
|
||
Ve(a) && (n += be(o) + ":" + _e(o, a) + ";");
|
||
} else if (Array.isArray(s) && typeof s[0] == "string" && r == null)
|
||
for (var u = 0; u < s.length; u++)
|
||
Ve(s[u]) && (n += be(o) + ":" + _e(o, s[u]) + ";");
|
||
else {
|
||
var c = re(e, r, s);
|
||
switch (o) {
|
||
case "animation":
|
||
case "animationName": {
|
||
n += be(o) + ":" + c + ";";
|
||
break;
|
||
}
|
||
default:
|
||
n += o + "{" + c + "}";
|
||
}
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
var $e = /label:\s*([^\s;{]+)\s*(;|$)/g, V;
|
||
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 = "";
|
||
V = 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];
|
||
}
|
||
$e.lastIndex = 0;
|
||
for (var c = "", d; (d = $e.exec(i)) !== null; )
|
||
c += "-" + d[1];
|
||
var m = rn(i) + c;
|
||
return {
|
||
name: m,
|
||
styles: i,
|
||
next: V
|
||
};
|
||
}
|
||
var an = function(r) {
|
||
return r();
|
||
}, gr = Z.useInsertionEffect ? Z.useInsertionEffect : !1, cn = gr || an, Qe = gr || Z.useLayoutEffect, Cr = /* @__PURE__ */ Z.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__ */ Qt({
|
||
key: "css"
|
||
}) : null
|
||
);
|
||
Cr.Provider;
|
||
var br = function(r) {
|
||
return /* @__PURE__ */ jr(function(t, n) {
|
||
var i = Xe(Cr);
|
||
return r(t, i, n);
|
||
});
|
||
}, yr = /* @__PURE__ */ Z.createContext({}), Oe = {}.hasOwnProperty, Ee = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", un = function(r, t) {
|
||
var n = {};
|
||
for (var i in t)
|
||
Oe.call(t, i) && (n[i] = t[i]);
|
||
return n[Ee] = r, n;
|
||
}, ln = function(r) {
|
||
var t = r.cache, n = r.serialized, i = r.isStringTag;
|
||
return Ar(t, n, i), cn(function() {
|
||
return hr(t, n, i);
|
||
}), null;
|
||
}, fn = /* @__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[Ee], o = [n], s = "";
|
||
typeof e.className == "string" ? s = en(r.registered, o, e.className) : e.className != null && (s = e.className + " ");
|
||
var a = pr(o, void 0, Z.useContext(yr));
|
||
s += r.key + "-" + a.name;
|
||
var u = {};
|
||
for (var c in e)
|
||
Oe.call(e, c) && c !== "css" && c !== Ee && (u[c] = e[c]);
|
||
return u.className = s, t && (u.ref = t), /* @__PURE__ */ Z.createElement(Z.Fragment, null, /* @__PURE__ */ Z.createElement(ln, {
|
||
cache: r,
|
||
serialized: a,
|
||
isStringTag: typeof i == "string"
|
||
}), /* @__PURE__ */ Z.createElement(i, u));
|
||
}), dn = fn, Ue = function(r, t) {
|
||
var n = arguments;
|
||
if (t == null || !Oe.call(t, "css"))
|
||
return Z.createElement.apply(void 0, n);
|
||
var i = n.length, o = new Array(i);
|
||
o[0] = dn, o[1] = un(r, t);
|
||
for (var s = 2; s < i; s++)
|
||
o[s] = n[s];
|
||
return Z.createElement.apply(null, o);
|
||
};
|
||
(function(e) {
|
||
var r;
|
||
r || (r = e.JSX || (e.JSX = {}));
|
||
})(Ue || (Ue = {}));
|
||
var An = /* @__PURE__ */ br(function(e, r) {
|
||
var t = e.styles, n = pr([t], void 0, Z.useContext(yr)), i = Z.useRef();
|
||
return Qe(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]), Qe(function() {
|
||
var o = i.current, s = o[0], a = o[1];
|
||
if (a) {
|
||
o[1] = !1;
|
||
return;
|
||
}
|
||
if (n.next !== void 0 && hr(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 hn = Vr(
|
||
{
|
||
direction: "rtl",
|
||
styles: {
|
||
global: {
|
||
html: {
|
||
fontSize: "14px"
|
||
},
|
||
body: {
|
||
bg: "white"
|
||
}
|
||
}
|
||
},
|
||
fonts: {
|
||
heading: "Estedad",
|
||
body: "Estedad"
|
||
}
|
||
},
|
||
_r({ colorScheme: "facebook" })
|
||
), mn = () => /* @__PURE__ */ g(
|
||
An,
|
||
{
|
||
styles: `
|
||
@font-face {
|
||
font-family: Estedad;
|
||
src: url('/fonts/estedad.woff2') format('woff2');
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
font-display: swap;
|
||
}
|
||
`
|
||
}
|
||
);
|
||
function Fn({
|
||
children: e,
|
||
apiBaseUrl: r,
|
||
keycloakClientId: t,
|
||
permissionClientId: n,
|
||
loading: i = /* @__PURE__ */ g(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 [d, m] = Y(!1), I = le(
|
||
() => ({
|
||
api: {
|
||
baseUrl: r
|
||
},
|
||
keycloak: {
|
||
url: a,
|
||
realm: u,
|
||
clientId: t
|
||
},
|
||
permission: {
|
||
url: c,
|
||
clientId: n
|
||
}
|
||
}),
|
||
[
|
||
r,
|
||
t,
|
||
n,
|
||
a,
|
||
u,
|
||
c
|
||
]
|
||
);
|
||
return W(() => {
|
||
m(!0);
|
||
}, []), W(() => {
|
||
d && ht(I);
|
||
}, [d, I]), d ? /* @__PURE__ */ g($r, { theme: hn, children: /* @__PURE__ */ F(Hr, { client: gt, children: [
|
||
o && /* @__PURE__ */ g(pt, { ...s }),
|
||
/* @__PURE__ */ g(it, { config: I.keycloak, loading: i, children: /* @__PURE__ */ F(st, { config: I.permission, loading: i, children: [
|
||
/* @__PURE__ */ g(mn, {}),
|
||
e
|
||
] }) })
|
||
] }) }) : null;
|
||
}
|
||
const pn = "data:image/webp;base64,UklGRpwQAABXRUJQVlA4WAoAAAAcAAAAKQAAOwAAQUxQSFQEAAABoHbb2rG3HtB6FdS2bQ03qW3btm3btm3btm3bbnCyP9xP3jd9T0RMABHsSorXZsvtPb3Se41jZVyvSXXa32uqP/Xxmq7fo3jNACXzmn4q7jUdNdRryuuG3bAbztgR4R9evC9hBQ2Gzk0EgVE9i5U1PLZpndFDup+IkgU9K5LDjSr6kwGqSVIu8rXwbEAaN3wfajUkGPxHo6DAYI+c2xO4QVuFBAC1xgGVZ3mU8HYcd/we6DAwbFs26LnIoxxfkrhDM6kcfaRPmdky1qOCyuWW7y3tKiVJAT6fWnqUXy3dor7CKtT5oOE0VGGPMmu9e77XtIjCw3FeDUrkUZyfH2K4RW29iwE00GE8tl1Qs3Di1BrQIZ7rhvJAjEfq5obdiv46Z7do8ELSYfqrLMzW3zRuOCd3SGik+auaRh2Z3xwVVJry0lpMu0FX/ZqRAtigm/4Q/YvFTWorTYznCs5lEdMi9efDwX/aQb7/1AWyL2nc7oHUN9G1R6yVZgE2GzEsIt9Ll3SqxsNSfUiMDVgkbXuunk2kuzEMO1EtYj5MC4U/NyXlZ21wAY1/SNLDZj/1KwvW0Szy3/IBcp2IwhDp7Ojhh2W+bPBA6tRlXhqL2BZjV2G2CCRDkMIN2lTguDRzqnQvlhHPcN0raZEoN7bL4XzJyRppZxdJam9kNMrdcVpgh1nhDGeadDXba2M94FvJ2DEYM3ZMoIPVadpIb1MMk3kQKNIESPwogRHw9k03GBYSJIUuj1w8WF/zscFiI7AwIzBwBeZiSU0jvVmWvWfnnKT8qOBKkPzg3VVPNBoqbQVs50pYnJb06oCKA/ickZpjOqmgokS/XwzIdtvfcNyQecJpTJBGYp1m7zk72/YB9F4PMRPDbSOsFECxMK3BDBx84reyMyY4hbGuE9Wff50e+ZTx0AX4XdbtaECuA5LUnOGqh3kmIGeIpF3dQyWdAGiqoHxAvV+Sgpo65ms8lrfT7Zc5LXflE1oNuK5rFFAmWArblTPNCS3F+mniIRYhSVmlIUABPYgCGT7p0fhstPihRY7wUjPKUH2mqi0wWi0gyhXNj0qWA9JIwr+dG9r9ktSe1uoEthuv/GCmhuEaHaz3tXHzdE1gqKRuFNAgiBs6HnJrNFnPS5vS4u6KqUAFSV2I8mU25AjLDUfXUfaTbtXB/eaPHZDkh9QDlhyDkq8jUeCKo3yQhkbDwzjfSgIbpAkQ8CIKFc/A1IBsP4Nq4vmSS0BgmPYD20pSeD3JetruaRERmFxdgHV6Fw2KDSDdQgITtpEmRQQDlR8SPVAVoFvsSLMciTkoPUlDMqdH9oNfs0KG5xeBlAG0iQ/XJH282NnhETEvfy0MKa+2B+IQPwbslKQpDiIwxi71chBlQhks6zXLcfD+nnJErK3v3yulIKBYHKBMiLb6+RLxGZd/Oto4pl+GpGQJkpSSf5q0x469ExsWjZd8zl+Ns/0bIEqmokVSQc25Nv7fVlA4IE4BAADwCACdASoqADwAPpE+l0elo6IhMBgKqLASCWYAeY3124Tt2+M8I7dlHoAdJh/qkeBtGaWg1ChNvDuWSwq8xHivZQhVY/yMTqKrsFwfI4RDAAD+/K4wmeoq1E47qjIzyMegBTzGNbaUAv8rmdDbv4kghBOnmR/8XYLhxravlAnOE1epcqaVsh2lcQs5g97rmsbIO0zMpZRMU/29Z0JKLD67mRIy50yTMBnHMtR3uiBwXfRUrkawU63YdXSClV8L7pfW5yvYxByMocKBxjmyPaO12tcgdRUhWef+c9QpjtR8Vtq+4L9b/qhtLZ7i2dhFS8FiOuEMoT4N3E6He4KE7r++L8tQgFD+uhk/dQ0f/u8es/c0V8zW/ddFpOLdSl5M/92PEp9I9eXeHKvY5V4/n0JMzGZO2BsR/qzofRa1tMIFHZ/zZqDzofsf7QetLgAARVhJRu4AAABNTQAqAAAACAAHARIAAwAAAAEAAQAAARoABQAAAAEAAABiARsABQAAAAEAAABqASgAAwAAAAEAAgAAATEAAgAAAB0AAAByATIAAgAAABQAAACQh2kABAAAAAEAAACkAAAAAAAAASwAAAABAAABLAAAAAFBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpAAAyMDE4OjA4OjEzIDE0OjI1OjUzAAAEkAQAAgAAABQAAADaoAEAAwAAAAEAAQAAoAIABAAAAAEAAAAqoAMABAAAAAEAAAA8AAAAADIwMTg6MDg6MTMgMTQ6MjU6NTMAWE1QINYJAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxMDU3ZjgxNy03YTEzLThiNGEtODc1Ni1lYWM1MWEyZDRiYTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDgtMTNUMTQ6MjU6NTMrMDQ6MzA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDZjNmM4ODYtZDY2My1jMzQzLTkwZTUtNjQ4ZWJlYTkxYzgxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjEwNTdmODE3LTdhMTMtOGI0YS04NzU2LWVhYzUxYTJkNGJhNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NWI3ZmJlNDgtMDc0ZS01NzRhLWFlNTctN2RmYjA4NmI1N2Q3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjA2YzZjODg2LWQ2NjMtYzM0My05MGU1LTY0OGViZWE5MWM4MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEwYjgxNWMzLTkzYjMtODU0MC04NmY0LTA0OTEyZTY5Y2Y4NTwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K";
|
||
function gn({ children: e, dir: r = "rtl", ...t }) {
|
||
return /* @__PURE__ */ g(
|
||
Ur,
|
||
{
|
||
as: "header",
|
||
dir: r,
|
||
w: "100%",
|
||
h: "110px",
|
||
borderBottom: "1px",
|
||
borderColor: "gray.200",
|
||
bg: "#4299E1",
|
||
px: "20px",
|
||
zIndex: 10,
|
||
position: "fixed",
|
||
color: "white",
|
||
...t,
|
||
children: /* @__PURE__ */ g(L, { h: "100%", alignItems: "center", justifyContent: "space-between", children: e })
|
||
}
|
||
);
|
||
}
|
||
function Cn({ children: e, ...r }) {
|
||
return /* @__PURE__ */ g(L, { alignItems: "center", h: "100%", py: "10px", ...r, children: e });
|
||
}
|
||
function bn(e) {
|
||
return /* @__PURE__ */ g(He, { loading: "lazy", alt: "logo", maxW: "80px", maxH: "80px", ...e });
|
||
}
|
||
function yn({ children: e, ...r }) {
|
||
return /* @__PURE__ */ g(
|
||
Je,
|
||
{
|
||
alignItems: "start",
|
||
justifyContent: "center",
|
||
h: "100%",
|
||
spacing: 1,
|
||
...r,
|
||
children: e
|
||
}
|
||
);
|
||
}
|
||
function In({ children: e, ...r }) {
|
||
return /* @__PURE__ */ g(B, { fontWeight: "bold", fontSize: "20px", ...r, children: e });
|
||
}
|
||
function vn({ children: e, ...r }) {
|
||
return /* @__PURE__ */ g(B, { ...r, children: e });
|
||
}
|
||
function wn({ logoSrc: e = pn, ...r }) {
|
||
return /* @__PURE__ */ F(
|
||
Je,
|
||
{
|
||
w: "fit-content",
|
||
alignItems: "center",
|
||
justifyContent: "center",
|
||
py: "10px",
|
||
...r,
|
||
children: [
|
||
/* @__PURE__ */ g(He, { src: e, loading: "lazy", maxW: "90px" }),
|
||
/* @__PURE__ */ g(B, { fontSize: "xs", fontWeight: "bold", textAlign: "center", children: "مؤسسه تولید سیستمهای خبره و هوشمند اسلامی باقرالعلوم(ع)" })
|
||
]
|
||
}
|
||
);
|
||
}
|
||
const Ln = Object.assign(gn, {
|
||
BrandSection: Cn,
|
||
Logo: bn,
|
||
Brand: yn,
|
||
Title: In,
|
||
Description: vn,
|
||
Bi: wn
|
||
});
|
||
export {
|
||
Wn as AdminGuard,
|
||
Fn as BiProvider,
|
||
zn as Can,
|
||
Ln as Header,
|
||
it as KeycloakProvider,
|
||
Dn as LightPagination,
|
||
Gn as Pagination,
|
||
Pn as PanelAccessGuard,
|
||
st as PermissionProvider,
|
||
On as SimplePagination,
|
||
Bn as api,
|
||
lt as checkPermission,
|
||
Zn as clearCachedPermissions,
|
||
ht as configureApi,
|
||
At as createApi,
|
||
ut as createPermissionSet,
|
||
mt as getApi,
|
||
at as getCachedPermissions,
|
||
se as getKeycloakToken,
|
||
ft as getPermissions,
|
||
rr as initKeycloak,
|
||
qe as isKeycloakAuthenticated,
|
||
nt as isKeycloakInitialized,
|
||
Yn as loginKeycloak,
|
||
er as logoutKeycloak,
|
||
nr as permissionKeys,
|
||
ct as setCachedPermissions,
|
||
Q as toEnDigits,
|
||
T as toFaDigits,
|
||
Nn as toFaNumber,
|
||
We as updateKeycloakToken,
|
||
ke as usePermission,
|
||
dt as usePermissionsQuery
|
||
};
|