UNPKG

react-flexigrid

Version:

A React table component designed to allow presenting millions of rows of data.

32 lines (27 loc) 866 B
import { canUseDOM } from './executionEnvironment'; var hyphenPattern = /-(.)/g; function camelize(str) { return str.replace(hyphenPattern, function (_, char) { return char.toUpperCase(); }); } var memoized = {}; var prefixes = ['Webkit', 'ms', 'Moz', 'O']; var testStyle = canUseDOM ? document.createElement('div').style : {}; function getWithPrefix(name) { for (var i = 0; i < prefixes.length; i += 1) { var prefixedName = prefixes[i] + name; if (prefixedName in testStyle) { return prefixedName; } } return null; } export default function getVendorPrefixedName(property) { var name = camelize(property); if (memoized[name] === undefined) { var capitalizedName = name.charAt(0).toUpperCase() + name.slice(1); memoized[name] = name in testStyle ? name : getWithPrefix(capitalizedName); } return memoized[name]; }