UNPKG

react-antd-admin-panel

Version:

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

39 lines (38 loc) 1.12 kB
"use strict"; const jsxRuntime = require("react/jsx-runtime"); const useAccess = require("./useAccess-Bu6PpWEB.cjs"); function AccessGuard({ children, fallback = null, role, roles, permission, permissions, feature, level = 1, requireAuth }) { const access = useAccess.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__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }); } exports.AccessGuard = AccessGuard; //# sourceMappingURL=Protected-Cf9XjIbv.cjs.map