UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

24 lines (23 loc) 838 B
import { defineComponent, withDirectives, cloneVNode } from "vue"; import { useIntersectionObserverDirective } from "../hooks/use-element-intersection.mjs"; import "../_utils/global.mjs"; const intersectionObserver = defineComponent({ name: "OIntersectionObserver", emits: ["intersection"], setup(_props, { emit, slots }) { const { vIntersectionObserver } = useIntersectionObserverDirective({ listener: (entry) => { emit("intersection", entry.isIntersecting, entry); }, removeOnUnmounted: false }); return () => { var _a; const children = (_a = slots.default) == null ? void 0 : _a.call(slots); return children == null ? void 0 : children.map((item) => withDirectives(cloneVNode(item), [[vIntersectionObserver]])); }; } }); export { intersectionObserver as default };