UNPKG

v8-ui-components

Version:

A component lib for v8 storefront apps

95 lines (94 loc) 2.83 kB
import { IThemeInterface } from "v8-theme-interfaces/lib/theme.interfaces"; export interface ICarouselProps { autoSlideTime?: number; infiniteLoop?: boolean; slidesPerClick?: number; activeSlideCount?: number; disableCarousel?: boolean; initialActiveViewport?: IActiveViewPort; hideButtons?: IHideButtons; animatedTransitions?: boolean; children?: any; columnGap?: number | IColumnGap; dragThreshold?: number; hidePreviousButton?: boolean; initialPosition?: number; minHeight?: number; previewScaleFactor?: number; rowSize?: number | IRowSize; showArrowsOnMobile?: boolean; pagination?: IPagination; showPreviews?: IShowPreviews; slideTimeout?: number; stepSize?: number | IStepSize; isProductGrid?: boolean; smallCarouselItemCount?: number; navigationButtonSize?: INavigationButtonSize; disableTrackLoop?: boolean | IDisableTrackLoop; carouselHeight: string; } export interface ICarouselState { currentElementIndex: number; activeViewport: IActiveViewPort; shouldAnimate: boolean; carouselEnabled: boolean; carouselPosition: number; activeSlideCount: number; } export interface IShowPreviews { desktop?: boolean; mobile?: boolean; tablet?: boolean; } export interface IDisableTrackLoop { desktop?: boolean; mobile?: boolean; tablet?: boolean; } export interface IPagination { desktop?: boolean; mobile?: boolean; tablet?: boolean; } export interface IHideButtons { desktop?: boolean; mobile?: boolean; tablet?: boolean; } export interface IStepSize { desktop?: number; mobile?: number; tablet?: number; } export interface IRowSize { desktop?: number; mobile?: number; tablet?: number; } export interface INavigationButtonSize { width?: number; height?: number; iconSize?: string; } export interface IColumnGap { desktop?: number; mobile?: number; tablet?: number; } export declare type ISanitizeResponsiveConfigArgs = number | boolean | null | undefined | IRowSize | IStepSize; export interface ISanitizeResponsiveConfigResult { desktop: number; mobile: number; tablet: number; } export declare type ISanitizeResponsiveConfigBooleanArgs = boolean | null | undefined | IShowPreviews | IPagination | IDisableTrackLoop; export interface ISanitizeResponsiveConfigBooleanResult { desktop: boolean; mobile: boolean; tablet: boolean; } export declare type sanitizedValuesProps = IRowSize | IStepSize | IShowPreviews | IPagination | IDisableTrackLoop; export declare type IActiveViewPort = "desktop" | "tablet" | "mobile"; export interface ICarouselWrapperStyledProps { theme: IThemeInterface; }