You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
911 B
29 lines
911 B
2 years ago
|
var memoize = require('./memoize');
|
||
|
var camelCase = require('./camelCase');
|
||
|
var upperFirst = require('./upperFirst');
|
||
|
var has = require('./has');
|
||
|
var kebabCase = require('./kebabCase');
|
||
|
exports = memoize(function(name) {
|
||
|
name = name.replace(regPrefixes, '');
|
||
|
name = camelCase(name);
|
||
|
if (has(style, name)) return name;
|
||
|
var i = prefixes.length;
|
||
|
while (i--) {
|
||
|
var prefixName = prefixes[i] + upperFirst(name);
|
||
|
if (has(style, prefixName)) return prefixName;
|
||
|
}
|
||
|
return name;
|
||
|
});
|
||
|
exports.dash = memoize(function(name) {
|
||
|
var camelCaseResult = exports(name);
|
||
|
return (
|
||
|
(regPrefixes.test(camelCaseResult) ? '-' : '') +
|
||
|
kebabCase(camelCaseResult)
|
||
|
);
|
||
|
});
|
||
|
var prefixes = ['O', 'ms', 'Moz', 'Webkit'];
|
||
|
var regPrefixes = /^(O)|(ms)|(Moz)|(Webkit)|(-o-)|(-ms-)|(-moz-)|(-webkit-)/g;
|
||
|
var style = document.createElement('p').style;
|
||
|
|
||
|
module.exports = exports;
|