import * as React from 'react'; import type { HasDataAttribute, HasRef, HTMLAttributesWithRootRef } from '../../types'; import { type ScrollArrowProps } from '../ScrollArrow/ScrollArrow'; export type ScrollPositionHandler = (currentPosition: number) => number; export interface HorizontalScrollProps extends HTMLAttributesWithRootRef, HasRef { /** * Функция для расчета величины прокрутки при нажатии на левую стрелку. */ getScrollToLeft?: ScrollPositionHandler | undefined; /** * Функция для расчета величины прокрутки при нажатии на правую стрелку. */ getScrollToRight?: ScrollPositionHandler | undefined; /** * Размер стрелок. */ arrowSize?: ScrollArrowProps['size'] | undefined; /** * Смещает иконки кнопок навигации по вертикали. */ arrowOffsetY?: number | string | undefined; /** * Смещает иконки кнопок навигации по горизонтали. */ arrowOffsetX?: number | string; /** * Показывать ли стрелки. */ showArrows?: boolean | 'always' | undefined; /** * Свойства, которые можно прокинуть внутрь компонента: * - `prevArrow`: свойства для прокидывания в стрелку "назад"; * - `nextArrow`: свойства для прокидывания в стрелку "вперед". */ slotProps?: { prevArrow?: Partial & HasDataAttribute; nextArrow?: Partial & HasDataAttribute; }; /** * Длительность анимации скролла. */ scrollAnimationDuration?: number | undefined; /** * Добавляет возможность прокручивать контент на любое колесо мыши. * По умолчанию прокручивается как любой горизонтальный контент через shift. */ scrollOnAnyWheel?: boolean | undefined; /** * @deprecated Since 8.0.0. Вместо этого используйте `slotProps={ prevArrow: { 'data-testid': ... } }`. * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении предыдущего элемента. */ prevButtonTestId?: string | undefined; /** * @deprecated Since 8.0.0. Вместо этого используйте `slotProps={ nextArrow: { 'data-testid': ... } }`. * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении следующего элемента. */ nextButtonTestId?: string | undefined; /** * Позволяет поменять тег используемый для обертки над контентом, прокинутым в `children`. */ ContentWrapperComponent?: React.ElementType | undefined; /** * `ref` для обертки над контентом, прокинутым в `children`. */ contentWrapperRef?: React.Ref | undefined; /** * Специфичный `className` для обертки над контентом, прокинутым в `children`. */ contentWrapperClassName?: string | undefined; /** * Добавляет отступы для контента внутри. */ withPadding?: boolean | undefined; } /** * @see https://vkui.io/components/horizontal-scroll */ export declare const HorizontalScroll: ({ children, getScrollToLeft, getScrollToRight, showArrows, arrowSize, arrowOffsetY, arrowOffsetX, scrollAnimationDuration, getRef, scrollOnAnyWheel, prevButtonTestId, nextButtonTestId, ContentWrapperComponent, contentWrapperRef, contentWrapperClassName, withPadding, onPointerEnter, onPointerLeave, onMouseEnter, slotProps, ...restProps }: HorizontalScrollProps) => React.ReactNode; //# sourceMappingURL=HorizontalScroll.d.ts.map