@geomak/ui 6.24.0 → 6.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -6006,6 +6006,8 @@ function SecureLayout({
6006
6006
  className = ""
6007
6007
  }) {
6008
6008
  const reduced = framerMotion.useReducedMotion();
6009
+ const cbs = React27.useRef({ canAccess, onGranted, onDeny });
6010
+ cbs.current = { canAccess, onGranted, onDeny };
6009
6011
  const rolesKey = JSON.stringify(roles);
6010
6012
  const requiredRolesKey = JSON.stringify(requiredRoles);
6011
6013
  const permissionsKey = JSON.stringify(permissions);
@@ -6024,18 +6026,19 @@ function SecureLayout({
6024
6026
  );
6025
6027
  React27.useEffect(() => {
6026
6028
  let cancelled = false;
6029
+ const { canAccess: check, onGranted: granted, onDeny: deny } = cbs.current;
6027
6030
  const finish = (ok) => {
6028
6031
  if (cancelled) return;
6029
6032
  setState(ok ? "granted" : "denied");
6030
- if (ok) onGranted?.();
6031
- else onDeny?.();
6033
+ if (ok) granted?.();
6034
+ else deny?.();
6032
6035
  };
6033
6036
  if (!passesSync()) {
6034
6037
  finish(false);
6035
- } else if (!canAccess) {
6038
+ } else if (!check) {
6036
6039
  finish(true);
6037
6040
  } else {
6038
- const result = canAccess(route);
6041
+ const result = check(route);
6039
6042
  if (result && typeof result.then === "function") {
6040
6043
  setState("checking");
6041
6044
  result.then((ok) => finish(Boolean(ok)));
@@ -6052,7 +6055,6 @@ function SecureLayout({
6052
6055
  route,
6053
6056
  requireAllRoles,
6054
6057
  requireAllPermissions,
6055
- canAccess,
6056
6058
  rolesKey,
6057
6059
  requiredRolesKey,
6058
6060
  permissionsKey,