benchmark/packages/301/dynamic/plugins/cursor.js
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cursor;
var _getPrefixedValue = require('../../utils/getPrefixedValue');
var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var grabValues = {
grab: true,
grabbing: true
};
var zoomValues = {
'zoom-in': true,
'zoom-out': true
};
function cursor(property, value, style, _ref) {
var browserName = _ref.browserName,
browserVersion = _ref.browserVersion,
cssPrefix = _ref.cssPrefix,
keepUnprefixed = _ref.keepUnprefixed;
// adds prefixes for firefox, chrome, safari, and opera regardless of
// version until a reliable browser support info can be found
// see: https://github.com/rofrischmann/inline-style-prefixer/issues/79
if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {
return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);
}
if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {
return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);
}
}
module.exports = exports['default'];