UNPKG

1.67 kBJavaScriptView Raw
1var __defProp = Object.defineProperty;
2var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3var __getOwnPropNames = Object.getOwnPropertyNames;
4var __hasOwnProp = Object.prototype.hasOwnProperty;
5var __export = (target, all) => {
6 for (var name in all)
7 __defProp(target, name, { get: all[name], enumerable: true });
8};
9var __copyProps = (to, from, except, desc) => {
10 if (from && typeof from === "object" || typeof from === "function") {
11 for (let key of __getOwnPropNames(from))
12 if (!__hasOwnProp.call(to, key) && key !== except)
13 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14 }
15 return to;
16};
17var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18var stdin_exports = {};
19__export(stdin_exports, {
20 useVisibilityChange: () => useVisibilityChange
21});
22module.exports = __toCommonJS(stdin_exports);
23var import_utils = require("../utils");
24var import_vue = require("vue");
25var import_use = require("@vant/use");
26function useVisibilityChange(target, onChange) {
27 if (!import_utils.inBrowser || !window.IntersectionObserver) {
28 return;
29 }
30 const observer = new IntersectionObserver(
31 (entries) => {
32 onChange(entries[0].intersectionRatio > 0);
33 },
34 { root: document.body }
35 );
36 const observe = () => {
37 if (target.value) {
38 observer.observe(target.value);
39 }
40 };
41 const unobserve = () => {
42 if (target.value) {
43 observer.unobserve(target.value);
44 }
45 };
46 (0, import_vue.onDeactivated)(unobserve);
47 (0, import_vue.onBeforeUnmount)(unobserve);
48 (0, import_use.onMountedOrActivated)(observe);
49}