UNPKG

@pmndrs/uikit

Version:

Build performant 3D user interfaces with Three.js and yoga.

24 lines (23 loc) 710 B
import { abortableEffect } from './utils.js'; export function setupLayoutListeners(l1, l2, size, abortSignal) { abortableEffect(() => { const s = size.value; if (s == null) { return; } l1.peek()?.onSizeChange?.(...s); l2.peek()?.onSizeChange?.(...s); }, abortSignal); } export function setupClippedListeners(l1, l2, isClippedSignal, abortSignal) { let first = true; abortableEffect(() => { const isClipped = isClippedSignal.value; if (first) { first = false; return; } l1.peek()?.onIsClippedChange?.(isClipped); l2.peek()?.onIsClippedChange?.(isClipped); }, abortSignal); }