(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["cssVendor"] = factory(); else root["cssVendor"] = factory(); })(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.supportedValue = exports.supportedProperty = exports.prefix = undefined; var _prefix = __webpack_require__(1); var _prefix2 = _interopRequireDefault(_prefix); var _supportedProperty = __webpack_require__(3); var _supportedProperty2 = _interopRequireDefault(_supportedProperty); var _supportedValue = __webpack_require__(5); var _supportedValue2 = _interopRequireDefault(_supportedValue); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = { prefix: _prefix2['default'], supportedProperty: _supportedProperty2['default'], supportedValue: _supportedValue2['default'] }; /** * CSS Vendor prefix detection and property feature testing. * * @copyright Oleg Slobodskoi 2015 * @website https://github.com/jsstyles/css-vendor * @license MIT */ exports.prefix = _prefix2['default']; exports.supportedProperty = _supportedProperty2['default']; exports.supportedValue = _supportedValue2['default']; /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _isInBrowser = __webpack_require__(2); var _isInBrowser2 = _interopRequireDefault(_isInBrowser); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var js = ''; /** * Export javascript style and css style vendor prefixes. * Based on "transform" support test. */ var css = ''; // We should not do anything if required serverside. if (_isInBrowser2['default']) { // Order matters. We need to check Webkit the last one because // other vendors use to add Webkit prefixes to some properties var jsCssMap = { Moz: '-moz-', // IE did it wrong again ... ms: '-ms-', O: '-o-', Webkit: '-webkit-' }; var style = document.createElement('p').style; var testProp = 'Transform'; for (var key in jsCssMap) { if (key + testProp in style) { js = key; css = jsCssMap[key]; break; } } } /** * Vendor prefix string for the current browser. * * @type {{js: String, css: String}} * @api public */ exports['default'] = { js: js, css: css }; /***/ }, /* 2 */ /***/ function(module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var isBrowser = exports.isBrowser = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && document.nodeType === 9; exports.default = isBrowser; /***/ }, /* 3 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = supportedProperty; var _isInBrowser = __webpack_require__(2); var _isInBrowser2 = _interopRequireDefault(_isInBrowser); var _prefix = __webpack_require__(1); var _prefix2 = _interopRequireDefault(_prefix); var _camelize = __webpack_require__(4); var _camelize2 = _interopRequireDefault(_camelize); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var el = void 0; var cache = {}; if (_isInBrowser2['default']) { el = document.createElement('p'); /** * We test every property on vendor prefix requirement. * Once tested, result is cached. It gives us up to 70% perf boost. * http://jsperf.com/element-style-object-access-vs-plain-object * * Prefill cache with known css properties to reduce amount of * properties we need to feature test at runtime. * http://davidwalsh.name/vendor-prefix */ var computed = window.getComputedStyle(document.documentElement, ''); for (var key in computed) { if (!isNaN(key)) cache[computed[key]] = computed[key]; } } /** * Test if a property is supported, returns supported property with vendor * prefix if required. Returns `false` if not supported. * * @param {String} prop dash separated * @return {String|Boolean} * @api public */ function supportedProperty(prop) { // For server-side rendering. if (!el) return prop; // We have not tested this prop yet, lets do the test. if (cache[prop] != null) return cache[prop]; // Camelization is required because we can't test using // css syntax for e.g. in FF. // Test if property is supported as it is. if ((0, _camelize2['default'])(prop) in el.style) { cache[prop] = prop; } // Test if property is supported with vendor prefix. else if (_prefix2['default'].js + (0, _camelize2['default'])('-' + prop) in el.style) { cache[prop] = _prefix2['default'].css + prop; } else { cache[prop] = false; } return cache[prop]; } /***/ }, /* 4 */ /***/ function(module, exports) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = camelize; var regExp = /[-\s]+(.)?/g; /** * Convert dash separated strings to camel cased. * * @param {String} str * @return {String} */ function camelize(str) { return str.replace(regExp, toUpper); } function toUpper(match, c) { return c ? c.toUpperCase() : ''; } /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = supportedValue; var _isInBrowser = __webpack_require__(2); var _isInBrowser2 = _interopRequireDefault(_isInBrowser); var _prefix = __webpack_require__(1); var _prefix2 = _interopRequireDefault(_prefix); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var cache = {}; var el = void 0; if (_isInBrowser2['default']) el = document.createElement('p'); /** * Returns prefixed value if needed. Returns `false` if value is not supported. * * @param {String} property * @param {String} value * @return {String|Boolean} * @api public */ function supportedValue(property, value) { // For server-side rendering. if (!el) return value; // It is a string or a number as a string like '1'. // We want only prefixable values here. if (typeof value !== 'string' || !isNaN(parseInt(value, 10))) return value; var cacheKey = property + value; if (cache[cacheKey] != null) return cache[cacheKey]; // IE can even throw an error in some cases, for e.g. style.content = 'bar' try { // Test value as it is. el.style[property] = value; } catch (err) { cache[cacheKey] = false; return false; } // Value is supported as it is. if (el.style[property] !== '') { cache[cacheKey] = value; } else { // Test value with vendor prefix. value = _prefix2['default'].css + value; // Hardcode test to convert "flex" to "-ms-flexbox" for IE10. if (value === '-ms-flex') value = '-ms-flexbox'; el.style[property] = value; // Value is supported with vendor prefix. if (el.style[property] !== '') cache[cacheKey] = value; } if (!cache[cacheKey]) cache[cacheKey] = false; // Reset style value. el.style[property] = ''; return cache[cacheKey]; } /***/ } /******/ ]) }); ;