speeddial
v0.2.6
Published
Speed dial button inspired by Google Material design
Downloads
28
Maintainers
Readme
speeddial
Speed dial button inspired by Google Material design
Getting started
Download this plugin from the Github repository or install it through this command:
$ npm install speeddial --save
Required assets
Import the CSS:
<link rel="stylesheet" href="path/to/dist/css/speeddial.css">
Import the Javascript:
<script src="path/to/dist/speeddial.js"></script>
This Javascript library is UMD compliant, so you can consume it even like this:
<script>
var speeddial = require('speeddial');
</script>
Required markup
<div id="my-speed-dial" class="speed-dial">
<ul class="speed-dial__list">
<li>
<button class="speed-dial__option">B</button>
</li>
<li>
<button class="speed-dial__option">C</button>
</li>
<li>
<button class="speed-dial__option">D</button>
</li>
</ul>
<button class="speed-dial__btn">A</button>
</div>
Start it up
The selector passed as first parameter must be the container's selector and must be unique:
var sd = speeddial('#my-speed-dial'[,options]);
The second optional parameter is a literal object meant to override the default settings:
// Default settings
var options = {
// The actual speed dial button's default class
button: '.speed-dial__btn',
// List of options' default class
list: '.speed-dial__list',
// Default direction
// Available directions are: up, down, left, right
direction: 'up'
};
Available CSS modifiers
To customize the appearence there are some built-in CSS modifier classes:
/* If you want a blue button */
.speed-dial--blue
/* If you want a pink button */
.speed-dial--pink
/* If you want a small button */
.speed-dial--small
/* If you want to add cool shadows */
.speed-dial--material
/* If you want to toggle the button state when the list of options is open */
.speed-dial--toggle
You can dive into ./scss/speeddial.scss and change the modifiers to meet your needs. Then compile it by running one of the following command:
$ npm run watch-css
$ npm run build-css
Those classes have to be added to the container. That is:
<div id="my-speed-dial" class="speed-dial < PUT MODIFIERS HERE >">
<ul class="speed-dial__list">
...
</ul>
<button class="speed-dial__btn">A</button>
</div>
API
var sd = speeddial('#my-speed-dial'[,options]);
// Returns the container
sd.getContainer();
// Returns the button which triggers the list to open/close
sd.getButton();
// Returns the list of options
sd.getList();
// Returns the direction which the list is opening to
sd.getDirection();
/**
* Set the direction, the parameter is a string among:
* 'up', 'down', 'right', 'left'
*/
sd.setDirection('DIRECTION');
// Opens the list of options
sd.open();
// Close the list of options
sd.close();