solid-use
Version:
A collection of SolidJS utilities
8 lines (7 loc) • 1.19 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/page-visibility.ts"],
"sourcesContent": ["import { createEffect, createSignal, onCleanup } from 'solid-js';\nimport { isServer } from 'solid-js/web';\n\nconst usePageVisibility = isServer\n ? (): (() => boolean) => () => true\n : (): (() => boolean) => {\n const [state, setState] = createSignal(true);\n\n createEffect(() => {\n const callback = () => {\n setState(document.visibilityState === 'visible');\n };\n callback();\n document.addEventListener('visibilitychange', callback, false);\n onCleanup(() => {\n document.removeEventListener('visibilitychange', callback, false);\n });\n });\n\n return state;\n };\n\nexport default usePageVisibility;\n"],
"mappings": ";AAAA,SAAS,cAAc,cAAc,iBAAiB;AACtD,SAAS,gBAAgB;AAEzB,IAAM,oBAAoB,WACtB,MAAuB,MAAM,OAC7B,MAAuB;AACrB,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,IAAI;AAE3C,eAAa,MAAM;AACjB,UAAM,WAAW,MAAM;AACrB,eAAS,SAAS,oBAAoB,SAAS;AAAA,IACjD;AACA,aAAS;AACT,aAAS,iBAAiB,oBAAoB,UAAU,KAAK;AAC7D,cAAU,MAAM;AACd,eAAS,oBAAoB,oBAAoB,UAAU,KAAK;AAAA,IAClE,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;AAEJ,IAAO,0BAAQ;",
"names": []
}