Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andregoncalves/st-popup-menu
st-popup-menu is a web component to easily display a popup menu on hover (or click) another element.
https://github.com/andregoncalves/st-popup-menu
jsx popup stencil stenciljs-components webcomponents
Last synced: 23 days ago
JSON representation
st-popup-menu is a web component to easily display a popup menu on hover (or click) another element.
- Host: GitHub
- URL: https://github.com/andregoncalves/st-popup-menu
- Owner: andregoncalves
- License: mit
- Created: 2018-08-15T17:10:31.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-01T19:27:15.000Z (about 6 years ago)
- Last Synced: 2024-03-25T16:44:39.678Z (10 months ago)
- Topics: jsx, popup, stencil, stenciljs-components, webcomponents
- Language: TypeScript
- Homepage:
- Size: 74.2 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
![Built With Stencil](https://img.shields.io/badge/-Built%20With%20Stencil-16161d.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI%2BCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU%2BCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MjQuNywzNzMuOWMwLDM3LjYtNTUuMSw2OC42LTkyLjcsNjguNkgxODAuNGMtMzcuOSwwLTkyLjctMzAuNy05Mi43LTY4LjZ2LTMuNmgzMzYuOVYzNzMuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyNC43LDI5Mi4xSDE4MC40Yy0zNy42LDAtOTIuNy0zMS05Mi43LTY4LjZ2LTMuNkgzMzJjMzcuNiwwLDkyLjcsMzEsOTIuNyw2OC42VjI5Mi4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDI0LjcsMTQxLjdIODcuN3YtMy42YzAtMzcuNiw1NC44LTY4LjYsOTIuNy02OC42SDMzMmMzNy45LDAsOTIuNywzMC43LDkyLjcsNjguNlYxNDEuN3oiLz4KPC9zdmc%2BCg%3D%3D&colorA=16161d&style=flat-square)
# st-popup-menu
st-popup-menu is a web component built with [Stencil](https://stenciljs.com/) to easily display a popup menu on hover (or click) another element.
## Demo
## Getting Started
To try this component:
```bash
git clone [email protected]:andregoncalves/st-popup-menu.git
cd st-popup-menu
git remote rm origin
```and run:
```bash
npm install
npm start
```## Using this component
### Script tag
- Put `` in the head of your index.html
- Then you can use the component### Node Modules
- Run `npm install st-popup-menu --save`
- Put a script tag similar to this `` anywhere in your template, JSX, html etc### In a React/Rollup/Webpack app
- Run `npm install st-popup-menu --save`
- Add this import to your root component or root module: `import { defineCustomElements } from 'st-popup-menu';`;
- Call `defineCustomElements(window);` in your js file## Parameters
Attribute | Default | Description
------------ | ------------- | -------------
target | '' | A DOMString containing one selector to match an element
trigger | 'hover' | The trigger that causes popup to be shown either *hover* or *click*
delay | '500' | The delay (in ms) until the popup is hidden after mouse out.
backgroundColor | 'white' | Popup background color
borderColor | 'black' | Popup border color
borderWidth | '1px' | Popup border width## Events
The st-popup-menu element emits a `show` and `hide` events whenever the popup is shown or hidden.
```js
element = document.querySelector('st-popup-menu');
element.addEventListener('show', (e) => {
// Reference to popup html node
console.log(e.detail);
});element.addEventListener('hide', (e) => {
// Reference to popup html node
console.log(e.detail);
});
```## Example usage
```html
<st-popup-menu target="img1" trigger="hover" delay="200">
<div>Popup contents here</div>
</st-popup-menu>
```