Swiper - v14.0.1
    Preparing search index...

    Interface SwiperProps

    interface SwiperProps {
        _emitClasses?: boolean;
        _loopSwapReset?: boolean;
        a11y?: boolean | A11yOptions;
        about?: string;
        accessKey?: string;
        allowSlideNext?: boolean;
        allowSlidePrev?: boolean;
        allowTouchMove?: boolean;
        "aria-activedescendant"?: string;
        "aria-atomic"?: Booleanish;
        "aria-autocomplete"?: "none" | "list" | "inline" | "both";
        "aria-braillelabel"?: string;
        "aria-brailleroledescription"?: string;
        "aria-busy"?: Booleanish;
        "aria-checked"?: boolean | "true" | "false" | "mixed";
        "aria-colcount"?: number;
        "aria-colindex"?: number;
        "aria-colindextext"?: string;
        "aria-colspan"?: number;
        "aria-controls"?: string;
        "aria-current"?:
            | boolean
            | "time"
            | "true"
            | "false"
            | "page"
            | "step"
            | "location"
            | "date";
        "aria-describedby"?: string;
        "aria-description"?: string;
        "aria-details"?: string;
        "aria-disabled"?: Booleanish;
        "aria-dropeffect"?: "copy"
        | "link"
        | "none"
        | "execute"
        | "move"
        | "popup";
        "aria-errormessage"?: string;
        "aria-expanded"?: Booleanish;
        "aria-flowto"?: string;
        "aria-grabbed"?: Booleanish;
        "aria-haspopup"?:
            | boolean
            | "dialog"
            | "menu"
            | "true"
            | "false"
            | "grid"
            | "listbox"
            | "tree";
        "aria-hidden"?: Booleanish;
        "aria-invalid"?: boolean
        | "true"
        | "false"
        | "grammar"
        | "spelling";
        "aria-keyshortcuts"?: string;
        "aria-label"?: string;
        "aria-labelledby"?: string;
        "aria-level"?: number;
        "aria-live"?: "off" | "assertive" | "polite";
        "aria-modal"?: Booleanish;
        "aria-multiline"?: Booleanish;
        "aria-multiselectable"?: Booleanish;
        "aria-orientation"?: "horizontal" | "vertical";
        "aria-owns"?: string;
        "aria-placeholder"?: string;
        "aria-posinset"?: number;
        "aria-pressed"?: boolean | "true" | "false" | "mixed";
        "aria-readonly"?: Booleanish;
        "aria-relevant"?:
            | "text"
            | "additions"
            | "additions removals"
            | "additions text"
            | "all"
            | "removals"
            | "removals additions"
            | "removals text"
            | "text additions"
            | "text removals";
        "aria-required"?: Booleanish;
        "aria-roledescription"?: string;
        "aria-rowcount"?: number;
        "aria-rowindex"?: number;
        "aria-rowindextext"?: string;
        "aria-rowspan"?: number;
        "aria-selected"?: Booleanish;
        "aria-setsize"?: number;
        "aria-sort"?: "none"
        | "ascending"
        | "descending"
        | "other";
        "aria-valuemax"?: number;
        "aria-valuemin"?: number;
        "aria-valuenow"?: number;
        "aria-valuetext"?: string;
        autoCapitalize?:
            | string & {}
            | "off"
            | "none"
            | "on"
            | "sentences"
            | "words"
            | "characters";
        autoCorrect?: string;
        autoFocus?: boolean;
        autoHeight?: boolean;
        autoplay?: boolean
        | AutoplayOptions;
        autoSave?: string;
        breakpoints?: {
            [width: number]: SwiperOptions;
            [ratio: string]: SwiperOptions;
        };
        breakpointsBase?: "container"
        | CSSSelector
        | "window";
        cardsEffect?: CardsEffectOptions;
        centeredSlides?: boolean;
        centeredSlidesBounds?: boolean;
        centerInsufficientSlides?: boolean;
        children?: ReactNode;
        className?: string;
        color?: string;
        containerModifierClass?: string;
        content?: string;
        contentEditable?: Booleanish | "inherit" | "plaintext-only";
        contextMenu?: string;
        controller?: boolean | ControllerOptions;
        coverflowEffect?: CoverflowEffectOptions;
        createElements?: boolean;
        creativeEffect?: CreativeEffectOptions;
        cssMode?: boolean;
        cubeEffect?: CubeEffectOptions;
        dangerouslySetInnerHTML?: { __html: string | TrustedHTML };
        datatype?: string;
        defaultChecked?: boolean;
        defaultValue?: string | number | readonly string[];
        dir?: string;
        direction?: "horizontal" | "vertical";
        draggable?: Booleanish;
        edgeSwipeDetection?: string | boolean;
        edgeSwipeThreshold?: number;
        effect?:
            | "slide"
            | "fade"
            | "cube"
            | "coverflow"
            | "flip"
            | "creative"
            | "cards"
            | string & {};
        enabled?: boolean;
        enterKeyHint?: | "search"
        | "enter"
        | "done"
        | "go"
        | "next"
        | "previous"
        | "send";
        eventsPrefix?: string;
        exportparts?: string;
        fadeEffect?: FadeEffectOptions;
        flipEffect?: FlipEffectOptions;
        focusableElements?: string;
        followFinger?: boolean;
        freeMode?: boolean
        | FreeModeOptions;
        grabCursor?: boolean;
        grid?: GridOptions;
        hashNavigation?: boolean | HashNavigationOptions;
        height?: number | null;
        hidden?: boolean;
        history?: boolean | HistoryOptions;
        id?: string;
        inert?: boolean;
        init?: boolean;
        initialSlide?: number;
        injectStyles?: string[];
        injectStylesUrls?: string[];
        inlist?: any;
        inputMode?:
            | "search"
            | "text"
            | "none"
            | "tel"
            | "url"
            | "email"
            | "numeric"
            | "decimal";
        is?: string;
        itemID?: string;
        itemProp?: string;
        itemRef?: string;
        itemScope?: boolean;
        itemType?: string;
        keyboard?: boolean
        | KeyboardOptions;
        lang?: string;
        lazyPreloaderClass?: string;
        lazyPreloadPrevNext?: number;
        longSwipes?: boolean;
        longSwipesMs?: number;
        longSwipesRatio?: number;
        loop?: boolean;
        loopAddBlankSlides?: boolean;
        loopAdditionalSlides?: number;
        loopPreventsSliding?: boolean;
        maxBackfaceHiddenSlides?: number;
        modules?: SwiperModule[];
        mousewheel?: boolean | MousewheelOptions;
        navigation?: boolean | NavigationOptions;
        nested?: boolean;
        nonce?: string;
        normalizeSlideIndex?: boolean;
        noSwiping?: boolean;
        noSwipingClass?: string;
        noSwipingSelector?: string;
        observeParents?: boolean;
        observer?: boolean;
        observeSlideChildren?: boolean;
        on?: {
            _beforeBreakpoint?: (
                swiper: Swiper,
                breakpointParams: SwiperOptions,
            ) => void;
            _containerClasses?: (swiper: Swiper, classNames: string) => void;
            _freeModeNoMomentumRelease?: (swiper: Swiper) => void;
            _freeModeStaticRelease?: () => void;
            _slideClass?: (
                swiper: Swiper,
                slideEl: HTMLElement,
                classNames: string,
            ) => void;
            _slideClasses?: (
                swiper: Swiper,
                slides: { classNames: string; index: number; slideEl: HTMLElement }[],
            ) => void;
            _swiper?: (swiper: Swiper) => void;
            activeIndexChange?: (swiper: Swiper) => void;
            afterInit?: (swiper: Swiper) => void;
            autoplay?: (swiper: Swiper) => void;
            autoplayPause?: (swiper: Swiper) => void;
            autoplayResume?: (swiper: Swiper) => void;
            autoplayStart?: (swiper: Swiper) => void;
            autoplayStop?: (swiper: Swiper) => void;
            autoplayTimeLeft?: (
                swiper: Swiper,
                timeLeft: number,
                percentage: number,
            ) => void;
            beforeDestroy?: (swiper: Swiper) => void;
            beforeInit?: (swiper: Swiper) => void;
            beforeLoopFix?: (swiper: Swiper) => void;
            beforeResize?: (swiper: Swiper) => void;
            beforeSlideChangeStart?: (swiper: Swiper) => void;
            beforeTransitionStart?: (
                swiper: Swiper,
                speed: number,
                internal: unknown,
            ) => void;
            breakpoint?: (swiper: Swiper, breakpointParams: SwiperOptions) => void;
            changeDirection?: (swiper: Swiper) => void;
            click?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            destroy?: (swiper: Swiper) => void;
            doubleClick?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            doubleTap?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            fromEdge?: (swiper: Swiper) => void;
            hashChange?: (swiper: Swiper) => void;
            hashSet?: (swiper: Swiper) => void;
            init?: (swiper: Swiper) => any;
            keyPress?: (swiper: Swiper, keyCode: string) => void;
            lock?: (swiper: Swiper) => void;
            loopFix?: (swiper: Swiper) => void;
            momentumBounce?: (swiper: Swiper) => void;
            navigationHide?: (swiper: Swiper) => void;
            navigationNext?: (swiper: Swiper) => void;
            navigationPrev?: (swiper: Swiper) => void;
            navigationShow?: (swiper: Swiper) => void;
            observerUpdate?: (swiper: Swiper) => void;
            orientationchange?: (swiper: Swiper) => void;
            paginationHide?: (swiper: Swiper) => void;
            paginationRender?: (swiper: Swiper, paginationEl: HTMLElement) => void;
            paginationShow?: (swiper: Swiper) => void;
            paginationUpdate?: (swiper: Swiper, paginationEl: HTMLElement) => void;
            progress?: (swiper: Swiper, progress: number) => void;
            reachBeginning?: (swiper: Swiper) => void;
            reachEnd?: (swiper: Swiper) => void;
            realIndexChange?: (swiper: Swiper) => void;
            resize?: (swiper: Swiper) => void;
            scroll?: (swiper: Swiper, event: WheelEvent) => void;
            scrollbarDragEnd?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            scrollbarDragMove?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            scrollbarDragStart?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            setTransition?: (
                swiper: Swiper,
                transition: number,
                byController?: boolean | Swiper,
            ) => void;
            setTranslate?: (
                swiper: Swiper,
                translate: number,
                byController?: boolean | Swiper,
            ) => void;
            slideChange?: (swiper: Swiper) => void;
            slideChangeTransitionEnd?: (swiper: Swiper) => void;
            slideChangeTransitionStart?: (swiper: Swiper) => void;
            slideNextTransitionEnd?: (swiper: Swiper) => void;
            slideNextTransitionStart?: (swiper: Swiper) => void;
            slidePrevTransitionEnd?: (swiper: Swiper) => void;
            slidePrevTransitionStart?: (swiper: Swiper) => void;
            slideResetTransitionEnd?: (swiper: Swiper) => void;
            slideResetTransitionStart?: (swiper: Swiper) => void;
            sliderFirstMove?: (swiper: Swiper, event: TouchEvent) => void;
            sliderMove?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            slidesGridLengthChange?: (swiper: Swiper) => void;
            slidesLengthChange?: (swiper: Swiper) => void;
            slidesUpdated?: (swiper: Swiper) => void;
            snapGridLengthChange?: (swiper: Swiper) => void;
            snapIndexChange?: (swiper: Swiper) => void;
            tap?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            toEdge?: (swiper: Swiper) => void;
            touchEnd?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            touchMove?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            touchMoveOpposite?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            touchStart?: (
                swiper: Swiper,
                event: PointerEvent | MouseEvent | TouchEvent,
            ) => void;
            transitionEnd?: (swiper: Swiper) => void;
            transitionStart?: (swiper: Swiper) => void;
            unlock?: (swiper: Swiper) => void;
            update?: (swiper: Swiper) => void;
            virtualUpdate?: (swiper: Swiper) => void;
            zoomChange?: (
                swiper: Swiper,
                scale: number,
                imageEl: HTMLElement,
                slideEl: HTMLElement,
            ) => void;
        };
        onAbort?: ReactEventHandler<HTMLElement>;
        onAbortCapture?: ReactEventHandler<HTMLElement>;
        onAnimationEnd?: AnimationEventHandler<HTMLElement>;
        onAnimationEndCapture?: AnimationEventHandler<HTMLElement>;
        onAnimationIteration?: AnimationEventHandler<HTMLElement>;
        onAnimationIterationCapture?: AnimationEventHandler<HTMLElement>;
        onAnimationStart?: AnimationEventHandler<HTMLElement>;
        onAnimationStartCapture?: AnimationEventHandler<HTMLElement>;
        onAuxClick?: MouseEventHandler<HTMLElement>;
        onAuxClickCapture?: MouseEventHandler<HTMLElement>;
        onBeforeInput?: InputEventHandler<HTMLElement>;
        onBeforeInputCapture?: FormEventHandler<HTMLElement>;
        onBeforeToggle?: ToggleEventHandler<HTMLElement>;
        onBlur?: FocusEventHandler<HTMLElement>;
        onBlurCapture?: FocusEventHandler<HTMLElement>;
        onCanPlay?: ReactEventHandler<HTMLElement>;
        onCanPlayCapture?: ReactEventHandler<HTMLElement>;
        onCanPlayThrough?: ReactEventHandler<HTMLElement>;
        onCanPlayThroughCapture?: ReactEventHandler<HTMLElement>;
        onChange?: FormEventHandler<HTMLElement>;
        onChangeCapture?: FormEventHandler<HTMLElement>;
        onClickCapture?: MouseEventHandler<HTMLElement>;
        onCompositionEnd?: CompositionEventHandler<HTMLElement>;
        onCompositionEndCapture?: CompositionEventHandler<HTMLElement>;
        onCompositionStart?: CompositionEventHandler<HTMLElement>;
        onCompositionStartCapture?: CompositionEventHandler<HTMLElement>;
        onCompositionUpdate?: CompositionEventHandler<HTMLElement>;
        onCompositionUpdateCapture?: CompositionEventHandler<HTMLElement>;
        onContextMenu?: MouseEventHandler<HTMLElement>;
        onContextMenuCapture?: MouseEventHandler<HTMLElement>;
        onCopy?: ClipboardEventHandler<HTMLElement>;
        onCopyCapture?: ClipboardEventHandler<HTMLElement>;
        onCut?: ClipboardEventHandler<HTMLElement>;
        onCutCapture?: ClipboardEventHandler<HTMLElement>;
        onDoubleClickCapture?: MouseEventHandler<HTMLElement>;
        onDrag?: DragEventHandler<HTMLElement>;
        onDragCapture?: DragEventHandler<HTMLElement>;
        onDragEnd?: DragEventHandler<HTMLElement>;
        onDragEndCapture?: DragEventHandler<HTMLElement>;
        onDragEnter?: DragEventHandler<HTMLElement>;
        onDragEnterCapture?: DragEventHandler<HTMLElement>;
        onDragExit?: DragEventHandler<HTMLElement>;
        onDragExitCapture?: DragEventHandler<HTMLElement>;
        onDragLeave?: DragEventHandler<HTMLElement>;
        onDragLeaveCapture?: DragEventHandler<HTMLElement>;
        onDragOver?: DragEventHandler<HTMLElement>;
        onDragOverCapture?: DragEventHandler<HTMLElement>;
        onDragStart?: DragEventHandler<HTMLElement>;
        onDragStartCapture?: DragEventHandler<HTMLElement>;
        onDrop?: DragEventHandler<HTMLElement>;
        onDropCapture?: DragEventHandler<HTMLElement>;
        onDurationChange?: ReactEventHandler<HTMLElement>;
        onDurationChangeCapture?: ReactEventHandler<HTMLElement>;
        onEmptied?: ReactEventHandler<HTMLElement>;
        onEmptiedCapture?: ReactEventHandler<HTMLElement>;
        onEncrypted?: ReactEventHandler<HTMLElement>;
        onEncryptedCapture?: ReactEventHandler<HTMLElement>;
        onEnded?: ReactEventHandler<HTMLElement>;
        onEndedCapture?: ReactEventHandler<HTMLElement>;
        onError?: ReactEventHandler<HTMLElement>;
        onErrorCapture?: ReactEventHandler<HTMLElement>;
        oneWayMovement?: boolean;
        onFocus?: FocusEventHandler<HTMLElement>;
        onFocusCapture?: FocusEventHandler<HTMLElement>;
        onGotPointerCapture?: PointerEventHandler<HTMLElement>;
        onGotPointerCaptureCapture?: PointerEventHandler<HTMLElement>;
        onInput?: FormEventHandler<HTMLElement>;
        onInputCapture?: FormEventHandler<HTMLElement>;
        onInvalid?: FormEventHandler<HTMLElement>;
        onInvalidCapture?: FormEventHandler<HTMLElement>;
        onKeyDown?: KeyboardEventHandler<HTMLElement>;
        onKeyDownCapture?: KeyboardEventHandler<HTMLElement>;
        onKeyPressCapture?: KeyboardEventHandler<HTMLElement>;
        onKeyUp?: KeyboardEventHandler<HTMLElement>;
        onKeyUpCapture?: KeyboardEventHandler<HTMLElement>;
        onLoad?: ReactEventHandler<HTMLElement>;
        onLoadCapture?: ReactEventHandler<HTMLElement>;
        onLoadedData?: ReactEventHandler<HTMLElement>;
        onLoadedDataCapture?: ReactEventHandler<HTMLElement>;
        onLoadedMetadata?: ReactEventHandler<HTMLElement>;
        onLoadedMetadataCapture?: ReactEventHandler<HTMLElement>;
        onLoadStart?: ReactEventHandler<HTMLElement>;
        onLoadStartCapture?: ReactEventHandler<HTMLElement>;
        onLostPointerCapture?: PointerEventHandler<HTMLElement>;
        onLostPointerCaptureCapture?: PointerEventHandler<HTMLElement>;
        onMouseDown?: MouseEventHandler<HTMLElement>;
        onMouseDownCapture?: MouseEventHandler<HTMLElement>;
        onMouseEnter?: MouseEventHandler<HTMLElement>;
        onMouseLeave?: MouseEventHandler<HTMLElement>;
        onMouseMove?: MouseEventHandler<HTMLElement>;
        onMouseMoveCapture?: MouseEventHandler<HTMLElement>;
        onMouseOut?: MouseEventHandler<HTMLElement>;
        onMouseOutCapture?: MouseEventHandler<HTMLElement>;
        onMouseOver?: MouseEventHandler<HTMLElement>;
        onMouseOverCapture?: MouseEventHandler<HTMLElement>;
        onMouseUp?: MouseEventHandler<HTMLElement>;
        onMouseUpCapture?: MouseEventHandler<HTMLElement>;
        onPaste?: ClipboardEventHandler<HTMLElement>;
        onPasteCapture?: ClipboardEventHandler<HTMLElement>;
        onPause?: ReactEventHandler<HTMLElement>;
        onPauseCapture?: ReactEventHandler<HTMLElement>;
        onPlay?: ReactEventHandler<HTMLElement>;
        onPlayCapture?: ReactEventHandler<HTMLElement>;
        onPlaying?: ReactEventHandler<HTMLElement>;
        onPlayingCapture?: ReactEventHandler<HTMLElement>;
        onPointerCancel?: PointerEventHandler<HTMLElement>;
        onPointerCancelCapture?: PointerEventHandler<HTMLElement>;
        onPointerDown?: PointerEventHandler<HTMLElement>;
        onPointerDownCapture?: PointerEventHandler<HTMLElement>;
        onPointerEnter?: PointerEventHandler<HTMLElement>;
        onPointerLeave?: PointerEventHandler<HTMLElement>;
        onPointerMove?: PointerEventHandler<HTMLElement>;
        onPointerMoveCapture?: PointerEventHandler<HTMLElement>;
        onPointerOut?: PointerEventHandler<HTMLElement>;
        onPointerOutCapture?: PointerEventHandler<HTMLElement>;
        onPointerOver?: PointerEventHandler<HTMLElement>;
        onPointerOverCapture?: PointerEventHandler<HTMLElement>;
        onPointerUp?: PointerEventHandler<HTMLElement>;
        onPointerUpCapture?: PointerEventHandler<HTMLElement>;
        onProgressCapture?: ReactEventHandler<HTMLElement>;
        onRateChange?: ReactEventHandler<HTMLElement>;
        onRateChangeCapture?: ReactEventHandler<HTMLElement>;
        onReset?: FormEventHandler<HTMLElement>;
        onResetCapture?: FormEventHandler<HTMLElement>;
        onScrollCapture?: UIEventHandler<HTMLElement>;
        onScrollEnd?: UIEventHandler<HTMLElement>;
        onScrollEndCapture?: UIEventHandler<HTMLElement>;
        onSeeked?: ReactEventHandler<HTMLElement>;
        onSeekedCapture?: ReactEventHandler<HTMLElement>;
        onSeeking?: ReactEventHandler<HTMLElement>;
        onSeekingCapture?: ReactEventHandler<HTMLElement>;
        onSelect?: ReactEventHandler<HTMLElement>;
        onSelectCapture?: ReactEventHandler<HTMLElement>;
        onStalled?: ReactEventHandler<HTMLElement>;
        onStalledCapture?: ReactEventHandler<HTMLElement>;
        onSubmit?: FormEventHandler<HTMLElement>;
        onSubmitCapture?: FormEventHandler<HTMLElement>;
        onSuspend?: ReactEventHandler<HTMLElement>;
        onSuspendCapture?: ReactEventHandler<HTMLElement>;
        onSwiper?: (swiper: Swiper) => void;
        onTimeUpdate?: ReactEventHandler<HTMLElement>;
        onTimeUpdateCapture?: ReactEventHandler<HTMLElement>;
        onToggle?: ToggleEventHandler<HTMLElement>;
        onTouchCancel?: TouchEventHandler<HTMLElement>;
        onTouchCancelCapture?: TouchEventHandler<HTMLElement>;
        onTouchEndCapture?: TouchEventHandler<HTMLElement>;
        onTouchMoveCapture?: TouchEventHandler<HTMLElement>;
        onTouchStartCapture?: TouchEventHandler<HTMLElement>;
        onTransitionCancel?: TransitionEventHandler<HTMLElement>;
        onTransitionCancelCapture?: TransitionEventHandler<HTMLElement>;
        onTransitionEndCapture?: TransitionEventHandler<HTMLElement>;
        onTransitionRun?: TransitionEventHandler<HTMLElement>;
        onTransitionRunCapture?: TransitionEventHandler<HTMLElement>;
        onTransitionStart?: TransitionEventHandler<HTMLElement>;
        onTransitionStartCapture?: TransitionEventHandler<HTMLElement>;
        onVolumeChange?: ReactEventHandler<HTMLElement>;
        onVolumeChangeCapture?: ReactEventHandler<HTMLElement>;
        onWaiting?: ReactEventHandler<HTMLElement>;
        onWaitingCapture?: ReactEventHandler<HTMLElement>;
        onWheel?: WheelEventHandler<HTMLElement>;
        onWheelCapture?: WheelEventHandler<HTMLElement>;
        pagination?: boolean | PaginationOptions;
        parallax?: boolean | ParallaxOptions;
        part?: string;
        passiveListeners?: boolean;
        popover?: "" | "auto" | "manual" | "hint";
        popoverTarget?: string;
        popoverTargetAction?: "toggle" | "show" | "hide";
        prefix?: string;
        preventClicks?: boolean;
        preventClicksPropagation?: boolean;
        preventInteractionOnTransition?: boolean;
        property?: string;
        radioGroup?: string;
        rel?: string;
        resistance?: boolean;
        resistanceRatio?: number;
        resizeObserver?: boolean;
        resource?: string;
        results?: number;
        rev?: string;
        rewind?: boolean;
        role?: AriaRole;
        roundLengths?: boolean;
        runCallbacksOnInit?: boolean;
        scrollbar?: boolean | ScrollbarOptions;
        security?: string;
        setWrapperSize?: boolean;
        shortSwipes?: boolean;
        simulateTouch?: boolean;
        slideActiveClass?: string;
        slideBlankClass?: string;
        slideClass?: string;
        slideFullyVisibleClass?: string;
        slideNextClass?: string;
        slidePrevClass?: string;
        slidesOffsetAfter?: number;
        slidesOffsetBefore?: number;
        slidesPerGroup?: number;
        slidesPerGroupAuto?: boolean;
        slidesPerGroupSkip?: number;
        slidesPerView?: number | "auto";
        slideToClickedSlide?: boolean;
        slideVisibleClass?: string;
        slot?: string;
        snapToSlideEdge?: boolean;
        spaceBetween?: string | number;
        speed?: number;
        spellCheck?: Booleanish;
        style?: CSSProperties;
        suppressContentEditableWarning?: boolean;
        suppressHydrationWarning?: boolean;
        swipeHandler?: CSSSelector | HTMLElement | null;
        swiperElementNodeName?: string;
        tabIndex?: number;
        tag?: string;
        threshold?: number;
        thumbs?: ThumbsOptions;
        title?: string;
        touchAngle?: number;
        touchEventsTarget?: "container" | "wrapper";
        touchMoveStopPropagation?: boolean;
        touchRatio?: number;
        touchReleaseOnEdges?: boolean;
        touchStartForcePreventDefault?: boolean;
        touchStartPreventDefault?: boolean;
        translate?: "yes" | "no";
        typeof?: string;
        uniqueNavElements?: boolean;
        unselectable?: "off" | "on";
        updateOnWindowResize?: boolean;
        url?: string | null;
        userAgent?: string | null;
        virtual?: boolean | VirtualOptions<unknown>;
        virtualTranslate?: boolean;
        vocab?: string;
        watchOverflow?: boolean;
        watchSlidesProgress?: boolean;
        width?: number | null;
        wrapperClass?: string;
        wrapperTag?: string;
        zoom?: boolean | ZoomOptions;
        onAny?(eventName: string, ...args: any[]): void;
    }

    Hierarchy (View Summary)

    • Omit<HTMLAttributes<HTMLElement>, DropEvents>
    • SwiperOptions
      • SwiperProps
    Index

    Properties

    _emitClasses? _loopSwapReset? a11y? about? accessKey? allowSlideNext? allowSlidePrev? allowTouchMove? aria-activedescendant? aria-atomic? aria-autocomplete? aria-braillelabel? aria-brailleroledescription? aria-busy? aria-checked? aria-colcount? aria-colindex? aria-colindextext? aria-colspan? aria-controls? aria-current? aria-describedby? aria-description? aria-details? aria-disabled? aria-dropeffect? aria-errormessage? aria-expanded? aria-flowto? aria-grabbed? aria-haspopup? aria-hidden? aria-invalid? aria-keyshortcuts? aria-label? aria-labelledby? aria-level? aria-live? aria-modal? aria-multiline? aria-multiselectable? aria-orientation? aria-owns? aria-placeholder? aria-posinset? aria-pressed? aria-readonly? aria-relevant? aria-required? aria-roledescription? aria-rowcount? aria-rowindex? aria-rowindextext? aria-rowspan? aria-selected? aria-setsize? aria-sort? aria-valuemax? aria-valuemin? aria-valuenow? aria-valuetext? autoCapitalize? autoCorrect? autoFocus? autoHeight? autoplay? autoSave? breakpoints? breakpointsBase? cardsEffect? centeredSlides? centeredSlidesBounds? centerInsufficientSlides? children? className? color? containerModifierClass? content? contentEditable? contextMenu? controller? coverflowEffect? createElements? creativeEffect? cssMode? cubeEffect? dangerouslySetInnerHTML? datatype? defaultChecked? defaultValue? dir? direction? draggable? edgeSwipeDetection? edgeSwipeThreshold? effect? enabled? enterKeyHint? eventsPrefix? exportparts? fadeEffect? flipEffect? focusableElements? followFinger? freeMode? grabCursor? grid? hashNavigation? height? hidden? history? id? inert? init? initialSlide? injectStyles? injectStylesUrls? inlist? inputMode? is? itemID? itemProp? itemRef? itemScope? itemType? keyboard? lang? lazyPreloaderClass? lazyPreloadPrevNext? longSwipes? longSwipesMs? longSwipesRatio? loop? loopAddBlankSlides? loopAdditionalSlides? loopPreventsSliding? maxBackfaceHiddenSlides? modules? mousewheel? navigation? nested? nonce? normalizeSlideIndex? noSwiping? noSwipingClass? noSwipingSelector? observeParents? observer? observeSlideChildren? on? onAbort? onAbortCapture? onAnimationEnd? onAnimationEndCapture? onAnimationIteration? onAnimationIterationCapture? onAnimationStart? onAnimationStartCapture? onAuxClick? onAuxClickCapture? onBeforeInput? onBeforeInputCapture? onBeforeToggle? onBlur? onBlurCapture? onCanPlay? onCanPlayCapture? onCanPlayThrough? onCanPlayThroughCapture? onChange? onChangeCapture? onClickCapture? onCompositionEnd? onCompositionEndCapture? onCompositionStart? onCompositionStartCapture? onCompositionUpdate? onCompositionUpdateCapture? onContextMenu? onContextMenuCapture? onCopy? onCopyCapture? onCut? onCutCapture? onDoubleClickCapture? onDrag? onDragCapture? onDragEnd? onDragEndCapture? onDragEnter? onDragEnterCapture? onDragExit? onDragExitCapture? onDragLeave? onDragLeaveCapture? onDragOver? onDragOverCapture? onDragStart? onDragStartCapture? onDrop? onDropCapture? onDurationChange? onDurationChangeCapture? onEmptied? onEmptiedCapture? onEncrypted? onEncryptedCapture? onEnded? onEndedCapture? onError? onErrorCapture? oneWayMovement? onFocus? onFocusCapture? onGotPointerCapture? onGotPointerCaptureCapture? onInput? onInputCapture? onInvalid? onInvalidCapture? onKeyDown? onKeyDownCapture? onKeyPressCapture? onKeyUp? onKeyUpCapture? onLoad? onLoadCapture? onLoadedData? onLoadedDataCapture? onLoadedMetadata? onLoadedMetadataCapture? onLoadStart? onLoadStartCapture? onLostPointerCapture? onLostPointerCaptureCapture? onMouseDown? onMouseDownCapture? onMouseEnter? onMouseLeave? onMouseMove? onMouseMoveCapture? onMouseOut? onMouseOutCapture? onMouseOver? onMouseOverCapture? onMouseUp? onMouseUpCapture? onPaste? onPasteCapture? onPause? onPauseCapture? onPlay? onPlayCapture? onPlaying? onPlayingCapture? onPointerCancel? onPointerCancelCapture? onPointerDown? onPointerDownCapture? onPointerEnter? onPointerLeave? onPointerMove? onPointerMoveCapture? onPointerOut? onPointerOutCapture? onPointerOver? onPointerOverCapture? onPointerUp? onPointerUpCapture? onProgressCapture? onRateChange? onRateChangeCapture? onReset? onResetCapture? onScrollCapture? onScrollEnd? onScrollEndCapture? onSeeked? onSeekedCapture? onSeeking? onSeekingCapture? onSelect? onSelectCapture? onStalled? onStalledCapture? onSubmit? onSubmitCapture? onSuspend? onSuspendCapture? onSwiper? onTimeUpdate? onTimeUpdateCapture? onToggle? onTouchCancel? onTouchCancelCapture? onTouchEndCapture? onTouchMoveCapture? onTouchStartCapture? onTransitionCancel? onTransitionCancelCapture? onTransitionEndCapture? onTransitionRun? onTransitionRunCapture? onTransitionStart? onTransitionStartCapture? onVolumeChange? onVolumeChangeCapture? onWaiting? onWaitingCapture? onWheel? onWheelCapture? pagination? parallax? part? passiveListeners? popover? popoverTarget? popoverTargetAction? prefix? preventClicks? preventClicksPropagation? preventInteractionOnTransition? property? radioGroup? rel? resistance? resistanceRatio? resizeObserver? resource? results? rev? rewind? role? roundLengths? runCallbacksOnInit? scrollbar? security? setWrapperSize? shortSwipes? simulateTouch? slideActiveClass? slideBlankClass? slideClass? slideFullyVisibleClass? slideNextClass? slidePrevClass? slidesOffsetAfter? slidesOffsetBefore? slidesPerGroup? slidesPerGroupAuto? slidesPerGroupSkip? slidesPerView? slideToClickedSlide? slideVisibleClass? slot? snapToSlideEdge? spaceBetween? speed? spellCheck? style? suppressContentEditableWarning? suppressHydrationWarning? swipeHandler? swiperElementNodeName? tabIndex? tag? threshold? thumbs? title? touchAngle? touchEventsTarget? touchMoveStopPropagation? touchRatio? touchReleaseOnEdges? touchStartForcePreventDefault? touchStartPreventDefault? translate? typeof? uniqueNavElements? unselectable? updateOnWindowResize? url? userAgent? virtual? virtualTranslate? vocab? watchOverflow? watchSlidesProgress? width? wrapperClass? wrapperTag? zoom?

    Methods

    Properties

    _emitClasses?: boolean

    !INTERNAL When enabled will emit "_containerClasses" and "_slideClass" events

    _loopSwapReset?: boolean

    !INTERNAL Set by effect-cards.overwriteParams to opt the cards effect out of the loop-swap reset that runs on the touch-move boundary.

    a11y?: boolean | A11yOptions

    Object with a11y parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    a11y: {
    prevSlideMessage: 'Previous slide',
    nextSlideMessage: 'Next slide',
    },
    });
    about?: string
    accessKey?: string
    allowSlideNext?: boolean

    Set to false to disable swiping to next slide direction (to right or bottom)

    true
    
    allowSlidePrev?: boolean

    Set to false to disable swiping to previous slide direction (to left or top)

    true
    
    allowTouchMove?: boolean

    If false, then the only way to switch the slide is use of external API functions like slidePrev or slideNext

    true
    
    "aria-activedescendant"?: string

    Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

    "aria-atomic"?: Booleanish

    Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

    "aria-autocomplete"?: "none" | "list" | "inline" | "both"

    Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.

    "aria-braillelabel"?: string

    Defines a string value that labels the current element, which is intended to be converted into Braille.

    aria-label.

    "aria-brailleroledescription"?: string

    Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille.

    aria-roledescription.

    "aria-busy"?: Booleanish
    "aria-checked"?: boolean | "true" | "false" | "mixed"

    Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

    • aria-pressed
    • aria-selected.
    "aria-colcount"?: number

    Defines the total number of columns in a table, grid, or treegrid.

    aria-colindex.

    "aria-colindex"?: number

    Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

    • aria-colcount
    • aria-colspan.
    "aria-colindextext"?: string

    Defines a human readable text alternative of aria-colindex.

    aria-rowindextext.

    "aria-colspan"?: number

    Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

    • aria-colindex
    • aria-rowspan.
    "aria-controls"?: string

    Identifies the element (or elements) whose contents or presence are controlled by the current element.

    aria-owns.

    "aria-current"?:
        | boolean
        | "time"
        | "true"
        | "false"
        | "page"
        | "step"
        | "location"
        | "date"

    Indicates the element that represents the current item within a container or set of related elements.

    "aria-describedby"?: string

    Identifies the element (or elements) that describes the object.

    aria-labelledby

    "aria-description"?: string

    Defines a string value that describes or annotates the current element.

    related aria-describedby.

    "aria-details"?: string

    Identifies the element that provides a detailed, extended description for the object.

    aria-describedby.

    "aria-disabled"?: Booleanish

    Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

    • aria-hidden
    • aria-readonly.
    "aria-dropeffect"?: "copy" | "link" | "none" | "execute" | "move" | "popup"

    Indicates what functions can be performed when a dragged object is released on the drop target.

    in ARIA 1.1

    "aria-errormessage"?: string

    Identifies the element that provides an error message for the object.

    • aria-invalid
    • aria-describedby.
    "aria-expanded"?: Booleanish

    Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

    "aria-flowto"?: string

    Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

    "aria-grabbed"?: Booleanish

    Indicates an element's "grabbed" state in a drag-and-drop operation.

    in ARIA 1.1

    "aria-haspopup"?:
        | boolean
        | "dialog"
        | "menu"
        | "true"
        | "false"
        | "grid"
        | "listbox"
        | "tree"

    Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

    "aria-hidden"?: Booleanish

    Indicates whether the element is exposed to an accessibility API.

    aria-disabled.

    "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling"

    Indicates the entered value does not conform to the format expected by the application.

    aria-errormessage.

    "aria-keyshortcuts"?: string

    Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

    "aria-label"?: string

    Defines a string value that labels the current element.

    aria-labelledby.

    "aria-labelledby"?: string

    Identifies the element (or elements) that labels the current element.

    aria-describedby.

    "aria-level"?: number

    Defines the hierarchical level of an element within a structure.

    "aria-live"?: "off" | "assertive" | "polite"

    Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

    "aria-modal"?: Booleanish

    Indicates whether an element is modal when displayed.

    "aria-multiline"?: Booleanish

    Indicates whether a text box accepts multiple lines of input or only a single line.

    "aria-multiselectable"?: Booleanish

    Indicates that the user may select more than one item from the current selectable descendants.

    "aria-orientation"?: "horizontal" | "vertical"

    Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

    "aria-owns"?: string

    Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

    aria-controls.

    "aria-placeholder"?: string

    Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

    "aria-posinset"?: number

    Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

    aria-setsize.

    "aria-pressed"?: boolean | "true" | "false" | "mixed"

    Indicates the current "pressed" state of toggle buttons.

    • aria-checked
    • aria-selected.
    "aria-readonly"?: Booleanish

    Indicates that the element is not editable, but is otherwise operable.

    aria-disabled.

    "aria-relevant"?:
        | "text"
        | "additions"
        | "additions removals"
        | "additions text"
        | "all"
        | "removals"
        | "removals additions"
        | "removals text"
        | "text additions"
        | "text removals"

    Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

    aria-atomic.

    "aria-required"?: Booleanish

    Indicates that user input is required on the element before a form may be submitted.

    "aria-roledescription"?: string

    Defines a human-readable, author-localized description for the role of an element.

    "aria-rowcount"?: number

    Defines the total number of rows in a table, grid, or treegrid.

    aria-rowindex.

    "aria-rowindex"?: number

    Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

    • aria-rowcount
    • aria-rowspan.
    "aria-rowindextext"?: string

    Defines a human readable text alternative of aria-rowindex.

    aria-colindextext.

    "aria-rowspan"?: number

    Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

    • aria-rowindex
    • aria-colspan.
    "aria-selected"?: Booleanish

    Indicates the current "selected" state of various widgets.

    • aria-checked
    • aria-pressed.
    "aria-setsize"?: number

    Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

    aria-posinset.

    "aria-sort"?: "none" | "ascending" | "descending" | "other"

    Indicates if items in a table or grid are sorted in ascending or descending order.

    "aria-valuemax"?: number

    Defines the maximum allowed value for a range widget.

    "aria-valuemin"?: number

    Defines the minimum allowed value for a range widget.

    "aria-valuenow"?: number

    Defines the current value for a range widget.

    aria-valuetext.

    "aria-valuetext"?: string

    Defines the human readable text alternative of aria-valuenow for a range widget.

    autoCapitalize?:
        | string & {}
        | "off"
        | "none"
        | "on"
        | "sentences"
        | "words"
        | "characters"
    autoCorrect?: string
    autoFocus?: boolean
    autoHeight?: boolean

    Set to true and slider wrapper will adapt its height to the height of the currently active slide

    false
    
    autoplay?: boolean | AutoplayOptions

    Object with autoplay parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    autoplay: {
    delay: 5000,
    },
    });
    autoSave?: string
    breakpoints?: { [width: number]: SwiperOptions; [ratio: string]: SwiperOptions }

    Allows to set different parameter for different responsive breakpoints (screen sizes). Not all parameters can be changed in breakpoints, only those which do not require different layout and logic, like slidesPerView, slidesPerGroup, spaceBetween, grid.rows. Such parameters like loop and effect won't work

    const swiper = new Swiper('.swiper', {
    // Default parameters
    slidesPerView: 1,
    spaceBetween: 10,
    // Responsive breakpoints
    breakpoints: {
    // when window width is >= 320px
    320: {
    slidesPerView: 2,
    spaceBetween: 20
    },
    // when window width is >= 480px
    480: {
    slidesPerView: 3,
    spaceBetween: 30
    },
    // when window width is >= 640px
    640: {
    slidesPerView: 4,
    spaceBetween: 40
    }
    }
    })
    const swiper = new Swiper('.swiper', {
    slidesPerView: 1,
    spaceBetween: 10,
    // using "ratio" endpoints
    breakpoints: {
    '@0.75': {
    slidesPerView: 2,
    spaceBetween: 20,
    },
    '@1.00': {
    slidesPerView: 3,
    spaceBetween: 40,
    },
    '@1.50': {
    slidesPerView: 4,
    spaceBetween: 50,
    },
    }
    });
    breakpointsBase?: "container" | CSSSelector | "window"

    Base for breakpoints (beta). Can be window or container. If set to window (by default) then breakpoint keys mean window width. If set to container then breakpoint keys treated as swiper container width

    'window'
    
    cardsEffect?: CardsEffectOptions

    Object with Cards-effect parameters

    const swiper = new Swiper('.swiper', {
    effect: 'cards',
    cardsEffect: {
    // ...
    },
    });
    centeredSlides?: boolean

    If true, then active slide will be centered, not always on the left side.

    false
    
    centeredSlidesBounds?: boolean

    If true, then active slide will be centered without adding gaps at the beginning and end of slider. Required centeredSlides: true. Not intended to be used with loop or pagination

    false
    
    centerInsufficientSlides?: boolean

    When enabled it center slides if the amount of slides less than slidesPerView. Not intended to be used loop mode and grid.rows

    false
    
    children?: ReactNode
    className?: string
    color?: string
    containerModifierClass?: string

    The beginning of the modifier CSS class that can be added to swiper container depending on different parameters

    'swiper-'
    
    content?: string
    contentEditable?: Booleanish | "inherit" | "plaintext-only"
    contextMenu?: string
    controller?: boolean | ControllerOptions

    Object with controller parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    controller: {
    inverse: true,
    },
    });
    coverflowEffect?: CoverflowEffectOptions

    Object with Coverflow-effect parameters.

    const swiper = new Swiper('.swiper', {
    effect: 'coverflow',
    coverflowEffect: {
    rotate: 30,
    slideShadows: false,
    },
    });
    createElements?: boolean

    When enabled Swiper will automatically wrap slides with swiper-wrapper element, and will create required elements for navigation, pagination and scrollbar they are enabled (with their respective params object or with boolean true))

    false
    
    creativeEffect?: CreativeEffectOptions

    Object with Creative-effect parameters

    const swiper = new Swiper('.swiper', {
    effect: 'creative',
    creativeEffect: {
    prev: {
    // will set `translateZ(-400px)` on previous slides
    translate: [0, 0, -400],
    },
    next: {
    // will set `translateX(100%)` on next slides
    translate: ['100%', 0, 0],
    },
    },
    });
    cssMode?: boolean

    When enabled it will use modern CSS Scroll Snap API. It doesn't support all of Swiper's features, but potentially should bring a much better performance in simple configurations.

    This is what is not supported when it is enabled:

    • Cube effect
    • speed parameter may not have no effect
    • All transition start/end related events (use slideChange instead)
    • slidesPerGroup has limited support
    • simulateTouch doesn't have effect and "dragging" with mouse doesn't work
    • resistance doesn't have any effect
    • allowSlidePrev/Next
    • swipeHandler

    In case if you use it with other effects, especially 3D effects, it is required to wrap slide's content with <div class="swiper-slide-transform"> element. And if you use any custom styles on slides (like background colors, border radius, border, etc.), they should be set on swiper-slide-transform element instead.

    <div class="swiper">
    <div class="swiper-wrapper">
    <div class="swiper-slide">
    <!-- wrap slide content with transform element -->
    <div class="swiper-slide-transform">
    ... slide content ...
    </div>
    </div>
    ...
    </div>
    </div>
    <script>
    const swiper = new Swiper('.swiper', {
    effect: 'flip',
    cssMode: true,
    });
    </script>
    false
    
    cubeEffect?: CubeEffectOptions

    Object with Cube-effect parameters

    const swiper = new Swiper('.swiper', {
    effect: 'cube',
    cubeEffect: {
    slideShadows: false,
    },
    });
    dangerouslySetInnerHTML?: { __html: string | TrustedHTML }
    datatype?: string
    defaultChecked?: boolean
    defaultValue?: string | number | readonly string[]
    dir?: string
    direction?: "horizontal" | "vertical"

    Can be 'horizontal' or 'vertical' (for vertical slider).

    'horizontal'
    
    draggable?: Booleanish
    edgeSwipeDetection?: string | boolean

    Enable to release Swiper events for swipe-back work in app. If set to 'prevent' then it will prevent system swipe-back navigation instead. This feature works only with "touch" events (and not pointer events), so it will work on iOS/Android devices and won't work on Windows devices with pointer (touch) events.

    false
    
    edgeSwipeThreshold?: number

    Area (in px) from left edge of the screen to release touch events for swipe-back in app

    20
    
    effect?:
        | "slide"
        | "fade"
        | "cube"
        | "coverflow"
        | "flip"
        | "creative"
        | "cards"
        | string & {}

    Transition effect. Can be 'slide', 'fade', 'cube', 'coverflow', 'flip', 'creative' or 'cards'

    'slide'
    
    enabled?: boolean

    Whether Swiper initially enabled. When Swiper is disabled, it will hide all navigation elements and won't respond to any events and interactions

    true
    
    enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send"
    eventsPrefix?: string

    Event name prefix for all DOM events emitted by Swiper Element (web component)

    swiper

    exportparts?: string
    fadeEffect?: FadeEffectOptions

    Object with Fade-effect parameters

    const swiper = new Swiper('.swiper', {
    effect: 'fade',
    fadeEffect: {
    crossFade: true
    },
    });
    flipEffect?: FlipEffectOptions

    Object with Flip-effect parameters

    const swiper = new Swiper('.swiper', {
    effect: 'flip',
    flipEffect: {
    slideShadows: false,
    },
    });
    focusableElements?: string

    CSS selector for focusable elements. Swiping will be disabled on such elements if they are "focused"

    'input, select, option, textarea, button, video, label'
    
    followFinger?: boolean

    If disabled, then slider will be animated only when you release it, it will not move while you hold your finger on it

    true
    
    freeMode?: boolean | FreeModeOptions

    Enables free mode functionality. Object with free mode parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    freeMode: true,
    });

    const swiper = new Swiper('.swiper', {
    freeMode: {
    enabled: true,
    sticky: true,
    },
    });
    grabCursor?: boolean

    This option may a little improve desktop usability. If true, user will see the "grab" cursor when hover on Swiper

    false
    

    Object with grid parameters to enable "multirow" slider.

    const swiper = new Swiper('.swiper', {
    grid: {
    rows: 2,
    },
    });
    hashNavigation?: boolean | HashNavigationOptions

    Enables hash url navigation to for slides. Object with hash navigation parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    hashNavigation: {
    replaceState: true,
    },
    });
    height?: number | null

    Swiper height (in px). Parameter allows to force Swiper height. Useful only if you initialize Swiper when it is hidden and in SSR and Test environments for correct Swiper initialization

    null
    

    Setting this parameter will make Swiper not responsive

    hidden?: boolean
    history?: boolean | HistoryOptions

    Enables history push state where every slide will have its own url. In this parameter you have to specify main slides url like "slides" and specify every slide url using data-history attribute.

    Object with history navigation parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    history: {
    replaceState: true,
    },
    });
    <!-- will produce "slides/slide1" url in browser history -->
    <div class="swiper-slide" data-history="slide1"></div>
    id?: string
    inert?: boolean
    init?: boolean

    Whether Swiper should be initialised automatically when you create an instance. If disabled, then you need to init it manually by calling swiper.init()

    true
    
    initialSlide?: number

    Index number of initial slide.

    0
    
    injectStyles?: string[]

    Inject text styles to the shadow DOM. Only for usage with Swiper Element

    injectStylesUrls?: string[]

    Inject styles <link>s to the shadow DOM. Only for usage with Swiper Element

    inlist?: any
    inputMode?:
        | "search"
        | "text"
        | "none"
        | "tel"
        | "url"
        | "email"
        | "numeric"
        | "decimal"

    Hints at the type of data that might be entered by the user while editing the element or its contents

    is?: string

    Specify that a standard HTML element should behave like a defined custom built-in element

    itemID?: string
    itemProp?: string
    itemRef?: string
    itemScope?: boolean
    itemType?: string
    keyboard?: boolean | KeyboardOptions

    Enables navigation through slides using keyboard. Object with keyboard parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    keyboard: {
    enabled: true,
    onlyInViewport: false,
    },
    });
    lang?: string
    lazyPreloaderClass?: string

    CSS class name of lazy preloader

    'swiper-lazy-preloader'
    
    lazyPreloadPrevNext?: number

    Number of next and previous slides to preload. Only applicable if using lazy loading.

    0
    
    longSwipes?: boolean

    Set to false if you want to disable long swipes

    true
    
    longSwipesMs?: number

    Minimal duration (in ms) to trigger swipe to next/previous slide during long swipes

    300
    
    longSwipesRatio?: number

    Ratio to trigger swipe to next/previous slide during long swipes

    0.5
    
    loop?: boolean

    Set to true to enable continuous loop mode

    Because of nature of how the loop mode works (it will rearrange slides), total number of slides must be:

    • more than or equal to slidesPerView + slidesPerGroup (and + 1 in case of centeredSlides)
    • even to slidesPerGroup (or use loopAddBlankSlides parameter)
    • even to grid.rows (or use loopAddBlankSlides parameter)
    false
    
    loopAddBlankSlides?: boolean

    Automatically adds blank slides if you use Grid or slidesPerGroup and the total amount of slides is not even to slidesPerGroup or to grid.rows

    true
    
    loopAdditionalSlides?: number

    Allows to increase amount of looped slides

    0
    
    loopPreventsSliding?: boolean

    If enabled then slideNext/Prev will do nothing while slider is animating in loop mode

    true
    
    maxBackfaceHiddenSlides?: number

    If total number of slides less than specified here value, then Swiper will enable backface-visibility: hidden on slide elements to reduce visual "flicker" in Safari.

    It is not recommended to enable it on large amount of slides as it will reduce performance

    10
    
    modules?: SwiperModule[]

    Array with Swiper modules

    import Swiper from 'swiper';
    import { Navigation, Pagination } from 'swiper/modules';

    const swiper = new Swiper('.swiper', {
    modules: [ Navigation, Pagination ],
    });
    mousewheel?: boolean | MousewheelOptions

    Enables navigation through slides using mouse wheel. Object with mousewheel parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    mousewheel: {
    invert: true,
    },
    });
    navigation?: boolean | NavigationOptions

    Object with navigation parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
    },
    });
    nested?: boolean

    Set to true on Swiper for correct touch events interception. Use only on swipers that use same direction as the parent one

    false
    
    nonce?: string
    normalizeSlideIndex?: boolean

    Normalize slide index.

    true
    
    noSwiping?: boolean

    Enable/disable swiping on elements matched to class specified in noSwipingClass

    true
    
    noSwipingClass?: string

    Specify noSwiping's element css class

    'swiper-no-swiping'
    
    noSwipingSelector?: string

    Can be used instead of noSwipingClass to specify elements to disable swiping on. For example 'input' will disable swiping on all inputs

    
    
    observeParents?: boolean

    Set to true if you also need to watch Mutations for Swiper parent elements

    false
    
    observer?: boolean

    Set to true to enable Mutation Observer on Swiper and its elements. In this case Swiper will be updated (reinitialized) each time if you change its style (like hide/show) or modify its child elements (like adding/removing slides)

    false
    
    observeSlideChildren?: boolean

    Set to true if you also need to watch Mutations for Swiper slide children elements

    false
    
    on?: {
        _beforeBreakpoint?: (
            swiper: Swiper,
            breakpointParams: SwiperOptions,
        ) => void;
        _containerClasses?: (swiper: Swiper, classNames: string) => void;
        _freeModeNoMomentumRelease?: (swiper: Swiper) => void;
        _freeModeStaticRelease?: () => void;
        _slideClass?: (
            swiper: Swiper,
            slideEl: HTMLElement,
            classNames: string,
        ) => void;
        _slideClasses?: (
            swiper: Swiper,
            slides: { classNames: string; index: number; slideEl: HTMLElement }[],
        ) => void;
        _swiper?: (swiper: Swiper) => void;
        activeIndexChange?: (swiper: Swiper) => void;
        afterInit?: (swiper: Swiper) => void;
        autoplay?: (swiper: Swiper) => void;
        autoplayPause?: (swiper: Swiper) => void;
        autoplayResume?: (swiper: Swiper) => void;
        autoplayStart?: (swiper: Swiper) => void;
        autoplayStop?: (swiper: Swiper) => void;
        autoplayTimeLeft?: (
            swiper: Swiper,
            timeLeft: number,
            percentage: number,
        ) => void;
        beforeDestroy?: (swiper: Swiper) => void;
        beforeInit?: (swiper: Swiper) => void;
        beforeLoopFix?: (swiper: Swiper) => void;
        beforeResize?: (swiper: Swiper) => void;
        beforeSlideChangeStart?: (swiper: Swiper) => void;
        beforeTransitionStart?: (
            swiper: Swiper,
            speed: number,
            internal: unknown,
        ) => void;
        breakpoint?: (swiper: Swiper, breakpointParams: SwiperOptions) => void;
        changeDirection?: (swiper: Swiper) => void;
        click?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        destroy?: (swiper: Swiper) => void;
        doubleClick?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        doubleTap?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        fromEdge?: (swiper: Swiper) => void;
        hashChange?: (swiper: Swiper) => void;
        hashSet?: (swiper: Swiper) => void;
        init?: (swiper: Swiper) => any;
        keyPress?: (swiper: Swiper, keyCode: string) => void;
        lock?: (swiper: Swiper) => void;
        loopFix?: (swiper: Swiper) => void;
        momentumBounce?: (swiper: Swiper) => void;
        navigationHide?: (swiper: Swiper) => void;
        navigationNext?: (swiper: Swiper) => void;
        navigationPrev?: (swiper: Swiper) => void;
        navigationShow?: (swiper: Swiper) => void;
        observerUpdate?: (swiper: Swiper) => void;
        orientationchange?: (swiper: Swiper) => void;
        paginationHide?: (swiper: Swiper) => void;
        paginationRender?: (swiper: Swiper, paginationEl: HTMLElement) => void;
        paginationShow?: (swiper: Swiper) => void;
        paginationUpdate?: (swiper: Swiper, paginationEl: HTMLElement) => void;
        progress?: (swiper: Swiper, progress: number) => void;
        reachBeginning?: (swiper: Swiper) => void;
        reachEnd?: (swiper: Swiper) => void;
        realIndexChange?: (swiper: Swiper) => void;
        resize?: (swiper: Swiper) => void;
        scroll?: (swiper: Swiper, event: WheelEvent) => void;
        scrollbarDragEnd?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        scrollbarDragMove?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        scrollbarDragStart?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        setTransition?: (
            swiper: Swiper,
            transition: number,
            byController?: boolean | Swiper,
        ) => void;
        setTranslate?: (
            swiper: Swiper,
            translate: number,
            byController?: boolean | Swiper,
        ) => void;
        slideChange?: (swiper: Swiper) => void;
        slideChangeTransitionEnd?: (swiper: Swiper) => void;
        slideChangeTransitionStart?: (swiper: Swiper) => void;
        slideNextTransitionEnd?: (swiper: Swiper) => void;
        slideNextTransitionStart?: (swiper: Swiper) => void;
        slidePrevTransitionEnd?: (swiper: Swiper) => void;
        slidePrevTransitionStart?: (swiper: Swiper) => void;
        slideResetTransitionEnd?: (swiper: Swiper) => void;
        slideResetTransitionStart?: (swiper: Swiper) => void;
        sliderFirstMove?: (swiper: Swiper, event: TouchEvent) => void;
        sliderMove?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        slidesGridLengthChange?: (swiper: Swiper) => void;
        slidesLengthChange?: (swiper: Swiper) => void;
        slidesUpdated?: (swiper: Swiper) => void;
        snapGridLengthChange?: (swiper: Swiper) => void;
        snapIndexChange?: (swiper: Swiper) => void;
        tap?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        toEdge?: (swiper: Swiper) => void;
        touchEnd?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        touchMove?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        touchMoveOpposite?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        touchStart?: (
            swiper: Swiper,
            event: PointerEvent | MouseEvent | TouchEvent,
        ) => void;
        transitionEnd?: (swiper: Swiper) => void;
        transitionStart?: (swiper: Swiper) => void;
        unlock?: (swiper: Swiper) => void;
        update?: (swiper: Swiper) => void;
        virtualUpdate?: (swiper: Swiper) => void;
        zoomChange?: (
            swiper: Swiper,
            scale: number,
            imageEl: HTMLElement,
            slideEl: HTMLElement,
        ) => void;
    }

    Type Declaration

    • Optional_beforeBreakpoint?: (swiper: Swiper, breakpointParams: SwiperOptions) => void

      !INTERNAL: Event will fired right before breakpoint change

    • Optional_containerClasses?: (swiper: Swiper, classNames: string) => void

      !INTERNAL: Event will fired after setting CSS classes on swiper container element

    • Optional_freeModeNoMomentumRelease?: (swiper: Swiper) => void

      !INTERNAL: Event will be fired on free mode touch end (release) and there will no be momentum

    • Optional_freeModeStaticRelease?: () => void

      !INTERNAL: Event will be fired on free mode touch end (release) and there will be no momentum and no bounce

    • Optional_slideClass?: (swiper: Swiper, slideEl: HTMLElement, classNames: string) => void

      !INTERNAL: Event will fired after setting CSS classes on swiper slide element

    • Optional_slideClasses?: (
          swiper: Swiper,
          slides: { classNames: string; index: number; slideEl: HTMLElement }[],
      ) => void

      !INTERNAL: Event will fired after setting CSS classes on all swiper slides

    • Optional_swiper?: (swiper: Swiper) => void

      !INTERNAL: Event will fired as soon as swiper instance available (before init)

    • OptionalactiveIndexChange?: (swiper: Swiper) => void

      Event will fired on active index change

    • OptionalafterInit?: (swiper: Swiper) => void

      Event will fired right after initialization

    • Optionalautoplay?: (swiper: Swiper) => void

      Event will be fired when slide changed with autoplay

    • OptionalautoplayPause?: (swiper: Swiper) => void

      Event will be fired on autoplay pause

    • OptionalautoplayResume?: (swiper: Swiper) => void

      Event will be fired on autoplay resume

    • OptionalautoplayStart?: (swiper: Swiper) => void

      Event will be fired in when autoplay started

    • OptionalautoplayStop?: (swiper: Swiper) => void

      Event will be fired when autoplay stopped

    • OptionalautoplayTimeLeft?: (swiper: Swiper, timeLeft: number, percentage: number) => void

      Event triggers continuously while autoplay is enabled. It contains time left (in ms) before transition to next slide and percentage of that time related to autoplay delay

    • OptionalbeforeDestroy?: (swiper: Swiper) => void

      Event will be fired right before Swiper destroyed

    • OptionalbeforeInit?: (swiper: Swiper) => void

      Event will fired right before initialization

    • OptionalbeforeLoopFix?: (swiper: Swiper) => void

      Event will be fired right before "loop fix"

    • OptionalbeforeResize?: (swiper: Swiper) => void

      Event will fired before resize handler

    • OptionalbeforeSlideChangeStart?: (swiper: Swiper) => void

      Event will fired before slide change transition start

    • OptionalbeforeTransitionStart?: (swiper: Swiper, speed: number, internal: unknown) => void

      Event will fired before transition start

    • Optionalbreakpoint?: (swiper: Swiper, breakpointParams: SwiperOptions) => void

      Event will be fired on breakpoint change

    • OptionalchangeDirection?: (swiper: Swiper) => void

      Event will fired on direction change

    • Optionalclick?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user click/tap on Swiper. Receives pointerup event as an arguments.

    • Optionaldestroy?: (swiper: Swiper) => void

      Event will be fired on swiper destroy

    • OptionaldoubleClick?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user double click/tap on Swiper

    • OptionaldoubleTap?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user double tap on Swiper's container. Receives pointerup event as an arguments

    • OptionalfromEdge?: (swiper: Swiper) => void

      Event will be fired when Swiper goes from beginning or end position

    • OptionalhashChange?: (swiper: Swiper) => void

      Event will be fired on window hash change

    • OptionalhashSet?: (swiper: Swiper) => void

      Event will be fired when swiper updates the hash

    • Optionalinit?: (swiper: Swiper) => any

      Fired right after Swiper initialization.

      Note that with swiper.on('init') syntax it will work only in case you set init: false parameter.

      const swiper = new Swiper('.swiper', {
      init: false,
      // other parameters
      });
      swiper.on('init', function() {
      // do something
      });
      // init Swiper
      swiper.init();
      // Otherwise use it as the parameter:
      const swiper = new Swiper('.swiper', {
      // other parameters
      on: {
      init: function () {
      // do something
      },
      }
      });
    • OptionalkeyPress?: (swiper: Swiper, keyCode: string) => void

      Event will be fired on key press

    • Optionallock?: (swiper: Swiper) => void

      Event will be fired when swiper is locked (when watchOverflow enabled)

    • OptionalloopFix?: (swiper: Swiper) => void

      Event will be fired after "loop fix"

    • OptionalmomentumBounce?: (swiper: Swiper) => void

      Event will be fired on momentum bounce

    • OptionalnavigationHide?: (swiper: Swiper) => void

      Event will be fired on navigation hide

    • OptionalnavigationNext?: (swiper: Swiper) => void

      Event will be fired on navigation next button click

    • OptionalnavigationPrev?: (swiper: Swiper) => void

      Event will be fired on navigation prev button click

    • OptionalnavigationShow?: (swiper: Swiper) => void

      Event will be fired on navigation show

    • OptionalobserverUpdate?: (swiper: Swiper) => void

      Event will be fired if observer is enabled and it detects DOM mutations

    • Optionalorientationchange?: (swiper: Swiper) => void

      Event will be fired on orientation change (e.g. landscape -> portrait)

    • OptionalpaginationHide?: (swiper: Swiper) => void

      Event will be fired on pagination hide

    • OptionalpaginationRender?: (swiper: Swiper, paginationEl: HTMLElement) => void

      Event will be fired after pagination rendered

    • OptionalpaginationShow?: (swiper: Swiper) => void

      Event will be fired on pagination show

    • OptionalpaginationUpdate?: (swiper: Swiper, paginationEl: HTMLElement) => void

      Event will be fired when pagination updated

    • Optionalprogress?: (swiper: Swiper, progress: number) => void

      Event will be fired when Swiper progress is changed, as an arguments it receives progress that is always from 0 to 1

    • OptionalreachBeginning?: (swiper: Swiper) => void

      Event will be fired when Swiper reach its beginning (initial position)

    • OptionalreachEnd?: (swiper: Swiper) => void

      Event will be fired when Swiper reach last slide

    • OptionalrealIndexChange?: (swiper: Swiper) => void

      Event will fired on real index change

    • Optionalresize?: (swiper: Swiper) => void

      Event will be fired on window resize right before swiper's onresize manipulation

    • Optionalscroll?: (swiper: Swiper, event: WheelEvent) => void

      Event will be fired on mousewheel scroll

    • OptionalscrollbarDragEnd?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired on draggable scrollbar drag end

    • OptionalscrollbarDragMove?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired on draggable scrollbar drag move

    • OptionalscrollbarDragStart?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired on draggable scrollbar drag start

    • OptionalsetTransition?: (swiper: Swiper, transition: number, byController?: boolean | Swiper) => void

      Event will be fired everytime when swiper starts animation. Receives current transition duration (in ms) as an arguments. The optional third argument is set by the Controller module to short-circuit re-propagation between linked Swipers.

    • OptionalsetTranslate?: (swiper: Swiper, translate: number, byController?: boolean | Swiper) => void

      Event will be fired when swiper's wrapper change its position. Receives current translate value as an arguments. The optional third argument is set by the Controller module to short-circuit re-propagation between linked Swipers.

    • OptionalslideChange?: (swiper: Swiper) => void

      Event will be fired when currently active slide is changed

    • OptionalslideChangeTransitionEnd?: (swiper: Swiper) => void

      Event will be fired after animation to other slide (next or previous).

    • OptionalslideChangeTransitionStart?: (swiper: Swiper) => void

      Event will be fired in the beginning of animation to other slide (next or previous).

    • OptionalslideNextTransitionEnd?: (swiper: Swiper) => void

      Same as "slideChangeTransitionEnd" but for "forward" direction only

    • OptionalslideNextTransitionStart?: (swiper: Swiper) => void

      Same as "slideChangeTransitionStart" but for "forward" direction only

    • OptionalslidePrevTransitionEnd?: (swiper: Swiper) => void

      Same as "slideChangeTransitionEnd" but for "backward" direction only

    • OptionalslidePrevTransitionStart?: (swiper: Swiper) => void

      Same as "slideChangeTransitionStart" but for "backward" direction only

    • OptionalslideResetTransitionEnd?: (swiper: Swiper) => void

      Event will be fired in the end of animation of resetting slide to current one

    • OptionalslideResetTransitionStart?: (swiper: Swiper) => void

      Event will be fired in the beginning of animation of resetting slide to current one

    • OptionalsliderFirstMove?: (swiper: Swiper, event: TouchEvent) => void

      Event will be fired with first touch/drag move

    • OptionalsliderMove?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user touch and move finger over Swiper and move it. Receives pointermove event as an arguments.

    • OptionalslidesGridLengthChange?: (swiper: Swiper) => void

      Event will be fired when slides grid has changed

    • OptionalslidesLengthChange?: (swiper: Swiper) => void

      Event will be fired when number of slides has changed

    • OptionalslidesUpdated?: (swiper: Swiper) => void

      Event will be fired after slides and their sizes are calculated and updated

    • OptionalsnapGridLengthChange?: (swiper: Swiper) => void

      Event will be fired when snap grid has changed

    • OptionalsnapIndexChange?: (swiper: Swiper) => void

      Event will fired on snap index change

    • Optionaltap?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user click/tap on Swiper. Receives pointerup event as an arguments.

    • OptionaltoEdge?: (swiper: Swiper) => void

      Event will be fired when Swiper goes to beginning or end position

    • OptionaltouchEnd?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user release Swiper. Receives pointerup event as an arguments.

    • OptionaltouchMove?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user touch and move finger over Swiper. Receives pointermove event as an arguments.

    • OptionaltouchMoveOpposite?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user touch and move finger over Swiper in direction opposite to direction parameter. Receives pointermove event as an arguments.

    • OptionaltouchStart?: (swiper: Swiper, event: PointerEvent | MouseEvent | TouchEvent) => void

      Event will be fired when user touch Swiper. Receives pointerdown event as an arguments.

    • OptionaltransitionEnd?: (swiper: Swiper) => void

      Event will be fired after transition.

    • OptionaltransitionStart?: (swiper: Swiper) => void

      Event will be fired in the beginning of transition.

    • Optionalunlock?: (swiper: Swiper) => void

      Event will be fired when swiper is unlocked (when watchOverflow enabled)

    • Optionalupdate?: (swiper: Swiper) => void

      Event will be fired after swiper.update() call

    • OptionalvirtualUpdate?: (swiper: Swiper) => void

      Event will be fired after the virtual slides DOM has been re-rendered (either internally by the module or after a renderExternal round-trip).

    • OptionalzoomChange?: (
          swiper: Swiper,
          scale: number,
          imageEl: HTMLElement,
          slideEl: HTMLElement,
      ) => void

      Event will be fired on zoom change

    onAbort?: ReactEventHandler<HTMLElement>
    onAbortCapture?: ReactEventHandler<HTMLElement>
    onAnimationEnd?: AnimationEventHandler<HTMLElement>
    onAnimationEndCapture?: AnimationEventHandler<HTMLElement>
    onAnimationIteration?: AnimationEventHandler<HTMLElement>
    onAnimationIterationCapture?: AnimationEventHandler<HTMLElement>
    onAnimationStart?: AnimationEventHandler<HTMLElement>
    onAnimationStartCapture?: AnimationEventHandler<HTMLElement>
    onAuxClick?: MouseEventHandler<HTMLElement>
    onAuxClickCapture?: MouseEventHandler<HTMLElement>
    onBeforeInput?: InputEventHandler<HTMLElement>
    onBeforeInputCapture?: FormEventHandler<HTMLElement>
    onBeforeToggle?: ToggleEventHandler<HTMLElement>
    onBlur?: FocusEventHandler<HTMLElement>
    onBlurCapture?: FocusEventHandler<HTMLElement>
    onCanPlay?: ReactEventHandler<HTMLElement>
    onCanPlayCapture?: ReactEventHandler<HTMLElement>
    onCanPlayThrough?: ReactEventHandler<HTMLElement>
    onCanPlayThroughCapture?: ReactEventHandler<HTMLElement>
    onChange?: FormEventHandler<HTMLElement>
    onChangeCapture?: FormEventHandler<HTMLElement>
    onClickCapture?: MouseEventHandler<HTMLElement>
    onCompositionEnd?: CompositionEventHandler<HTMLElement>
    onCompositionEndCapture?: CompositionEventHandler<HTMLElement>
    onCompositionStart?: CompositionEventHandler<HTMLElement>
    onCompositionStartCapture?: CompositionEventHandler<HTMLElement>
    onCompositionUpdate?: CompositionEventHandler<HTMLElement>
    onCompositionUpdateCapture?: CompositionEventHandler<HTMLElement>
    onContextMenu?: MouseEventHandler<HTMLElement>
    onContextMenuCapture?: MouseEventHandler<HTMLElement>
    onCopy?: ClipboardEventHandler<HTMLElement>
    onCopyCapture?: ClipboardEventHandler<HTMLElement>
    onCut?: ClipboardEventHandler<HTMLElement>
    onCutCapture?: ClipboardEventHandler<HTMLElement>
    onDoubleClickCapture?: MouseEventHandler<HTMLElement>
    onDrag?: DragEventHandler<HTMLElement>
    onDragCapture?: DragEventHandler<HTMLElement>
    onDragEnd?: DragEventHandler<HTMLElement>
    onDragEndCapture?: DragEventHandler<HTMLElement>
    onDragEnter?: DragEventHandler<HTMLElement>
    onDragEnterCapture?: DragEventHandler<HTMLElement>
    onDragExit?: DragEventHandler<HTMLElement>
    onDragExitCapture?: DragEventHandler<HTMLElement>
    onDragLeave?: DragEventHandler<HTMLElement>
    onDragLeaveCapture?: DragEventHandler<HTMLElement>
    onDragOver?: DragEventHandler<HTMLElement>
    onDragOverCapture?: DragEventHandler<HTMLElement>
    onDragStart?: DragEventHandler<HTMLElement>
    onDragStartCapture?: DragEventHandler<HTMLElement>
    onDrop?: DragEventHandler<HTMLElement>
    onDropCapture?: DragEventHandler<HTMLElement>
    onDurationChange?: ReactEventHandler<HTMLElement>
    onDurationChangeCapture?: ReactEventHandler<HTMLElement>
    onEmptied?: ReactEventHandler<HTMLElement>
    onEmptiedCapture?: ReactEventHandler<HTMLElement>
    onEncrypted?: ReactEventHandler<HTMLElement>
    onEncryptedCapture?: ReactEventHandler<HTMLElement>
    onEnded?: ReactEventHandler<HTMLElement>
    onEndedCapture?: ReactEventHandler<HTMLElement>
    onError?: ReactEventHandler<HTMLElement>
    onErrorCapture?: ReactEventHandler<HTMLElement>
    oneWayMovement?: boolean

    When enabled, will swipe slides only forward (one-way) regardless of swipe direction

    false
    
    onFocus?: FocusEventHandler<HTMLElement>
    onFocusCapture?: FocusEventHandler<HTMLElement>
    onGotPointerCapture?: PointerEventHandler<HTMLElement>
    onGotPointerCaptureCapture?: PointerEventHandler<HTMLElement>
    onInput?: FormEventHandler<HTMLElement>
    onInputCapture?: FormEventHandler<HTMLElement>
    onInvalid?: FormEventHandler<HTMLElement>
    onInvalidCapture?: FormEventHandler<HTMLElement>
    onKeyDown?: KeyboardEventHandler<HTMLElement>
    onKeyDownCapture?: KeyboardEventHandler<HTMLElement>
    onKeyPressCapture?: KeyboardEventHandler<HTMLElement>

    Use onKeyUpCapture or onKeyDownCapture instead

    onKeyUp?: KeyboardEventHandler<HTMLElement>
    onKeyUpCapture?: KeyboardEventHandler<HTMLElement>
    onLoad?: ReactEventHandler<HTMLElement>
    onLoadCapture?: ReactEventHandler<HTMLElement>
    onLoadedData?: ReactEventHandler<HTMLElement>
    onLoadedDataCapture?: ReactEventHandler<HTMLElement>
    onLoadedMetadata?: ReactEventHandler<HTMLElement>
    onLoadedMetadataCapture?: ReactEventHandler<HTMLElement>
    onLoadStart?: ReactEventHandler<HTMLElement>
    onLoadStartCapture?: ReactEventHandler<HTMLElement>
    onLostPointerCapture?: PointerEventHandler<HTMLElement>
    onLostPointerCaptureCapture?: PointerEventHandler<HTMLElement>
    onMouseDown?: MouseEventHandler<HTMLElement>
    onMouseDownCapture?: MouseEventHandler<HTMLElement>
    onMouseEnter?: MouseEventHandler<HTMLElement>
    onMouseLeave?: MouseEventHandler<HTMLElement>
    onMouseMove?: MouseEventHandler<HTMLElement>
    onMouseMoveCapture?: MouseEventHandler<HTMLElement>
    onMouseOut?: MouseEventHandler<HTMLElement>
    onMouseOutCapture?: MouseEventHandler<HTMLElement>
    onMouseOver?: MouseEventHandler<HTMLElement>
    onMouseOverCapture?: MouseEventHandler<HTMLElement>
    onMouseUp?: MouseEventHandler<HTMLElement>
    onMouseUpCapture?: MouseEventHandler<HTMLElement>
    onPaste?: ClipboardEventHandler<HTMLElement>
    onPasteCapture?: ClipboardEventHandler<HTMLElement>
    onPause?: ReactEventHandler<HTMLElement>
    onPauseCapture?: ReactEventHandler<HTMLElement>
    onPlay?: ReactEventHandler<HTMLElement>
    onPlayCapture?: ReactEventHandler<HTMLElement>
    onPlaying?: ReactEventHandler<HTMLElement>
    onPlayingCapture?: ReactEventHandler<HTMLElement>
    onPointerCancel?: PointerEventHandler<HTMLElement>
    onPointerCancelCapture?: PointerEventHandler<HTMLElement>
    onPointerDown?: PointerEventHandler<HTMLElement>
    onPointerDownCapture?: PointerEventHandler<HTMLElement>
    onPointerEnter?: PointerEventHandler<HTMLElement>
    onPointerLeave?: PointerEventHandler<HTMLElement>
    onPointerMove?: PointerEventHandler<HTMLElement>
    onPointerMoveCapture?: PointerEventHandler<HTMLElement>
    onPointerOut?: PointerEventHandler<HTMLElement>
    onPointerOutCapture?: PointerEventHandler<HTMLElement>
    onPointerOver?: PointerEventHandler<HTMLElement>
    onPointerOverCapture?: PointerEventHandler<HTMLElement>
    onPointerUp?: PointerEventHandler<HTMLElement>
    onPointerUpCapture?: PointerEventHandler<HTMLElement>
    onProgressCapture?: ReactEventHandler<HTMLElement>
    onRateChange?: ReactEventHandler<HTMLElement>
    onRateChangeCapture?: ReactEventHandler<HTMLElement>
    onReset?: FormEventHandler<HTMLElement>
    onResetCapture?: FormEventHandler<HTMLElement>
    onScrollCapture?: UIEventHandler<HTMLElement>
    onScrollEnd?: UIEventHandler<HTMLElement>
    onScrollEndCapture?: UIEventHandler<HTMLElement>
    onSeeked?: ReactEventHandler<HTMLElement>
    onSeekedCapture?: ReactEventHandler<HTMLElement>
    onSeeking?: ReactEventHandler<HTMLElement>
    onSeekingCapture?: ReactEventHandler<HTMLElement>
    onSelect?: ReactEventHandler<HTMLElement>
    onSelectCapture?: ReactEventHandler<HTMLElement>
    onStalled?: ReactEventHandler<HTMLElement>
    onStalledCapture?: ReactEventHandler<HTMLElement>
    onSubmit?: FormEventHandler<HTMLElement>
    onSubmitCapture?: FormEventHandler<HTMLElement>
    onSuspend?: ReactEventHandler<HTMLElement>
    onSuspendCapture?: ReactEventHandler<HTMLElement>
    onSwiper?: (swiper: Swiper) => void
    onTimeUpdate?: ReactEventHandler<HTMLElement>
    onTimeUpdateCapture?: ReactEventHandler<HTMLElement>
    onToggle?: ToggleEventHandler<HTMLElement>
    onTouchCancel?: TouchEventHandler<HTMLElement>
    onTouchCancelCapture?: TouchEventHandler<HTMLElement>
    onTouchEndCapture?: TouchEventHandler<HTMLElement>
    onTouchMoveCapture?: TouchEventHandler<HTMLElement>
    onTouchStartCapture?: TouchEventHandler<HTMLElement>
    onTransitionCancel?: TransitionEventHandler<HTMLElement>
    onTransitionCancelCapture?: TransitionEventHandler<HTMLElement>
    onTransitionEndCapture?: TransitionEventHandler<HTMLElement>
    onTransitionRun?: TransitionEventHandler<HTMLElement>
    onTransitionRunCapture?: TransitionEventHandler<HTMLElement>
    onTransitionStart?: TransitionEventHandler<HTMLElement>
    onTransitionStartCapture?: TransitionEventHandler<HTMLElement>
    onVolumeChange?: ReactEventHandler<HTMLElement>
    onVolumeChangeCapture?: ReactEventHandler<HTMLElement>
    onWaiting?: ReactEventHandler<HTMLElement>
    onWaitingCapture?: ReactEventHandler<HTMLElement>
    onWheel?: WheelEventHandler<HTMLElement>
    onWheelCapture?: WheelEventHandler<HTMLElement>
    pagination?: boolean | PaginationOptions

    Object with pagination parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    pagination: {
    el: '.swiper-pagination',
    type: 'bullets',
    },
    });
    parallax?: boolean | ParallaxOptions

    Object with parallax parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    parallax: true,
    });
    part?: string
    passiveListeners?: boolean

    Passive event listeners will be used by default where possible to improve scrolling performance on mobile devices. But if you need to use e.preventDefault and you have conflict with it, then you should disable this parameter

    true
    
    popover?: "" | "auto" | "manual" | "hint"
    popoverTarget?: string
    popoverTargetAction?: "toggle" | "show" | "hide"
    prefix?: string
    preventClicks?: boolean

    Set to true to prevent accidental unwanted clicks on links during swiping

    true
    
    preventClicksPropagation?: boolean

    Set to true to stop clicks event propagation on links during swiping

    true
    
    preventInteractionOnTransition?: boolean

    When enabled it won't allow to change slides by swiping or navigation/pagination buttons during transition

    false
    
    property?: string
    radioGroup?: string
    rel?: string
    resistance?: boolean

    Set to false if you want to disable resistant bounds

    true
    
    resistanceRatio?: number

    This option allows you to control resistance ratio

    0.85
    
    resizeObserver?: boolean

    When enabled it will use ResizeObserver (if supported by browser) on swiper container to detect container resize (instead of watching for window resize)

    true
    
    resource?: string
    results?: number
    rev?: string
    rewind?: boolean

    Set to true to enable "rewind" mode. When enabled, clicking "next" navigation button (or calling .slideNext()) when on last slide will slide back to the first slide. Clicking "prev" navigation button (or calling .slidePrev()) when on first slide will slide forward to the last slide.

    false
    

    Should not be used together with loop mode

    role?: AriaRole
    roundLengths?: boolean

    Set to true to round values of slides width and height to prevent blurry texts on usual resolution screens (if you have such)

    false
    
    runCallbacksOnInit?: boolean

    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

    true
    
    scrollbar?: boolean | ScrollbarOptions

    Object with scrollbar parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    scrollbar: {
    el: '.swiper-scrollbar',
    draggable: true,
    },
    });
    security?: string
    setWrapperSize?: 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

    false
    
    shortSwipes?: boolean

    Set to false if you want to disable short swipes

    true
    
    simulateTouch?: boolean

    If true, Swiper will accept mouse events like touch events (click and drag to change slides)

    true
    
    slideActiveClass?: string

    CSS class name of currently active slide

    'swiper-slide-active'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue components

    slideBlankClass?: string

    CSS class name of the blank slide added by the loop mode (when loopAddBlankSlides is enabled)

    'swiper-slide-blank'
    

    Not supported in Swiper React/Vue

    slideClass?: string

    CSS class name of slide

    'swiper-slide'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue components

    slideFullyVisibleClass?: string

    CSS class name of fully (when whole slide is in the viewport) visible slide

    'swiper-slide-fully-visible'
    

    Not supported in Swiper React/Vue

    slideNextClass?: string

    CSS class name of slide which is right after currently active slide

    'swiper-slide-next'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue

    slidePrevClass?: string

    CSS class name of slide which is right before currently active slide

    'swiper-slide-prev'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue

    slidesOffsetAfter?: number

    Add (in px) additional slide offset in the end of the container (after all slides)

    0
    
    slidesOffsetBefore?: number

    Add (in px) additional slide offset in the beginning of the container (before all slides)

    0
    
    slidesPerGroup?: number

    Set numbers of slides to define and enable group sliding. Useful to use with slidesPerView > 1

    1
    
    slidesPerGroupAuto?: boolean

    This param intended to be used only with slidesPerView: 'auto' and slidesPerGroup: 1. When enabled, it will skip all slides in view on .slideNext() & .slidePrev() methods calls, on Navigation "buttons" clicks and in autoplay.

    false
    
    slidesPerGroupSkip?: number

    The parameter works in the following way: If slidesPerGroupSkip equals 0 (default), no slides are excluded from grouping, and the resulting behaviour is the same as without this change.

    If slidesPerGroupSkip is equal or greater than 1 the first X slides are treated as single groups, whereas all following slides are grouped by the slidesPerGroup value.

    0
    
    slidesPerView?: number | "auto"

    Number of slides per view (slides visible at the same time on slider's container).

    slidesPerView: 'auto' is currently not compatible with multirow mode, when grid.rows > 1

    1
    
    slideToClickedSlide?: boolean

    Set to true and click on any slide will produce transition to this slide

    false
    
    slideVisibleClass?: string

    CSS class name of currently/partially visible slide

    'swiper-slide-visible'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue

    slot?: string
    snapToSlideEdge?: boolean

    When enabled, the swiper will always snap to slide edges rather than arbitrary positions. This prevents partial slides from appearing misaligned at the end of the swiper. Only applies when slidesPerView is fractional or 'auto', and is ignored in loop and centeredSlides modes.

    false
    
    spaceBetween?: string | number

    Distance between slides in px.

    0
    

    If you use "margin" css property to the elements which go into Swiper in which you pass "spaceBetween" into, navigation might not work properly.

    speed?: number

    Duration of transition between slides (in ms)

    300
    
    spellCheck?: Booleanish
    style?: CSSProperties
    suppressContentEditableWarning?: boolean
    suppressHydrationWarning?: boolean
    swipeHandler?: CSSSelector | HTMLElement | null

    String with CSS selector or HTML element of the container with pagination that will work as only available handler for swiping

    null
    
    swiperElementNodeName?: string

    The name of the swiper element node name; used for detecting web component rendering

    'SWIPER-CONTAINER'
    
    tabIndex?: number
    tag?: string
    threshold?: number

    Threshold value in px. If "touch distance" will be lower than this value then swiper will not move

    5
    
    thumbs?: ThumbsOptions

    Object with thumbs component parameters

    const swiper = new Swiper('.swiper', {
    ...
    thumbs: {
    swiper: thumbsSwiper
    }
    });
    title?: string
    touchAngle?: number

    Allowable angle (in degrees) to trigger touch move

    45
    
    touchEventsTarget?: "container" | "wrapper"

    Target element to listen touch events on. Can be 'container' (to listen for touch events on swiper) or 'wrapper' (to listen for touch events on swiper-wrapper)

    'wrapper'
    
    touchMoveStopPropagation?: boolean

    If enabled, then propagation of "touchmove" will be stopped

    false
    
    touchRatio?: number

    Touch ratio

    1
    
    touchReleaseOnEdges?: boolean

    Enable to release touch events on slider edge position (beginning, end) to allow for further page scrolling. This feature works only with "touch" events (and not pointer events), so it will work on iOS/Android devices and won't work on Windows devices with pointer events. Also threshold parameter must be set to 0

    false
    
    touchStartForcePreventDefault?: boolean

    Force to always prevent default for touchstart (pointerdown) event

    false
    
    touchStartPreventDefault?: boolean

    If disabled, pointerdown event won't be prevented

    true
    
    translate?: "yes" | "no"
    typeof?: string
    uniqueNavElements?: 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

    true
    
    unselectable?: "off" | "on"
    updateOnWindowResize?: boolean

    Swiper will recalculate slides position on window resize (orientationchange)

    true
    
    url?: string | null

    Required for active slide detection when rendered on server-side and enabled history

    null
    
    userAgent?: string | null

    userAgent string. Required for browser/device detection when rendered on server-side

    null
    
    virtual?: boolean | VirtualOptions<unknown>

    Enables virtual slides functionality. Object with virtual slides parameters or boolean true to enable with default settings.

    const swiper = new Swiper('.swiper', {
    virtual: {
    slides: ['Slide 1', 'Slide 2', 'Slide 3', 'Slide 4', 'Slide 5'],
    },
    });
    virtualTranslate?: boolean

    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

    false
    
    vocab?: string
    watchOverflow?: boolean

    When enabled Swiper will be disabled and hide navigation buttons on case there are not enough slides for sliding.

    true
    
    watchSlidesProgress?: boolean

    Enable this feature to calculate each slides progress and visibility (slides in viewport will have additional visible class)

    false
    
    width?: number | null

    Swiper width (in px). Parameter allows to force Swiper width. Useful only if you initialize Swiper when it is hidden and in SSR and Test environments for correct Swiper initialization

    null
    

    Setting this parameter will make Swiper not responsive

    wrapperClass?: string

    CSS class name of slides' wrapper

    'swiper-wrapper'
    

    By changing classes you will also need to change Swiper's CSS to reflect changed classes

    Not supported in Swiper React/Vue

    wrapperTag?: string
    zoom?: boolean | ZoomOptions

    Enables zooming functionality. Object with zoom parameters or boolean true to enable with default settings

    const swiper = new Swiper('.swiper', {
    zoom: {
    maxRatio: 5,
    },
    });

    Methods

    • Parameters

      • eventName: string
      • ...args: any[]

      Returns void