jquery-focus-flyout v0.0.5
jquery-focus-flyout
jQuery plugin that creates the basic interactivity for a flyout that opens on focus of trigger element
$(selector).focusFlyout();Experimental
This plugin is still in an experimental state, until it reaches v1.0.0 you must consider all minor releases as breaking changes. Patch releases may introduce new features, but will be backwards compatible.
Install
npm install jquery-focus-flyoutExample
Markup before plugin:
<div class="flyout">
<input class="flyout__trigger" />
<div class="flyout__live-region" aria-live="off">
<div class="flyout__overlay">
<!-- flyout content -->
</div>
</div>
</div>Execute plugin:
$('.flyout').focusFlyout();Markup after plugin:
<div class="flyout" id="inputflyout-0">
<input aria-controls="inputflyout-0-overlay" aria-expanded="false" />
<div class="flyout__live-region" aria-live="off">
<div class="flyout__overlay" id="inputflyout-0-overlay">
<!-- flyout content -->
</div>
</div>
</div>'Focus' event on button will now toggle aria-expanded state of trigger element. CSS can use this state to hide/show overlay. For example:
.flyout__overlay {
display: none;
position: absolute;
z-index: 1;
}
.flyout__trigger[aria-expanded=true] ~ .flyout__live-region > .flyout__overlay {
display: block;
}Params
options.overlaySelector- selector for overlay element (default: '.flyout__overlay')options.triggerSelector- selector for trigger element (default: '.flyout__trigger')options.expandedClass- if present, uses this class instead of aria-expanded (default: null)
Events
flyoutExpand- the flyout has expandedflyoutCollapse- the flyout has collapsed
Development
Useful NPM task runners:
npm startfor local browser-sync development.npm testruns tests & generates reports (see reports section below)npm run tddtest driven development: watches code and re-tests after any changenpm run buildcleans, lints, tests and minifies
Execute npm run to view all available CLI scripts.
Reports
Each test run will generate the following reports:
/test_reports/coveragecontains Istanbul code coverage report/test_reports/htmlcontains HTML test report/test_reports/junitcontains JUnit test report
CI Build
https://travis-ci.org/makeup-jquery/jquery-focus-flyout
Code Coverage
https://coveralls.io/github/makeup-jquery/jquery-focus-flyout?branch=master