next-csrf
Version:
CSRF mitigation library for Next.js
29 lines (24 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
// see https://jsbin.com/nenirisage/edit?html,js,console,output
exports.default = {
element: 'fieldset',
mutate: function mutate(element) {
element.innerHTML = '<legend>legend</legend><input tabindex="-1"><input tabindex="0">';
// take care of focus in validate();
return false;
},
validate: function validate(element, focusTarget, _document) {
var focusable = element.querySelector('input[tabindex="-1"]');
var tabbable = element.querySelector('input[tabindex="0"]');
// Firefox requires this test to focus the <fieldset> first, while this is not necessary in
// https://jsbin.com/nenirisage/edit?html,js,console,output
element.focus();
element.querySelector('legend').focus();
return _document.activeElement === focusable && 'focusable' || _document.activeElement === tabbable && 'tabbable' || '';
}
};
module.exports = exports['default'];
//# sourceMappingURL=focus-redirect-legend.js.map