Appearance
useElementOverflow
Reactive element's overflow state
Demo
Usage
tsx
import { useElementOverflow } from '@reause/core'
import { useRef } from 'react'
const el = useRef<HTMLDivElement | null>(null)
const { isXOverflowed } = useElementOverflow(el, { observeMutation: true })
// <div ref={el} style={{ width: 100, overflow: 'hidden' }}>
// {isXOverflowed ? <button>show more</button> : <span>some words may be too long to show here</span>}
// </div>Type Declarations
ts
export interface UseElementOverflowOptions extends ConfigurableWindow {
observeMutation?: boolean | MutationObserverInit;
onUpdated?: ResizeObserverCallback | MutationCallback;
}
export interface UseElementOverflowReturn {
isXOverflowed: boolean;
isYOverflowed: boolean;
stop: () => void;
update: () => void;
}
export function useElementOverflow(target: RefObject<Element | null | undefined>, option?: UseElementOverflowOptions): UseElementOverflowReturn