{"version":3,"file":"useShellVisibility.mjs","names":["useEffect","useRef","useShellStore","useWithoutShellParam","useShellVisibility","t0","$","_c","hideLayout","isPublicRoute","hasUser","shellHidden","setShellHidden","shellHiddenBaselineRef","withoutShell","t1","shouldForceHideShell","current","undefined","syncShellHiddenWithRouteState","t2"],"sources":["../../src/shell/useShellVisibility.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useShellStore, useWithoutShellParam } from '../stores/shellStore';\n\n/**\n * Controls shell visibility based on layout flags, user presence, and route metadata.\n * Returns the effective hidden state that callers should use for rendering.\n */\nexport const useShellVisibility = ({ hideLayout, isPublicRoute, hasUser }) => {\n  const { shellHidden, setShellHidden } = useShellStore();\n  const shellHiddenBaselineRef = useRef();\n  const withoutShell = useWithoutShellParam();\n\n  const syncShellHiddenWithRouteState = () => {\n    const shouldForceHideShell =\n      hideLayout || isPublicRoute || !hasUser || withoutShell;\n\n    if (shouldForceHideShell) {\n      if (shellHiddenBaselineRef.current === undefined) {\n        shellHiddenBaselineRef.current = shellHidden;\n      }\n      if (!shellHidden) {\n        setShellHidden(true);\n      }\n    } else if (shellHiddenBaselineRef.current !== undefined) {\n      if (shellHidden !== shellHiddenBaselineRef.current) {\n        setShellHidden(shellHiddenBaselineRef.current);\n      } else {\n        setShellHidden(false);\n      }\n      shellHiddenBaselineRef.current = undefined;\n    } else if (shellHidden) {\n      setShellHidden(false);\n    }\n  };\n\n  useEffect(syncShellHiddenWithRouteState, [\n    hideLayout,\n    isPublicRoute,\n    hasUser,\n    withoutShell,\n    setShellHidden,\n    shellHidden\n  ]);\n\n  return shellHidden || hideLayout || isPublicRoute || !hasUser || withoutShell;\n};\n"],"mappings":";;;;;;;;AAOA,MAAaI,sBAAqBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAC,YAAAC,eAAAC,YAAAL;CACjC,MAAA,EAAAM,aAAAC,mBAAwCV,eAAe;CACvD,MAAAW,yBAA+BZ,QAAQ;CACvC,MAAAa,eAAqBX,sBAAsB;CAAC,IAAAY;AAAA,KAAAT,EAAA,OAAAI,WAAAJ,EAAA,OAAAE,cAAAF,EAAA,OAAAG,iBAAAH,EAAA,OAAAM,kBAAAN,EAAA,OAAAK,eAAAL,EAAA,OAAAQ,cAAA;AAENC,aAAA;AAIpC,OAFEP,cAAAC,iBAAA,CAAgCC,WAAhCI,cAEsB;AACtB,QAAID,uBAAsBI,YAAaC,KAAAA,EACrCL,wBAAsBI,UAAWN;AAEnC,QAAI,CAACA,YACHC,gBAAe,KAAK;cAEbC,uBAAsBI,YAAaC,KAAAA,GAAS;AACrD,QAAIP,gBAAgBE,uBAAsBI,QACxCL,gBAAeC,uBAAsBI,QAAS;QAE9CL,gBAAe,MAAM;AAEvBC,2BAAsBI,UAAWC,KAAAA;cACxBP,YACTC,gBAAe,MAAM;;AAExBN,IAAA,KAAAI;AAAAJ,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAM;AAAAN,IAAA,KAAAK;AAAAL,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;OAAAA,MAAAT,EAAA;CArBD,MAAAa,gCAAsCJ;CAqBpC,IAAAK;AAAA,KAAAd,EAAA,OAAAI,WAAAJ,EAAA,OAAAE,cAAAF,EAAA,OAAAG,iBAAAH,EAAA,QAAAM,kBAAAN,EAAA,QAAAK,eAAAL,EAAA,QAAAQ,cAAA;AAEuCM,OAAA;GACvCZ;GACAC;GACAC;GACAI;GACAF;GACAD;GACD;AAAAL,IAAA,KAAAI;AAAAJ,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,MAAAM;AAAAN,IAAA,MAAAK;AAAAL,IAAA,MAAAQ;AAAAR,IAAA,MAAAc;OAAAA,MAAAd,EAAA;AAPDN,WAAUmB,+BAA+BC,GAOvC;AAAA,QAEKT,eAAAH,cAAAC,iBAAA,CAA+CC,WAA/CI"}