useHoverControllable

Tracks hover as controlled or internal state.

Tracks hover as controlled or internal state.

Usage

'use client';

import { useHoverControllable } from '@prosazhin/pbcomponents';

function Example() {
  const [hovered, , hoverRef] = useHoverControllable<HTMLButtonElement>({ defaultValue: false });
  return <button ref={hoverRef}>{hovered ? 'Hovered' : 'Idle'}</button>;
}

Hook API

Parameters

ParameterType / variantsPurposeDefault
ref?RefObject<T | null>Existing ref for the element to observe.—
value?booleanExternal hover state.—
defaultValue?booleanInitial internal state.—
onChange?(value: boolean) => voidCalled when the hover state changes.—
enabled?booleanEnables hover tracking.—

Returns

ValueType / variantsPurpose
[0] hoveredbooleanCurrent hover state.
[1] setHovered(value: boolean) => voidChanges the hover state.
[2] hoverRef(node: T | null) => voidCallback ref for the observed element.

On this page