UNPKG

@modern-kit/react

Version:
28 lines (24 loc) 822 B
'use strict'; var utils = require('@modern-kit/utils'); var hooksUseEventListener = require('../useEventListener/index.cjs'); require('../usePreservedCallback/index.cjs'); require('react'); require('../useIsomorphicLayoutEffect/index.cjs'); function useVisibilityChange({ onShow = utils.noop, onHide = utils.noop, enabled = true } = {}) { const handleVisibilityChange = (event) => { const isVisible = document.visibilityState === "visible"; const callbackAction = isVisible ? onShow : onHide; callbackAction(event, document.visibilityState); }; hooksUseEventListener.useEventListener( typeof document !== "undefined" && enabled ? document : null, "visibilitychange", handleVisibilityChange ); } exports.useVisibilityChange = useVisibilityChange; //# sourceMappingURL=index.cjs.map