v8-ui-components
Version:
A component lib for v8 storefront apps
95 lines (94 loc) • 2.83 kB
TypeScript
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;
}