New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@springernature/global-expander

Package Overview
Dependencies
Maintainers
12
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@springernature/global-expander - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

27

__tests__/expander.spec.js

@@ -30,2 +30,6 @@ import {Expander} from '../js/expander';

break;
case 'TabShift':
event.key = 'Tab';
event.shiftKey = true;
break;
case 'Tab':

@@ -54,2 +58,3 @@ event.key = 'Tab';

element.TARGET = document.querySelector('div');
element.FIRSTTABBABLE = document.querySelector('a');
});

@@ -358,12 +363,8 @@

// Given
const outsideElement = document.createElement('div');
outsideElement.setAttribute('tabindex', '-1');
element.TARGET.parentNode.insertBefore(outsideElement, element.TARGET.nextSibling);
const expander = new Expander(element.BUTTON, element.TARGET);
expander.init();
element.BUTTON.click();
outsideElement.focus();
// When
const keydownTabEvent = createKeydownEvent('Tab');
element.TARGET.dispatchEvent(keydownTabEvent);
element.FIRSTTABBABLE.dispatchEvent(keydownTabEvent);
// Then

@@ -377,2 +378,18 @@ window.requestAnimationFrame(() => {

test('Should close and set focus on trigger when tab out backwards of the target', done => {
// Given
const expander = new Expander(element.BUTTON, element.TARGET, {AUTOFOCUS: 'target'});
expander.init();
element.BUTTON.click();
// When
const keydownTabShiftEvent = createKeydownEvent('TabShift');
element.FIRSTTABBABLE.dispatchEvent(keydownTabShiftEvent);
// Then
window.requestAnimationFrame(() => {
expect(element.BUTTON.classList.contains(className.OPEN)).toBe(false);
expect(element.TARGET.classList.contains(className.HIDE)).toBe(true);
done();
});
});
test('Should not close when click on the open target', () => {

@@ -379,0 +396,0 @@ // Given

# History
## 2.0.2 (2020-07-28)
* Refactor when to focus back to trigger during tabbing
## 2.0.1 (2020-07-20)

@@ -4,0 +7,0 @@ * Replace switch with if/else if when detecting AUTOFOCUS option

19

js/expander.js

@@ -67,9 +67,20 @@ import {makeArray, createEvent} from '@springernature/global-javascript/src/helpers';

if (this._options.CLOSE_ON_FOCUS_OUT) {
if (event.key === 'Tab' && event.shiftKey === true) {
if (event.target === this._targetTabbableItems[0] || event.target === this._triggerEl || event.target === this._targetEl) {
event.preventDefault();
window.requestAnimationFrame(() => {
this.close();
this._triggerEl.focus();
});
}
}
if (event.key === 'Tab') {
window.requestAnimationFrame(() => {
if (!this._targetTabbableItems.includes(document.activeElement)) {
if (event.target === this._targetTabbableItems[this._targetTabbableItems.length - 1]) {
event.preventDefault();
window.requestAnimationFrame(() => {
this.close();
this._triggerEl.focus();
}
});
});
}
}

@@ -76,0 +87,0 @@ }

{
"name": "@springernature/global-expander",
"version": "2.0.1",
"version": "2.0.2",
"description": "Frontend package for expanding a target when clicking a toggle",

@@ -5,0 +5,0 @@ "license": "MIT",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc