UNPKG

react-antd-admin-panel

Version:

Modern TypeScript-first React admin panel builder with Ant Design 6

40 lines (39 loc) 1.07 kB
import { jsx, Fragment } from "react/jsx-runtime"; import { u as useAccess } from "./useAccess-DsPOTmRD.js"; function AccessGuard({ children, fallback = null, role, roles, permission, permissions, feature, level = 1, requireAuth }) { const access = useAccess(); const needsAuth = requireAuth ?? (role !== void 0 || roles !== void 0 || permission !== void 0 || permissions !== void 0 || feature !== void 0); if (needsAuth && !access.isAuthenticated) { return fallback; } if (role !== void 0 && !access.hasRole(role)) { return fallback; } if (roles !== void 0 && !access.hasAnyRole(roles)) { return fallback; } if (permission !== void 0 && !access.hasPermission(permission)) { return fallback; } if (permissions !== void 0 && !access.hasAllPermissions(permissions)) { return fallback; } if (feature !== void 0 && !access.hasFeature(feature, level)) { return fallback; } return /* @__PURE__ */ jsx(Fragment, { children }); } export { AccessGuard as A }; //# sourceMappingURL=Protected-x1KgaSB5.js.map