import { jsx as A, jsxs as l, Fragment as L } from "react/jsx-runtime"; import { Box as a, HStack as b, VStack as C, Image as M, Text as c, useDisclosure as V, Stack as U, Tooltip as z, IconButton as S, Icon as d, Drawer as X, DrawerOverlay as H, DrawerContent as F, DrawerCloseButton as J, DrawerHeader as K, DrawerBody as q, SimpleGrid as _, Link as $ } from "@chakra-ui/react"; import { useRef as AA, useEffect as eA, forwardRef as oA } from "react"; import { FiMoreHorizontal as nA } from "react-icons/fi"; import { IoExit as tA } from "react-icons/io5"; import { u as rA, l as W } from "./chunks/permission-DL7ciWwc.js"; const gA = "data:image/webp;base64,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MCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxMDU3ZjgxNy03YTEzLThiNGEtODc1Ni1lYWM1MWEyZDRiYTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDgtMTNUMTQ6MjU6NTMrMDQ6MzA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDZjNmM4ODYtZDY2My1jMzQzLTkwZTUtNjQ4ZWJlYTkxYzgxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjEwNTdmODE3LTdhMTMtOGI0YS04NzU2LWVhYzUxYTJkNGJhNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NWI3ZmJlNDgtMDc0ZS01NzRhLWFlNTctN2RmYjA4NmI1N2Q3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjA2YzZjODg2LWQ2NjMtYzM0My05MGU1LTY0OGViZWE5MWM4MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEwYjgxNWMzLTkzYjMtODU0MC04NmY0LTA0OTEyZTY5Y2Y4NTwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K"; function lA({ children: e, ...n }) { return /* @__PURE__ */ A( a, { as: "header", w: "100%", h: "110px", borderBottom: "1px", borderColor: "gray.200", bg: "#4299E1", px: "20px", zIndex: 10, position: "fixed", color: "white", ...n, children: /* @__PURE__ */ A(b, { h: "100%", alignItems: "center", justifyContent: "space-between", children: e }) } ); } function iA({ children: e, ...n }) { return /* @__PURE__ */ A(b, { alignItems: "center", h: "100%", py: "10px", ...n, children: e }); } function IA(e) { return /* @__PURE__ */ A(M, { loading: "lazy", alt: "logo", maxW: "80px", maxH: "80px", ...e }); } function aA({ children: e, ...n }) { return /* @__PURE__ */ A( C, { alignItems: "start", justifyContent: "center", h: "100%", spacing: 1, ...n, children: e } ); } function cA({ children: e, ...n }) { return /* @__PURE__ */ A(c, { fontWeight: "bold", fontSize: "20px", ...n, children: e }); } function dA({ children: e, ...n }) { return /* @__PURE__ */ A(c, { ...n, children: e }); } function CA({ logoSrc: e = gA, ...n }) { return /* @__PURE__ */ l( C, { w: "fit-content", alignItems: "center", justifyContent: "center", py: "10px", ...n, children: [ /* @__PURE__ */ A(M, { src: e, loading: "lazy", maxW: "90px" }), /* @__PURE__ */ A(c, { fontSize: "xs", fontWeight: "bold", textAlign: "center", children: "مؤسسه تولید سیستم‌های خبره و هوشمند اسلامی باقرالعلوم(ع)" }) ] } ); } const mA = Object.assign(lA, { BrandSection: iA, Logo: IA, Brand: aA, Title: cA, Description: dA, Bi: CA }), Y = (e, n) => { const t = (e == null ? void 0 : e.split("?")[0]) || ""; return [n == null ? void 0 : n.path, ...(n == null ? void 0 : n.aliases) || []].filter(Boolean).some( (g) => t === g || t.startsWith(`${g}/`) ); }, ZA = (e = [], n) => e.find((t) => Y(n, t)), p = oA( ({ linkComponent: e, href: n, children: t, ...r }, g) => /* @__PURE__ */ A($, { ref: g, href: n, ...e ? { as: e } : {}, ...r, children: t }) ); p.displayName = "SidebarLink"; const sA = ({ item: e, isActive: n, isDisabled: t, linkComponent: r, onNavigate: g }) => { const i = /* @__PURE__ */ A( S, { variant: "ghost", icon: /* @__PURE__ */ A(d, { as: e.icon }), fontSize: "xl", size: { base: "sm", lg: "lg" }, isDisabled: t, isActive: n, "aria-label": e.title, "aria-current": n ? "page" : void 0, onClick: t ? void 0 : g } ); return /* @__PURE__ */ A( z, { label: t ? "عدم دسترسی" : e.title, placement: "left-start", hasArrow: !0, rounded: "md", py: 2, px: 4, fontWeight: "bold", closeDelay: 150, children: t ? /* @__PURE__ */ A(a, { as: "span", children: i }) : /* @__PURE__ */ A( p, { linkComponent: r, href: e.path, _hover: { textDecoration: "none" }, children: i } ) } ); }, bA = ({ item: e, isActive: n, isDisabled: t, linkComponent: r, onNavigate: g }) => { const i = /* @__PURE__ */ l( C, { as: "span", spacing: 0.5, w: "full", minW: 0, py: 1, px: 1, borderRadius: "xl", color: n ? "blue.600" : "gray.600", bg: n ? "blue.50" : "transparent", opacity: t ? 0.4 : 1, transition: "background-color 150ms ease, color 150ms ease", children: [ /* @__PURE__ */ A(d, { as: e.icon, boxSize: 5 }), /* @__PURE__ */ A( c, { as: "span", w: "full", fontSize: "10px", fontWeight: n ? "bold" : "medium", lineHeight: "short", textAlign: "center", noOfLines: 1, children: e.mobileTitle || e.title } ) ] } ); return t ? /* @__PURE__ */ A( a, { flex: "1", minW: 0, display: "flex", alignItems: "center", "aria-disabled": "true", children: i } ) : /* @__PURE__ */ A( p, { linkComponent: r, href: e.path, flex: "1", minW: 0, display: "flex", alignItems: "center", _hover: { textDecoration: "none" }, onClick: g, "aria-current": n ? "page" : void 0, children: i } ); }, GA = ({ items: e = [], currentPath: n, linkComponent: t, onNavigate: r, logoutTitle: g = "خروج", logoutIcon: i = tA, primaryMobileCount: D = 4, moreTitle: k = "بیشتر", moreDrawerTitle: N = "سایر بخش‌های سامانه", desktopProps: E, mobileProps: j }) => { const { isOpen: T, onOpen: B, onClose: h } = V(), m = AA(), { cannot: Q, can: Z, isLoading: G } = rA(); eA(() => { G || Z("panel_access") || W(); }, [Z, G]); const P = n ?? (typeof window < "u" ? `${window.location.pathname}${window.location.search}` : ""), O = e.slice(0, D), w = e.slice(D), u = (o) => (Array.isArray(o == null ? void 0 : o.perm) ? o.perm : [o == null ? void 0 : o.perm]).filter(Boolean).some((I) => Q(I)), s = (o) => Y(P, o), x = w.some(s), f = (o) => { r == null || r(o), h(); }, y = () => { h(), W(); }; return /* @__PURE__ */ l(L, { children: [ /* @__PURE__ */ A( U, { py: 6, as: "nav", flexShrink: 0, justify: "space-between", h: "full", borderLeft: "1px", borderColor: "gray.200", overflowY: "scroll", sx: { "::-webkit-scrollbar": { display: "none" }, scrollbarWidth: "none", msOverflowStyle: "none" }, display: { base: "none", lg: "flex" }, ...E, children: /* @__PURE__ */ l(C, { spacing: 2, children: [ e.map((o) => /* @__PURE__ */ A( sA, { item: o, isDisabled: u(o), isActive: s(o), linkComponent: t, onNavigate: () => r == null ? void 0 : r(o) }, o.path )), /* @__PURE__ */ A( z, { label: g, placement: "left-start", hasArrow: !0, rounded: "md", py: 2, px: 4, fontWeight: "bold", closeDelay: 150, children: /* @__PURE__ */ A( S, { variant: "ghost", icon: /* @__PURE__ */ A(d, { as: i }), fontSize: "xl", size: { base: "sm", lg: "lg" }, "aria-label": g, onClick: y } ) } ) ] }) } ), /* @__PURE__ */ A( a, { as: "nav", "aria-label": "ناوبری اصلی موبایل", display: { base: "block", lg: "none" }, position: "fixed", insetInline: 0, bottom: 0, zIndex: 1200, bg: "white", borderTopWidth: "1px", borderColor: "gray.200", boxShadow: "0 -6px 18px rgba(0, 0, 0, 0.08)", pb: "env(safe-area-inset-bottom)", ...j, children: /* @__PURE__ */ l(b, { h: "56px", px: 1.5, spacing: 1, align: "stretch", children: [ O.map((o) => /* @__PURE__ */ A( bA, { item: o, isDisabled: u(o), isActive: s(o), linkComponent: t, onNavigate: () => f(o) }, o.path )), /* @__PURE__ */ A( a, { as: "button", ref: m, type: "button", flex: "1", minW: 0, h: "full", p: 0, border: 0, bg: "transparent", font: "inherit", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", onClick: B, "aria-label": "نمایش سایر بخش‌ها", children: /* @__PURE__ */ l( C, { spacing: 0.5, w: "full", py: 1, px: 1, borderRadius: "xl", color: x ? "blue.600" : "gray.600", bg: x ? "blue.50" : "transparent", children: [ /* @__PURE__ */ A(d, { as: nA, boxSize: 5 }), /* @__PURE__ */ A( c, { fontSize: "10px", fontWeight: x ? "bold" : "medium", lineHeight: "short", children: k } ) ] } ) } ) ] }) } ), /* @__PURE__ */ l( X, { isOpen: T, placement: "bottom", onClose: h, finalFocusRef: m, children: [ /* @__PURE__ */ A(H, {}), /* @__PURE__ */ l( F, { borderTopRadius: "2xl", maxH: "min(78dvh, 620px)", pb: "env(safe-area-inset-bottom)", children: [ /* @__PURE__ */ A(J, { insetInlineEnd: 3, insetInlineStart: "auto" }), /* @__PURE__ */ A(K, { borderBottomWidth: "1px", fontSize: "md", children: N }), /* @__PURE__ */ l(q, { py: 4, overflowY: "auto", children: [ /* @__PURE__ */ A(_, { columns: 4, spacing: 2, children: w.map((o) => { const R = u(o), I = s(o), v = /* @__PURE__ */ l( C, { h: "70px", minW: 0, justify: "center", spacing: 1, px: 1, borderWidth: "1px", borderColor: I ? "blue.300" : "gray.200", borderRadius: "lg", bg: I ? "blue.50" : "white", color: I ? "blue.700" : "gray.700", opacity: R ? 0.4 : 1, children: [ /* @__PURE__ */ A(d, { as: o.icon, boxSize: 5, flexShrink: 0 }), /* @__PURE__ */ A( c, { w: "full", fontSize: "10px", lineHeight: "shorter", fontWeight: I ? "bold" : "medium", textAlign: "center", noOfLines: 2, children: o.mobileTitle || o.title } ) ] } ); return R ? /* @__PURE__ */ A(a, { children: v }, o.path) : /* @__PURE__ */ A( p, { linkComponent: t, href: o.path, _hover: { textDecoration: "none" }, onClick: () => f(o), "aria-current": I ? "page" : void 0, children: v }, o.path ); }) }), /* @__PURE__ */ A(a, { mt: 4, pt: 4, borderTopWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ l( b, { as: "button", type: "button", w: "full", justify: "center", py: 3, borderRadius: "xl", border: 0, color: "red.600", bg: "red.50", cursor: "pointer", onClick: y, children: [ /* @__PURE__ */ A(d, { as: i, boxSize: 5 }), /* @__PURE__ */ A(c, { fontWeight: "bold", children: "خروج از سامانه" }) ] } ) }) ] }) ] } ) ] } ) ] }); }; export { mA as Header, GA as Sidebar, ZA as getActiveSidebarItem, Y as isSidebarPathActive };