svelte-swipe

Svelte Swipe with zero dependencies :fire: :boom:

  • Owner: SharifClick/svelte-swipe
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Svelte Swipe

NPM version NPM downloads

Swipable items wrapper component for Svelte :fire: :boom: (zero dependencies - 3.37 KB gzipped)

View the demo.

Installation

npm i svelte-swipe

Usage

<script>

  import { Swipe, SwipeItem } from "svelte-swipe"; // gzipped 3.37 KB

  let autoplay = false;
  let delay = 2000; //ms
  let showIndicators = true;
  let transitionDuration = 1000; //ms
  let defaultIndex = 0; //start from 0

</script>

<style>
  .swipe-holder{
    height: 30vh;
    width: 100%;
  }
  img{
    max-width: 100%;
    height: auto;
  }
</style>

<div class="swipe-holder">
  <Swipe {showIndicators} {autoplay} {delay} {transitionDuration} {defaultIndex}>
    <SwipeItem>
      <img src="./images/1.jpg" alt="">
    </SwipeItem>

    <SwipeItem>
      <img src="./images/2.jpg" alt="">
    </SwipeItem>

    <SwipeItem>
      <img src="./images/3.jpg" alt="">
    </SwipeItem>

    <SwipeItem>
      <img src="./images/4.jpg" alt="">
    </SwipeItem>
  </Swipe>
</div>

Pointer event inside Swipe Item

<style>
   ...

  .has-pointer-event{
    pointer-events:fill;
  }
</style>

<div class="swipe-holder">
  <Swipe>
    <SwipeItem>
      <div>
        <button class="has-pointer-event" on:click={sayHi}>Say Hi</button>
      </div>
    </SwipeItem>
    ...
  </Swipe>
</div>

Programmatically change slides


<script>
  let SwipeComp;

  function nextSlide(){
   SwipeComp.nextItem()
  }

  function prevSlide(){
    SwipeComp.prevItem()
  }

</script>
<div class="swipe-holder">
  <Swipe bind:this={SwipeComp}>
    <SwipeItem>....</SwipeItem>
    ...
  </Swipe>
</div>
<div class="buttons-holder">
  <button type="button" on:click={prevSlide}>Prev</button>
  <button type="button" on:click={nextSlide}>Next</button>
</div>

Default css custom properties


  :root{
    --sv-swipe-panel-height: inherit;
    --sv-swipe-panel-width: inherit;
    --sv-swipe-panel-wrapper-index: 2;
    --sv-swipe-indicator-active-color: grey;
  }

Props, Name, Type, Description, Required, Default, ---, ---, ---, ---, ---, autoplay, Boolean, Play items as slide, No, false, showIndicators, Boolean, appears clickable circle indicators bottom center of item, No, false, transitionDuration, Number, staying duration of per slide/swipe item, No, 200 *ms, delay, Number, transition delay, No, 1000 *ms, defaultIndex, Number, initial item index, No, 0, ## NPM Statistics

Download stats for this NPM package

NPM

Scan qr code to see url in your device

demo-url

Main metrics

Overview
Name With OwnerSharifClick/svelte-swipe
Primary LanguageSvelte
Program languageJavaScript (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2019-08-25 16:15:34
Pushed At2024-02-29 19:15:25
Last Commit At2023-11-10 19:17:58
Release Count17
Last Release Name2.0.4 (Posted on )
First Release Name1.0.0 (Posted on )
用户参与
Stargazers Count389
Watchers Count7
Fork Count24
Commits Count406
Has Issues Enabled
Issues Count47
Issue Open Count17
Pull Requests Count21
Pull Requests Open Count3
Pull Requests Close Count12
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private