Socket
Socket
Sign inDemoInstall

@types/swiper

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@types/swiper - npm Package Compare versions

Comparing version 4.2.0 to 4.2.1

1960

swiper/index.d.ts
// Type definitions for Swiper 4.2
// Project: https://github.com/nolimits4web/Swiper
// Definitions by: Sebastián Galiano <https://github.com/sgaliano>, Luca Trazzi <https://github.com/lucax88x>, Eugene Matseruk <https://github.com/ematseruk>
// Definitions by: Sebastián Galiano <https://github.com/sgaliano>, Luca Trazzi <https://github.com/lucax88x>, Eugene Matseruk <https://github.com/ematseruk>, Luiz M. <https://github.com/odahcam>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.7
// TypeScript Version: 2.9
type CommonEvent =
| 'init'
| 'beforeDestroy'
| 'slideChange'
| 'slideChangeTransitionStart'
| 'slideChangeTransitionEnd'
| 'slideNextTransitionStart'
| 'slideNextTransitionEnd'
| 'slidePrevTransitionStart'
| 'slidePrevTransitionEnd'
| 'transitionStart'
| 'transitionEnd'
| 'touchStart'
| 'touchMove'
| 'touchMoveOpposite'
| 'sliderMove'
| 'touchEnd'
| 'click'
| 'tap'
| 'doubleTap'
| 'imagesReady'
| 'progress'
| 'reachBeginning'
| 'reachEnd'
| 'fromEdge'
| 'setTranslate'
| 'setTransition'
| 'resize';
declare module 'swiper' {
/**
* Common Swiper events.
*/
type CommonEvent =
| 'init'
| 'beforeDestroy'
| 'slideChange'
| 'slideChangeTransitionStart'
| 'slideChangeTransitionEnd'
| 'slideNextTransitionStart'
| 'slideNextTransitionEnd'
| 'slidePrevTransitionStart'
| 'slidePrevTransitionEnd'
| 'transitionStart'
| 'transitionEnd'
| 'touchStart'
| 'touchMove'
| 'touchMoveOpposite'
| 'sliderMove'
| 'touchEnd'
| 'click'
| 'tap'
| 'doubleTap'
| 'imagesReady'
| 'progress'
| 'reachBeginning'
| 'reachEnd'
| 'fromEdge'
| 'setTranslate'
| 'setTransition'
| 'resize';
type PaginationEvent = 'paginationRender' | 'paginationUpdate';
type AutoplayEvent = 'autoplayStart' | 'autoplayStop' | 'autoplay';
type LazyLoadingEvent = 'lazyImageLoad' | 'lazyImageReady';
/**
* Swiper pagination event names.
*/
type PaginationEvent = 'paginationRender' | 'paginationUpdate';
type SwiperEvent = CommonEvent | PaginationEvent | AutoplayEvent | LazyLoadingEvent;
/**
* Swiper autoplay event names.
*/
type AutoplayEvent = 'autoplayStart' | 'autoplayStop' | 'autoplay';
interface NavigationOptions {
nextEl?: string | HTMLElement;
prevEl?: string | HTMLElement;
hideOnClick?: boolean;
disabledClass?: string;
hiddenClass?: string;
}
/**
* Swiper lazy-loading event names.
*/
type LazyLoadingEvent = 'lazyImageLoad' | 'lazyImageReady';
interface PaginationOptions {
el?: string;
type?: 'bullets' | 'fraction' | 'progressbar' | 'custom';
bulletElement?: string;
dynamicBullets?: boolean;
dynamicMainBullets?: number;
hideOnClick?: boolean;
clickable?: boolean;
progressbarOpposite?: boolean;
/**
* Swiper event names.
*/
type SwiperEvent = CommonEvent | PaginationEvent | AutoplayEvent | LazyLoadingEvent;
bulletClass?: string;
bulletActiveClass?: string;
modifierClass?: string;
currentClass?: string;
totalClass?: string;
hiddenClass?: string;
progressbarFillClass?: string;
clickableClass?: string;
/**
* Swiper module types.
*/
type SwiperModule =
| Navigation
| Pagination
| Scrollbar
| Autoplay
| Parallax
| Lazy
| FadeEffect
| CoverflowEffect
| FlipEffect
| CubeEffect
| Zoom
| Keyboard
| Mousewheel
| Virtual
| HashNavigation
| History
| Controller
| A11y;
renderBullet?: (index: number, className: string) => void;
renderFraction?: (currentClass: string, totalClass: string) => void;
renderProgressbar?: (progressbarFillClass: string) => void;
renderCustom?: (swiper: Swiper, current: number, total: number) => void;
}
type DOM7Element = any;
type SelectableElement = string | HTMLElement;
interface ScrollbarOptions {
el?: string | HTMLElement;
hide?: boolean;
draggable?: boolean;
snapOnRelease?: boolean;
dragSize?: 'auto' | number;
lockClass?: 'string';
dragClass?: 'string';
}
/*
* Swiper options and events.
*/
interface AutoplayOptions {
delay?: number;
stopOnLastSlide?: boolean;
disableOnInteraction?: boolean;
reverseDirection?: boolean;
waitForTransition?: boolean;
}
/**
* Main constructor options.
*/
interface SwiperOptions {
/**
* Whether Swiper should be initialised automatically when you create an instance.
* If disabled, then you need to init it manually by calling mySwiper.init()
*
* @default true
*/
init?: boolean;
interface LazyLoadingOptions {
loadPrevNext?: string;
loadPrevNextAmount?: number;
loadOnTransitionStart?: boolean;
elementClass?: string;
loadingClass?: string;
loadedClass?: string;
preloaderClass?: string;
}
/**
* Index number of initial slide.
*
* @default 0
*/
initialSlide?: number;
interface FadeEffectOptions {
crossFade: boolean;
}
/**
* Could be 'horizontal' or 'vertical' (for vertical slider).
*
* @default 'horizontal'
*/
direction?: 'horizontal' | 'vertical';
interface CoverflowEffectOptions {
slideShadows?: boolean;
rotate?: number;
stretch?: number;
depth?: number;
modifier?: number;
}
/**
* Duration of transition between slides (in ms)
*
* @default 300
*/
speed?: number;
interface FlipEffectOptions {
slideShadows?: boolean;
limitRotation?: boolean;
}
/**
* Enabled this option and plugin will set width/height on swiper wrapper equal to total size of all slides.
* Mostly should be used as compatibility fallback option for browser that don't support flexbox layout well
*/
setWrapperSize?: boolean;
interface CubeEffectOptions {
slideShadows?: boolean;
shadow?: boolean;
shadowOffset: number;
shadowScale: number;
}
/**
* Enabled this option and swiper will be operated as usual except it will not move, real translate values on wrapper will not be set.
* Useful when you may need to create custom slide transition
*/
virtualTranslate?: boolean;
interface ZoomOptions {
maxRatio?: number;
minRatio?: number;
toggle?: boolean;
containerClass?: string;
zoomedSlideClass?: string;
}
/**
* Swiper width (in px). Parameter allows to force Swiper width.
* Useful only if you initialize Swiper when it is hidden.
*
* @note Setting this parameter will make Swiper not responsive
*/
width?: number;
interface KeyboardControlOptions {
enabled?: boolean;
onlyInViewport?: boolean;
}
/**
* Swiper height (in px). Parameter allows to force Swiper height.
* Useful only if you initialize Swiper when it is hidden.
*
* @note Setting this parameter will make Swiper not responsive
*/
height?: number;
interface MouseWheelControlOptions {
forceToAxis?: boolean;
releaseOnEdges?: boolean;
invert?: boolean;
sensitivity?: number;
eventsTarged?: string | HTMLElement;
}
/**
* Set to true and slider wrapper will adopt its height to the height of the currently active slide
*
* @default false
*/
autoHeight?: boolean;
interface VirtualSlidesRenderExternalData {
offset: number;
from: number;
to: number;
slides: any[];
}
/**
* Set to true to round values of slides width and height to prevent blurry texts on usual
* resolution screens (if you have such)
*
* @default false
*/
roundLengths?: boolean;
interface VirtualSlidesOptions {
slides?: any[];
cache?: boolean;
renderSlide?: (slide: any, index: number) => void;
renderExternal?: (data: VirtualSlidesRenderExternalData) => void;
}
/**
* Set to true on Swiper for correct touch events interception. Use only on
* swipers that use same direction as the parent one
*
* @default false
*/
nested?: boolean;
interface HashNavigationOptions {
watchState?: boolean;
replaceState?: boolean;
}
/**
* If enabled (by default) and navigation elements' parameters passed as a string (like ".pagination")
* then Swiper will look for such elements through child elements first.
* Applies for pagination, prev/next buttons and scrollbar elements
*
* @default true
*/
uniqueNavElements?: boolean;
interface HistoryNavigationOptions {
replaceState?: boolean;
key?: string;
}
/**
* Tranisition effect. Could be "slide", "fade", "cube", "coverflow" or "flip"
*
* @default 'slide'
*/
effect?: 'slide' | 'fade' | 'cube' | 'coverflow' | 'flip';
interface ControllerOptions {
control: Swiper;
inverse: boolean;
by: 'slide' | 'container';
}
/**
* Fire [Transition/SlideChange][Start/End] events on swiper initialization.
* Such events will be fired on initialization in case of your initialSlide is not 0, or you use loop mode
*
* @default true
*/
runCallbacksOnInit?: boolean;
interface AccessibilityOptions {
enabled?: boolean;
prevSlideMessage?: string;
nextSlideMessage?: string;
firstSlideMessage?: string;
lastSlideMessage?: string;
paginationBulletMessage?: string;
notificationClass?: string;
}
/**
* When enabled Swiper will be disabled and hide navigation buttons on
* case there are not enough slides for sliding.
*
* @default false
*/
watchOverflow?: boolean;
interface SwiperOptions {
// General parameters
init?: boolean;
initialSlide?: number;
direction?: 'horizontal' | 'vertical';
speed?: number;
setWrapperSize?: boolean;
virtualTranslate?: boolean;
width?: number;
height?: number;
autoHeight?: boolean;
roundLengths?: boolean;
nested?: boolean;
uniqueNavElements?: boolean;
effect?: 'slide' | 'fade' | 'cube' | 'coverflow' | 'flip';
runCallbacksOnInit?: boolean;
watchOverflow?: boolean;
on?: {[key in SwiperEvent]?: () => void };
/**
* Register event handlers.
*/
on?: { [key in SwiperEvent]?: () => void };
// Slides grid
spaceBetween?: number;
slidesPerView?: 'auto' | number;
slidesPerColumn?: number;
slidesPerColumnFill?: 'row' | 'column';
slidesPerGroup?: number;
centeredSlides?: boolean;
slidesOffsetBefore?: number;
slidesOffsetAfter?: number;
normalizeSlideIndex?: boolean;
// Slides grid
spaceBetween?: number;
slidesPerView?: number | 'auto';
slidesPerColumn?: number;
slidesPerColumnFill?: 'row' | 'column';
slidesPerGroup?: number;
centeredSlides?: boolean;
slidesOffsetBefore?: number;
slidesOffsetAfter?: number;
normalizeSlideIndex?: boolean;
// Grab cursor
grabCursor?: boolean;
// Grab Cursor
grabCursor?: boolean;
// Touches
touchEventsTarget?: 'container' | 'wrapper';
touchRatio?: number;
touchAngle?: number;
simulateTouch?: boolean;
shortSwipes?: boolean;
longSwipes?: boolean;
longSwipesRatio?: number;
longSwipesMs?: number;
followFinger?: boolean;
allowTouchMove?: boolean;
threshold?: number;
touchMoveStopPropagation?: boolean;
iOSEdgeSwipeDetection?: boolean;
iOSEdgeSwipeThreshold?: number;
touchReleaseOnEdges?: boolean;
passiveListeners?: boolean;
// Touches
// @TODO: verify next property
touchEventsTarget?: 'container' | 'wrapper';
touchRatio?: number;
touchAngle?: number;
simulateTouch?: boolean;
shortSwipes?: boolean;
longSwipes?: boolean;
longSwipesRatio?: number;
longSwipesMs?: number;
followFinger?: boolean;
allowTouchMove?: boolean;
threshold?: number;
touchMoveStopPropagation?: boolean;
iOSEdgeSwipeDetection?: boolean;
iOSEdgeSwipeThreshold?: number;
touchReleaseOnEdges?: boolean;
passiveListeners?: boolean;
// Touch Resistance
resistance?: boolean;
resistanceRatio?: number;
// Touch Resistance
resistance?: boolean;
resistanceRatio?: number;
// Swiping / No swiping
preventIntercationOnTransition?: boolean;
allowSlidePrev?: boolean;
allowSlideNext?: boolean;
noSwiping?: boolean;
noSwipingClass?: string;
noSwipingSelector?: string;
swipeHandler?: string | HTMLElement;
// Swiping / No swiping
allowSlidePrev?: boolean;
allowSlideNext?: boolean;
noSwiping?: boolean;
noSwipingClass?: string;
// noSwipingSelector?: string;
swipeHandler?: SelectableElement;
// Clicks
preventClicks?: boolean;
preventClicksPropagation?: boolean;
slideToClickedSlide?: boolean;
// Clicks
preventClicks?: boolean;
preventClicksPropagation?: boolean;
slideToClickedSlide?: boolean;
// Freemode
freeMode?: boolean;
freeModeMomentum?: boolean;
freeModeMomentumRatio?: number;
freeModeMomentumVelocityRatio?: number;
freeModeMomentumBounce?: boolean;
freeModeMomentumBounceRatio?: number;
freeModeMinimumVelocity?: number;
freeModeSticky?: boolean;
// Freemode
freeMode?: boolean;
freeModeMomentum?: boolean;
freeModeMomentumRatio?: number;
freeModeMomentumVelocityRatio?: number;
freeModeMomentumBounce?: boolean;
freeModeMomentumBounceRatio?: number;
freeModeMinimumVelocity?: number;
freeModeSticky?: boolean;
// Progress
watchSlidesProgress?: boolean;
watchSlidesVisibility?: boolean;
// Progress
watchSlidesProgress?: boolean;
watchSlidesVisibility?: boolean;
// Images
preloadImages?: boolean;
updateOnImagesReady?: boolean;
// Loop
loop?: boolean;
loopAdditionalSlides?: number;
loopedSlides?: number;
loopFillGroupWithBlank?: boolean;
// Images
preloadImages?: boolean;
updateOnImagesReady?: boolean;
// Breakpoints
breakpoints?: {
// TODO: extract possible parameters for breakpoints to separate interface
[index: number]: any;
};
// Loop
loop?: boolean;
loopAdditionalSlides?: number;
loopedSlides?: number;
loopFillGroupWithBlank?: boolean;
// Observer
observer?: boolean;
observeParents?: boolean;
// Breakpoints
breakpoints?: {
[index: number]: SwiperOptions;
};
// Namespace
containerModifierClass?: string;
slideClass?: string;
slideActiveClass?: string;
slideDuplicatedActiveClass?: string;
slideVisibleClass?: string;
slideDuplicateClass?: string;
slideNextClass?: string;
slideDuplicatedNextClass?: string;
slidePrevClass?: string;
slideDuplicatedPrevClass?: string;
wrapperClass?: string;
// Observer
observer?: boolean;
observeParents?: boolean;
// Components
navigation?: NavigationOptions;
pagination?: PaginationOptions;
scrollbar?: ScrollbarOptions;
autoplay?: AutoplayOptions;
parallax?: boolean;
lazy?: LazyLoadingOptions | boolean;
fadeEffect?: FadeEffectOptions;
coverflowEffect?: CoverflowEffectOptions;
flipEffect?: FlipEffectOptions;
cubeEffect?: CubeEffectOptions;
zoom?: ZoomOptions | boolean;
keyboard?: KeyboardControlOptions | boolean;
mousewheel?: MouseWheelControlOptions | boolean;
virtual?: VirtualSlidesOptions;
hashNavigation?: HashNavigationOptions;
history?: HistoryNavigationOptions;
controller?: ControllerOptions;
a11y?: AccessibilityOptions;
}
// Namespace
containerModifierClass?: string;
slideClass?: string;
slideActiveClass?: string;
slideDuplicatedActiveClass?: string;
slideVisibleClass?: string;
slideDuplicateClass?: string;
slideNextClass?: string;
slideDuplicatedNextClass?: string;
slidePrevClass?: string;
slideDuplicatedPrevClass?: string;
wrapperClass?: string;
interface Navigation {
nextEl: HTMLElement;
prevEl: HTMLElement;
update: () => void;
}
interface Pagination {
el: HTMLElement;
// TODO: dom7 like array
bullets: any[];
// Components
navigation?: NavigationOptions;
pagination?: PaginationOptions;
scrollbar?: ScrollbarOptions;
autoplay?: AutoplayOptions | boolean;
parallax?: boolean;
lazy?: LazyOptions | boolean;
fadeEffect?: FadeEffectOptions;
coverflowEffect?: CoverflowEffectOptions;
flipEffect?: FlipEffectOptions;
cubeEffect?: CubeEffectOptions;
zoom?: ZoomOptions | boolean;
keyboard?: KeyboardOptions | boolean;
mousewheel?: MousewheelOptions | boolean;
virtual?: VirtualOptions | boolean;
hashNavigation?: HashNavigationOptions | boolean;
history?: HistoryNavigationOptions | boolean;
a11y?: A11yOptions | boolean;
}
render: () => void;
update: () => void;
}
interface EventsOptions {
/**
* Fired right after Swiper initialization.
* Note that with swiper.on('init') syntax it will
* work only in case you set init: false parameter.
*
* @example
* var swiper = new Swiper('.swiper-container', {
* init: false,
* // other parameters
* });
*
* @example
* swiper.on('init', function() {
* // do something
* });
*
* @example
* // init Swiper
* swiper.init();
*
* @example
* // Otherwise use it as the parameter:
* var swiper = new Swiper('.swiper-container', {
* // other parameters
* on: {
* init: function () {
* // do something
* },
* }
* });
*/
init?: () => any;
interface Scrollbar {
eL: HTMLElement;
dragEl: HTMLElement;
/**
* Triggered right beforey Swiper destoryed
*/
beforeDestroy?: () => any;
updateSize: () => void;
}
/**
* Triggered when currently active slide is changed
*/
slideChange?: () => any;
interface Autoplay {
running: boolean;
/**
* Triggered in the beginning of animation to other slide (next or previous).
*/
slideChangeTransitionStart?: () => any;
start: () => void;
stop: () => void;
}
/**
* Triggered after animation to other slide (next or previous).
*/
slideChangeTransitionEnd?: () => any;
interface LazyLoading {
load: () => void;
loadInSlide: (index: number) => void;
}
/**
* Same as "slideChangeTransitionStart" but for "forward" direction only
*/
slideNextTransitionStart?: () => any;
interface Zoom {
enabled: boolean;
scale: number;
/**
* Same as "slideChangeTransitionEnd" but for "forward" direction only
*/
slideNextTransitionEnd?: () => any;
enable: () => void;
disable: () => void;
in: () => void;
out: () => void;
toggle: () => void;
}
/**
* Same as "slideChangeTransitionStart" but for "backward" direction only
*/
slidePrevTransitionStart?: () => any;
// Keyboard and Mousewheel control
interface Control {
enabled: boolean;
/**
* Same as "slideChangeTransitionEnd" but for "backward" direction only
*/
slidePrevTransitionEnd?: () => any;
enable: () => void;
disable: () => void;
}
/**
* Triggered in the beginning of transition.
*/
transitionStart?: () => any;
interface VirtualSlides {
cache: any;
from: number;
to: number;
slides: any[];
/**
* Triggered after transition.
*/
transitionEnd?: () => any;
appendSlide: (slide: any) => void;
prependSlide: (slide: any) => void;
update: () => void;
}
/**
* Triggered when user touch Swiper. Receives 'touchstart' event as an arguments.
*/
touchStart?: (event: any) => any;
interface Controller {
control: Swiper;
}
/**
* Triggered when user touch and move finger over Swiper. Receives 'touchmove' event as an arguments.
*/
touchMove?: (event: any) => any;
declare class Swiper {
constructor(container: string | Element, parameters?: SwiperOptions);
/**
* Fired when user touch and move finger over
* Swiper in direction opposite to direction parameter.
* Receives 'touchmove' event as an arguments.
*/
touchMoveOpposite?: (event: any) => any;
// Properties
params: SwiperOptions;
// TODO: dom7 element
$el: any;
// TODO: dom7 element
$wrapperEl: any;
slides: HTMLElement[];
width: number;
height: number;
translate: number;
progress: number;
activeIndex: number;
realIndex: number;
previousIndex: number;
isBeginning: boolean;
isEnd: boolean;
animating: boolean;
touches: {
startX: number;
startY: number;
currentX: number;
currentY: number;
diff: number;
};
clickedIndex: number;
clickedSlide: HTMLElement;
allowSlideNext: boolean;
allowSlidePrev: boolean;
allowTouchMove: boolean;
/**
* Triggered when user touch and move finger over Swiper and move it.
* Receives 'touchmove' event as an arguments.
*/
sliderMove?: (event: any) => any;
slideNext: (speed?: number, runCallbacks?: boolean) => void;
slidePrev: (speed?: number, runCallbacks?: boolean) => void;
slideTo: (index: number, speed?: number, runCallbacks?: boolean) => void;
slideToLoop: (index: number, speed?: number, runCallbacks?: boolean) => void;
slideReset: (speed?: number, runCallbacks?: boolean) => void;
slideToClosest: (speed?: number, runCallbacks?: boolean) => void;
updateAutoHeight: (speed?: number) => void;
update: () => void;
detachEvents: () => void;
attachEvents: () => void;
destroy: (deleteInstance?: boolean, cleanStyles?: boolean) => void;
appendSlide: (slides: Array<(HTMLElement | string)> | string | HTMLElement) => void;
prependSlide: (slides: Array<(HTMLElement | string)> | string | HTMLElement) => void;
removeSlide: (index: number) => void;
removeAllSlides: () => void;
setTranslate: (translate: number) => void;
getTranslate: () => void;
on: (event: SwiperEvent, handler: () => void) => void;
once: (event: SwiperEvent, handler: () => void) => void;
off: (event: SwiperEvent, handler?: () => void) => void;
unsetGrabCursor: () => void;
setGrabCursor: () => void;
/**
* Triggered when user release Swiper. Receives 'touchend' event as an arguments.
*/
touchEnd?: (event: any) => any;
// components
navigation: Navigation;
pagination: Pagination;
scrollbar: Scrollbar;
autoplay: Autoplay;
zoom: Zoom;
keyboard: Control;
mousewheel: Control;
virtual: VirtualSlides;
controller: Controller;
/**
* Triggered when user click/tap on Swiper after 300ms delay. Receives 'touchend' event as an arguments.
*/
click?: (event: any) => any;
/**
* Triggered when user click/tap on Swiper. Receives 'touchend' event as an arguments.
*/
tap?: (event: any) => any;
/**
* Triggered when user double tap on Swiper's container. Receives 'touchend' event as an arguments
*/
doubleTap?: (event: any) => any;
/**
* Triggered right after all inner images are loaded. updateOnImagesReady should be also enabled
*/
imagesReady?: () => any;
/**
* Triggered when Swiper progress is changed, as an arguments it receives
* progress that is always from 0 to 1
*/
progress?: (progress: any) => any;
/**
* Triggered when Swiper reach its beginning (initial position)
*/
reachBeginning?: () => any;
/**
* Triggered when Swiper reach last slide
*/
reachEnd?: () => any;
/**
* Triggered when Swiper goes from beginning or end position
*/
fromEdge?: () => any;
/**
* Triggered when swiper's wrapper change its position. Receives current translate value as an arguments
*/
setTranslate?: (translate: any) => any;
/**
* Triggered everytime when swiper starts animation.
* Receives current transition duration (in ms) as an arguments,
*/
setTransition?: (transition: any) => any;
/**
* Triggered on window resize right before swiper's onresize manipulation
*/
resize?: () => any;
}
interface NavigationOptions {
/**
* String with CSS selector or HTML element of the element that will work
* like "next" button after click on it
*
* @default null
*/
nextEl?: SelectableElement;
/**
* String with CSS selector or HTML element of the element that will work
* like "prev" button after click on it
*
* @default null
*/
prevEl?: SelectableElement;
/**
* buttons visibility after click on Slider's container
*
* @default false Toggle navigation
*/
hideOnClick?: boolean;
/**
* CSS class name added to navigation button when it becomes disabled
*
* @default 'swiper-button-disabled'
*/
disabledClass?: string;
/**
* CSS class name added to navigation button when it becomes hidden
*
* @default 'swiper-button-hidden'
*/
hiddenClass?: string;
}
interface PaginationOptions {
el: SelectableElement;
type?: 'bullets' | 'fraction' | 'progressbar' | 'custom';
bulletElement?: string;
dynamicBullets?: boolean;
hideOnClick?: boolean;
clickable?: boolean;
/**
* format fraction pagination current number. Function receives current number,
* and you need to return formatted value
*/
formatFractionCurrent?: (number: number) => number;
/**
* format fraction pagination total number. Function receives total number, and you
* need to return formatted value
*/
formatFractionTotal?: (number: number) => number;
renderBullet?: (index: number, className: string) => void;
renderFraction?: (currentClass: string, totalClass: string) => void;
renderProgressbar?: (progressbarFillClass: string) => void;
/**
* This parameter is required for custom pagination type where you have to specify
* how it should be rendered.
*
* @example
* var swiper = new Swiper('.swiper-container', {
* //...
* renderCustom: function (swiper, current, total) {
* return current + ' of ' + total;
* }
* });
*/
renderCustom?: (swiper: Swiper, current: number, total: number) => void;
bulletClass?: string;
bulletActiveClass?: string;
modifierClass?: string;
currentClass?: string;
totalClass?: string;
hiddenClass?: string;
progressbarFillClass?: string;
clickableClass?: string;
}
/**
* Object with scrollbar parameters.
*
* @example
* var mySwiper = new Swiper('.swiper-container', {
* scrollbar: {
* el: '.swiper-scrollbar',
* draggable: true,
* },
* });
*/
interface ScrollbarOptions {
/**
* String with CSS selector or HTML element of the container with scrollbar.
*/
el: SelectableElement;
/**
* Hide scrollbar automatically after user interaction
*
* @default true
*/
hide?: boolean;
/**
* Set to true to enable make scrollbar draggable that allows you to control slider position
*
* @default true
*/
draggable?: boolean;
/**
* Set to true to snap slider position to slides when you release scrollbar
*
* @default false
*/
snapOnRelease?: boolean;
/**
* Size of scrollbar draggable element in px
*
* @default 'auto'
*/
dragSize?: 'auto' | number;
/**
* Scrollbar element additional CSS class when it is disabled
*
* @default 'swiper-scrollbar-lock'
*/
lockClass?: string;
/**
* Scrollbar draggable element CSS class
*
* @default 'swiper-scrollbar-drag'
*/
dragClass?: string;
}
/**
* Object with autoplay parameters or boolean true to enable with default settings.
*
* @example
* var mySwiper = new Swiper('.swiper-container', {
* autoplay: {
* delay: 5000,
* },
* });
*/
interface AutoplayOptions {
/**
* Delay between transitions (in ms). If this parameter is not specified, auto play will be disabled
*
* If you need to specify different delay for specifi slides you can do it by using
* data-swiper-autoplay (in ms) attribute on slide.
*
* @example
* <!-- hold this slide for 2 seconds -->
* <div class="swiper-slide" data-swiper-autoplay="2000">
*
* @default 3000
*/
delay?: number;
/**
* Enable this parameter and autoplay will be stopped when it reaches last slide (has no effect in loop mode)
*
* @default false
*/
stopOnLastSlide?: boolean;
/**
* Set to false and autoplay will not be disabled after
* user interactions (swipes), it will be restarted
* every time after interaction
*
* @default true
*/
disableOnInteraction?: boolean;
/**
* Enables autoplay in reverse direction
*
* @default false
*/
reverseDirection?: boolean;
/**
* When enabled autoplay will wait for wrapper transition to continue.
* Can be disabled in case of using Virtual Translate when your
* slider may not have transition
*
* @default true
*/
waitForTransition?: boolean;
}
interface LazyOptions {
loadPrevNext?: boolean;
loadPrevNextAmount?: number;
loadOnTransitionStart?: boolean;
elementClass?: string;
loadingClass?: string;
loadedClass?: string;
preloaderClass?: string;
}
/*
* Options - Effect
*/
interface FadeEffectOptions {
crossfade?: boolean;
}
interface CoverflowEffectOptions {
slideShadows?: boolean;
rotate?: number;
stretch?: number;
depth?: number;
modifier?: number;
}
interface FlipEffectOptions {
slideShadows?: boolean;
limitRotation?: boolean;
}
interface CubeEffectOptions {
slideShadows?: boolean;
shadow?: boolean;
shadowOffset?: number;
shadowScale?: number;
}
interface ZoomOptions {
maxRatio?: number;
minRatio?: number;
toggle?: boolean;
containerClass?: string;
zoomedSlideClass?: string;
}
interface KeyboardOptions {
enabled?: boolean;
onlyInViewport?: boolean;
}
interface MousewheelOptions {
forceToAxis?: boolean;
releaseOnEdges?: boolean;
invert?: boolean;
sensitivity?: number;
eventsTarged?: SelectableElement;
}
interface VirtualOptions {
slides?: any[];
cache?: boolean;
renderSlide?: (slide: any, index: any) => any;
renderExternal?: (data: any) => any;
}
interface HashNavigationOptions {
/**
* Set to true to enable also navigation through slides (when hashnav
* is enabled) by browser history or by setting directly hash on document location
*
* @default false
*/
watchState?: boolean;
/**
* Works in addition to hashnav to replace current url state with the
* new one instead of adding it to history
*
* @default false
*/
replaceState?: boolean;
}
interface HistoryNavigationOptions {
/**
* Works in addition to hashnav or history to replace current url state with the
* new one instead of adding it to history
*
* @default false
*/
replaceState?: boolean;
/**
* Url key for slides
*
* @default 'slides'
*/
key?: string;
}
/**
* Object with controller parameters or boolean true to enable with default settings. For example:
*
* @example
* var mySwiper = new Swiper('.swiper-container', {
* controller: {
* inverse: true,
* },
* });
*/
interface ControllerOptions {
/**
* Pass here another Swiper instance or array with Swiper instances that should be controlled
* by this Swiper
*/
control?: Swiper;
/**
* Set to true and controlling will be in inverse direction
*
* @default false
*/
inverse?: boolean;
/**
* Can be 'slide' or 'container'. Defines a way how to control another slider: slide by slide
* (with respect to other slider's grid) or depending on all slides/container
* (depending on total slider percentage).
*
* @default 'slide'
*/
by?: 'slide' | 'container';
}
interface A11yOptions {
/**
* Enables A11y
*
* @default true
*/
enabled?: boolean;
/**
* Message for screen readers for previous button
*
* @default 'Previous slide'
*/
prevSlideMessage?: string;
/**
* Message for screen readers for next button
*
* @default 'Next slide'
*/
nextSlideMessage?: string;
/**
* Message for screen readers for previous button when swiper is on first slide
*
* @default 'This is the first slide'
*/
firstSlideMessage?: string;
/**
* Message for screen readers for previous button when swiper is on last slide
*
* @default 'This is the last slide'
*/
lastSlideMessage?: string;
/**
* Message for screen readers for single pagination bullet
*
* @default 'Go to slide {{index}}'
*/
paginationBulletMessage?: string;
/**
* CSS class name of a11 notification
*
* @default 'swiper-notification'
*/
notificationClass?: string;
}
/*
* Swiper exports the following as ES5 module (in swiper.esm.js).
*/
/**
* Virtual Slides module.
*/
class Virtual {
/**
* Object with cached slides HTML elements
*/
cache: object;
/**
* Index of first rendered slide
*/
from: number;
/**
* Index of last rendered slide
*/
to: number;
/**
* Array with slide items passed by virtual.slides parameter
*/
slides: any[];
/*
* Methods
*/
/**
* Add new slides to the end. slides could be HTMLElement or HTML string with new slide or array
* with such slides, for example:
*
* @example
* mySwiper.appendSlide('<div class="swiper-slide">Slide 10"</div>')
* mySwiper.appendSlide([
* '<div class="swiper-slide">Slide 10"</div>',
* '<div class="swiper-slide">Slide 11"</div>'
* ]);
*/
appendSlide(slide: HTMLElement | string): void;
/**
* Add new slides to the beginning. slides could be HTMLElement or HTML string with new slide or
* array with such slides, for example:
*
* @example
* mySwiper.prependSlide('<div class="swiper-slide">Slide 0"</div>')
* mySwiper.prependSlide([
* '<div class="swiper-slide">Slide 1"</div>',
* '<div class="swiper-slide">Slide 2"</div>'
* ]);
*/
prependSlide(slide: HTMLElement | string): void;
/**
* Update virutal slides state
*/
update(): void;
}
/**
* Keyboard Control module.
*/
class Keyboard {
/**
* Whether the keyboard control is enabled
*/
enabled: boolean;
// Methods
/**
* Enable keyboard control
*/
enable(): void;
/**
* Disable keyboard control
*/
disable(): void;
}
/**
* Mousewheel Control module.
*/
class Mousewheel {
/**
* Whether the mousewheel control is enabled
*/
enabled: boolean;
// Methods
/**
* Enable mousewheel control
*/
enable(): void;
/**
* Disable mousewheel control
*/
disable(): void;
}
/**
* Navigation module.
*/
class Navigation {
/**
* HTMLElement of "next" navigation button
*/
nextEl: HTMLElement;
/**
* HTMLElement of "previous" navigation button
*/
prevEl: HTMLElement;
/**
* Update navigation buttons state (enabled/disabled)
*/
update(): void;
}
/**
* Pagination module.
*/
class Pagination {
/**
* HTMLElement of pagination container element
*/
el: HTMLElement;
/**
* Dom7 array-like collection of pagination bullets
* HTML elements. To get specific slide HTMLElement
* use `mySwiper.pagination.bullets[1]`.
*/
bullets: DOM7Element[];
/**
* Render pagination layout
*/
render(): void;
/**
* Update pagination state (enabled/disabled/active)
*/
update(): void;
}
/**
* Scrollbar module.
*/
class Scrollbar {
// Properties
/**
* HTMLElement of Scrollbar container element
*/
el: HTMLElement;
/**
* HTMLElement of Scrollbar draggable handler element
*/
dragEl: HTMLElement;
// Methods
/**
* Updates scrollbar track and handler sizes
*/
updateSize(): void;
}
/**
* Parallax module.
*/
class Parallax { }
/**
* Zoom module.
*/
class Zoom {
/**
* Whether the zoom module is enabled
*/
enabled: boolean;
/**
* Current image scale ratio
*/
scale: number;
/**
* Enable zoom module
*/
enable(): void;
/**
* Disable zoom module
*/
disable(): void;
/**
* Zoom in image of the currently active slide
*/
in(): void;
/**
* Zoom out image of the currently active slide
*/
out(): void;
/**
* Toggle image zoom of the currently active slide
*/
toggle(): void;
}
/**
* Lazy module.
*/
class Lazy {
/**
* Load/update lazy images based on current slider state (position)
*/
load(): void;
/**
* Force to load lazy images in slide by specified index
* @param number index number of slide to load lazy images in
*/
loadInSlide(index: number): void;
}
/**
* Controller module.
*/
class Controller {
/**
* Pass here another Swiper instance or array with Swiper instances that should be controlled
* by this Swiper
*/
control?: Swiper;
}
/**
* Accessibility module (a11y$)
*/
class A11y { }
/**
* History Navigation module.
*/
class History { }
/**
* Hash Navigation module.
*/
class HashNavigation {
}
/**
* Autoplay module.
*/
class Autoplay {
// Properties
/**
* Whether autoplay enabled and running
*/
running: boolean;
// Methods
/**
* Start autoplay
*/
start(): boolean;
/**
* Stop autoplay
*/
stop(): boolean;
}
/**
* Fade Effect module.
*/
class FadeEffect { }
/**
* Cube Effect module.
*/
class CubeEffect { }
/**
* Flip Effect module.
*/
class FlipEffect { }
/**
* Coverflow Effect module.
*/
class CoverflowEffect { }
/**
* Core module
*/
class Swiper {
/**
* Constructs a new Swiper instance.
*
* @param container Where Swiper applies to.
* @param options Instance options.
*/
constructor(container: SelectableElement, options?: SwiperOptions);
/**
* Object with passed initialization parameters
*/
params: SwiperOptions;
/**
* Element with slider container.
*/
el: HTMLElement;
/**
* Dom7 element with slider container HTML element. To get vanilla HTMLElement use el
*/
$el: DOM7Element;
/**
* Slider wrapper HTML element.
*/
wrapperEl: HTMLElement;
/**
* Dom7 element with slider wrapper HTML element. To get vanilla HTMLElement use wrapperEl
*/
$wrapperEl: DOM7Element;
/**
* Dom7 array-like collection of slides HTML elements. To get specific slide HTMLElement use slides[1]
*/
slides: DOM7Element[];
/**
* Width of container
*/
width: number;
/**
* Height of container
*/
height: number;
/**
* Current value of wrapper translate
*/
translate: number;
/**
* Current progress of wrapper translate (from 0 to 1)
*/
progress: number;
/**
* Index number of currently active slide.
*
* @note Note, that in loop mode active index value will be always shifted
* on a number of looped/duplicated slides.
*/
activeIndex: number;
/**
* Index number of currently active slide considering duplicated slides in loop mode
*/
realIndex: number;
/**
* Index number of previously active slide
*/
previousIndex: number;
/**
* true if slider on most "left"/"top" position
*/
isBeginning: true;
/**
* true if slider on most "right"/"bottom" position
*/
isEnd: boolean;
/**
* true if swiper is in transition
*/
animating: boolean;
/**
* Object with the following touch event properties:
*/
touches: {
startX: number;
startY: number;
currentX: number;
currentY: number;
diff: number;
};
/**
* Index number of last clicked slide
*/
clickedIdex: number;
/**
* Link to last clicked slide (HTMLElement)
*/
clickedSlide: HTMLElement;
/**
* Disable/enable ability to slide to the next slides by assigning false/true to this property
*
* @default true
*/
allowSlideNext: boolean;
/**
* Disable/enable ability to slide to the previous slides by assigning false/true to this property
*
* @default true
*/
allowSlidePrev: boolean;
/**
* Disable/enable ability move slider by grabbing it with
* mouse or by touching it with finger (on touch screens)
* by assigning false/true to this property
*
* @default true
*/
allowTouchMove: boolean;
// Methods
/**
* Run transition to next slide.
*
* @param speed Transition duration (in ms).
* @param runCallbacks Set it to false (by default it is true) and transition will
* not produce transition events.
*/
slideNext(speed: number, runCallbacks: boolean): void;
/**
* Run transition to previous slide.
*
* @param speed Transition duration (in ms).
* @param runCallbacks Set it to false (by default it is true) and transition will
* not produce transition events.
*/
slidePrev(speed?: number, runCallbacks?: boolean): void;
/**
* Run transition to the slide with index number equal to 'index' parameter for the
* duration equal to 'speed' parameter.
*
* @param index Index number of slide.
* @param speed Transition duration (in ms).
* @param runCallbacks Set it to false (by default it is true) and transition will
* not produce transition events.
*/
slideTo(index: number, speed?: number, runCallbacks?: boolean): void;
/**
* You should call it after you add/remove slides
* manually, or after you hide/show it, or do any
* custom DOM modifications with Swiper
* This method also includes subcall of the following
* methods which you can use separately:
*/
update(): void;
/**
* recalculate size of swiper container
*/
updateSize(): void;
/**
* recalculate number of slides and their offsets. Useful after you add/remove slides with JavaScript
*/
updateSlides(): void;
/**
* recalculate swiper progress
*/
updateProgress(): void;
/**
* update active/prev/next classes on slides and bullets
*/
updateSlidesClasses(): void;
/**
* tach all events listeners
*/
detachEvents(): void;
/**
* Atach all events listeners again
*/
attachEvents(): void;
/**
* Destroy slider instance and detach all events listeners, where
*/
destroy(deleteInstance: boolean, cleanupStyles: boolean): void;
/**
* Set it to false (by default it is true) to not to delete Swiper instance
*/
deleteInstance: boolean;
/**
* Set it to true (by default it is true) and all
* custom styles will be removed from slides,
* wrapper and container. Useful if you need to
* destroy Swiper and to init again with new
* options or in different direction
*/
cleanStyles: boolean;
/**
* Installs modules on Swiper in runtime.
*/
static use(modules: SwiperModule[]): void;
/**
* Add new slides to the end. slides could be
* HTMLElement or HTML string with new slide or
* array with such slides, for example:
*
* @example appendSlide('<div class="swiper-slide">Slide 10"</div>')
* @example
* appendSlide([
* '<div class="swiper-slide">Slide 10"</div>',
* '<div class="swiper-slide">Slide 11"</div>'
* ]);
*/
appendSlide(slides: HTMLElement | string | string[]): void;
/**
* Add new slides to the beginning. slides could be
* HTMLElement or HTML string with new slide or array with such slides, for example:
*
* @example prependSlide('<div class="swiper-slide">Slide 0"</div>')
* @example prependSlide([
* '<div class="swiper-slide">Slide 1"</div>',
* '<div class="swiper-slide">Slide 2"</div>'
* ]);
*/
prependSlide(slides: HTMLElement | string | string[]): void;
/**
* Remove selected slides. slideIndex could be a number with slide index to remove or array with indexes.
*
* @example removeSlide(0); // remove first slide
* @example removeSlide([0, 1]); // remove first and second slides
* @example removeAllSlides(); // Remove all slides
*/
removeSlide(slideIndex: number | number[]): void;
/**
* Set custom css3 transform's translate value for swiper wrapper
*/
setTranslate(translate: any): void;
/**
* Get current value of swiper wrapper css3 transform translate
*/
getTranslate(): any;
/**
* Add event listener
*/
on(event: SwiperEvent, handler: () => void): void;
/**
* Add event listener that will be executed only once
*/
once(event: SwiperEvent, handler: () => void): void;
/**
* Remove event listener for specified event
* If no handler specified, removes all listeners for specified event
*/
off(event: SwiperEvent, handler?: () => void): void;
/**
* Disable mousewheel control
*/
disableMousewheelControl(): void;
/**
* Enable mousewheel control
*/
enableMousewheelControl(): void;
/**
* Disable keyboard control
*/
disableKeyboardControl(): void;
/**
* Enable keyboard control
*/
enableKeyboardControl(): void;
/**
* Unset grab cursor
*/
unsetGrabCursor(): void;
/**
* Set grab cursor
*/
setGrabCursor(): void;
// Components
/**
* Swiper Navigation module.
*/
navigation?: Navigation;
/**
* Swiper Pagination module.
*/
pagination?: Pagination;
/**
* Swiper Scrollbar module.
*/
scrollbar?: Scrollbar;
/**
* Swiper Autoplay module.
*/
autoplay?: Autoplay;
/**
* Swiper Parallax module.
*/
parallax?: Parallax;
/**
* Swiper Lazy module.
*/
lazy?: Lazy;
/**
* Swiper FadeEffect module.
*/
fadeEffect?: FadeEffect;
/**
* Swiper CoverflowEffect module.
*/
coverflowEffect?: CoverflowEffect;
/**
* Swiper FlipEffect module.
*/
flipEffect?: FlipEffect;
/**
* Swiper CubeEffect module.
*/
cubeEffect?: CubeEffect;
/**
* Swiper Zoom module.
*/
zoom?: Zoom;
/**
* Swiper Keyboard module.
*/
keyboard?: Keyboard;
/**
* Swiper Mousewheel module.
*/
mousewheel?: Mousewheel;
/**
* Swiper Virtual module.
*/
virtual?: Virtual;
/**
* Swiper HashNavigation module.
*/
hashNavigation?: HashNavigation;
/**
* Swiper History module.
*/
history?: History;
/**
* Swiper Controller module.
*/
controller?: Controller;
/**
* Swiper A11y module.
*/
a11y?: A11y;
}
}
declare module 'swiper' {
export = Swiper;
// Use thru this when in TypeScript
declare module 'swiper/dist/js/swiper.esm' {
import alias = require('swiper');
export = alias;
}
{
"name": "@types/swiper",
"version": "4.2.0",
"version": "4.2.1",
"description": "TypeScript definitions for Swiper",

@@ -21,2 +21,7 @@ "license": "MIT",

"githubUsername": "ematseruk"
},
{
"name": "Luiz M.",
"url": "https://github.com/odahcam",
"githubUsername": "odahcam"
}

@@ -27,8 +32,8 @@ ],

"type": "git",
"url": "https://www.github.com/DefinitelyTyped/DefinitelyTyped.git"
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
},
"scripts": {},
"dependencies": {},
"typesPublisherContentHash": "a61570caadf9e5dca99592253407930647e4cc429c042cc5eeb808238bbbb4c2",
"typeScriptVersion": "2.7"
"typesPublisherContentHash": "540d9eead6114da31f7e3163c585c2c48ac151d56f958f751aa1454139a00188",
"typeScriptVersion": "2.9"
}

@@ -8,10 +8,10 @@ # Installation

# Details
Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/swiper
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/swiper
Additional Details
* Last updated: Tue, 17 Apr 2018 00:46:12 GMT
* Last updated: Wed, 05 Sep 2018 16:09:37 GMT
* Dependencies: none
* Global values: Swiper
* Global values: none
# Credits
These definitions were written by Sebastián Galiano <https://github.com/sgaliano>, Luca Trazzi <https://github.com/lucax88x>, Eugene Matseruk <https://github.com/ematseruk>.
These definitions were written by Sebastián Galiano <https://github.com/sgaliano>, Luca Trazzi <https://github.com/lucax88x>, Eugene Matseruk <https://github.com/ematseruk>, Luiz M. <https://github.com/odahcam>.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc