diff --git a/lib/widgets.js b/lib/widgets.js index 4294642..bd30a2b 100644 --- a/lib/widgets.js +++ b/lib/widgets.js @@ -4,18 +4,18 @@ var is = require('is'); var tag = require('./tag'); -var dataRegExp = /^data-[a-z]+([-][a-z]+)*$/, - ariaRegExp = /^aria-[a-z]+$/, - legalAttrs = ['autocomplete', 'autocorrect', 'autofocus', 'autosuggest', 'checked', 'dirname', 'disabled', 'tabindex', 'list', 'max', 'maxlength', 'min', 'multiple', 'novalidate', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'step'], - ignoreAttrs = ['id', 'name', 'class', 'classes', 'type', 'value'], - getUserAttrs = function (opt) { - return Object.keys(opt).reduce(function (attrs, k) { - if ((ignoreAttrs.indexOf(k) === -1 && legalAttrs.indexOf(k) > -1) || dataRegExp.test(k) || ariaRegExp.test(k)) { - attrs[k] = opt[k]; - } - return attrs; - }, {}); - }; +var dataRegExp = /^data-[a-z]+([-][a-z]+)*$/; +var ariaRegExp = /^aria-[a-z]+$/; +var legalAttrs = ['autocomplete', 'autocorrect', 'autofocus', 'autosuggest', 'checked', 'dirname', 'disabled', 'tabindex', 'list', 'max', 'maxlength', 'min', 'multiple', 'novalidate', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'step']; +var ignoreAttrs = ['id', 'name', 'class', 'classes', 'type', 'value']; +var getUserAttrs = function (opt) { + return Object.keys(opt).reduce(function (attrs, k) { + if ((ignoreAttrs.indexOf(k) === -1 && legalAttrs.indexOf(k) > -1) || dataRegExp.test(k) || ariaRegExp.test(k)) { + attrs[k] = opt[k]; + } + return attrs; + }, {}); +}; // used to generate different input elements varying only by type attribute var input = function (type) {