# @pluginjs/popover

> A flexible modern popover js plugin.

Latest version **0.8.12** (published 2022-08-29) · GPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install @pluginjs/popover
pnpm add @pluginjs/popover
yarn add @pluginjs/popover
bun add @pluginjs/popover
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.8.12 |
| Published | 2022-08-29 |
| First published | 2017-12-26 |
| Weekly downloads | 0 |
| License | GPL-3.0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >= 8 |
| Dependencies | 9 |
| Unpacked size | 52.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 17 |
| Author | Creation Studio Limited |
| Maintainers | thecreation, kaptinlin |

## Links

- npm: https://www.npmjs.com/package/@pluginjs/popover
- Repository: https://github.com/pluginjs/pluginjs
- Homepage: https://pluginjs.com
- Issues: https://github.com/pluginjs/pluginjs/issues
- npm.io page: https://npm.io/package/@pluginjs/popover

## Dependencies (9)

- [@pluginjs/is](https://npm.io/package/@pluginjs/is.md) ^0.8.9
- [@pluginjs/dom](https://npm.io/package/@pluginjs/dom.md) ^0.8.10
- [@pluginjs/utils](https://npm.io/package/@pluginjs/utils.md) ^0.8.10
- [@pluginjs/events](https://npm.io/package/@pluginjs/events.md) ^0.8.11
- [@pluginjs/classes](https://npm.io/package/@pluginjs/classes.md) ^0.8.10
- [@pluginjs/factory](https://npm.io/package/@pluginjs/factory.md) ^0.8.10
- [@pluginjs/tooltip](https://npm.io/package/@pluginjs/tooltip.md) ^0.8.12
- [@pluginjs/template](https://npm.io/package/@pluginjs/template.md) ^0.8.10
- [@pluginjs/decorator](https://npm.io/package/@pluginjs/decorator.md) ^0.8.11

## Recent versions

- 0.8.12 (latest) — 2022-08-29
- 0.8.11 — 2022-01-08
- 0.8.10 — 2021-09-26
- 0.8.9 — 2021-07-19
- 0.8.8 — 2021-04-30
- 0.8.7 — 2021-03-25
- 0.8.6 — 2021-03-01
- 0.8.5 — 2020-08-27
- 0.8.4 — 2020-07-11
- 0.8.3 — 2020-02-11
- 0.8.2 — 2020-02-11
- 0.7.25 — 2019-12-17
- 0.7.24 — 2019-12-16
- 0.7.23 — 2019-12-16
- 0.7.22 — 2019-12-16
- … 47 more at https://npm.io/package/@pluginjs/popover/versions

## README

# Popover

[![npm package](https://img.shields.io/npm/v/@pluginjs/popover.svg)](https://www.npmjs.com/package/@pluginjs/popover)

A flexible modern popover js plugin.

**[Samples](https://codesandbox.io/s/github/pluginjs/pluginjs/tree/master/modules/popover/samples)**

## Introduction
### Installation

#### Yarn

```javascript
yarn add @pluginjs/popover
```

#### NPM

```javascript
npm i @pluginjs/popover
```

## Getting Started

**CDN:**

Development:

```html
<script src="https://unpkg.com/@pluginjs/popover/dist/popover.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/popover/dist/popover.css">
```

Production:

```html
<script src="https://unpkg.com/@pluginjs/popover/dist/popover.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/popover/dist/popover.min.css">
```

### Initialize

HTML:

```html
<div class="element"></div>
```

ECMAScript Module:

```javascript
import Popover from "@pluginjs/popover"
import "@pluginjs/popover/dist/popover.css"

Popover.of(document.querySelector('.element'), options)
```

CommonJS:

```javascript
require("@pluginjs/popover/dist/popover.css")
const Popover = require("@pluginjs/popover")

Popover.of(document.querySelector('.element'), options)
```

Browser:

```html
<link rel="stylesheet" href="https://unpkg.com/@pluginjs/popover/dist/popover.css">
<script src="https://unpkg.com/@pluginjs/popover/dist/popover.js"></script>
<script>
  Pj.popover('.element', options)
</script>
```

## API

### Options

Options are called on popover instances through the popover options itself.
You can also save the instances to variable for further use.

Name | Description | Default
--|--|--
`"template"` | Set default template | `function() {...}`
`"templates"` | Set default templates | `{}`
`"content"` | Set content | ``
`"html"` | Set html | `true`
`"close"` | Set close | `false`
`"trigger"` | Set trigger | `click`
`"hideOutClick"` | Set hideOutClick | `true`
`"placement"` | Set placement | `right`

### Events

Events are called on popover instances through the popover events itself.
You can also save the instances to variable for further use.

Name | Description
--|--
`"ready"` | Gets fired when plugin has ready
`"enable"` | Gets fired when plugin has enabled
`"disable"` | Gets fired when plugin has disabled
`"destroy"` | Gets fired when plugin has destroy
`"hide"` | Gets fired when plugin has hide
`"hidden"` | Gets fired when plugin has hidden
`"show"` | Gets fired when plugin has show
`"shown"` | Gets fired when plugin has shown
`"inserted"` | Gets fired when plugin has inserted

### Methods

Methods are called on popover instances through the popover method itself.
You can also save the instances to variable for further use.

Name | Description
--|--
`"show"` | Show plugin if it is hiden
`"hide"` | Hide plugin
`"toggle"` | Toggle plugin
`"enable"` | Enabled plugin if plugin is disabled
`"disable"` | Disable plugin
`"destroy"` | Destroy plugin

### Classes

Name | Description | Default
--||
`"NAMESPACE"` | Declare plugin namespace | `pj-popover`
`"THEME"` | Declare plugin theme | `{namespace}--{theme}`
`"POPOVER"` | Declare plugin popover | `{namespace}`
`"CONTENT"` | Declare plugin content | `{namespace}-content`
`"TITLE"` | Declare plugin title | `{namespace}-title`
`"CLOSE"` | Declare plugin close | `{namespace}-close`
`"SHOW"` | Declare plugin show | `{namespace}-show`
`"FADE"` | Declare plugin fade | `{namespace}-fade`
`"DISABLED"` | Announce plugin is disabled | `{namespace}-disabled`

## Browser support

Tested on all major browsers.

| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera |
| --------- | --------- | --------- | --------- | --------- |
| IE11, Edge| last 2 versions| last 2 versions| last 2 versions| last 2 versions|

## License

@pluginjs/popover is Licensed under [the GPL-v3 license](LICENSE).

If you want to use @pluginjs/popover project to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary.

For purchase an Commercial License, contact us purchase@thecreation.co.

## Copyright

Copyright (C) 2022 [Creation Studio Limited](creationstudio.com).

---
_Source: https://npm.io/package/@pluginjs/popover · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
