From 71006850d131d50bb2d5bb46f18ee63ab1ac9147 Mon Sep 17 00:00:00 2001 From: Luca Trazzi Date: Fri, 20 Jan 2017 20:00:08 +0100 Subject: [PATCH] updated swiper to 3.4.1 (#14070) * moved 2.0.0 version of swiper to V2 * updated swiper to 3.4 * added as contributor to swiper * Added path mapping for itself as old version * tsconfig corrected types root --- CONTRIBUTORS.md | 2 +- swiper/index.d.ts | 329 +++++++++++----- swiper/swiper-tests.ts | 800 ++++++++++++++++++++++++-------------- swiper/tslint.json | 6 + swiper/v2/index.d.ts | 204 ++++++++++ swiper/v2/swiper-tests.ts | 330 ++++++++++++++++ swiper/v2/tsconfig.json | 28 ++ swiper/v2/tslint.json | 7 + 8 files changed, 1323 insertions(+), 383 deletions(-) create mode 100644 swiper/tslint.json create mode 100644 swiper/v2/index.d.ts create mode 100644 swiper/v2/swiper-tests.ts create mode 100644 swiper/v2/tsconfig.json create mode 100644 swiper/v2/tslint.json diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 1036be548d..6e2c883f3a 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1680,7 +1680,7 @@ This document generated by [dt-contributors-generator](https://github.com/vvakam * [:link:](swig/swig.d.ts) [swig](http://github.com/paularmstrong/swig) by [Peter Harris](https://github.com/CodeAnimal), [Carlos Ballesteros Velasco](https://github.com/soywiz) * [:link:](swig-email-templates/swig-email-templates.d.ts) [swig-email-templates](https://github.com/andrewrk/swig-email-templates) by [Adam Babcock](https://github.com/mrhen) * [:link:](swipe/swipe.d.ts) [Swipe](https://github.com/thebird/Swipe) by [Andrey Kurdyumov](https://github.com/kant2002) -* [:link:](swiper/swiper.d.ts) [Swiper](https://github.com/nolimits4web/Swiper) by [Sebastián Galiano](https://github.com/sgaliano) +* [:link:](swiper/swiper.d.ts) [Swiper](https://github.com/nolimits4web/Swiper) by [Sebastián Galiano](https://github.com/sgaliano), [Luca Trazzi](https://github.com/lucax88x) * [:link:](swipeview/swipeview.d.ts) [SwipeView](http://cubiq.org/swipeview) by [Boris Yankov](https://github.com/borisyankov) * [:link:](switchery/switchery.d.ts) [switchery](https://github.com/abpetkov/switchery) by [Bruno Grieder](https://github.com/bgrieder), [Clayton Lautier](https://github.com/claylaut) * [:link:](swiz/swiz.d.ts) [swiz](https://github.com/racker/node-swiz) by [Jeff Goddard](https://github.com/jedigo) diff --git a/swiper/index.d.ts b/swiper/index.d.ts index cb6ff159f1..99cdc714d9 100644 --- a/swiper/index.d.ts +++ b/swiper/index.d.ts @@ -1,106 +1,216 @@ -// Type definitions for Swiper 2.0.0 +// Type definitions for Swiper 3.4 // Project: https://github.com/nolimits4web/Swiper -// Definitions by: Sebastián Galiano +// Definitions by: Sebastián Galiano , Luca Trazzi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - interface SwiperOptions { - speed?: number; - autoplay?: number; - mode?: string; - loop?: boolean; - loopAdditionalSlides?: number; - slidesPerView?: any; - slidesPerGroup?: number; - calculateHeight?: boolean; - updateOnImagesReady?: boolean; - releaseFormElements?: boolean; - watchActiveIndex?: boolean; - visibilityFullFit?: boolean; - autoResize?: boolean; - resizeReInit?: boolean; - DOMAnimation?: boolean; - resistance?: any; - noSwiping?: boolean; - preventLinks?: boolean; initialSlide?: number; - useCSS3Transforms?: boolean; + direction?: string; + speed?: number; + setWrapperSize?: boolean; + virtualTranslate?: boolean; + width?: number; + height?: number; + autoHeight?: boolean; + roundLengths?: boolean; + nested?: boolean; - // Free Mode and Scroll Container + // Autoplay + autoplay?: number; + autoplayStopOnLast?: boolean; + autoplayDisableOnInteraction?: boolean; + + // Progress + watchSlidesProgress?: boolean; + watchSlidesVisibility?: boolean; + + // Freemode freeMode?: boolean; - freeModeFluid?: boolean; - scrollContainer?: boolean; - momentumRatio?: number; - momentumBounce?: boolean; - momentumBounceRatio?: number; + freeModeMomentum?: boolean; + freeModeMomentumRatio?: number; + freeModeMomentumBounce?: boolean; + freeModeMomentumBounceRatio?: number; + freeModeMinimumVelocity?: number; + freeModeSticky?: boolean; - // Slides offset + // Effects + effect?: string; + fade?: {}; + cube?: {}; + coverflow?: {}; + flip?: {}; + + // Parallax + parallax?: boolean; + + // Slides grid + spaceBetween?: number; + slidesPerView?: number | string; + slidesPerColumn?: number; + slidesPerColumnFill?: string; + slidesPerGroup?: number; centeredSlides?: boolean; - offsetPxBefore?: number; - offsetPxAfter?: number; - offsetSlidesBefore?: number; - offsetSlidesAfter?: number; + slidesOffsetBefore?: number; + slidesOffsetAfter?: number; - // Touch/mouse interactions - touchRatio?: number; - simulateTouch?: boolean; - onlyExternal?: boolean; - followFinger?: boolean; + // Grab Cursor grabCursor?: boolean; - shortSwipes?: boolean; - moveStartThreshold?: number; - // Navigation - keyboardControl?: boolean; - mousewheelControl?: boolean; - nextButton?: string | HTMLElement; - prevButton?: string | HTMLElement; + // Touches + touchEventsTarget?: string; + touchRatio?: number; + touchAngle?: number; + simulateTouch?: boolean; + shortSwipes?: boolean; + longSwipes?: boolean; + longSwipesRatio?: number; + longSwipesMs?: number; + followFinger?: boolean; + onlyExternal?: boolean; + threshold?: number; + touchMoveStopPropagation?: boolean; + iOSEdgeSwipeDetection?: boolean; + iOSEdgeSwipeThreshold?: number; + + // Touch Resistance + resistance?: boolean; + resistanceRatio?: number; + + // Clicks + preventClicks?: boolean; + preventClicksPropagation?: boolean; + slideToClickedSlide?: boolean; + + // Swiping / No swiping + allowSwipeToPrev?: boolean; + allowSwipeToNext?: boolean; + noSwiping?: boolean; + noSwipingClass?: string; + swipeHandler?: string | Element; + + // Navigation Controls + uniqueNavElements?: boolean; // Pagination - pagination?: any; + pagination?: string | Element; + paginationType?: string; + paginationHide?: boolean; paginationClickable?: boolean; - paginationAsRange?: boolean; - createPagination?: boolean; + paginationElement?: string; + paginationBulletRender?: (swiper: Swiper, index: number, className: string) => void; + paginationFractionRender?: (swiper: Swiper, currentClassName: string, totalClassName: string) => void; + paginationProgressRender?: (swiper: Swiper, progressbarClass: string) => void; + paginationCustomRender?: (swiper: Swiper, current: number, total: number) => void; + + // Navigation Buttons + nextButton?: string | Element; + prevButton?: string | Element; + + // Scollbar + scrollbar?: string | Element | SwiperScrollbarOptions; + scrollbarHide?: boolean; + scrollbarDraggable?: boolean; + scrollbarSnapOnRelease?: boolean; + + + // Accessibility + a11y?: boolean; + prevSlideMessage?: string; + nextSlideMessage?: string; + firstSlideMessage?: string; + lastSlideMessage?: string; + paginationBulletMessage?: string; + + + // Keyboard / Mousewheel + keyboardControl?: boolean; + mousewheelControl?: boolean; + mousewheelForceToAxis?: boolean; + mousewheelReleaseOnEdges?: boolean; + mousewheelInvert?: boolean; + mousewheelSensitivity?: number; + + // Hash Navigation + hashnav?: boolean; + hashnavWatchState?: boolean; + history?: string; + + + // Images + preloadImages?: boolean; + updateOnImagesReady?: boolean; + lazyLoading?: boolean; + lazyLoadingInPrevNext?: boolean; + lazyLoadingInPrevNextAmount?: number; + lazyLoadingOnTransitionStart?: boolean; + + // Loop + loop?: boolean; + loopAdditionalSlides?: number; + loopedSlides?: number; + + zoom?: boolean; + + // Controller + control?: Swiper; + controlInverse?: boolean; + controlBy?: string; + + // Observer + observer?: boolean; + observeParents?: boolean; + + // Breakpoints + breakpoints?: {}; + + // Callbacks + runCallbacksOnInit?: boolean; + onInit?: (swiper: Swiper) => void; + onSlideChangeStart?: (swiper: Swiper) => void; + onSlideChangeEnd?: (swiper: Swiper) => void; + onSlideNextStart?: (swiper: Swiper) => void; + onSlideNextEnd?: (swiper: Swiper) => void; + onSlidePrevStart?: (swiper: Swiper) => void; + onSlidePrevEnd?: (swiper: Swiper) => void; + onTransitionStart?: (swiper: Swiper) => void; + onTransitionEnd?: (swiper: Swiper) => void; + onTouchStart?: (swiper: Swiper, event: Event) => void; + onTouchMove?: (swiper: Swiper, event: Event) => void; + onTouchMoveOpposite?: (swiper: Swiper, event: Event) => void; + onSliderMove?: (swiper: Swiper, event: Event) => void; + onTouchEnd?: (swiper: Swiper, event: Event) => void; + onClick?: (swiper: Swiper, event: Event) => void; + onTap?: (swiper: Swiper, event: Event) => void; + onDoubleTap?: (swiper: Swiper, event: Event) => void; + onImagesReady?: (swiper: Swiper) => void; + onProgress?: (swiper: Swiper, progress: number) => void; + onReachBeginning?: (swiper: Swiper) => void; + onReachEnd?: (swiper: Swiper) => void; + onDestroy?: (swiper: Swiper) => void; + onSetTranslate?: (swiper: Swiper, translate: any) => void; + onSetTransition?: (swiper: Swiper, transition: any) => void; + onAutoplay?: (swiper: Swiper) => void; + onAutoplayStart?: (swiper: Swiper) => void; + onAutoplayStop?: (swiper: Swiper) => void; + onLazyImageLoad?: (swiper: Swiper, slide: any, image: any) => void; + onLazyImageReady?: (swiper: Swiper, slide: any, image: any) => void; + onPaginationRendered?: (swiper: Swiper, paginationContainer: any) => void; // Namespace - wrapperClass?: string; slideClass?: string; slideActiveClass?: string; slideVisibleClass?: string; - slideElement?: string; - noSwipingClass?: string; - paginationElement?: string; - paginationElementClass?: string; - paginationActiveClass?: string; - paginationVisibleClass?: string; - - // Callbacks - queueStartCallbacks?: boolean; - queueEndCallbacks?: boolean; - onTouchStart?: (swiper: Swiper) => void; - onTouchMove?: (swiper: Swiper) => void; - onTouchEnd?: (swiper: Swiper) => void; - onSlideReset?: (swiper: Swiper) => void; - onSlideChangeStart?: (swiper: Swiper) => void; - onSlideChangeEnd?: (swiper: Swiper) => void; - onSlideClick?: (swiper: Swiper) => void; - onSlideTouch?: (swiper: Swiper) => void; - onImagesReady?: (swiper: Swiper) => void; - onMomentumBounce?: (swiper: Swiper) => void; - onResistanceBefore?: (swiper: Swiper, distance: any) => void; - onResistanceAfter?: (swiper: Swiper, distance: any) => void; - - // Slides Loader - loader?: { - slides?: any[]; - slidesHTMLType?: string; - surroundGroups?: number; - logic?: string; - loadAllSlides?: boolean; - }; - - // Plugins - scrollbar?: SwiperScrollbarOptions; + slideDuplicateClass?: string; + slideNextClass?: string; + slidePrevClass?: string; + wrapperClass?: string; + bulletClass?: string; + bulletActiveClass?: string; + paginationHiddenClass?: string; + paginationCurrentClass?: string; + paginationTotalClass?: string; + paginationProgressbarClass?: string; + buttonDisabledClass?: string; } interface SwiperScrollbarOptions { @@ -122,7 +232,7 @@ declare class SwiperSlide { } declare class Swiper { - constructor(container: string|Element, options?: SwiperOptions); + constructor(container: string | Element, options?: SwiperOptions); // Properties width: number; @@ -164,7 +274,7 @@ declare class Swiper { wrapperTransitionEnd(callback: () => void, permanent: boolean): void; // Init/reset - destroy(removeResizeEvent?: boolean): void; + destroy(deleteInstance: boolean, cleanupStyles: boolean): void; reInit(forceCalcSlides?: boolean): void; resizeFix(reInit?: boolean): void; @@ -179,27 +289,46 @@ declare class Swiper { setWrapperTransition(duration: any): void; // Slides API + slides: SwiperSlide[]; - createSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; - appendSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; - appendSlide(slideInstance: HTMLElement): SwiperSlide; - prependSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; - prependSlide(slideInstance: HTMLElement): SwiperSlide; - insertSlideAfter(index: number, html: string, slideClassList?: string, element?: string): SwiperSlide; - insertSlideAfter(index: number, slideInstance: HTMLElement): SwiperSlide; - removeSlide(index: number): boolean; - removeLastSlide(): boolean; + + slidePrev(runCallbacks?: boolean, speed?: number): void; + slideNext(runCallbacks?: boolean, speed?: number): void; + slideTo(index: number, runCallbacks?: boolean, speed?: number): void; + update(updateTranslate?: boolean): void; + onResize(): void; + detachEvents(): void; + attachEvents(): void; + + appendSlide(slides: HTMLElement | string | string[]): void; + prependSlide(slides: HTMLElement | string | string[]): void; + removeSlide(slideIndex: number): void; removeAllSlides(): void; - getSlide(index: number): SwiperSlide; - getLastSlide(): SwiperSlide; - getFirstSlide(): SwiperSlide; + + lockSwipeToNext(): void; + unlockSwipeToNext(): void; + lockSwipeToPrev(): void; + unlockSwipeToPrev(): void; + lockSwipes(): void; + unlockSwipes(): void; + disableMousewheelControl(): void; + enableMousewheelControl(): void; + disableKeyboardControl(): void; + enableKeyboardControl(): void; + disableTouchContro(): void; + enableTouchContro(): void; + unsetGrabCursor(): void; + setGrabCursor(): void; + + plugins?: { + debugger?: (swiper: any, params: any) => void; + }; } declare module "swiper" { const swiper: { - new (element: Element, options?: SwiperOptions): Swiper; - new (element: string, options?: SwiperOptions): Swiper; - }; + new (element: Element | string, options?: SwiperOptions): Swiper; + }; export = swiper; } diff --git a/swiper/swiper-tests.ts b/swiper/swiper-tests.ts index 12abcc8944..3fc9b3c185 100644 --- a/swiper/swiper-tests.ts +++ b/swiper/swiper-tests.ts @@ -7,324 +7,560 @@ // 01-default.html function defaultDemo() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - loop: true, - grabCursor: true, + var swiper = new Swiper('.swiper-container'); +} +// 02-responsive.html +function responsive() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', paginationClickable: true }); - - $('.arrow-left').on('click', function (e) { - e.preventDefault(); - mySwiper.swipePrev(); - }); - - $('.arrow-right').on('click', function (e) { - e.preventDefault(); - mySwiper.swipeNext(); - }); } - -// 02-vertical-mode.html -function verticalMode() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', +// 03-vertical.html +function vertical() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', paginationClickable: true, - mode: 'vertical' + direction: 'vertical' }); } - -// 03-dynamic-slides.html -function dynamicSlides() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true - }); - - function randomColor() { - var colors = ('blue red green orange pink').split(' '); - return colors[Math.floor(Math.random() * colors.length)]; - } - - var count = 4; - - $('.sdl-append').click(function (e) { - e.preventDefault(); - mySwiper.appendSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') - }); - - $('.sdl-prepend').click(function (e) { - e.preventDefault(); - mySwiper.prependSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') - }); - - $('.sdl-swap').click(function (e) { - e.preventDefault(); - mySwiper - .getFirstSlide() - .insertAfter(1); - }); - - $('.sdl-insert').click(function (e) { - e.preventDefault(); - mySwiper - .createSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') - .insertAfter(0); - }); - - $('.sdl-remove1').click(function (e) { - e.preventDefault(); - mySwiper.removeSlide(0); - }); - - $('.sdl-removel').click(function (e) { - e.preventDefault(); - mySwiper.removeLastSlide(); - }); - - $('.sdl-remove2').click(function (e) { - e.preventDefault(); - mySwiper.removeSlide(1); - }); -} - -// 04-scroll-container.html -function scrollContainer() { - var mySwiper = new Swiper('.swiper-container', { - scrollContainer: true, - scrollbar: { - container: '.swiper-scrollbar' - } - }); -} - -// 05-free-mode.html -function freeMode() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', +// 04-space-between.html +function spaceBetween() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', paginationClickable: true, - freeMode: true, - freeModeFluid: true + spaceBetween: 30, }); } - -// 06-carousel-mode.html -function carouselMode() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, - slidesPerView: 3 - }); -} - -// 07-carousel-loop.html -function carouselLoop() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, +// 05-slides-per-view.html +function slidesPerView() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', slidesPerView: 3, + paginationClickable: true, + spaceBetween: 30 + }); +} +// 06-slides-per-view-auto.html +function slidesPerViewAuto() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 'auto', + paginationClickable: true, + spaceBetween: 30 + }); +} +// 07-centered.html +function centered() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 4, + centeredSlides: true, + paginationClickable: true, + spaceBetween: 30 + }); +} +// 08-centered-auto.html +function centeredAuto() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 'auto', + centeredSlides: true, + paginationClickable: true, + spaceBetween: 30 + }); +} +// 09-freemode.html +function freemode() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 3, + paginationClickable: true, + spaceBetween: 30, + freeMode: true + }); +} +// 10-slides-per-column.html +function slidesPerColumn() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 3, + slidesPerColumn: 2, + paginationClickable: true, + spaceBetween: 30 + }); +} +// 11-nested.html +function nested() { + var swiperH = new Swiper('.swiper-container-h', { + pagination: '.swiper-pagination-h', + paginationClickable: true, + spaceBetween: 50 + }); + var swiperV = new Swiper('.swiper-container-v', { + pagination: '.swiper-pagination-v', + paginationClickable: true, + direction: 'vertical', + spaceBetween: 50 + }); +} +// 12-grab-cursor.html +function grabCursor() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 4, + centeredSlides: true, + paginationClickable: true, + spaceBetween: 30, + grabCursor: true + }); +} +// 13-scrollbar.html +function scrollbar() { + var swiper = new Swiper('.swiper-container', { + scrollbar: '.swiper-scrollbar', + scrollbarHide: true, + slidesPerView: 'auto', + centeredSlides: true, + spaceBetween: 30, + grabCursor: true + }); +} +// 14-nav-arrows.html +function navArrows() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + spaceBetween: 30 + }); +} +// 15-infinite-loop.html +function infiniteLoop() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + slidesPerView: 1, + paginationClickable: true, + spaceBetween: 30, loop: true }); } - -// 08-nested.html -function nested() { - var swiperParent = new Swiper('.swiper-parent', { - pagination: '.pagination-parent', +// 16-effect-fade.html +function effectFade() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', paginationClickable: true, - slidesPerView: 3 - }); - - var swiperNested1 = new Swiper('.swiper-nested-1', { - mode: 'vertical', - pagination: '.pagination-nested-1', - paginationClickable: true, - slidesPerView: 2 - }); - - var swiperNested2 = new Swiper('.swiper-nested-2', { - mode: 'vertical', - pagination: '.pagination-nested-2', - paginationClickable: true, - slidesPerView: 2 + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + spaceBetween: 30, + effect: 'fade' }); } - -// 09-nested-loop.html -function nestedLoop() { - var swiperParent = new Swiper('.swiper-parent', { - pagination: '.pagination-parent', +// 17-effect-cube.html +function effectCube() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + effect: 'cube', + grabCursor: true, + cube: { + shadow: true, + slideShadows: true, + shadowOffset: 20, + shadowScale: 0.94 + } + }); +} +// 18-effect-coverflow.html +function effectCoverflow() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + effect: 'coverflow', + grabCursor: true, + centeredSlides: true, + slidesPerView: 'auto', + coverflow: { + rotate: 50, + stretch: 0, + depth: 100, + modifier: 1, + slideShadows: true + } + }); +} +// 19-keyboard-control.html +function keyboardControl() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + slidesPerView: 1, paginationClickable: true, + spaceBetween: 30, + keyboardControl: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + }); +} +// 20-mousewheel-control.html +function mousewheelControl() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + direction: 'vertical', + slidesPerView: 1, + paginationClickable: true, + spaceBetween: 30, + mousewheelControl: true + }); +} +// 21-autoplay.html +function autoplay() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + paginationClickable: true, + spaceBetween: 30, + centeredSlides: true, + autoplay: 2500, + autoplayDisableOnInteraction: false + }); +} +// 22-dynamic-slides.html +function dynamicSlides() { + var appendNumber = 4; + var prependNumber = 1; + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + slidesPerView: 3, + centeredSlides: true, + paginationClickable: true, + spaceBetween: 30, + }); + document.querySelector('.prepend-2-slides').addEventListener('click', function (e) { + e.preventDefault(); + swiper.prependSlide([ + '
Slide ' + (--prependNumber) + '
', + '
Slide ' + (--prependNumber) + '
' + ]); + }); + document.querySelector('.prepend-slide').addEventListener('click', function (e) { + e.preventDefault(); + swiper.prependSlide('
Slide ' + (--prependNumber) + '
'); + }); + document.querySelector('.append-slide').addEventListener('click', function (e) { + e.preventDefault(); + swiper.appendSlide('
Slide ' + (++appendNumber) + '
'); + }); + document.querySelector('.append-2-slides').addEventListener('click', function (e) { + e.preventDefault(); + swiper.appendSlide([ + '
Slide ' + (++appendNumber) + '
', + '
Slide ' + (++appendNumber) + '
' + ]); + }); +} +// 23-thumbs-gallery-loop.html +function thumbsGalleryLoop() { + var galleryTop = new Swiper('.gallery-top', { + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + spaceBetween: 10, loop: true, - slidesPerView: 3 + loopedSlides: 5, //looped slides should be the same }); + var galleryThumbs = new Swiper('.gallery-thumbs', { + spaceBetween: 10, + slidesPerView: 4, + touchRatio: 0.2, + loop: true, + loopedSlides: 5, //looped slides should be the same + slideToClickedSlide: true + }); + galleryTop.params.control = galleryThumbs; + galleryThumbs.params.control = galleryTop; - var swiperNested1 = new Swiper('.swiper-nested', { - mode: 'vertical', - pagination: '.pagination-nested', - paginationClickable: true, - slidesPerView: 2 - }); } - -// 10-tabs.html -function tabs() { - var tabsSwiper = new Swiper('.swiper-container', { - onlyExternal: true, - speed: 500 +// 23-thumbs-gallery.html +function thumbsGallery() { + var galleryTop = new Swiper('.gallery-top', { + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + spaceBetween: 10, }); - - $(".tabs a").on('touchstart mousedown', function (e) { - e.preventDefault(); - $(".tabs .active").removeClass('active'); - $(this).addClass('active'); - tabsSwiper.swipeTo($(this).index()); - }); - - $(".tabs a").click(function (e) { - e.preventDefault(); - }); -} - -// 11-tabs-feedback.html -function tabsFeedback() { - var tabsSwiper = new Swiper('.swiper-container', { - speed: 500, - onSlideChangeStart: function () { - $(".tabs .active").removeClass('active'); - $(".tabs a").eq(tabsSwiper.activeIndex).addClass('active'); - } - }); - - $(".tabs a").on('touchstart mousedown', function (e) { - e.preventDefault(); - $(".tabs .active").removeClass('active'); - $(this).addClass('active'); - tabsSwiper.swipeTo($(this).index()); - }); - - $(".tabs a").click(function (e) { - e.preventDefault(); - }); -} - -// 12-partial-display.html -function partialDisplay() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, - slidesPerView: 'auto' - }); -} - -// 13-threshold.html -function threshold() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, - moveStartThreshold: 100 - }); -} - -// 14-different-widths.html -function differentWidths() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, - slidesPerView: 'auto' - }); -} - -// 15-centered-slides.html -function centeredSlides() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true, + var galleryThumbs = new Swiper('.gallery-thumbs', { + spaceBetween: 10, centeredSlides: true, - slidesPerView: 'auto' + slidesPerView: 'auto', + touchRatio: 0.2, + slideToClickedSlide: true }); -} + galleryTop.params.control = galleryThumbs; + galleryThumbs.params.control = galleryTop; -// 16-visibility-api.html -function visibilityApi() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', +} +// 24-multiple-swipers.html +function multipleSwipers() { + var swiper1 = new Swiper('.swiper1', { + pagination: '.swiper-pagination1', paginationClickable: true, - centeredSlides: true, - slidesPerView: 3, - watchActiveIndex: true + spaceBetween: 30, + }); + var swiper2 = new Swiper('.swiper2', { + pagination: '.swiper-pagination2', + paginationClickable: true, + spaceBetween: 30, + }); + var swiper3 = new Swiper('.swiper3', { + pagination: '.swiper-pagination3', + paginationClickable: true, + spaceBetween: 30, }); } - -// 17 - responsive.html -function responsive() { - var mySwiper = new Swiper('.swiper-container', { - pagination: '.pagination', - paginationClickable: true +// 25-hash-navigation.html +function hashNavigation() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + spaceBetween: 30, + hashnav: true, + hashnavWatchState: true }); } - - -// -// Scrollbar -// - -// demo-1.html -function demo1() { - var mySwiper = new Swiper('.swiper-container', { - scrollbar: { - container: '.swiper-scrollbar', - hide: false, - draggable: false +// 26-rtl.html +function rtl() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev' + }); +} +// 27-jquery.html +function jquery() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev' + }); +} +// 28-parallax.html +function parallax() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + parallax: true, + speed: 600, + }); +} +// 29-custom-pagination.html +function customPagination() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + paginationBulletRender: function (swiper, index, className) { + return '' + (index + 1) + ''; } }); } - -// demo-2.html -function demo2() { - var mySwiper = new Swiper('.swiper-container', { - scrollbar: { - container: '.swiper-scrollbar', - hide: false, - draggable: true - } +// 30-lazy-load-images.html +function lazyLoadImages() { + var swiper = new Swiper('.swiper-container', { + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + pagination: '.swiper-pagination', + paginationClickable: true, + // Disable preloading of all images + preloadImages: false, + // Enable lazy loading + lazyLoading: true }); } - -// demo-3.html -function demo3() { - var mySwiper = new Swiper('.swiper-container', { - scrollbar: { - container: '.swiper-scrollbar', - hide: true, - draggable: true - } - }); +// 31-custom-plugin.html +function customPlugin() { + /* ======== + Debugger plugin, simple demo plugin to console.log some of callbacks + ======== */ + Swiper.prototype.plugins.debugger = function (swiper: any, params: any) { + if (!params) return; + // Need to return object with properties that names are the same as callbacks + return { + onInit: function (swiper: any) { + console.log('onInit'); + }, + onClick: function (swiper: any, e: any) { + console.log('onClick'); + }, + onTap: function (swiper: any, e: any) { + console.log('onTap'); + }, + onDoubleTap: function (swiper: any, e: any) { + console.log('onDoubleTap'); + }, + onSliderMove: function (swiper: any, e: any) { + console.log('onSliderMove'); + }, + onSlideChangeStart: function (swiper: any) { + console.log('onSlideChangeStart'); + }, + onSlideChangeEnd: function (swiper: any) { + console.log('onSlideChangeEnd'); + }, + onTransitionStart: function (swiper: any) { + console.log('onTransitionStart'); + }, + onTransitionEnd: function (swiper: any) { + console.log('onTransitionEnd'); + }, + onReachBeginning: function (swiper: any) { + console.log('onReachBeginning'); + }, + onReachEnd: function (swiper: any) { + console.log('onReachEnd'); + } + }; + }; } - -// demo-4.html -function demo4() { - var mySwiper = new Swiper('.swiper-container', { - slidesPerView: 3, - scrollbar: { - container: '.swiper-scrollbar', - hide: false, - draggable: true, - snapOnRelease: true - } - }); -} - -// demo-5.html -function demo5() { - var mySwiper = new Swiper('.swiper-container', { - scrollContainer: true, +// 32-scroll-container.html +function scrollContainer() { + var swiper = new Swiper('.swiper-container', { + scrollbar: '.swiper-scrollbar', + direction: 'vertical', + slidesPerView: 'auto', mousewheelControl: true, - mode: 'vertical', - scrollbar: { - container: '.swiper-scrollbar', - hide: true, - draggable: false + freeMode: true + }); +} +// 32-slideable-menu.html +function slideableMenu() { + var toggleMenu = function () { + if (swiper.previousIndex == 0) + swiper.slidePrev() + } + , menuButton = document.getElementsByClassName('menu-button')[0] + , swiper = new Swiper('.swiper-container', { + slidesPerView: 'auto' + , initialSlide: 1 + , resistanceRatio: .00000000000001 + , onSlideChangeStart: function (slider) { + if (slider.activeIndex == 0) { + menuButton.classList.add('cross') + menuButton.removeEventListener('click', toggleMenu, false) + } else + menuButton.classList.remove('cross') + } + , onSlideChangeEnd: function (slider) { + if (slider.activeIndex == 0) + menuButton.removeEventListener('click', toggleMenu, false) + else + menuButton.addEventListener('click', toggleMenu, false) + } + , slideToClickedSlide: true + }) +} +// 33-responsive-breakpoints.html +function responsiveBreakpoints() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + slidesPerView: 5, + spaceBetween: 50, + breakpoints: { + 1024: { + slidesPerView: 4, + spaceBetween: 40 + }, + 768: { + slidesPerView: 3, + spaceBetween: 30 + }, + 640: { + slidesPerView: 2, + spaceBetween: 20 + }, + 320: { + slidesPerView: 1, + spaceBetween: 10 + } } }); -} \ No newline at end of file +} +// 34-autoheight.html +function autoheight() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + autoHeight: true, //enable auto height + }); +} +// 35-effect-flip.html +function effectFlip() { + var swiper = new Swiper('.swiper-container', { + pagination: '.swiper-pagination', + effect: 'flip', + grabCursor: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev' + }); +} +// 36-pagination-fraction.html +function paginationFraction() { + var swiper = new Swiper('.swiper-container', { + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + pagination: '.swiper-pagination', + paginationType: 'fraction' + }); +} +// 37-pagination-progress.html +function paginationProgress() { + var swiper = new Swiper('.swiper-container', { + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + pagination: '.swiper-pagination', + paginationType: 'progress' + }); +} +// 38-history.html +function historyDemo() { + var swiper = new Swiper('.swiper-container', { + spaceBetween: 50, + slidesPerView: 2, + centeredSlides: true, + slideToClickedSlide: true, + grabCursor: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev', + scrollbar: '.swiper-scrollbar', + pagination: '.swiper-pagination', + history: 'slide', + }); +} +// 38-jquery-ie9-loop.html +function jqueryIe9Loop() { + var swiper = new Swiper('.swiper-container', { + loop: true, + pagination: '.swiper-pagination', + paginationClickable: true, + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev' + }); +} +// 39-zoom.html +function zoom() { + var swiper = new Swiper('.swiper-container', { + zoom: true, + pagination: '.swiper-pagination', + nextButton: '.swiper-button-next', + prevButton: '.swiper-button-prev' + }); +} diff --git a/swiper/tslint.json b/swiper/tslint.json new file mode 100644 index 0000000000..fd1872c1cb --- /dev/null +++ b/swiper/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "../tslint.json", + "rules": { + "no-single-declare-module": false + } +} \ No newline at end of file diff --git a/swiper/v2/index.d.ts b/swiper/v2/index.d.ts new file mode 100644 index 0000000000..a5a98b691f --- /dev/null +++ b/swiper/v2/index.d.ts @@ -0,0 +1,204 @@ +// Type definitions for Swiper 2.0.0 +// Project: https://github.com/nolimits4web/Swiper +// Definitions by: Sebastián Galiano +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + + +interface SwiperOptions { + speed?: number; + autoplay?: number; + mode?: string; + loop?: boolean; + loopAdditionalSlides?: number; + slidesPerView?: any; + slidesPerGroup?: number; + calculateHeight?: boolean; + updateOnImagesReady?: boolean; + releaseFormElements?: boolean; + watchActiveIndex?: boolean; + visibilityFullFit?: boolean; + autoResize?: boolean; + resizeReInit?: boolean; + DOMAnimation?: boolean; + resistance?: any; + noSwiping?: boolean; + preventLinks?: boolean; + initialSlide?: number; + useCSS3Transforms?: boolean; + + // Free Mode and Scroll Container + freeMode?: boolean; + freeModeFluid?: boolean; + scrollContainer?: boolean; + momentumRatio?: number; + momentumBounce?: boolean; + momentumBounceRatio?: number; + + // Slides offset + centeredSlides?: boolean; + offsetPxBefore?: number; + offsetPxAfter?: number; + offsetSlidesBefore?: number; + offsetSlidesAfter?: number; + + // Touch/mouse interactions + touchRatio?: number; + simulateTouch?: boolean; + onlyExternal?: boolean; + followFinger?: boolean; + grabCursor?: boolean; + shortSwipes?: boolean; + moveStartThreshold?: number; + + // Navigation + keyboardControl?: boolean; + mousewheelControl?: boolean; + nextButton?: string | HTMLElement; + prevButton?: string | HTMLElement; + + // Pagination + pagination?: any; + paginationClickable?: boolean; + paginationAsRange?: boolean; + createPagination?: boolean; + + // Namespace + wrapperClass?: string; + slideClass?: string; + slideActiveClass?: string; + slideVisibleClass?: string; + slideElement?: string; + noSwipingClass?: string; + paginationElement?: string; + paginationElementClass?: string; + paginationActiveClass?: string; + paginationVisibleClass?: string; + + // Callbacks + queueStartCallbacks?: boolean; + queueEndCallbacks?: boolean; + onTouchStart?: (swiper: Swiper) => void; + onTouchMove?: (swiper: Swiper) => void; + onTouchEnd?: (swiper: Swiper) => void; + onSlideReset?: (swiper: Swiper) => void; + onSlideChangeStart?: (swiper: Swiper) => void; + onSlideChangeEnd?: (swiper: Swiper) => void; + onSlideClick?: (swiper: Swiper) => void; + onSlideTouch?: (swiper: Swiper) => void; + onImagesReady?: (swiper: Swiper) => void; + onMomentumBounce?: (swiper: Swiper) => void; + onResistanceBefore?: (swiper: Swiper, distance: any) => void; + onResistanceAfter?: (swiper: Swiper, distance: any) => void; + + // Slides Loader + loader?: { + slides?: any[]; + slidesHTMLType?: string; + surroundGroups?: number; + logic?: string; + loadAllSlides?: boolean; + }; + + // Plugins + scrollbar?: SwiperScrollbarOptions; +} + +interface SwiperScrollbarOptions { + container: string; // Default: '.swiper-scrollbar' + draggable?: boolean; // Default: true + hide?: boolean; // Default: true + snapOnRelease?: boolean; // Default: false +} + +declare class SwiperSlide { + append(): SwiperSlide; + clone(): SwiperSlide; + getWidth(): number; + getHeight(): number; + getOffset(): { top: number; left: number; }; + insertAfter(index: number): SwiperSlide; + prepend(): SwiperSlide; + remove(): void; +} + +declare class Swiper { + constructor(container: string | Element, options?: SwiperOptions); + + // Properties + width: number; + height: number; + params: any; + positions: any; + + // Feature detection + support: { + touch: boolean; + transforms: boolean; + transforms3d: boolean; + transitions: boolean; + }; + + // Browser detection + browser: { + ie8: boolean; + ie10: boolean; + }; + + // Navigation + activeIndex: number; + activeLoopIndex: number; + activeLoaderIndex: number; + previousIndex: number; + swipeNext(internal?: boolean): boolean; + swipePrev(internal?: boolean): boolean; + swipeReset(): boolean; + swipeTo(index: number, speed?: number, runCallbacks?: boolean): boolean; + activeSlide(): SwiperSlide; + updateActiveSlide(index: number): void; + + // Events + touches: any; + isTouched: boolean; + clickedSlideIndex: number; + clickedSlide: SwiperSlide; + wrapperTransitionEnd(callback: () => void, permanent: boolean): void; + + // Init/reset + destroy(removeResizeEvent?: boolean): void; + reInit(forceCalcSlides?: boolean): void; + resizeFix(reInit?: boolean): void; + + // Autoplaying + autoplay: boolean; + startAutoplay(): void; + stopAutoplay(): void; + + // Other methods + getWrapperTranslate(axis: string): number; // 'x' or 'y' + setWrapperTranslate(x: number, y: number, z: number): void; + setWrapperTransition(duration: any): void; + + // Slides API + slides: SwiperSlide[]; + createSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; + appendSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; + appendSlide(slideInstance: HTMLElement): SwiperSlide; + prependSlide(html: string, slideClassList?: string, element?: string): SwiperSlide; + prependSlide(slideInstance: HTMLElement): SwiperSlide; + insertSlideAfter(index: number, html: string, slideClassList?: string, element?: string): SwiperSlide; + insertSlideAfter(index: number, slideInstance: HTMLElement): SwiperSlide; + removeSlide(index: number): boolean; + removeLastSlide(): boolean; + removeAllSlides(): void; + getSlide(index: number): SwiperSlide; + getLastSlide(): SwiperSlide; + getFirstSlide(): SwiperSlide; +} + +declare module "swiper" { + const swiper: { + new (element: Element | string, options?: SwiperOptions): Swiper; + }; + + export = swiper; +} diff --git a/swiper/v2/swiper-tests.ts b/swiper/v2/swiper-tests.ts new file mode 100644 index 0000000000..12abcc8944 --- /dev/null +++ b/swiper/v2/swiper-tests.ts @@ -0,0 +1,330 @@ + +/// + +// +// Main demos +// + +// 01-default.html +function defaultDemo() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + loop: true, + grabCursor: true, + paginationClickable: true + }); + + $('.arrow-left').on('click', function (e) { + e.preventDefault(); + mySwiper.swipePrev(); + }); + + $('.arrow-right').on('click', function (e) { + e.preventDefault(); + mySwiper.swipeNext(); + }); +} + +// 02-vertical-mode.html +function verticalMode() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + mode: 'vertical' + }); +} + +// 03-dynamic-slides.html +function dynamicSlides() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true + }); + + function randomColor() { + var colors = ('blue red green orange pink').split(' '); + return colors[Math.floor(Math.random() * colors.length)]; + } + + var count = 4; + + $('.sdl-append').click(function (e) { + e.preventDefault(); + mySwiper.appendSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') + }); + + $('.sdl-prepend').click(function (e) { + e.preventDefault(); + mySwiper.prependSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') + }); + + $('.sdl-swap').click(function (e) { + e.preventDefault(); + mySwiper + .getFirstSlide() + .insertAfter(1); + }); + + $('.sdl-insert').click(function (e) { + e.preventDefault(); + mySwiper + .createSlide('
Slide ' + (++count) + '
', 'swiper-slide ' + randomColor() + '-slide') + .insertAfter(0); + }); + + $('.sdl-remove1').click(function (e) { + e.preventDefault(); + mySwiper.removeSlide(0); + }); + + $('.sdl-removel').click(function (e) { + e.preventDefault(); + mySwiper.removeLastSlide(); + }); + + $('.sdl-remove2').click(function (e) { + e.preventDefault(); + mySwiper.removeSlide(1); + }); +} + +// 04-scroll-container.html +function scrollContainer() { + var mySwiper = new Swiper('.swiper-container', { + scrollContainer: true, + scrollbar: { + container: '.swiper-scrollbar' + } + }); +} + +// 05-free-mode.html +function freeMode() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + freeMode: true, + freeModeFluid: true + }); +} + +// 06-carousel-mode.html +function carouselMode() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + slidesPerView: 3 + }); +} + +// 07-carousel-loop.html +function carouselLoop() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + slidesPerView: 3, + loop: true + }); +} + +// 08-nested.html +function nested() { + var swiperParent = new Swiper('.swiper-parent', { + pagination: '.pagination-parent', + paginationClickable: true, + slidesPerView: 3 + }); + + var swiperNested1 = new Swiper('.swiper-nested-1', { + mode: 'vertical', + pagination: '.pagination-nested-1', + paginationClickable: true, + slidesPerView: 2 + }); + + var swiperNested2 = new Swiper('.swiper-nested-2', { + mode: 'vertical', + pagination: '.pagination-nested-2', + paginationClickable: true, + slidesPerView: 2 + }); +} + +// 09-nested-loop.html +function nestedLoop() { + var swiperParent = new Swiper('.swiper-parent', { + pagination: '.pagination-parent', + paginationClickable: true, + loop: true, + slidesPerView: 3 + }); + + var swiperNested1 = new Swiper('.swiper-nested', { + mode: 'vertical', + pagination: '.pagination-nested', + paginationClickable: true, + slidesPerView: 2 + }); +} + +// 10-tabs.html +function tabs() { + var tabsSwiper = new Swiper('.swiper-container', { + onlyExternal: true, + speed: 500 + }); + + $(".tabs a").on('touchstart mousedown', function (e) { + e.preventDefault(); + $(".tabs .active").removeClass('active'); + $(this).addClass('active'); + tabsSwiper.swipeTo($(this).index()); + }); + + $(".tabs a").click(function (e) { + e.preventDefault(); + }); +} + +// 11-tabs-feedback.html +function tabsFeedback() { + var tabsSwiper = new Swiper('.swiper-container', { + speed: 500, + onSlideChangeStart: function () { + $(".tabs .active").removeClass('active'); + $(".tabs a").eq(tabsSwiper.activeIndex).addClass('active'); + } + }); + + $(".tabs a").on('touchstart mousedown', function (e) { + e.preventDefault(); + $(".tabs .active").removeClass('active'); + $(this).addClass('active'); + tabsSwiper.swipeTo($(this).index()); + }); + + $(".tabs a").click(function (e) { + e.preventDefault(); + }); +} + +// 12-partial-display.html +function partialDisplay() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + slidesPerView: 'auto' + }); +} + +// 13-threshold.html +function threshold() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + moveStartThreshold: 100 + }); +} + +// 14-different-widths.html +function differentWidths() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + slidesPerView: 'auto' + }); +} + +// 15-centered-slides.html +function centeredSlides() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + centeredSlides: true, + slidesPerView: 'auto' + }); +} + +// 16-visibility-api.html +function visibilityApi() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true, + centeredSlides: true, + slidesPerView: 3, + watchActiveIndex: true + }); +} + +// 17 - responsive.html +function responsive() { + var mySwiper = new Swiper('.swiper-container', { + pagination: '.pagination', + paginationClickable: true + }); +} + + +// +// Scrollbar +// + +// demo-1.html +function demo1() { + var mySwiper = new Swiper('.swiper-container', { + scrollbar: { + container: '.swiper-scrollbar', + hide: false, + draggable: false + } + }); +} + +// demo-2.html +function demo2() { + var mySwiper = new Swiper('.swiper-container', { + scrollbar: { + container: '.swiper-scrollbar', + hide: false, + draggable: true + } + }); +} + +// demo-3.html +function demo3() { + var mySwiper = new Swiper('.swiper-container', { + scrollbar: { + container: '.swiper-scrollbar', + hide: true, + draggable: true + } + }); +} + +// demo-4.html +function demo4() { + var mySwiper = new Swiper('.swiper-container', { + slidesPerView: 3, + scrollbar: { + container: '.swiper-scrollbar', + hide: false, + draggable: true, + snapOnRelease: true + } + }); +} + +// demo-5.html +function demo5() { + var mySwiper = new Swiper('.swiper-container', { + scrollContainer: true, + mousewheelControl: true, + mode: 'vertical', + scrollbar: { + container: '.swiper-scrollbar', + hide: true, + draggable: false + } + }); +} \ No newline at end of file diff --git a/swiper/v2/tsconfig.json b/swiper/v2/tsconfig.json new file mode 100644 index 0000000000..963c1c24f6 --- /dev/null +++ b/swiper/v2/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "noImplicitThis": false, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../../" + ], + "types": [], + "paths": { + "swiper": [ + "swiper/v2" + ], + "swiper/*": [ + "swiper/v2/*" + ] + }, + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "swiper-tests.ts" + ] +} \ No newline at end of file diff --git a/swiper/v2/tslint.json b/swiper/v2/tslint.json new file mode 100644 index 0000000000..506ccb3b24 --- /dev/null +++ b/swiper/v2/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "../tslint.json", + "rules": { + "no-single-declare-module": false, + "dt-header": false + } +} \ No newline at end of file