seitu
Version:
36 lines • 978 B
text/typescript
import { i as Subscribable, r as ServerReadable } from "../../index-B0IeflOl.mjs";
//#region src/web/is-online/index.d.ts
interface IsOnline extends Subscribable<boolean>, ServerReadable<boolean> {}
/**
* Reactive browser online status. On the server, `get()` and the SSR snapshot
* are `true`.
*
* @example Vanilla
* ```ts twoslash
* import { createIsOnline } from 'seitu/web'
*
* const isOnline = createIsOnline()
*
* isOnline.subscribe(value => {
* console.log(value ? 'online' : 'offline')
* })
*
* console.log(isOnline.get())
* ```
*
* @example React
* ```tsx twoslash title="page.tsx"
* import { createIsOnline } from 'seitu/web'
* import { useSubscription } from 'seitu/react'
*
* const isOnline = createIsOnline()
*
* function Status() {
* const online = useSubscription(isOnline)
* return online ? 'Connected' : 'Disconnected'
* }
* ```
*/
declare function createIsOnline(): IsOnline;
//#endregion
export { IsOnline, createIsOnline };