🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@solid-primitives/page-visibility

Package Overview
Dependencies
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solid-primitives/page-visibility - npm Package Compare versions

Comparing version

to
2.1.0

9

dist/index.d.ts

@@ -1,3 +0,2 @@

import { Accessor } from 'solid-js';
import { Accessor } from "solid-js";
/**

@@ -15,3 +14,3 @@ * Creates a signal with a boolean value identifying the page visibility state.

*/
declare const createPageVisibility: () => Accessor<boolean>;
export declare const createPageVisibility: () => Accessor<boolean>;
/**

@@ -31,4 +30,2 @@ * Returns a signal with a boolean value identifying the page visibility state.

*/
declare const usePageVisibility: () => Accessor<boolean>;
export { createPageVisibility, usePageVisibility };
export declare const usePageVisibility: () => Accessor<boolean>;

@@ -1,18 +0,41 @@

import { isServer } from 'solid-js/web';
import { createHydratableSingletonRoot } from '@solid-primitives/rootless';
import { trueFn, createHydratableSignal } from '@solid-primitives/utils';
import { makeEventListener } from '@solid-primitives/event-listener';
// src/index.ts
var createPageVisibility = () => {
if (isServer) {
return trueFn;
}
const checkVisibility = () => document.visibilityState === "visible";
const [isVisible, setVisible] = createHydratableSignal(true, checkVisibility);
makeEventListener(document, "visibilitychange", () => setVisible(checkVisibility));
return isVisible;
import { isServer } from "solid-js/web";
import { createHydratableSingletonRoot } from "@solid-primitives/rootless";
import { createHydratableSignal, trueFn } from "@solid-primitives/utils";
import { makeEventListener } from "@solid-primitives/event-listener";
/**
* Creates a signal with a boolean value identifying the page visibility state.
*
* @example
* ```ts
* const visible = createPageVisibility();
*
* createEffect(() => {
* visible() // => boolean
* })
* ```
*/
export const createPageVisibility = () => {
if (isServer) {
return trueFn;
}
const checkVisibility = () => document.visibilityState === "visible";
const [isVisible, setVisible] = createHydratableSignal(true, checkVisibility);
makeEventListener(document, "visibilitychange", () => setVisible(checkVisibility));
return isVisible;
};
var usePageVisibility = /* @__PURE__ */ createHydratableSingletonRoot(createPageVisibility);
export { createPageVisibility, usePageVisibility };
/**
* Returns a signal with a boolean value identifying the page visibility state.
*
* This is a [singleton root primitive](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createSingletonRoot) except if during hydration.
*
* @example
* ```ts
* const visible = usePageVisibility();
*
* createEffect(() => {
* visible() // => boolean
* })
* ```
*/
export const usePageVisibility =
/*#__PURE__*/ createHydratableSingletonRoot(createPageVisibility);
{
"name": "@solid-primitives/page-visibility",
"version": "2.0.17",
"version": "2.1.0",
"description": "Primitive to track page visibility",

@@ -30,3 +30,2 @@ "author": "David Di Biase",

"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",

@@ -36,9 +35,6 @@ "browser": {},

"exports": {
"@solid-primitives/source": "./src/index.ts",
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"require": {
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
}

@@ -53,5 +49,5 @@ },

"dependencies": {
"@solid-primitives/event-listener": "^2.3.3",
"@solid-primitives/utils": "^6.2.3",
"@solid-primitives/rootless": "^1.4.5"
"@solid-primitives/event-listener": "^2.4.0",
"@solid-primitives/rootless": "^1.5.0",
"@solid-primitives/utils": "^6.3.0"
},

@@ -58,0 +54,0 @@ "peerDependencies": {

@@ -7,3 +7,2 @@ <p>

[![turborepo](https://img.shields.io/badge/built%20with-turborepo-cc00ff.svg?style=for-the-badge&logo=turborepo)](https://turborepo.org/)
[![size](https://img.shields.io/bundlephobia/minzip/@solid-primitives/page-visibility?style=for-the-badge)](https://bundlephobia.com/package/@solid-primitives/page-visibility)

@@ -13,4 +12,4 @@ [![size](https://img.shields.io/npm/v/@solid-primitives/page-visibility?style=for-the-badge)](https://www.npmjs.com/package/@solid-primitives/page-visibility)

- [`createPageVisibility`](#createPageVisibility) - Creates a signal with a boolean value identifying the page visibility state
- [`usePageVisibility`](#usePageVisibility) - A [singleton root](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createSingletonRoot) alternative.
- [`createPageVisibility`](#createpagevisibility) - Creates a signal with a boolean value identifying the page visibility state
- [`usePageVisibility`](#usepagevisibility) - A [singleton root](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createSingletonRoot) alternative.

@@ -17,0 +16,0 @@ ## Installation