|
4 | 4 | var is = require('is'); |
5 | 5 | var tag = require('./tag'); |
6 | 6 |
|
7 | | -var dataRegExp = /^data-[a-z]+([-][a-z]+)*$/, |
8 | | - ariaRegExp = /^aria-[a-z]+$/, |
9 | | - legalAttrs = ['autocomplete', 'autocorrect', 'autofocus', 'autosuggest', 'checked', 'dirname', 'disabled', 'tabindex', 'list', 'max', 'maxlength', 'min', 'multiple', 'novalidate', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'step'], |
10 | | - ignoreAttrs = ['id', 'name', 'class', 'classes', 'type', 'value'], |
11 | | - getUserAttrs = function (opt) { |
12 | | - return Object.keys(opt).reduce(function (attrs, k) { |
13 | | - if ((ignoreAttrs.indexOf(k) === -1 && legalAttrs.indexOf(k) > -1) || dataRegExp.test(k) || ariaRegExp.test(k)) { |
14 | | - attrs[k] = opt[k]; |
15 | | - } |
16 | | - return attrs; |
17 | | - }, {}); |
18 | | - }; |
| 7 | +var dataRegExp = /^data-[a-z]+([-][a-z]+)*$/; |
| 8 | +var ariaRegExp = /^aria-[a-z]+$/; |
| 9 | +var legalAttrs = ['autocomplete', 'autocorrect', 'autofocus', 'autosuggest', 'checked', 'dirname', 'disabled', 'tabindex', 'list', 'max', 'maxlength', 'min', 'multiple', 'novalidate', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'step']; |
| 10 | +var ignoreAttrs = ['id', 'name', 'class', 'classes', 'type', 'value']; |
| 11 | +var getUserAttrs = function (opt) { |
| 12 | + return Object.keys(opt).reduce(function (attrs, k) { |
| 13 | + if ((ignoreAttrs.indexOf(k) === -1 && legalAttrs.indexOf(k) > -1) || dataRegExp.test(k) || ariaRegExp.test(k)) { |
| 14 | + attrs[k] = opt[k]; |
| 15 | + } |
| 16 | + return attrs; |
| 17 | + }, {}); |
| 18 | +}; |
19 | 19 |
|
20 | 20 | // used to generate different input elements varying only by type attribute |
21 | 21 | var input = function (type) { |
|
0 commit comments