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.
 
 
 
 

349 regels
9.2 KiB

  1. (function webpackUniversalModuleDefinition(root, factory) {
  2. if(typeof exports === 'object' && typeof module === 'object')
  3. module.exports = factory();
  4. else if(typeof define === 'function' && define.amd)
  5. define([], factory);
  6. else if(typeof exports === 'object')
  7. exports["cssVendor"] = factory();
  8. else
  9. root["cssVendor"] = factory();
  10. })(this, function() {
  11. return /******/ (function(modules) { // webpackBootstrap
  12. /******/ // The module cache
  13. /******/ var installedModules = {};
  14. /******/ // The require function
  15. /******/ function __webpack_require__(moduleId) {
  16. /******/ // Check if module is in cache
  17. /******/ if(installedModules[moduleId])
  18. /******/ return installedModules[moduleId].exports;
  19. /******/ // Create a new module (and put it into the cache)
  20. /******/ var module = installedModules[moduleId] = {
  21. /******/ exports: {},
  22. /******/ id: moduleId,
  23. /******/ loaded: false
  24. /******/ };
  25. /******/ // Execute the module function
  26. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  27. /******/ // Flag the module as loaded
  28. /******/ module.loaded = true;
  29. /******/ // Return the exports of the module
  30. /******/ return module.exports;
  31. /******/ }
  32. /******/ // expose the modules object (__webpack_modules__)
  33. /******/ __webpack_require__.m = modules;
  34. /******/ // expose the module cache
  35. /******/ __webpack_require__.c = installedModules;
  36. /******/ // __webpack_public_path__
  37. /******/ __webpack_require__.p = "";
  38. /******/ // Load entry module and return exports
  39. /******/ return __webpack_require__(0);
  40. /******/ })
  41. /************************************************************************/
  42. /******/ ([
  43. /* 0 */
  44. /***/ function(module, exports, __webpack_require__) {
  45. 'use strict';
  46. Object.defineProperty(exports, "__esModule", {
  47. value: true
  48. });
  49. exports.supportedValue = exports.supportedProperty = exports.prefix = undefined;
  50. var _prefix = __webpack_require__(1);
  51. var _prefix2 = _interopRequireDefault(_prefix);
  52. var _supportedProperty = __webpack_require__(3);
  53. var _supportedProperty2 = _interopRequireDefault(_supportedProperty);
  54. var _supportedValue = __webpack_require__(5);
  55. var _supportedValue2 = _interopRequireDefault(_supportedValue);
  56. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  57. exports['default'] = {
  58. prefix: _prefix2['default'],
  59. supportedProperty: _supportedProperty2['default'],
  60. supportedValue: _supportedValue2['default']
  61. }; /**
  62. * CSS Vendor prefix detection and property feature testing.
  63. *
  64. * @copyright Oleg Slobodskoi 2015
  65. * @website https://github.com/jsstyles/css-vendor
  66. * @license MIT
  67. */
  68. exports.prefix = _prefix2['default'];
  69. exports.supportedProperty = _supportedProperty2['default'];
  70. exports.supportedValue = _supportedValue2['default'];
  71. /***/ },
  72. /* 1 */
  73. /***/ function(module, exports, __webpack_require__) {
  74. 'use strict';
  75. Object.defineProperty(exports, "__esModule", {
  76. value: true
  77. });
  78. var _isInBrowser = __webpack_require__(2);
  79. var _isInBrowser2 = _interopRequireDefault(_isInBrowser);
  80. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  81. var js = ''; /**
  82. * Export javascript style and css style vendor prefixes.
  83. * Based on "transform" support test.
  84. */
  85. var css = '';
  86. // We should not do anything if required serverside.
  87. if (_isInBrowser2['default']) {
  88. // Order matters. We need to check Webkit the last one because
  89. // other vendors use to add Webkit prefixes to some properties
  90. var jsCssMap = {
  91. Moz: '-moz-',
  92. // IE did it wrong again ...
  93. ms: '-ms-',
  94. O: '-o-',
  95. Webkit: '-webkit-'
  96. };
  97. var style = document.createElement('p').style;
  98. var testProp = 'Transform';
  99. for (var key in jsCssMap) {
  100. if (key + testProp in style) {
  101. js = key;
  102. css = jsCssMap[key];
  103. break;
  104. }
  105. }
  106. }
  107. /**
  108. * Vendor prefix string for the current browser.
  109. *
  110. * @type {{js: String, css: String}}
  111. * @api public
  112. */
  113. exports['default'] = { js: js, css: css };
  114. /***/ },
  115. /* 2 */
  116. /***/ function(module, exports) {
  117. "use strict";
  118. Object.defineProperty(exports, "__esModule", {
  119. value: true
  120. });
  121. 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; };
  122. var isBrowser = exports.isBrowser = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && document.nodeType === 9;
  123. exports.default = isBrowser;
  124. /***/ },
  125. /* 3 */
  126. /***/ function(module, exports, __webpack_require__) {
  127. 'use strict';
  128. Object.defineProperty(exports, "__esModule", {
  129. value: true
  130. });
  131. exports['default'] = supportedProperty;
  132. var _isInBrowser = __webpack_require__(2);
  133. var _isInBrowser2 = _interopRequireDefault(_isInBrowser);
  134. var _prefix = __webpack_require__(1);
  135. var _prefix2 = _interopRequireDefault(_prefix);
  136. var _camelize = __webpack_require__(4);
  137. var _camelize2 = _interopRequireDefault(_camelize);
  138. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  139. var el = void 0;
  140. var cache = {};
  141. if (_isInBrowser2['default']) {
  142. el = document.createElement('p');
  143. /**
  144. * We test every property on vendor prefix requirement.
  145. * Once tested, result is cached. It gives us up to 70% perf boost.
  146. * http://jsperf.com/element-style-object-access-vs-plain-object
  147. *
  148. * Prefill cache with known css properties to reduce amount of
  149. * properties we need to feature test at runtime.
  150. * http://davidwalsh.name/vendor-prefix
  151. */
  152. var computed = window.getComputedStyle(document.documentElement, '');
  153. for (var key in computed) {
  154. if (!isNaN(key)) cache[computed[key]] = computed[key];
  155. }
  156. }
  157. /**
  158. * Test if a property is supported, returns supported property with vendor
  159. * prefix if required. Returns `false` if not supported.
  160. *
  161. * @param {String} prop dash separated
  162. * @return {String|Boolean}
  163. * @api public
  164. */
  165. function supportedProperty(prop) {
  166. // For server-side rendering.
  167. if (!el) return prop;
  168. // We have not tested this prop yet, lets do the test.
  169. if (cache[prop] != null) return cache[prop];
  170. // Camelization is required because we can't test using
  171. // css syntax for e.g. in FF.
  172. // Test if property is supported as it is.
  173. if ((0, _camelize2['default'])(prop) in el.style) {
  174. cache[prop] = prop;
  175. }
  176. // Test if property is supported with vendor prefix.
  177. else if (_prefix2['default'].js + (0, _camelize2['default'])('-' + prop) in el.style) {
  178. cache[prop] = _prefix2['default'].css + prop;
  179. } else {
  180. cache[prop] = false;
  181. }
  182. return cache[prop];
  183. }
  184. /***/ },
  185. /* 4 */
  186. /***/ function(module, exports) {
  187. 'use strict';
  188. Object.defineProperty(exports, "__esModule", {
  189. value: true
  190. });
  191. exports['default'] = camelize;
  192. var regExp = /[-\s]+(.)?/g;
  193. /**
  194. * Convert dash separated strings to camel cased.
  195. *
  196. * @param {String} str
  197. * @return {String}
  198. */
  199. function camelize(str) {
  200. return str.replace(regExp, toUpper);
  201. }
  202. function toUpper(match, c) {
  203. return c ? c.toUpperCase() : '';
  204. }
  205. /***/ },
  206. /* 5 */
  207. /***/ function(module, exports, __webpack_require__) {
  208. 'use strict';
  209. Object.defineProperty(exports, "__esModule", {
  210. value: true
  211. });
  212. exports['default'] = supportedValue;
  213. var _isInBrowser = __webpack_require__(2);
  214. var _isInBrowser2 = _interopRequireDefault(_isInBrowser);
  215. var _prefix = __webpack_require__(1);
  216. var _prefix2 = _interopRequireDefault(_prefix);
  217. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  218. var cache = {};
  219. var el = void 0;
  220. if (_isInBrowser2['default']) el = document.createElement('p');
  221. /**
  222. * Returns prefixed value if needed. Returns `false` if value is not supported.
  223. *
  224. * @param {String} property
  225. * @param {String} value
  226. * @return {String|Boolean}
  227. * @api public
  228. */
  229. function supportedValue(property, value) {
  230. // For server-side rendering.
  231. if (!el) return value;
  232. // It is a string or a number as a string like '1'.
  233. // We want only prefixable values here.
  234. if (typeof value !== 'string' || !isNaN(parseInt(value, 10))) return value;
  235. var cacheKey = property + value;
  236. if (cache[cacheKey] != null) return cache[cacheKey];
  237. // IE can even throw an error in some cases, for e.g. style.content = 'bar'
  238. try {
  239. // Test value as it is.
  240. el.style[property] = value;
  241. } catch (err) {
  242. cache[cacheKey] = false;
  243. return false;
  244. }
  245. // Value is supported as it is.
  246. if (el.style[property] !== '') {
  247. cache[cacheKey] = value;
  248. } else {
  249. // Test value with vendor prefix.
  250. value = _prefix2['default'].css + value;
  251. // Hardcode test to convert "flex" to "-ms-flexbox" for IE10.
  252. if (value === '-ms-flex') value = '-ms-flexbox';
  253. el.style[property] = value;
  254. // Value is supported with vendor prefix.
  255. if (el.style[property] !== '') cache[cacheKey] = value;
  256. }
  257. if (!cache[cacheKey]) cache[cacheKey] = false;
  258. // Reset style value.
  259. el.style[property] = '';
  260. return cache[cacheKey];
  261. }
  262. /***/ }
  263. /******/ ])
  264. });
  265. ;