{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/use-page-visibility/index.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { inBrowser } from '@xzx-design/utils'\n\nimport type { Ref } from 'vue'\n\ntype VisibilityState = 'hidden' | 'visible'\n\nlet visibility: Ref<VisibilityState>\n\nexport function usePageVisibility() {\n  if (!visibility) {\n    visibility = ref<VisibilityState>('visible')\n\n    if (inBrowser) {\n      const update = () => {\n        visibility.value = document.hidden ? 'hidden' : 'visible'\n      }\n\n      update()\n      window.addEventListener('visibilitychange', update)\n    }\n  }\n\n  return visibility\n}\n"],"names":[],"mappings":";;;;AAOA,IAAI,UAAA,CAAA;AAEG,SAAS,iBAAoB,GAAA;AAClC,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAA,UAAA,GAAa,IAAqB,SAAS,CAAA,CAAA;AAE3C,IAAA,IAAI,SAAW,EAAA;AACb,MAAA,MAAM,SAAS,MAAM;AACnB,QAAW,UAAA,CAAA,KAAA,GAAQ,QAAS,CAAA,MAAA,GAAS,QAAW,GAAA,SAAA,CAAA;AAAA,OAClD,CAAA;AAEA,MAAO,MAAA,EAAA,CAAA;AACP,MAAO,MAAA,CAAA,gBAAA,CAAiB,oBAAoB,MAAM,CAAA,CAAA;AAAA,KACpD;AAAA,GACF;AAEA,EAAO,OAAA,UAAA,CAAA;AACT;;;;"}