Skip to content

hyjiacan/vue-slideout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f1647e0 · Dec 8, 2023
Dec 8, 2023
Dec 8, 2023
Mar 10, 2021
Dec 8, 2023
Dec 29, 2021
May 30, 2019
Mar 10, 2021
Dec 24, 2021
Dec 16, 2022
Dec 16, 2022
Oct 14, 2019
Mar 10, 2021
Dec 16, 2022
Dec 16, 2022
Mar 10, 2021
Dec 8, 2023
Dec 17, 2020
Dec 30, 2020
Dec 16, 2022

Repository files navigation

Slideout

NPM Travis (.org) npm (scoped) npm bundle size (scoped) npm Coverage Status jsdelivr

A Slide-Out component for Vue3

Dependencies

  • Vue.js 3.x
  • Less

Install

NodeJS ENV (commonjs)

npm i @hyjiacan/vue-slideout@3

or

yarn add @hyjiacan/vue-slideout@3

If you need compatible with Vue.js 2.x, use version @hyjiacan/vue-slideout@2.

You can get the latest code:

git clone https://github.com/hyjiacan/vue-slideout.git

or just download archive

Browser ENV (umd)

Like node-env, a global Slideout will be attached onto window.

The newest version

<script src="https://cdn.jsdelivr.net/npm/@hyjiacan/vue-slideout/dist/slideout.umd.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@hyjiacan/vue-slideout/dist/slideout.css"/>

Specified version

<script src="https://cdn.jsdelivr.net/npm/@hyjiacan/vue-slideout@<VERSION>/dist/slideout.umd.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@hyjiacan/vue-slideout@<VERSION>/dist/slideout.css"/>

unpkg is also available: instead cdn.jsdelivr.net with unpkg.com.

Also, you can use the uncompressed dist by instead slideout.umd.min.js with slideout.umd.js

Usage

Global (recommended)

main.js

import Vue from 'vue'
import Slideout from '@hyjiacan/vue-slideout'
import '@hyjiacan/vue-slideout/dist/slideout.css'

// import Slideout component, and set the defaults props
Vue.use(Slideout, {
  // set default props here
})

In Component

Foobar.vue

<template>
  <slideout @closing="onClosing" v-model="visible" title="The title">
    <div>content</div>
  </slideout>
</template>
<script>
import Slideout from '@hyjiacan/vue-slideout'
import '@hyjiacan/vue-slideout/dist/slideout.css'

export default {
  name: 'Foobar',
  components: { Slideout },
  data () {
    return {
      visible: false
    }
  },
  methods: {
    onClosing (e) {
      // prevent close and wait
      e.pause = true
      // close after 3 seconds
      setTimeout(() => {
        // assign true to close, do nothing or assign false to cancel close.
        e.resume = true
      }, 3000)
    }
  }
}
</script>

Try it on the fly CodePen

Development

yarn
# start dev server
yarn serve
# Build library
yarn release