react-horizontal-scrolling-menu
Version:
Horizontal scrolling menu component for React with per-item visibility tracking. Supports mouse and touch devices, SSR-safe.
13 lines (12 loc) • 1.19 kB
TypeScript
import React from 'react';
import { observerOptions } from './settings';
import type { Item, ItemId, ItemOrElement, Refs, ScrollBehaviorArg, scrollToItemOptions } from './types';
export declare const getNodesFromRefs: (refs: Refs) => HTMLElement[];
export declare function observerEntriesToItems(entries: IntersectionObserverEntry[], options: typeof observerOptions): Item[];
declare function scrollToItem(item: ItemOrElement, behavior?: ScrollBehaviorArg, inline?: ScrollLogicalPosition, block?: ScrollLogicalPosition, rest?: Omit<scrollToItemOptions, 'behavior'>, noPolyfill?: boolean): void;
export { scrollToItem };
export declare const getItemElementById: (id: ItemId) => Element | null;
export declare const getItemElementByIndex: (id: ItemId) => Element | null;
export declare function getElementOrConstructor(Elem: React.FC | React.ReactNode | React.MemoExoticComponent<any>): React.JSX.Element | null;
export declare const getItemId: (item: React.ReactNode) => string;
export declare function isMutableRef<T>(elem: React.MutableRefObject<T> | React.RefObject<T | null> | React.RefCallback<T> | React.LegacyRef<T>): elem is React.MutableRefObject<T> | React.RefObject<T | null>;