Git Product home page Git Product logo

vue-popper-lite's Introduction

vue-popper-lite

A popover component based on popper-lite for Vue 3 support typescript

Example

Using Vue Popper Lite from Vue SFC

Vue SFC Playground

Using Vue Popper Lite from CDN

Vue from CDN

Install

NPM

npm install vue-popper-lite

Yarn

yarn add vue-popper-lite

PNPM

pnpm add vue-popper-lite

CDN

Recommended: https://unpkg.com/vue-popper-lite, which will reflect the latest version as soon as it is published to npm. You can also browse the source of the npm package at https://unpkg.com/vue-popper-lite/

Usage

Vue environment

<!-- If your content is only a simple string, you can use the content prop -->
<template>
  <v-popper content="This is the Popper content">
    <button slot="reference">
      Reference Element
    </button>
  </v-popper>
</template>

<!-- If your content is more complex, you can use the content slot -->
<template>
  <v-popper>
    <div>This is the Popper content</div>
    <template #reference>
        <button>Trigger element</button>
    </template>
  </v-popper>
</template>

<script>
  import { defineComponent } from "vue";
  import { Popper } from "vue-popper-lite";
  import "vue-popper-lite/style.css";

  export default defineComponent({
    components: {
      'VPopper': Popper,
    },
  });
</script>

Props

Name Type Default Description
trigger String hover Optional value:
  • hover - hover to open popper content
  • clickToOpen - every click on the popper triggers open, only clicking outside of the popper closes it
  • clickToToggle - click on the popper toggles it's visibility
placement String bottom Preferred placement of the Popper
delay-on-mouse-over Number 10 Delay in ms before showing popper during a mouse over
delay-on-mouse-out Number 10 Delay in ms before hiding popper during a mouse out
disabled Boolean false Disables the Popper. If it was already open, it will be closed.
content String null If your content is just a simple string, you can pass it as a prop
transition String empty Custom transition class
enter-active-class String null Custom transition class enter
leave-active-class String null Custom transition class leave
force-show Boolean false Force show popper
append-to-body Boolean false Append content to body
visible-arrow Boolean true Visible an arrow on the Popper
arrow-padding Number 0 Stop arrow from reaching the edge of the Popper (in pixels)
enable-flip Boolean true Popper into place, it will not flip dynamically when it runs out of space if this is set to false
offset-kidding Number 0 Offset in pixels along the trigger element
offset-distance Number 8 Offset in pixels away from the trigger element
stop-propagation Boolean false Stop propagation event click
prevent-default Boolean false Prevent default event click
strategy String absolute Describes the positioning strategy to use. If your reference element is in a fixed container, use the fixed strategy
content-class String empty Class name for content element

Events

Name Description
created Created popper component
show Show popover
hide Hide popover
document-click

Slots

Name Description
default For the Popper content
reference For Trigger the Popper

CSS variables

Popper also uses a list of predefined CSS variables. You can overwrite these variables to suit your needs.

CSS variable Example value
--popper-background #333333
--popper-color #ffffff
--popper-padding 8px
--popper-radius 4px
--popper-arrow-width 8px
--popper-arrow-height 8px

Development Setup

# install dependencies
pnpm install

# build dist files
pnpm build

# build dist files and types
pnpm prepublishOnly

vue-popper-lite's People

Contributors

jambonn avatar phucpham095 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

erikpham

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.