next-csrf
Version:
CSRF mitigation library for Next.js
57 lines (41 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (context) {
if (!supports) {
supports = (0, _supports3.default)();
if (supports.focusFieldsetDisabled) {
delete disabledElements.fieldset;
}
if (supports.focusFormDisabled) {
delete disabledElements.form;
}
disabledElementsPattern = new RegExp('^(' + Object.keys(disabledElements).join('|') + ')$');
}
var element = (0, _contextToElement2.default)({
label: 'is/native-disabled-supported',
context: context
});
var nodeName = element.nodeName.toLowerCase();
return Boolean(disabledElementsPattern.test(nodeName));
};
var _contextToElement = require('../util/context-to-element');
var _contextToElement2 = _interopRequireDefault(_contextToElement);
var _supports2 = require('../supports/supports');
var _supports3 = _interopRequireDefault(_supports2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Determine if an element supports the disabled attribute
var supports = void 0;
// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled
var disabledElementsPattern = void 0;
var disabledElements = {
input: true,
select: true,
textarea: true,
button: true,
fieldset: true,
form: true
};
module.exports = exports['default'];
//# sourceMappingURL=native-disabled-supported.js.map