
Turn a list into an accessible drop-menu that opens and closes.
Installation
npm install @servicensw/drop-menu --save-dev
How to use
1. Include CSS
- PostCSS workflow:
@import '@servicensw/drop-menu';
- Sass/Eyeglass:
@import 'servicensw-drop-menu';
- Native CSS:
@import url('dist/css/drop-menu.css');
- Link tag:
<link href="dist/css/drop-menu.css" rel="stylesheet" type="text/css">
2. Include JS
- CommonJS/ES6:
import DropMenu from '@servicensw/drop-menu';
3. Add HTML and call JS
HTML:
<div class="drop-button__wrapper">
<p id="dropMenuDescription">Select an option from the list</p>
<div class="drop-button">
<ul aria-label="Drop menu" aria-describedby="dropMenuDescription">
<li><a href="#">Option 1</a></li>
<li><a href="#">Option 2</a></li>
<li><a href="#">Option 3</a></li>
<li><a href="#">Option 4</a></li>
</ul>
</div>
</div>
JS:
document.addEventListener('DOMContentLoaded', () => {
const dropMenus = document.querySelectorAll('.drop-button');
if (dropMenus) {
dropMenus.forEach((element, index) => {
const dropMenu = new DropMenu(element, index);
});
}
});