![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
makeup-navigation-emitter
Advanced tools
Emits custom events based on keyboard navigation of one or two dimensional model
Emits custom events based on keyboard navigation of one or two dimensional model.
This CommonJS module 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.
// via npm
npm install makeup-navigation-emitter
// via yarn
yarn add makeup-navigation-emitter
Example support for a roving tabindex model of keyboard navigation.
Note that this module will not change focus, that is the job of an observer such as makeup-roving-tabindex.
<div class="widget">
<ul>
<li tabindex="0">Item 0</li>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
const NavigationEmitter = require('makeup-navigation-emitter');
const widgetEl = document.querySelector('.widget');
var emitter = NavigationEmitter.createLinear(widgetEl, 'li'));
widgetEl.addEventListener('navigationModelChange', function(e) {
console.log(e.detail.fromIndex, e.detail.toIndex);
});
Example support for an active descendant model of navigation with focus on ancestor of items.
Note that this module will not highlight the active item, that is the job of an observer such as makeup-active-descendant.
<div class="widget" tabindex="0">
<ul>
<li>Item 0</li>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
const NavigationEmitter = require('makeup-navigation-emitter');
const widgetEl = document.querySelector('.widget');
var emitter = NavigationEmitter.createLinear(widgetEl, 'li', { autoInit: -1, autoReset: -1 }));
widgetEl.addEventListener('navigationModelChange', function(e) {
console.log(e.detail.fromIndex, e.detail.toIndex);
});
Example support for an active descendant model of navigation with focus on non-ancestor of items.
Note that this module will not highlight the active item, that is the job of an observer such as makeup-active-descendant.
<div class="widget">
<input type="text" />
<ul>
<li>Item 0</li>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
const NavigationEmitter = require('makeup-navigation-emitter');
const widgetEl = document.querySelector('.widget');
var emitter = NavigationEmitter.createLinear(widgetEl, 'li', { autoInit: -1, autoReset: -1 }));
widgetEl.addEventListener('navigationModelChange', function(e) {
console.log(e.detail.fromIndex, e.detail.toIndex);
});
autoInit
: specify an integer or -1 for initial index (default: 0)autoReset
: specify an integer or -1 for index position when focus exits widget (default: null)axis
: specify 'x' for left/right arrow keys, 'y' for up/down arrow keys, or 'both' (default: 'both')ignoreButtons
: if set to true, nested button elements will not trigger navigationModelChange events. This is useful in a combobox + button scenario, where only the textbox should trigger navigationModelChange events (default: false)wrap
: specify whether arrow keys should wrap/loop (default: false)destroy
: destroys all event listenersreset
: will force a reset to the value specified by autoReset
items
: returns all items that match item selectorfilteredItems
: returns filtered items (e.g. non-hidden items)navigationModelInit
- fired when the model is auto initialisednavigationModelChange
- fired when the index is set by any means other than auto init or auto resetnavigationModelReset
- fired when the model is auto resetFor all 3 events, the event detail object contains the fromIndex
and toIndex
.
FAQs
Emits custom events based on keyboard navigation of one or two dimensional model
The npm package makeup-navigation-emitter receives a total of 0 weekly downloads. As such, makeup-navigation-emitter popularity was classified as not popular.
We found that makeup-navigation-emitter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.