Skip to content

⬅️ Back to Table of Contents

📄 useDocumentVisibility

📊 Analysis Summary

Metric Count
🔧 Functions 1
📦 Imports 5
📐 Interfaces 1
📑 Type Aliases 1

📚 Table of Contents

🛠️ File Location:

📂 packages/core/useDocumentVisibility/index.ts

📦 Imports

Name Source
ShallowRef vue
ConfigurableDocument ../_configurable
shallowRef vue
defaultDocument ../_configurable
useEventListener ../useEventListener

Functions

useDocumentVisibility(options: UseDocumentVisibilityOptions): UseDocumentVisibilityReturn

Reactively track document.visibilityState.

See: https://vueuse.org/useDocumentVisibility

Tags: @__NO_SIDE_EFFECTS__

Raw JSDoc
/**
 * Reactively track `document.visibilityState`.
 *
 * @see https://vueuse.org/useDocumentVisibility
 *
 * @__NO_SIDE_EFFECTS__
 */

Calls:

  • shallowRef (from vue)
  • useEventListener (from ../useEventListener)
Code
export function useDocumentVisibility(options: UseDocumentVisibilityOptions = {}): UseDocumentVisibilityReturn {
  const { document = defaultDocument } = options
  if (!document)
    return shallowRef<DocumentVisibilityState>('visible')

  const visibility = shallowRef(document.visibilityState)

  useEventListener(document, 'visibilitychange', () => {
    visibility.value = document.visibilityState
  }, { passive: true })

  return visibility
}

Interfaces

UseDocumentVisibilityOptions

Interface Code
export interface UseDocumentVisibilityOptions extends ConfigurableDocument {
}

Type Aliases

UseDocumentVisibilityReturn

type UseDocumentVisibilityReturn = ShallowRef<DocumentVisibilityState>;

Generated by Syntax Scribe