diff --git a/Changelog.md b/Changelog.md index ce4dabc..1a9b702 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,7 +1,13 @@ # Changelog ## 2.0 -### 2.0.0 (02.07.16) +### 2.0.1 +* fixed a bug that removed array values ( [#89](https://github.com/rofrischmann/inline-style-prefixer/issues/89) ) +* added array prefixing to the dynamic version +* improved prefixing performance + + +### 2.0.0 ##### API Changes * merged [inline-style-prefix-all](https://github.com/rofrischmann/inline-style-prefix-all) as `inline-style-prefixer/static` @@ -17,55 +23,55 @@ ## 1.0 -### 1.0.4 (16.05.16) +### 1.0.4 * updated inline-style-prefix-all dependency to correct fallback value order -### 1.0.3 (24.03.16) +### 1.0.3 * replaced `Set` with ES5 alternative -### 1.0.2 (07.03.16) +### 1.0.2 * fixed a bug that caused crashes if `display` got either `null` or `undefined` assigned ( [#71](https://github.com/rofrischmann/inline-style-prefixer/pull/71#issue-139056802) ) -### 1.0.1 (01.03.16) +### 1.0.1 * added `undefined` check for `userAgent` to prevent bowser errors -### 1.0.0 (29.02.16) +### 1.0.0 * pulled a bugfix by Khan Academy that dash-cases fallback properties ( https://github.com/Khan/inline-style-prefixer/commit/f41f3040ac27eeec3b7a1fb7450ddce250cac4e4 ) * using [inline-style-prefix-all](https://github.com/rofrischmann/inline-style-prefix-all) for `prefixAll` now * `display` does not get removed anymore ( #65 ) * not throwing anymore if unsupported `userAgent` is provided ( #62 ) ## 0.6 -### 0.6.7 (26.01.16) +### 0.6.7 * Fixed a bug that caused `transition` with `cubic-bezier` to resolve false * Replaced `for of` in favor of a basic `for` loop to not require `Symbol` to be available -### 0.6.6 (19.01.16) +### 0.6.6 * Prevent crashes if a value is `false` or `undefined` -### 0.6.5 (18.01.16) +### 0.6.5 * Plugins won't crash if a `number` value is passed * Added default `options` -### 0.6.4 (18.01.16) +### 0.6.4 * support for prefixed `transition` properties *e.g. `transition: '-webkit-filter 200ms linear'`* * wider support for **gradients** on all properties * `prefixAll` now prefixes all plugin values * uses default `userAgent` if no userAgent, `undefined` or `false` is passed -### 0.6.3 (09.01.16) +### 0.6.3 * added support for Cordova apps & in-app browser *(especially on iOS 8.4.x)* * fixed Android Chrome detection *(on Android 4.x)* * added some [FAQ](docs/FAQ.md)'s -### 0.6.2 (03.01.16) +### 0.6.2 * fixed dist files to register globally -### 0.6.1 (03.01.16) +### 0.6.1 * replaced multi-options with an object hash * renamed `keepDefaults` to `keepUnprefixed` -### 0.6.0 (03.01.16) +### 0.6.0 * fixed a bug that caused the `display:flex` plugin to prefix incorrectly * added `forceRun`-option to plugins to support plugins when using `prefixAll` * added `keepDefault`-option to keep defaults after prefixing @@ -74,14 +80,14 @@ * several data updates ## 0.5 -## 0.5.4 (03.12.15) +## 0.5.4 * fixed a typo in `animationIterationCount` -## 0.5.3 (28.11.15) +## 0.5.3 * Added 2D Transform to the searchMap so IE 9 prefixes `transform`, `transformOrigin`, `transformOriginX` and `transformOriginY` * Removed unsupported browsers from browser detection to avoid false prefixes -## 0.5.2 (24.11.15) +## 0.5.2 * Added Changelog * Android detection for older Versions (< 5) * added `flexWrap` to the properties list diff --git a/README.md b/README.md index d78f72d..1733c41 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ -# +# inline-style-prefixer + +**inline-style-prefixer** adds required **vendor prefixes** to your style object. It only adds prefixes if they're actually required by evaluating the browser's `userAgent` against data from [caniuse.com](http://caniuse.com/). +
+ +Alternatively it ships a static version that adds all available vendor prefixes. [![Build Status](https://travis-ci.org/rofrischmann/inline-style-prefixer.svg)](https://travis-ci.org/rofrischmann/inline-style-prefixer) [![Test Coverage](https://codeclimate.com/github/rofrischmann/inline-style-prefixer/badges/coverage.svg)](https://codeclimate.com/github/rofrischmann/inline-style-prefixer/coverage) -[![npm version](https://badge.fury.io/js/inline-style-prefixer.svg)](http://badge.fury.io/js/inline-style-prefixer) [![npm downloads](https://img.shields.io/npm/dm/inline-style-prefixer.svg)](https://img.shields.io/npm/dm/inline-style-prefixer.svg) ![Dependencies](https://david-dm.org/rofrischmann/inline-style-prefixer.svg) -![Gzipped Size](https://img.shields.io/badge/gzipped-8.6kb-brightgreen.svg) - -**inline-style-prefixer** adds required **vendor prefixes** to your style object. It only adds prefixes if they're actually required by evaluating the browser's `userAgent` against data from [caniuse.com](http://caniuse.com/).
-Alternatively it ships a static version that adds all available vendor prefixes. +![Gzipped Size](https://img.shields.io/badge/gzipped-8.50kb-brightgreen.svg) ## Installation ```sh @@ -72,7 +73,7 @@ const output = { ``` `inline-style-prefixer/static` -![Gzipped Size](https://img.shields.io/badge/gzipped-2.5kb-brightgreen.svg) +![Gzipped Size](https://img.shields.io/badge/gzipped-2.40kb-brightgreen.svg) If you only want to use the static version, you can import it directly to reduce file size. It was once shipped as a several package [inline-style-prefix-all](https://github.com/rofrischmann/inline-style-prefix-all). ```javascript diff --git a/dist/inline-style-prefix-all.js b/dist/inline-style-prefix-all.js index a83f291..09053f2 100644 --- a/dist/inline-style-prefix-all.js +++ b/dist/inline-style-prefix-all.js @@ -57,17 +57,8 @@ return str.charAt(0).toUpperCase() + str.slice(1); }); - // light polyfill for Object.assign - var assign = (function (base) { - var extend = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - return Object.keys(extend).reduce(function (out, key) { - out[key] = extend[key]; - return out; - }, base); - }); - // returns a style object with a single concated prefixed value string - var joinPrefixedRules = (function (property, value) { + var joinPrefixedValue = (function (property, value) { var replacer = arguments.length <= 2 || arguments[2] === undefined ? function (prefix, value) { return prefix + value; } : arguments[2]; @@ -83,12 +74,8 @@ }); function calc(property, value) { - if (typeof value === 'string' && value.indexOf('calc(') > -1) { - if (isPrefixedValue(value)) { - return; - } - - return joinPrefixedRules(property, value, function (prefix, value) { + if (typeof value === 'string' && !isPrefixedValue(value) && value.indexOf('calc(') > -1) { + return joinPrefixedValue(property, value, function (prefix, value) { return value.replace(/calc\(/g, prefix + 'calc('); }); } @@ -103,7 +90,7 @@ function cursor(property, value) { if (property === 'cursor' && values[value]) { - return joinPrefixedRules(property, value); + return joinPrefixedValue(property, value); } } @@ -136,19 +123,15 @@ function sizing(property, value) { if (properties[property] && values$2[value]) { - return joinPrefixedRules(property, value); + return joinPrefixedValue(property, value); } } var values$3 = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/; function gradient(property, value) { - if (typeof value === 'string' && value.match(values$3) !== null) { - if (isPrefixedValue(value)) { - return; - } - - return joinPrefixedRules(property, value); + if (typeof value === 'string' && !isPrefixedValue(value) && value.match(values$3) !== null) { + return joinPrefixedValue(property, value); } } @@ -285,9 +268,6 @@ if (value instanceof Object && !Array.isArray(value)) { // recurse through nested style objects styles[property] = prefixAll(value); - } else if (Array.isArray(value)) { - // prefix fallback arrays - assign(styles, prefixArray(property, value)); } else { Object.keys(prefixProps).forEach(function (prefix) { var properties = prefixProps[prefix]; @@ -300,46 +280,34 @@ }); Object.keys(styles).forEach(function (property) { - var value = styles[property]; - // resolve every special plugins - plugins.forEach(function (plugin) { - return assign(styles, plugin(property, value)); + [].concat(styles[property]).forEach(function (value, index) { + // resolve every special plugins + plugins.forEach(function (plugin) { + return assignStyles(styles, plugin(property, value)); + }); }); }); return styles; } - function prefixArray(property, valueArray) { - var result = {}; - valueArray.forEach(function (value) { - plugins.forEach(function (plugin) { - var prefixed = plugin(property, value); - if (prefixed) { - Object.keys(prefixed).forEach(function (prop) { - var entry = prefixed[prop]; - result[prop] = result[prop] ? mergeValues(result[prop], entry) : entry; - }); - } - }); - if (!result[property]) { - result[property] = value; - } - }); - return result; - } + function assignStyles(base) { + var extend = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - function mergeValues(existing, toMerge) { - var merged = existing; - var valuesToMerge = Array.isArray(toMerge) ? toMerge : [toMerge]; - valuesToMerge.forEach(function (value) { - if (Array.isArray(merged) && merged.indexOf(value) === -1) { - merged.push(value); - } else if (merged !== value) { - merged = [merged, value]; + Object.keys(extend).forEach(function (property) { + var baseValue = base[property]; + if (Array.isArray(baseValue)) { + [].concat(extend[property]).forEach(function (value) { + var valueIndex = baseValue.indexOf(value); + if (valueIndex > -1) { + base[property].splice(valueIndex, 1); + } + base[property].push(value); + }); + } else { + base[property] = extend[property]; } }); - return merged; } return prefixAll; diff --git a/dist/inline-style-prefix-all.js.map b/dist/inline-style-prefix-all.js.map index 98780eb..d4a0ced 100644 --- a/dist/inline-style-prefix-all.js.map +++ b/dist/inline-style-prefix-all.js.map @@ -1 +1 @@ -{"version":3,"file":"inline-style-prefix-all.js","sources":["../modules/static/prefixProps.js","../modules/utils/capitalizeString.js","../modules/utils/assign.js","../modules/utils/joinPrefixedRules.js","../modules/utils/isPrefixedValue.js","../modules/static/plugins/calc.js","../modules/static/plugins/cursor.js","../modules/static/plugins/flex.js","../modules/static/plugins/sizing.js","../modules/static/plugins/gradient.js","../node_modules/hyphenate-style-name/index.js","../modules/static/plugins/transition.js","../modules/static/plugins/flexboxIE.js","../modules/static/plugins/flexboxOld.js","../modules//static/prefixAll.js"],"sourcesContent":["export default {\"Webkit\":{\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"backfaceVisibility\":true,\"perspective\":true,\"perspectiveOrigin\":true,\"transformStyle\":true,\"transformOriginZ\":true,\"animation\":true,\"animationDelay\":true,\"animationDirection\":true,\"animationFillMode\":true,\"animationDuration\":true,\"animationIterationCount\":true,\"animationName\":true,\"animationPlayState\":true,\"animationTimingFunction\":true,\"appearance\":true,\"userSelect\":true,\"fontKerning\":true,\"textEmphasisPosition\":true,\"textEmphasis\":true,\"textEmphasisStyle\":true,\"textEmphasisColor\":true,\"boxDecorationBreak\":true,\"clipPath\":true,\"maskImage\":true,\"maskMode\":true,\"maskRepeat\":true,\"maskPosition\":true,\"maskClip\":true,\"maskOrigin\":true,\"maskSize\":true,\"maskComposite\":true,\"mask\":true,\"maskBorderSource\":true,\"maskBorderMode\":true,\"maskBorderSlice\":true,\"maskBorderWidth\":true,\"maskBorderOutset\":true,\"maskBorderRepeat\":true,\"maskBorder\":true,\"maskType\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"filter\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true,\"flex\":true,\"flexBasis\":true,\"flexDirection\":true,\"flexGrow\":true,\"flexFlow\":true,\"flexShrink\":true,\"flexWrap\":true,\"alignContent\":true,\"alignItems\":true,\"alignSelf\":true,\"justifyContent\":true,\"order\":true,\"transition\":true,\"transitionDelay\":true,\"transitionDuration\":true,\"transitionProperty\":true,\"transitionTimingFunction\":true,\"backdropFilter\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"shapeImageThreshold\":true,\"shapeImageMargin\":true,\"shapeImageOutside\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"regionFragment\":true,\"textSizeAdjust\":true,\"borderImage\":true,\"borderImageOutset\":true,\"borderImageRepeat\":true,\"borderImageSlice\":true,\"borderImageSource\":true,\"borderImageWidth\":true,\"tabSize\":true,\"objectFit\":true,\"objectPosition\":true},\"Moz\":{\"appearance\":true,\"userSelect\":true,\"boxSizing\":true,\"textAlignLast\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"tabSize\":true,\"hyphens\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true},\"ms\":{\"flex\":true,\"flexBasis\":false,\"flexDirection\":true,\"flexGrow\":false,\"flexFlow\":true,\"flexShrink\":false,\"flexWrap\":true,\"alignContent\":false,\"alignItems\":false,\"alignSelf\":false,\"justifyContent\":false,\"order\":false,\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"userSelect\":true,\"wrapFlow\":true,\"wrapThrough\":true,\"wrapMargin\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"touchAction\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"breakBefore\":true,\"breakAfter\":true,\"breakInside\":true,\"regionFragment\":true,\"gridTemplateColumns\":true,\"gridTemplateRows\":true,\"gridTemplateAreas\":true,\"gridTemplate\":true,\"gridAutoColumns\":true,\"gridAutoRows\":true,\"gridAutoFlow\":true,\"grid\":true,\"gridRowStart\":true,\"gridColumnStart\":true,\"gridRowEnd\":true,\"gridRow\":true,\"gridColumn\":true,\"gridColumnEnd\":true,\"gridColumnGap\":true,\"gridRowGap\":true,\"gridArea\":true,\"gridGap\":true,\"textSizeAdjust\":true}}","// helper to capitalize strings\nexport default str => str.charAt(0).toUpperCase() + str.slice(1)\n","// light polyfill for Object.assign\nexport default (base, extend = { }) => Object.keys(extend).reduce((out, key) => {\n out[key] = extend[key]\n return out\n}, base)\n","// returns a style object with a single concated prefixed value string\nexport default (property, value, replacer = (prefix, value) => prefix + value) => ({\n [property]: [ '-webkit-', '-moz-', '' ].map(prefix => replacer(prefix, value))\n})\n","export default value => {\n if (Array.isArray(value)) value = value.join(',')\n\n return value.match(/-webkit-|-moz-|-ms-/) !== null\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nexport default function calc(property, value) {\n if (typeof value === 'string' && value.indexOf('calc(') > -1) {\n if (isPrefixedValue(value)) {\n return\n }\n\n return joinPrefixedRules(property, value, (prefix, value) => value.replace(/calc\\(/g, prefix + 'calc('))\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\n\nconst values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n}\n\nexport default function cursor(property, value) {\n if (property === 'cursor' && values[value]) {\n return joinPrefixedRules(property, value)\n }\n}\n","const values = { flex: true, 'inline-flex': true }\n\nexport default function flex(property, value) {\n if (property === 'display' && values[value]) {\n return {\n display: [ '-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value, value ]\n }\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\n\nconst properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing(property, value) {\n if (properties[property] && values[value]) {\n return joinPrefixedRules(property, value)\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nconst values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient(property, value) {\n if (typeof value === 'string' && value.match(values) !== null) {\n if (isPrefixedValue(value)) {\n return\n }\n\n return joinPrefixedRules(property, value)\n }\n}\n","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../../utils/capitalizeString'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\nimport prefixProps from '../prefixProps'\n\nconst properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true\n}\n\nexport default function transition(property, value) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties[property]) {\n const outputValue = prefixValue(value)\n const webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(value => value.match(/-moz-|-ms-/) === null).join(',')\n\n // if the property is already prefixed\n if (property.indexOf('Webkit') > -1) {\n return { [ property]: webkitOutput }\n }\n\n return {\n ['Webkit' + capitalizeString(property)]: webkitOutput,\n [property]: outputValue\n }\n }\n}\n\nfunction prefixValue(value) {\n if (isPrefixedValue(value)) {\n return value\n }\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n // iterate each single value and check for transitioned properties\n // that need to be prefixed as well\n multipleValues.forEach((val, index) => {\n multipleValues[index] = Object.keys(prefixProps).reduce((out, prefix) => {\n const dashCasePrefix = '-' + prefix.toLowerCase() + '-'\n\n Object.keys(prefixProps[prefix]).forEach(prop => {\n const dashCaseProperty = hyphenateStyleName(prop)\n\n if (val.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n // join all prefixes and create a new value\n out = val.replace(dashCaseProperty, dashCasePrefix + dashCaseProperty) + ',' + out\n }\n })\n return out\n }, val)\n })\n\n return multipleValues.join(',')\n}\n","const alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nexport default function flexboxIE(property, value) {\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","const alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nexport default function flexboxOld(property, value) {\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","import prefixProperties from './prefixProps'\nimport capitalizeString from '../utils/capitalizeString'\nimport assign from '../utils/assign'\n\nimport calc from './plugins/calc'\nimport cursor from './plugins/cursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n cursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n flex\n]\n\n/**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\nexport default function prefixAll(styles) {\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = prefixAll(value)\n } else if (Array.isArray(value)) {\n // prefix fallback arrays\n assign(styles, prefixArray(property, value))\n } else {\n Object.keys(prefixProperties).forEach(prefix => {\n const properties = prefixProperties[prefix]\n // add prefixes if needed\n if (properties[property]) {\n styles[prefix + capitalizeString(property)] = value\n }\n })\n }\n })\n\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n // resolve every special plugins\n plugins.forEach(plugin => assign(styles, plugin(property, value)))\n })\n\n return styles\n}\n\nfunction prefixArray(property, valueArray) {\n let result = { }\n valueArray.forEach(value => {\n plugins.forEach(plugin => {\n let prefixed = plugin(property, value)\n if (prefixed) {\n Object.keys(prefixed).forEach(prop => {\n const entry = prefixed[prop]\n result[prop] = result[prop] ? mergeValues(result[prop], entry) : entry\n })\n }\n })\n if (!result[property]) {\n result[property] = value\n }\n })\n return result\n}\n\nfunction mergeValues(existing, toMerge) {\n let merged = existing\n let valuesToMerge = Array.isArray(toMerge) ? toMerge : [ toMerge ]\n valuesToMerge.forEach(value => {\n if (Array.isArray(merged) && merged.indexOf(value) === -1) {\n merged.push(value)\n } else if (merged !== value) {\n merged = [ merged, value ]\n }\n })\n return merged\n}\n"],"names":["values","properties","alternativeValues","alternativeProps","prefixProperties"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"inline-style-prefix-all.js","sources":["../modules/static/prefixProps.js","../modules/utils/capitalizeString.js","../modules/utils/joinPrefixedValue.js","../modules/utils/isPrefixedValue.js","../modules/static/plugins/calc.js","../modules/static/plugins/cursor.js","../modules/static/plugins/flex.js","../modules/static/plugins/sizing.js","../modules/static/plugins/gradient.js","../node_modules/hyphenate-style-name/index.js","../modules/static/plugins/transition.js","../modules/static/plugins/flexboxIE.js","../modules/static/plugins/flexboxOld.js","../modules//static/prefixAll.js"],"sourcesContent":["export default {\"Webkit\":{\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"backfaceVisibility\":true,\"perspective\":true,\"perspectiveOrigin\":true,\"transformStyle\":true,\"transformOriginZ\":true,\"animation\":true,\"animationDelay\":true,\"animationDirection\":true,\"animationFillMode\":true,\"animationDuration\":true,\"animationIterationCount\":true,\"animationName\":true,\"animationPlayState\":true,\"animationTimingFunction\":true,\"appearance\":true,\"userSelect\":true,\"fontKerning\":true,\"textEmphasisPosition\":true,\"textEmphasis\":true,\"textEmphasisStyle\":true,\"textEmphasisColor\":true,\"boxDecorationBreak\":true,\"clipPath\":true,\"maskImage\":true,\"maskMode\":true,\"maskRepeat\":true,\"maskPosition\":true,\"maskClip\":true,\"maskOrigin\":true,\"maskSize\":true,\"maskComposite\":true,\"mask\":true,\"maskBorderSource\":true,\"maskBorderMode\":true,\"maskBorderSlice\":true,\"maskBorderWidth\":true,\"maskBorderOutset\":true,\"maskBorderRepeat\":true,\"maskBorder\":true,\"maskType\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"filter\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true,\"flex\":true,\"flexBasis\":true,\"flexDirection\":true,\"flexGrow\":true,\"flexFlow\":true,\"flexShrink\":true,\"flexWrap\":true,\"alignContent\":true,\"alignItems\":true,\"alignSelf\":true,\"justifyContent\":true,\"order\":true,\"transition\":true,\"transitionDelay\":true,\"transitionDuration\":true,\"transitionProperty\":true,\"transitionTimingFunction\":true,\"backdropFilter\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"shapeImageThreshold\":true,\"shapeImageMargin\":true,\"shapeImageOutside\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"regionFragment\":true,\"textSizeAdjust\":true,\"borderImage\":true,\"borderImageOutset\":true,\"borderImageRepeat\":true,\"borderImageSlice\":true,\"borderImageSource\":true,\"borderImageWidth\":true,\"tabSize\":true,\"objectFit\":true,\"objectPosition\":true},\"Moz\":{\"appearance\":true,\"userSelect\":true,\"boxSizing\":true,\"textAlignLast\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"tabSize\":true,\"hyphens\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true},\"ms\":{\"flex\":true,\"flexBasis\":false,\"flexDirection\":true,\"flexGrow\":false,\"flexFlow\":true,\"flexShrink\":false,\"flexWrap\":true,\"alignContent\":false,\"alignItems\":false,\"alignSelf\":false,\"justifyContent\":false,\"order\":false,\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"userSelect\":true,\"wrapFlow\":true,\"wrapThrough\":true,\"wrapMargin\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"touchAction\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"breakBefore\":true,\"breakAfter\":true,\"breakInside\":true,\"regionFragment\":true,\"gridTemplateColumns\":true,\"gridTemplateRows\":true,\"gridTemplateAreas\":true,\"gridTemplate\":true,\"gridAutoColumns\":true,\"gridAutoRows\":true,\"gridAutoFlow\":true,\"grid\":true,\"gridRowStart\":true,\"gridColumnStart\":true,\"gridRowEnd\":true,\"gridRow\":true,\"gridColumn\":true,\"gridColumnEnd\":true,\"gridColumnGap\":true,\"gridRowGap\":true,\"gridArea\":true,\"gridGap\":true,\"textSizeAdjust\":true}}","// helper to capitalize strings\nexport default str => str.charAt(0).toUpperCase() + str.slice(1)\n","// returns a style object with a single concated prefixed value string\nexport default (property, value, replacer = (prefix, value) => prefix + value) => ({\n [property]: [ '-webkit-', '-moz-', '' ].map(prefix => replacer(prefix, value))\n})\n","export default value => {\n if (Array.isArray(value)) value = value.join(',')\n\n return value.match(/-webkit-|-moz-|-ms-/) !== null\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nexport default function calc(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.indexOf('calc(') > -1) {\n return joinPrefixedValue(property, value, (prefix, value) => value.replace(/calc\\(/g, prefix + 'calc('))\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\n\nconst values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n}\n\nexport default function cursor(property, value) {\n if (property === 'cursor' && values[value]) {\n return joinPrefixedValue(property, value)\n }\n}\n","const values = { flex: true, 'inline-flex': true }\n\nexport default function flex(property, value) {\n if (property === 'display' && values[value]) {\n return {\n display: [ '-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value, value ]\n }\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\n\nconst properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing(property, value) {\n if (properties[property] && values[value]) {\n return joinPrefixedValue(property, value)\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nconst values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.match(values) !== null) {\n return joinPrefixedValue(property, value)\n }\n}\n","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../../utils/capitalizeString'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\nimport prefixProps from '../prefixProps'\n\nconst properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true\n}\n\nexport default function transition(property, value) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties[property]) {\n const outputValue = prefixValue(value)\n const webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(value => value.match(/-moz-|-ms-/) === null).join(',')\n\n // if the property is already prefixed\n if (property.indexOf('Webkit') > -1) {\n return { [ property]: webkitOutput }\n }\n\n return {\n ['Webkit' + capitalizeString(property)]: webkitOutput,\n [property]: outputValue\n }\n }\n}\n\nfunction prefixValue(value) {\n if (isPrefixedValue(value)) {\n return value\n }\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n // iterate each single value and check for transitioned properties\n // that need to be prefixed as well\n multipleValues.forEach((val, index) => {\n multipleValues[index] = Object.keys(prefixProps).reduce((out, prefix) => {\n const dashCasePrefix = '-' + prefix.toLowerCase() + '-'\n\n Object.keys(prefixProps[prefix]).forEach(prop => {\n const dashCaseProperty = hyphenateStyleName(prop)\n\n if (val.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n // join all prefixes and create a new value\n out = val.replace(dashCaseProperty, dashCasePrefix + dashCaseProperty) + ',' + out\n }\n })\n return out\n }, val)\n })\n\n return multipleValues.join(',')\n}\n","const alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nexport default function flexboxIE(property, value) {\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","const alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nexport default function flexboxOld(property, value) {\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","import prefixProperties from './prefixProps'\nimport capitalizeString from '../utils/capitalizeString'\n\nimport calc from './plugins/calc'\nimport cursor from './plugins/cursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n cursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n flex\n]\n\n/**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\nexport default function prefixAll(styles) {\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = prefixAll(value)\n } else {\n Object.keys(prefixProperties).forEach(prefix => {\n const properties = prefixProperties[prefix]\n // add prefixes if needed\n if (properties[property]) {\n styles[prefix + capitalizeString(property)] = value\n }\n })\n }\n })\n\n Object.keys(styles).forEach(property => {\n [ ].concat(styles[property]).forEach((value, index) => {\n // resolve every special plugins\n plugins.forEach(plugin => assignStyles(styles, plugin(property, value)))\n })\n })\n\n return styles\n}\n\nfunction assignStyles(base, extend = { }) {\n Object.keys(extend).forEach(property => {\n const baseValue = base[property]\n if (Array.isArray(baseValue)) {\n [ ].concat(extend[property]).forEach(value => {\n const valueIndex = baseValue.indexOf(value)\n if (valueIndex > -1) {\n base[property].splice(valueIndex, 1)\n }\n base[property].push(value)\n })\n } else {\n base[property] = extend[property]\n }\n })\n}\n"],"names":["values","properties","alternativeValues","alternativeProps","prefixProperties"],"mappings":"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"} \ No newline at end of file diff --git a/dist/inline-style-prefix-all.min.js b/dist/inline-style-prefix-all.min.js index b9ce7e7..d847161 100644 --- a/dist/inline-style-prefix-all.min.js +++ b/dist/inline-style-prefix-all.min.js @@ -1 +1 @@ -!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.InlineStylePrefixAll=n()}(this,function(){"use strict";function e(e,n){return n={exports:{}},e(n,n.exports),n.exports}function n(e,n){if("string"==typeof n&&n.indexOf("calc(")>-1){if(y(n))return;return b(e,n,function(e,n){return n.replace(/calc\(/g,e+"calc(")})}}function t(e,n){if("cursor"===e&&k[n])return b(e,n)}function r(e,n){if("display"===e&&h[n])return{display:["-webkit-box","-moz-box","-ms-"+n+"box","-webkit-"+n,n]}}function i(e,n){if(S[e]&&w[n])return b(e,n)}function o(e,n){if("string"==typeof n&&null!==n.match(v)){if(y(n))return;return b(e,n)}}function a(e,n){if("string"==typeof n&&A[e]){var t,r=l(n),i=r.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return null===e.match(/-moz-|-ms-/)}).join(",");return e.indexOf("Webkit")>-1?d.defineProperty({},e,i):(t={},d.defineProperty(t,"Webkit"+g(e),i),d.defineProperty(t,e,r),t)}}function l(e){if(y(e))return e;var n=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return n.forEach(function(e,t){n[t]=Object.keys(p).reduce(function(n,t){var r="-"+t.toLowerCase()+"-";return Object.keys(p[t]).forEach(function(t){var i=O(t);e.indexOf(i)>-1&&"order"!==i&&(n=e.replace(i,r+i)+","+n)}),n},e)}),n.join(",")}function s(e,n){if(j[e])return d.defineProperty({},j[e],P[n]||n)}function c(e,n){return"flexDirection"===e?{WebkitBoxOrient:n.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:n.indexOf("reverse")>-1?"reverse":"normal"}:I[e]?d.defineProperty({},I[e],F[n]||n):void 0}function u(e){return Object.keys(e).forEach(function(n){var t=e[n];t instanceof Object&&!Array.isArray(t)?e[n]=u(t):Array.isArray(t)?x(e,f(n,t)):Object.keys(p).forEach(function(r){var i=p[r];i[n]&&(e[r+g(n)]=t)})}),Object.keys(e).forEach(function(n){var t=e[n];W.forEach(function(r){return x(e,r(n,t))})}),e}function f(e,n){var t={};return n.forEach(function(n){W.forEach(function(r){var i=r(e,n);i&&Object.keys(i).forEach(function(e){var n=i[e];t[e]=t[e]?m(t[e],n):n})}),t[e]||(t[e]=n)}),t}function m(e,n){var t=e,r=Array.isArray(n)?n:[n];return r.forEach(function(e){Array.isArray(t)&&t.indexOf(e)===-1?t.push(e):t!==e&&(t=[t,e])}),t}var d={};d.classCallCheck=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},d.createClass=function(){function e(e,n){for(var t=0;t-1)return g(e,n,function(e,n){return n.replace(/calc\(/g,e+"calc(")})}function t(e,n){if("cursor"===e&&b[n])return g(e,n)}function r(e,n){if("display"===e&&y[n])return{display:["-webkit-box","-moz-box","-ms-"+n+"box","-webkit-"+n,n]}}function i(e,n){if(k[e]&&h[n])return g(e,n)}function o(e,n){if("string"==typeof n&&!x(n)&&null!==n.match(S))return g(e,n)}function a(e,n){if("string"==typeof n&&v[e]){var t,r=l(n),i=r.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return null===e.match(/-moz-|-ms-/)}).join(",");return e.indexOf("Webkit")>-1?m.defineProperty({},e,i):(t={},m.defineProperty(t,"Webkit"+d(e),i),m.defineProperty(t,e,r),t)}}function l(e){if(x(e))return e;var n=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return n.forEach(function(e,t){n[t]=Object.keys(p).reduce(function(n,t){var r="-"+t.toLowerCase()+"-";return Object.keys(p[t]).forEach(function(t){var i=C(t);e.indexOf(i)>-1&&"order"!==i&&(n=e.replace(i,r+i)+","+n)}),n},e)}),n.join(",")}function s(e,n){if(P[e])return m.defineProperty({},P[e],O[n]||n)}function c(e,n){return"flexDirection"===e?{WebkitBoxOrient:n.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:n.indexOf("reverse")>-1?"reverse":"normal"}:A[e]?m.defineProperty({},A[e],j[n]||n):void 0}function u(e){return Object.keys(e).forEach(function(n){var t=e[n];t instanceof Object&&!Array.isArray(t)?e[n]=u(t):Object.keys(p).forEach(function(r){var i=p[r];i[n]&&(e[r+d(n)]=t)})}),Object.keys(e).forEach(function(n){[].concat(e[n]).forEach(function(t,r){F.forEach(function(r){return f(e,r(n,t))})})}),e}function f(e){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];Object.keys(n).forEach(function(t){var r=e[t];Array.isArray(r)?[].concat(n[t]).forEach(function(n){var i=r.indexOf(n);i>-1&&e[t].splice(i,1),e[t].push(n)}):e[t]=n[t]})}var m={};m.classCallCheck=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},m.createClass=function(){function e(e,n){for(var t=0;t -1) { - if (isPrefixedValue(value)) { - return; - } - - return joinPrefixedRules(property, value, function (prefix, value) { + if (typeof value === 'string' && !isPrefixedValue(value) && value.indexOf('calc(') > -1) { + return joinPrefixedValue(property, value, function (prefix, value) { return value.replace(/calc\(/g, prefix + 'calc('); }); } @@ -108,7 +95,7 @@ function cursor(property, value) { if (property === 'cursor' && values[value]) { - return joinPrefixedRules(property, value); + return joinPrefixedValue(property, value); } } @@ -141,19 +128,15 @@ function sizing(property, value) { if (properties[property] && values$2[value]) { - return joinPrefixedRules(property, value); + return joinPrefixedValue(property, value); } } var values$3 = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/; function gradient(property, value) { - if (typeof value === 'string' && value.match(values$3) !== null) { - if (isPrefixedValue(value)) { - return; - } - - return joinPrefixedRules(property, value); + if (typeof value === 'string' && !isPrefixedValue(value) && value.match(values$3) !== null) { + return joinPrefixedValue(property, value); } } @@ -290,9 +273,6 @@ if (value instanceof Object && !Array.isArray(value)) { // recurse through nested style objects styles[property] = prefixAll(value); - } else if (Array.isArray(value)) { - // prefix fallback arrays - assign(styles, prefixArray(property, value)); } else { Object.keys(prefixProps).forEach(function (prefix) { var properties = prefixProps[prefix]; @@ -305,46 +285,34 @@ }); Object.keys(styles).forEach(function (property) { - var value = styles[property]; - // resolve every special plugins - plugins$1.forEach(function (plugin) { - return assign(styles, plugin(property, value)); + [].concat(styles[property]).forEach(function (value, index) { + // resolve every special plugins + plugins$1.forEach(function (plugin) { + return assignStyles$1(styles, plugin(property, value)); + }); }); }); return styles; } - function prefixArray(property, valueArray) { - var result = {}; - valueArray.forEach(function (value) { - plugins$1.forEach(function (plugin) { - var prefixed = plugin(property, value); - if (prefixed) { - Object.keys(prefixed).forEach(function (prop) { - var entry = prefixed[prop]; - result[prop] = result[prop] ? mergeValues(result[prop], entry) : entry; - }); - } - }); - if (!result[property]) { - result[property] = value; - } - }); - return result; - } + function assignStyles$1(base) { + var extend = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - function mergeValues(existing, toMerge) { - var merged = existing; - var valuesToMerge = Array.isArray(toMerge) ? toMerge : [toMerge]; - valuesToMerge.forEach(function (value) { - if (Array.isArray(merged) && merged.indexOf(value) === -1) { - merged.push(value); - } else if (merged !== value) { - merged = [merged, value]; + Object.keys(extend).forEach(function (property) { + var baseValue = base[property]; + if (Array.isArray(baseValue)) { + [].concat(extend[property]).forEach(function (value) { + var valueIndex = baseValue.indexOf(value); + if (valueIndex > -1) { + base[property].splice(valueIndex, 1); + } + base[property].push(value); + }); + } else { + base[property] = extend[property]; } }); - return merged; } var bowser = __commonjs(function (module) { @@ -938,6 +906,10 @@ var prefixProps$1 = { "chrome": { "transform": 35, "transformOrigin": 35, "transformOriginX": 35, "transformOriginY": 35, "backfaceVisibility": 35, "perspective": 35, "perspectiveOrigin": 35, "transformStyle": 35, "transformOriginZ": 35, "animation": 42, "animationDelay": 42, "animationDirection": 42, "animationFillMode": 42, "animationDuration": 42, "animationIterationCount": 42, "animationName": 42, "animationPlayState": 42, "animationTimingFunction": 42, "appearance": 54, "userSelect": 54, "fontKerning": 32, "textEmphasisPosition": 54, "textEmphasis": 54, "textEmphasisStyle": 54, "textEmphasisColor": 54, "boxDecorationBreak": 54, "clipPath": 54, "maskImage": 54, "maskMode": 54, "maskRepeat": 54, "maskPosition": 54, "maskClip": 54, "maskOrigin": 54, "maskSize": 54, "maskComposite": 54, "mask": 54, "maskBorderSource": 54, "maskBorderMode": 54, "maskBorderSlice": 54, "maskBorderWidth": 54, "maskBorderOutset": 54, "maskBorderRepeat": 54, "maskBorder": 54, "maskType": 54, "textDecorationStyle": 54, "textDecorationSkip": 54, "textDecorationLine": 54, "textDecorationColor": 54, "filter": 54, "fontFeatureSettings": 47, "breakAfter": 49, "breakBefore": 49, "breakInside": 49, "columnCount": 49, "columnFill": 49, "columnGap": 49, "columnRule": 49, "columnRuleColor": 49, "columnRuleStyle": 49, "columnRuleWidth": 49, "columns": 49, "columnSpan": 49, "columnWidth": 49 }, "safari": { "flex": 8, "flexBasis": 8, "flexDirection": 8, "flexGrow": 8, "flexFlow": 8, "flexShrink": 8, "flexWrap": 8, "alignContent": 8, "alignItems": 8, "alignSelf": 8, "justifyContent": 8, "order": 8, "transition": 6, "transitionDelay": 6, "transitionDuration": 6, "transitionProperty": 6, "transitionTimingFunction": 6, "transform": 8, "transformOrigin": 8, "transformOriginX": 8, "transformOriginY": 8, "backfaceVisibility": 8, "perspective": 8, "perspectiveOrigin": 8, "transformStyle": 8, "transformOriginZ": 8, "animation": 8, "animationDelay": 8, "animationDirection": 8, "animationFillMode": 8, "animationDuration": 8, "animationIterationCount": 8, "animationName": 8, "animationPlayState": 8, "animationTimingFunction": 8, "appearance": 10, "userSelect": 10, "backdropFilter": 10, "fontKerning": 9, "scrollSnapType": 10, "scrollSnapPointsX": 10, "scrollSnapPointsY": 10, "scrollSnapDestination": 10, "scrollSnapCoordinate": 10, "textEmphasisPosition": 7, "textEmphasis": 7, "textEmphasisStyle": 7, "textEmphasisColor": 7, "boxDecorationBreak": 10, "clipPath": 10, "maskImage": 10, "maskMode": 10, "maskRepeat": 10, "maskPosition": 10, "maskClip": 10, "maskOrigin": 10, "maskSize": 10, "maskComposite": 10, "mask": 10, "maskBorderSource": 10, "maskBorderMode": 10, "maskBorderSlice": 10, "maskBorderWidth": 10, "maskBorderOutset": 10, "maskBorderRepeat": 10, "maskBorder": 10, "maskType": 10, "textDecorationStyle": 10, "textDecorationSkip": 10, "textDecorationLine": 10, "textDecorationColor": 10, "shapeImageThreshold": 10, "shapeImageMargin": 10, "shapeImageOutside": 10, "filter": 9, "hyphens": 10, "flowInto": 10, "flowFrom": 10, "breakBefore": 8, "breakAfter": 8, "breakInside": 8, "regionFragment": 10, "columnCount": 8, "columnFill": 8, "columnGap": 8, "columnRule": 8, "columnRuleColor": 8, "columnRuleStyle": 8, "columnRuleWidth": 8, "columns": 8, "columnSpan": 8, "columnWidth": 8 }, "firefox": { "appearance": 50, "userSelect": 50, "boxSizing": 28, "textAlignLast": 48, "textDecorationStyle": 35, "textDecorationSkip": 35, "textDecorationLine": 35, "textDecorationColor": 35, "tabSize": 50, "hyphens": 42, "fontFeatureSettings": 33, "breakAfter": 50, "breakBefore": 50, "breakInside": 50, "columnCount": 50, "columnFill": 50, "columnGap": 50, "columnRule": 50, "columnRuleColor": 50, "columnRuleStyle": 50, "columnRuleWidth": 50, "columns": 50, "columnSpan": 50, "columnWidth": 50 }, "opera": { "flex": 16, "flexBasis": 16, "flexDirection": 16, "flexGrow": 16, "flexFlow": 16, "flexShrink": 16, "flexWrap": 16, "alignContent": 16, "alignItems": 16, "alignSelf": 16, "justifyContent": 16, "order": 16, "transform": 22, "transformOrigin": 22, "transformOriginX": 22, "transformOriginY": 22, "backfaceVisibility": 22, "perspective": 22, "perspectiveOrigin": 22, "transformStyle": 22, "transformOriginZ": 22, "animation": 29, "animationDelay": 29, "animationDirection": 29, "animationFillMode": 29, "animationDuration": 29, "animationIterationCount": 29, "animationName": 29, "animationPlayState": 29, "animationTimingFunction": 29, "appearance": 40, "userSelect": 40, "fontKerning": 19, "textEmphasisPosition": 40, "textEmphasis": 40, "textEmphasisStyle": 40, "textEmphasisColor": 40, "boxDecorationBreak": 40, "clipPath": 40, "maskImage": 40, "maskMode": 40, "maskRepeat": 40, "maskPosition": 40, "maskClip": 40, "maskOrigin": 40, "maskSize": 40, "maskComposite": 40, "mask": 40, "maskBorderSource": 40, "maskBorderMode": 40, "maskBorderSlice": 40, "maskBorderWidth": 40, "maskBorderOutset": 40, "maskBorderRepeat": 40, "maskBorder": 40, "maskType": 40, "textDecorationStyle": 40, "textDecorationSkip": 40, "textDecorationLine": 40, "textDecorationColor": 40, "filter": 40, "fontFeatureSettings": 34, "breakAfter": 36, "breakBefore": 36, "breakInside": 36, "columnCount": 36, "columnFill": 36, "columnGap": 36, "columnRule": 36, "columnRuleColor": 36, "columnRuleStyle": 36, "columnRuleWidth": 36, "columns": 36, "columnSpan": 36, "columnWidth": 36 }, "ie": { "flex": 10, "flexDirection": 10, "flexFlow": 10, "flexWrap": 10, "transform": 9, "transformOrigin": 9, "transformOriginX": 9, "transformOriginY": 9, "userSelect": 11, "wrapFlow": 11, "wrapThrough": 11, "wrapMargin": 11, "scrollSnapType": 11, "scrollSnapPointsX": 11, "scrollSnapPointsY": 11, "scrollSnapDestination": 11, "scrollSnapCoordinate": 11, "touchAction": 10, "hyphens": 11, "flowInto": 11, "flowFrom": 11, "breakBefore": 11, "breakAfter": 11, "breakInside": 11, "regionFragment": 11, "gridTemplateColumns": 11, "gridTemplateRows": 11, "gridTemplateAreas": 11, "gridTemplate": 11, "gridAutoColumns": 11, "gridAutoRows": 11, "gridAutoFlow": 11, "grid": 11, "gridRowStart": 11, "gridColumnStart": 11, "gridRowEnd": 11, "gridRow": 11, "gridColumn": 11, "gridColumnEnd": 11, "gridColumnGap": 11, "gridRowGap": 11, "gridArea": 11, "gridGap": 11, "textSizeAdjust": 11 }, "edge": { "userSelect": 14, "wrapFlow": 14, "wrapThrough": 14, "wrapMargin": 14, "scrollSnapType": 14, "scrollSnapPointsX": 14, "scrollSnapPointsY": 14, "scrollSnapDestination": 14, "scrollSnapCoordinate": 14, "hyphens": 14, "flowInto": 14, "flowFrom": 14, "breakBefore": 14, "breakAfter": 14, "breakInside": 14, "regionFragment": 14, "gridTemplateColumns": 14, "gridTemplateRows": 14, "gridTemplateAreas": 14, "gridTemplate": 14, "gridAutoColumns": 14, "gridAutoRows": 14, "gridAutoFlow": 14, "grid": 14, "gridRowStart": 14, "gridColumnStart": 14, "gridRowEnd": 14, "gridRow": 14, "gridColumn": 14, "gridColumnEnd": 14, "gridColumnGap": 14, "gridRowGap": 14, "gridArea": 14, "gridGap": 14 }, "ios_saf": { "flex": 8.1, "flexBasis": 8.1, "flexDirection": 8.1, "flexGrow": 8.1, "flexFlow": 8.1, "flexShrink": 8.1, "flexWrap": 8.1, "alignContent": 8.1, "alignItems": 8.1, "alignSelf": 8.1, "justifyContent": 8.1, "order": 8.1, "transition": 6, "transitionDelay": 6, "transitionDuration": 6, "transitionProperty": 6, "transitionTimingFunction": 6, "transform": 8.1, "transformOrigin": 8.1, "transformOriginX": 8.1, "transformOriginY": 8.1, "backfaceVisibility": 8.1, "perspective": 8.1, "perspectiveOrigin": 8.1, "transformStyle": 8.1, "transformOriginZ": 8.1, "animation": 8.1, "animationDelay": 8.1, "animationDirection": 8.1, "animationFillMode": 8.1, "animationDuration": 8.1, "animationIterationCount": 8.1, "animationName": 8.1, "animationPlayState": 8.1, "animationTimingFunction": 8.1, "appearance": 9.3, "userSelect": 9.3, "backdropFilter": 9.3, "fontKerning": 9.3, "scrollSnapType": 9.3, "scrollSnapPointsX": 9.3, "scrollSnapPointsY": 9.3, "scrollSnapDestination": 9.3, "scrollSnapCoordinate": 9.3, "boxDecorationBreak": 9.3, "clipPath": 9.3, "maskImage": 9.3, "maskMode": 9.3, "maskRepeat": 9.3, "maskPosition": 9.3, "maskClip": 9.3, "maskOrigin": 9.3, "maskSize": 9.3, "maskComposite": 9.3, "mask": 9.3, "maskBorderSource": 9.3, "maskBorderMode": 9.3, "maskBorderSlice": 9.3, "maskBorderWidth": 9.3, "maskBorderOutset": 9.3, "maskBorderRepeat": 9.3, "maskBorder": 9.3, "maskType": 9.3, "textSizeAdjust": 9.3, "textDecorationStyle": 9.3, "textDecorationSkip": 9.3, "textDecorationLine": 9.3, "textDecorationColor": 9.3, "shapeImageThreshold": 9.3, "shapeImageMargin": 9.3, "shapeImageOutside": 9.3, "filter": 9, "hyphens": 9.3, "flowInto": 9.3, "flowFrom": 9.3, "breakBefore": 8.1, "breakAfter": 8.1, "breakInside": 8.1, "regionFragment": 9.3, "columnCount": 8.1, "columnFill": 8.1, "columnGap": 8.1, "columnRule": 8.1, "columnRuleColor": 8.1, "columnRuleStyle": 8.1, "columnRuleWidth": 8.1, "columns": 8.1, "columnSpan": 8.1, "columnWidth": 8.1 }, "android": { "borderImage": 4.2, "borderImageOutset": 4.2, "borderImageRepeat": 4.2, "borderImageSlice": 4.2, "borderImageSource": 4.2, "borderImageWidth": 4.2, "flex": 4.2, "flexBasis": 4.2, "flexDirection": 4.2, "flexGrow": 4.2, "flexFlow": 4.2, "flexShrink": 4.2, "flexWrap": 4.2, "alignContent": 4.2, "alignItems": 4.2, "alignSelf": 4.2, "justifyContent": 4.2, "order": 4.2, "transition": 4.2, "transitionDelay": 4.2, "transitionDuration": 4.2, "transitionProperty": 4.2, "transitionTimingFunction": 4.2, "transform": 4.4, "transformOrigin": 4.4, "transformOriginX": 4.4, "transformOriginY": 4.4, "backfaceVisibility": 4.4, "perspective": 4.4, "perspectiveOrigin": 4.4, "transformStyle": 4.4, "transformOriginZ": 4.4, "animation": 4.4, "animationDelay": 4.4, "animationDirection": 4.4, "animationFillMode": 4.4, "animationDuration": 4.4, "animationIterationCount": 4.4, "animationName": 4.4, "animationPlayState": 4.4, "animationTimingFunction": 4.4, "appearance": 50, "userSelect": 50, "fontKerning": 4.4, "textEmphasisPosition": 50, "textEmphasis": 50, "textEmphasisStyle": 50, "textEmphasisColor": 50, "boxDecorationBreak": 50, "clipPath": 50, "maskImage": 50, "maskMode": 50, "maskRepeat": 50, "maskPosition": 50, "maskClip": 50, "maskOrigin": 50, "maskSize": 50, "maskComposite": 50, "mask": 50, "maskBorderSource": 50, "maskBorderMode": 50, "maskBorderSlice": 50, "maskBorderWidth": 50, "maskBorderOutset": 50, "maskBorderRepeat": 50, "maskBorder": 50, "maskType": 50, "filter": 50, "fontFeatureSettings": 4.4, "breakAfter": 50, "breakBefore": 50, "breakInside": 50, "columnCount": 50, "columnFill": 50, "columnGap": 50, "columnRule": 50, "columnRuleColor": 50, "columnRuleStyle": 50, "columnRuleWidth": 50, "columns": 50, "columnSpan": 50, "columnWidth": 50 }, "and_chr": { "appearance": 50, "userSelect": 50, "textEmphasisPosition": 50, "textEmphasis": 50, "textEmphasisStyle": 50, "textEmphasisColor": 50, "boxDecorationBreak": 50, "clipPath": 50, "maskImage": 50, "maskMode": 50, "maskRepeat": 50, "maskPosition": 50, "maskClip": 50, "maskOrigin": 50, "maskSize": 50, "maskComposite": 50, "mask": 50, "maskBorderSource": 50, "maskBorderMode": 50, "maskBorderSlice": 50, "maskBorderWidth": 50, "maskBorderOutset": 50, "maskBorderRepeat": 50, "maskBorder": 50, "maskType": 50, "textDecorationStyle": 50, "textDecorationSkip": 50, "textDecorationLine": 50, "textDecorationColor": 50, "filter": 50, "fontFeatureSettings": 50 }, "and_uc": { "flex": 9.9, "flexBasis": 9.9, "flexDirection": 9.9, "flexGrow": 9.9, "flexFlow": 9.9, "flexShrink": 9.9, "flexWrap": 9.9, "alignContent": 9.9, "alignItems": 9.9, "alignSelf": 9.9, "justifyContent": 9.9, "order": 9.9, "transition": 9.9, "transitionDelay": 9.9, "transitionDuration": 9.9, "transitionProperty": 9.9, "transitionTimingFunction": 9.9, "transform": 9.9, "transformOrigin": 9.9, "transformOriginX": 9.9, "transformOriginY": 9.9, "backfaceVisibility": 9.9, "perspective": 9.9, "perspectiveOrigin": 9.9, "transformStyle": 9.9, "transformOriginZ": 9.9, "animation": 9.9, "animationDelay": 9.9, "animationDirection": 9.9, "animationFillMode": 9.9, "animationDuration": 9.9, "animationIterationCount": 9.9, "animationName": 9.9, "animationPlayState": 9.9, "animationTimingFunction": 9.9, "appearance": 9.9, "userSelect": 9.9, "fontKerning": 9.9, "textEmphasisPosition": 9.9, "textEmphasis": 9.9, "textEmphasisStyle": 9.9, "textEmphasisColor": 9.9, "maskImage": 9.9, "maskMode": 9.9, "maskRepeat": 9.9, "maskPosition": 9.9, "maskClip": 9.9, "maskOrigin": 9.9, "maskSize": 9.9, "maskComposite": 9.9, "mask": 9.9, "maskBorderSource": 9.9, "maskBorderMode": 9.9, "maskBorderSlice": 9.9, "maskBorderWidth": 9.9, "maskBorderOutset": 9.9, "maskBorderRepeat": 9.9, "maskBorder": 9.9, "maskType": 9.9, "textSizeAdjust": 9.9, "filter": 9.9, "hyphens": 9.9, "flowInto": 9.9, "flowFrom": 9.9, "breakBefore": 9.9, "breakAfter": 9.9, "breakInside": 9.9, "regionFragment": 9.9, "fontFeatureSettings": 9.9, "columnCount": 9.9, "columnFill": 9.9, "columnGap": 9.9, "columnRule": 9.9, "columnRuleColor": 9.9, "columnRuleStyle": 9.9, "columnRuleWidth": 9.9, "columns": 9.9, "columnSpan": 9.9, "columnWidth": 9.9 }, "op_mini": { "borderImage": 5, "borderImageOutset": 5, "borderImageRepeat": 5, "borderImageSlice": 5, "borderImageSource": 5, "borderImageWidth": 5, "tabSize": 5, "objectFit": 5, "objectPosition": 5 } }; + var getPrefixedValue = (function (prefixedValue, value, keepUnprefixed) { + return keepUnprefixed ? [prefixedValue, value] : prefixedValue; + }); + function calc$1(_ref) { var property = _ref.property; var value = _ref.value; @@ -948,8 +920,7 @@ var keepUnprefixed = _ref.keepUnprefixed; if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browser === 'firefox' && version < 15 || browser === 'chrome' && version < 25 || browser === 'safari' && version < 6.1 || browser === 'ios_saf' && version < 7)) { - var prefixedValue = value.replace(/calc\(/g, css + 'calc('); - return babelHelpers.defineProperty({}, property, keepUnprefixed ? [prefixedValue, value] : prefixedValue); + return babelHelpers.defineProperty({}, property, getPrefixedValue(value.replace(/calc\(/g, css + 'calc('), value, keepUnprefixed)); } } @@ -965,9 +936,8 @@ var keepUnprefixed = _ref.keepUnprefixed; if (property === 'cursor' && values$4[value] && (browser === 'firefox' && version < 24 || browser === 'chrome' && version < 37 || browser === 'safari' && version < 9 || browser === 'opera' && version < 24)) { - var prefixedValue = css + value; return { - cursor: keepUnprefixed ? [prefixedValue, value] : prefixedValue + cursor: getPrefixedValue(css + value, value, keepUnprefixed) }; } } @@ -985,9 +955,8 @@ // adds prefixes for firefox, chrome, safari, and opera regardless of version until a reliable brwoser support info can be found (see: https://github.com/rofrischmann/inline-style-prefixer/issues/79) if (property === 'cursor' && values$5[value] && (browser === 'firefox' || browser === 'chrome' || browser === 'safari' || browser === 'opera')) { - var prefixedValue = css + value; return { - cursor: keepUnprefixed ? [prefixedValue, value] : prefixedValue + cursor: getPrefixedValue(css + value, value, keepUnprefixed) }; } } @@ -1004,9 +973,8 @@ var keepUnprefixed = _ref.keepUnprefixed; if (property === 'display' && values$6[value] && (browser === 'chrome' && version < 29 && version > 20 || (browser === 'safari' || browser === 'ios_saf') && version < 9 && version > 6 || browser === 'opera' && (version == 15 || version == 16))) { - var prefixedValue = css + value; return { - display: keepUnprefixed ? [prefixedValue, value] : prefixedValue + display: getPrefixedValue(css + value, value, keepUnprefixed) }; } } @@ -1037,8 +1005,7 @@ // This might change in the future // Keep an eye on it if (properties$2[property] && values$7[value]) { - var prefixedValue = css + value; - return babelHelpers.defineProperty({}, property, keepUnprefixed ? [prefixedValue, value] : prefixedValue); + return babelHelpers.defineProperty({}, property, getPrefixedValue(css + value, value, keepUnprefixed)); } } @@ -1054,8 +1021,7 @@ var keepUnprefixed = _ref.keepUnprefixed; if (typeof value === 'string' && value.match(values$8) !== null && (browser === 'firefox' && version < 16 || browser === 'chrome' && version < 26 || (browser === 'safari' || browser === 'ios_saf') && version < 7 || (browser === 'opera' || browser === 'op_mini') && version < 12.1 || browser === 'android' && version < 4.4 || browser === 'and_uc')) { - var prefixedValue = css + value; - return babelHelpers.defineProperty({}, property, keepUnprefixed ? [prefixedValue, value] : prefixedValue); + return babelHelpers.defineProperty({}, property, getPrefixedValue(css + value, value, keepUnprefixed)); } } @@ -1078,6 +1044,7 @@ if (typeof value === 'string' && properties$3[unprefixedProperty]) { var _ret = function () { + // TODO: memoize this array var requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) { return hyphenateStyleName(prop); }); @@ -1121,11 +1088,6 @@ flexBasis: 'msPreferredSize' }; - var properties$4 = Object.keys(alternativeProps$2).reduce(function (result, prop) { - result[prop] = true; - return result; - }, {}); - function flexboxIE$1(_ref) { var property = _ref.property; var value = _ref.value; @@ -1136,14 +1098,13 @@ var css = _ref.prefix.css; var keepUnprefixed = _ref.keepUnprefixed; - if ((properties$4[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browser === 'ie_mob' || browser === 'ie') && version == 10) { - if (!keepUnprefixed) { + if ((alternativeProps$2[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browser === 'ie_mob' || browser === 'ie') && version == 10) { + if (!keepUnprefixed && !Array.isArray(styles[property])) { delete styles[property]; } if (property === 'display' && alternativeValues$2[value]) { - var prefixedValue = css + alternativeValues$2[value]; return { - display: keepUnprefixed ? [prefixedValue, value] : prefixedValue + display: getPrefixedValue(css + alternativeValues$2[value], value, keepUnprefixed) }; } if (alternativeProps$2[property]) { @@ -1170,11 +1131,7 @@ }; var otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection']; - - var properties$5 = Object.keys(alternativeProps$3).concat(otherProps).reduce(function (result, prop) { - result[prop] = true; - return result; - }, {}); + var properties$4 = Object.keys(alternativeProps$3).concat(otherProps); function flexboxOld$1(_ref) { var property = _ref.property; @@ -1186,8 +1143,8 @@ var css = _ref.prefix.css; var keepUnprefixed = _ref.keepUnprefixed; - if ((properties$5[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browser === 'firefox' && version < 22 || browser === 'chrome' && version < 21 || (browser === 'safari' || browser === 'ios_saf') && version <= 6.1 || browser === 'android' && version < 4.4 || browser === 'and_uc')) { - if (!keepUnprefixed) { + if ((properties$4.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browser === 'firefox' && version < 22 || browser === 'chrome' && version < 21 || (browser === 'safari' || browser === 'ios_saf') && version <= 6.1 || browser === 'android' && version < 4.4 || browser === 'and_uc')) { + if (!keepUnprefixed && !Array.isArray(styles[property])) { delete styles[property]; } if (property === 'flexDirection') { @@ -1197,9 +1154,8 @@ }; } if (property === 'display' && alternativeValues$3[value]) { - var prefixedValue = css + alternativeValues$3[value]; return { - display: keepUnprefixed ? [prefixedValue, value] : prefixedValue + display: getPrefixedValue(css + alternativeValues$3[value], value, keepUnprefixed) }; } if (alternativeProps$3[property]) { @@ -1279,11 +1235,9 @@ return styles; } - styles = assign({}, styles); - Object.keys(styles).forEach(function (property) { var value = styles[property]; - if (value instanceof Object) { + if (value instanceof Object && !Array.isArray(value)) { // recurse through nested style objects styles[property] = _this2.prefix(value); } else { @@ -1298,24 +1252,24 @@ }); Object.keys(styles).forEach(function (property) { - var value = styles[property]; - // resolve plugins - plugins.forEach(function (plugin) { - // generates a new plugin interface with current data - var resolvedStyles = plugin({ - property: property, - value: value, - styles: styles, - browserInfo: _this2._browserInfo, - prefix: { - js: _this2.jsPrefix, - css: _this2.cssPrefix, - keyframes: _this2.prefixedKeyframes - }, - keepUnprefixed: _this2._keepUnprefixed, - requiresPrefix: _this2._requiresPrefix + [].concat(styles[property]).forEach(function (value) { + // resolve plugins + plugins.forEach(function (plugin) { + // generates a new plugin interface with current data + assignStyles(styles, plugin({ + property: property, + value: value, + styles: styles, + browserInfo: _this2._browserInfo, + prefix: { + js: _this2.jsPrefix, + css: _this2.cssPrefix, + keyframes: _this2.prefixedKeyframes + }, + keepUnprefixed: _this2._keepUnprefixed, + requiresPrefix: _this2._requiresPrefix + }), value, _this2._keepUnprefixed); }); - assign(styles, resolvedStyles); }); }); @@ -1337,6 +1291,25 @@ return Prefixer; }(); + function assignStyles(base) { + var extend = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var value = arguments[2]; + var keepUnprefixed = arguments[3]; + + Object.keys(extend).forEach(function (property) { + var baseValue = base[property]; + if (Array.isArray(baseValue)) { + [].concat(extend[property]).forEach(function (val) { + if (base[property].indexOf(val) === -1) { + base[property].splice(baseValue.indexOf(value), keepUnprefixed ? 0 : 1, val); + } + }); + } else { + base[property] = extend[property]; + } + }); + } + return Prefixer; })); diff --git a/dist/inline-style-prefixer.js.map b/dist/inline-style-prefixer.js.map index 8974199..9d99973 100644 --- a/dist/inline-style-prefixer.js.map +++ b/dist/inline-style-prefixer.js.map @@ -1 +1 @@ -{"version":3,"file":"inline-style-prefixer.js","sources":["../modules/static/prefixProps.js","../modules/utils/capitalizeString.js","../modules/utils/assign.js","../modules/utils/joinPrefixedRules.js","../modules/utils/isPrefixedValue.js","../modules/static/plugins/calc.js","../modules/static/plugins/cursor.js","../modules/static/plugins/flex.js","../modules/static/plugins/sizing.js","../modules/static/plugins/gradient.js","../node_modules/hyphenate-style-name/index.js","../modules/static/plugins/transition.js","../modules/static/plugins/flexboxIE.js","../modules/static/plugins/flexboxOld.js","../modules/static/prefixAll.js","../node_modules/bowser/src/bowser.js","../modules/utils/getBrowserInformation.js","../modules/utils/getPrefixedKeyframes.js","../modules/prefixProps.js","../modules/plugins/calc.js","../modules/plugins/zoomCursor.js","../modules/plugins/grabCursor.js","../modules/plugins/flex.js","../modules/plugins/sizing.js","../modules/plugins/gradient.js","../modules/utils/unprefixProperty.js","../modules/plugins/transition.js","../modules/plugins/flexboxIE.js","../modules/plugins/flexboxOld.js","../modules/Prefixer.js"],"sourcesContent":["export default {\"Webkit\":{\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"backfaceVisibility\":true,\"perspective\":true,\"perspectiveOrigin\":true,\"transformStyle\":true,\"transformOriginZ\":true,\"animation\":true,\"animationDelay\":true,\"animationDirection\":true,\"animationFillMode\":true,\"animationDuration\":true,\"animationIterationCount\":true,\"animationName\":true,\"animationPlayState\":true,\"animationTimingFunction\":true,\"appearance\":true,\"userSelect\":true,\"fontKerning\":true,\"textEmphasisPosition\":true,\"textEmphasis\":true,\"textEmphasisStyle\":true,\"textEmphasisColor\":true,\"boxDecorationBreak\":true,\"clipPath\":true,\"maskImage\":true,\"maskMode\":true,\"maskRepeat\":true,\"maskPosition\":true,\"maskClip\":true,\"maskOrigin\":true,\"maskSize\":true,\"maskComposite\":true,\"mask\":true,\"maskBorderSource\":true,\"maskBorderMode\":true,\"maskBorderSlice\":true,\"maskBorderWidth\":true,\"maskBorderOutset\":true,\"maskBorderRepeat\":true,\"maskBorder\":true,\"maskType\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"filter\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true,\"flex\":true,\"flexBasis\":true,\"flexDirection\":true,\"flexGrow\":true,\"flexFlow\":true,\"flexShrink\":true,\"flexWrap\":true,\"alignContent\":true,\"alignItems\":true,\"alignSelf\":true,\"justifyContent\":true,\"order\":true,\"transition\":true,\"transitionDelay\":true,\"transitionDuration\":true,\"transitionProperty\":true,\"transitionTimingFunction\":true,\"backdropFilter\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"shapeImageThreshold\":true,\"shapeImageMargin\":true,\"shapeImageOutside\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"regionFragment\":true,\"textSizeAdjust\":true,\"borderImage\":true,\"borderImageOutset\":true,\"borderImageRepeat\":true,\"borderImageSlice\":true,\"borderImageSource\":true,\"borderImageWidth\":true,\"tabSize\":true,\"objectFit\":true,\"objectPosition\":true},\"Moz\":{\"appearance\":true,\"userSelect\":true,\"boxSizing\":true,\"textAlignLast\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"tabSize\":true,\"hyphens\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true},\"ms\":{\"flex\":true,\"flexBasis\":false,\"flexDirection\":true,\"flexGrow\":false,\"flexFlow\":true,\"flexShrink\":false,\"flexWrap\":true,\"alignContent\":false,\"alignItems\":false,\"alignSelf\":false,\"justifyContent\":false,\"order\":false,\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"userSelect\":true,\"wrapFlow\":true,\"wrapThrough\":true,\"wrapMargin\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"touchAction\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"breakBefore\":true,\"breakAfter\":true,\"breakInside\":true,\"regionFragment\":true,\"gridTemplateColumns\":true,\"gridTemplateRows\":true,\"gridTemplateAreas\":true,\"gridTemplate\":true,\"gridAutoColumns\":true,\"gridAutoRows\":true,\"gridAutoFlow\":true,\"grid\":true,\"gridRowStart\":true,\"gridColumnStart\":true,\"gridRowEnd\":true,\"gridRow\":true,\"gridColumn\":true,\"gridColumnEnd\":true,\"gridColumnGap\":true,\"gridRowGap\":true,\"gridArea\":true,\"gridGap\":true,\"textSizeAdjust\":true}}","// helper to capitalize strings\nexport default str => str.charAt(0).toUpperCase() + str.slice(1)\n","// light polyfill for Object.assign\nexport default (base, extend = { }) => Object.keys(extend).reduce((out, key) => {\n out[key] = extend[key]\n return out\n}, base)\n","// returns a style object with a single concated prefixed value string\nexport default (property, value, replacer = (prefix, value) => prefix + value) => ({\n [property]: [ '-webkit-', '-moz-', '' ].map(prefix => replacer(prefix, value))\n})\n","export default value => {\n if (Array.isArray(value)) value = value.join(',')\n\n return value.match(/-webkit-|-moz-|-ms-/) !== null\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nexport default function calc(property, value) {\n if (typeof value === 'string' && value.indexOf('calc(') > -1) {\n if (isPrefixedValue(value)) {\n return\n }\n\n return joinPrefixedRules(property, value, (prefix, value) => value.replace(/calc\\(/g, prefix + 'calc('))\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\n\nconst values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n}\n\nexport default function cursor(property, value) {\n if (property === 'cursor' && values[value]) {\n return joinPrefixedRules(property, value)\n }\n}\n","const values = { flex: true, 'inline-flex': true }\n\nexport default function flex(property, value) {\n if (property === 'display' && values[value]) {\n return {\n display: [ '-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value, value ]\n }\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\n\nconst properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing(property, value) {\n if (properties[property] && values[value]) {\n return joinPrefixedRules(property, value)\n }\n}\n","import joinPrefixedRules from '../../utils/joinPrefixedRules'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nconst values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient(property, value) {\n if (typeof value === 'string' && value.match(values) !== null) {\n if (isPrefixedValue(value)) {\n return\n }\n\n return joinPrefixedRules(property, value)\n }\n}\n","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../../utils/capitalizeString'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\nimport prefixProps from '../prefixProps'\n\nconst properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true\n}\n\nexport default function transition(property, value) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties[property]) {\n const outputValue = prefixValue(value)\n const webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(value => value.match(/-moz-|-ms-/) === null).join(',')\n\n // if the property is already prefixed\n if (property.indexOf('Webkit') > -1) {\n return { [ property]: webkitOutput }\n }\n\n return {\n ['Webkit' + capitalizeString(property)]: webkitOutput,\n [property]: outputValue\n }\n }\n}\n\nfunction prefixValue(value) {\n if (isPrefixedValue(value)) {\n return value\n }\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n // iterate each single value and check for transitioned properties\n // that need to be prefixed as well\n multipleValues.forEach((val, index) => {\n multipleValues[index] = Object.keys(prefixProps).reduce((out, prefix) => {\n const dashCasePrefix = '-' + prefix.toLowerCase() + '-'\n\n Object.keys(prefixProps[prefix]).forEach(prop => {\n const dashCaseProperty = hyphenateStyleName(prop)\n\n if (val.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n // join all prefixes and create a new value\n out = val.replace(dashCaseProperty, dashCasePrefix + dashCaseProperty) + ',' + out\n }\n })\n return out\n }, val)\n })\n\n return multipleValues.join(',')\n}\n","const alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nexport default function flexboxIE(property, value) {\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","const alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nexport default function flexboxOld(property, value) {\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","import prefixProperties from './prefixProps'\nimport capitalizeString from '../utils/capitalizeString'\nimport assign from '../utils/assign'\n\nimport calc from './plugins/calc'\nimport cursor from './plugins/cursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n cursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n flex\n]\n\n/**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\nexport default function prefixAll(styles) {\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = prefixAll(value)\n } else if (Array.isArray(value)) {\n // prefix fallback arrays\n assign(styles, prefixArray(property, value))\n } else {\n Object.keys(prefixProperties).forEach(prefix => {\n const properties = prefixProperties[prefix]\n // add prefixes if needed\n if (properties[property]) {\n styles[prefix + capitalizeString(property)] = value\n }\n })\n }\n })\n\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n // resolve every special plugins\n plugins.forEach(plugin => assign(styles, plugin(property, value)))\n })\n\n return styles\n}\n\nfunction prefixArray(property, valueArray) {\n let result = { }\n valueArray.forEach(value => {\n plugins.forEach(plugin => {\n let prefixed = plugin(property, value)\n if (prefixed) {\n Object.keys(prefixed).forEach(prop => {\n const entry = prefixed[prop]\n result[prop] = result[prop] ? mergeValues(result[prop], entry) : entry\n })\n }\n })\n if (!result[property]) {\n result[property] = value\n }\n })\n return result\n}\n\nfunction mergeValues(existing, toMerge) {\n let merged = existing\n let valuesToMerge = Array.isArray(toMerge) ? toMerge : [ toMerge ]\n valuesToMerge.forEach(value => {\n if (Array.isArray(merged) && merged.indexOf(value) === -1) {\n merged.push(value)\n } else if (merged !== value) {\n merged = [ merged, value ]\n }\n })\n return merged\n}\n","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(definition)\n else this[name] = definition()\n}('bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)os/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getFirstMatch(/edge\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera|opr|opios/i.test(ua)) {\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/chrome.+? edge/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.msedge && (android || result.silk)) {\n result.android = t\n } else if (iosdevice) {\n result[iosdevice] = t\n result.ios = t\n } else if (mac) {\n result.mac = t\n } else if (xbox) {\n result.xbox = t\n } else if (windows) {\n result.windows = t\n } else if (linux) {\n result.linux = t\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result = iterator(arr[i]);\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n // browser version and min supported version.\n if (compareVersions([version, minVersions[browser]]) < 0) {\n return true; // unsupported\n }\n }\n }\n }\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @return {Boolean}\n */\n function check(minVersions, strictMode) {\n return !isUnsupportedBrowser(minVersions, strictMode);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n return bowser\n});\n","import bowser from 'bowser'\n\nconst vendorPrefixes = {\n Webkit: [ 'chrome', 'safari', 'ios', 'android', 'phantom', 'opera', 'webos', 'blackberry', 'bada', 'tizen', 'chromium', 'vivaldi' ],\n Moz: [ 'firefox', 'seamonkey', 'sailfish' ],\n ms: [ 'msie', 'msedge' ]\n}\n\nconst browsers = {\n chrome: [ [ 'chrome' ], [ 'chromium' ] ],\n safari: [ [ 'safari' ] ],\n firefox: [ [ 'firefox' ] ],\n ie: [ [ 'msie' ] ],\n edge: [ [ 'msedge' ] ],\n opera: [ [ 'opera' ], [ 'vivaldi' ] ],\n ios_saf: [ [ 'ios', 'mobile' ], [ 'ios', 'tablet' ] ],\n ie_mob: [ [ 'windowsphone', 'mobile', 'msie' ], [ 'windowsphone', 'tablet', 'msie' ], [ 'windowsphone', 'mobile', 'msedge' ], [ 'windowsphone', 'tablet', 'msedge' ] ],\n op_mini: [ [ 'opera', 'mobile' ], [ 'opera', 'tablet' ] ],\n and_uc: [ [ 'android', 'mobile' ], [ 'android', 'tablet' ] ],\n android: [ [ 'android', 'mobile' ], [ 'android', 'tablet' ] ]\n}\n\n/**\n * Uses bowser to get default browser information such as version and name\n * Evaluates bowser info and adds vendorPrefix information\n * @param {string} userAgent - userAgent that gets evaluated\n */\nexport default userAgent => {\n if (!userAgent) {\n return false\n }\n\n const info = bowser._detect(userAgent)\n\n Object.keys(vendorPrefixes).forEach(prefix => {\n vendorPrefixes[prefix].forEach(browser => {\n if (info[browser]) {\n info.prefix = {\n inline: prefix,\n css: '-' + prefix.toLowerCase() + '-'\n }\n }\n })\n })\n\n let name = ''\n Object.keys(browsers).forEach(browser => {\n browsers[browser].forEach(condition => {\n let match = 0\n condition.forEach(single => {\n if (info[single]) {\n match += 1\n }\n })\n if (condition.length === match) {\n name = browser\n }\n })\n })\n\n info.browser = name\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n info.version = info.version ? parseFloat(info.version) : parseInt(parseFloat(info.osversion), 10)\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (info.browser === 'android' && info.chrome && info.version > 37) {\n info.browser = 'and_chr'\n }\n info.version = parseFloat(info.version)\n info.osversion = parseFloat(info.osversion)\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (info.browser === 'android' && info.osversion < 5) {\n info.version = info.osversion\n }\n\n return info\n}\n","export default ({browser, version, prefix}) => {\n let prefixedKeyframes = 'keyframes'\n\n if (\n browser === 'chrome' && version < 43 ||\n (browser === 'safari' || browser === 'ios_saf') && version < 9 ||\n browser === 'opera' && version < 30 ||\n browser === 'android' && version <= 4.4 ||\n browser === 'and_uc'\n ) {\n prefixedKeyframes = prefix.css + prefixedKeyframes\n }\n return prefixedKeyframes\n}\n","export default {\"chrome\":{\"transform\":35,\"transformOrigin\":35,\"transformOriginX\":35,\"transformOriginY\":35,\"backfaceVisibility\":35,\"perspective\":35,\"perspectiveOrigin\":35,\"transformStyle\":35,\"transformOriginZ\":35,\"animation\":42,\"animationDelay\":42,\"animationDirection\":42,\"animationFillMode\":42,\"animationDuration\":42,\"animationIterationCount\":42,\"animationName\":42,\"animationPlayState\":42,\"animationTimingFunction\":42,\"appearance\":54,\"userSelect\":54,\"fontKerning\":32,\"textEmphasisPosition\":54,\"textEmphasis\":54,\"textEmphasisStyle\":54,\"textEmphasisColor\":54,\"boxDecorationBreak\":54,\"clipPath\":54,\"maskImage\":54,\"maskMode\":54,\"maskRepeat\":54,\"maskPosition\":54,\"maskClip\":54,\"maskOrigin\":54,\"maskSize\":54,\"maskComposite\":54,\"mask\":54,\"maskBorderSource\":54,\"maskBorderMode\":54,\"maskBorderSlice\":54,\"maskBorderWidth\":54,\"maskBorderOutset\":54,\"maskBorderRepeat\":54,\"maskBorder\":54,\"maskType\":54,\"textDecorationStyle\":54,\"textDecorationSkip\":54,\"textDecorationLine\":54,\"textDecorationColor\":54,\"filter\":54,\"fontFeatureSettings\":47,\"breakAfter\":49,\"breakBefore\":49,\"breakInside\":49,\"columnCount\":49,\"columnFill\":49,\"columnGap\":49,\"columnRule\":49,\"columnRuleColor\":49,\"columnRuleStyle\":49,\"columnRuleWidth\":49,\"columns\":49,\"columnSpan\":49,\"columnWidth\":49},\"safari\":{\"flex\":8,\"flexBasis\":8,\"flexDirection\":8,\"flexGrow\":8,\"flexFlow\":8,\"flexShrink\":8,\"flexWrap\":8,\"alignContent\":8,\"alignItems\":8,\"alignSelf\":8,\"justifyContent\":8,\"order\":8,\"transition\":6,\"transitionDelay\":6,\"transitionDuration\":6,\"transitionProperty\":6,\"transitionTimingFunction\":6,\"transform\":8,\"transformOrigin\":8,\"transformOriginX\":8,\"transformOriginY\":8,\"backfaceVisibility\":8,\"perspective\":8,\"perspectiveOrigin\":8,\"transformStyle\":8,\"transformOriginZ\":8,\"animation\":8,\"animationDelay\":8,\"animationDirection\":8,\"animationFillMode\":8,\"animationDuration\":8,\"animationIterationCount\":8,\"animationName\":8,\"animationPlayState\":8,\"animationTimingFunction\":8,\"appearance\":10,\"userSelect\":10,\"backdropFilter\":10,\"fontKerning\":9,\"scrollSnapType\":10,\"scrollSnapPointsX\":10,\"scrollSnapPointsY\":10,\"scrollSnapDestination\":10,\"scrollSnapCoordinate\":10,\"textEmphasisPosition\":7,\"textEmphasis\":7,\"textEmphasisStyle\":7,\"textEmphasisColor\":7,\"boxDecorationBreak\":10,\"clipPath\":10,\"maskImage\":10,\"maskMode\":10,\"maskRepeat\":10,\"maskPosition\":10,\"maskClip\":10,\"maskOrigin\":10,\"maskSize\":10,\"maskComposite\":10,\"mask\":10,\"maskBorderSource\":10,\"maskBorderMode\":10,\"maskBorderSlice\":10,\"maskBorderWidth\":10,\"maskBorderOutset\":10,\"maskBorderRepeat\":10,\"maskBorder\":10,\"maskType\":10,\"textDecorationStyle\":10,\"textDecorationSkip\":10,\"textDecorationLine\":10,\"textDecorationColor\":10,\"shapeImageThreshold\":10,\"shapeImageMargin\":10,\"shapeImageOutside\":10,\"filter\":9,\"hyphens\":10,\"flowInto\":10,\"flowFrom\":10,\"breakBefore\":8,\"breakAfter\":8,\"breakInside\":8,\"regionFragment\":10,\"columnCount\":8,\"columnFill\":8,\"columnGap\":8,\"columnRule\":8,\"columnRuleColor\":8,\"columnRuleStyle\":8,\"columnRuleWidth\":8,\"columns\":8,\"columnSpan\":8,\"columnWidth\":8},\"firefox\":{\"appearance\":50,\"userSelect\":50,\"boxSizing\":28,\"textAlignLast\":48,\"textDecorationStyle\":35,\"textDecorationSkip\":35,\"textDecorationLine\":35,\"textDecorationColor\":35,\"tabSize\":50,\"hyphens\":42,\"fontFeatureSettings\":33,\"breakAfter\":50,\"breakBefore\":50,\"breakInside\":50,\"columnCount\":50,\"columnFill\":50,\"columnGap\":50,\"columnRule\":50,\"columnRuleColor\":50,\"columnRuleStyle\":50,\"columnRuleWidth\":50,\"columns\":50,\"columnSpan\":50,\"columnWidth\":50},\"opera\":{\"flex\":16,\"flexBasis\":16,\"flexDirection\":16,\"flexGrow\":16,\"flexFlow\":16,\"flexShrink\":16,\"flexWrap\":16,\"alignContent\":16,\"alignItems\":16,\"alignSelf\":16,\"justifyContent\":16,\"order\":16,\"transform\":22,\"transformOrigin\":22,\"transformOriginX\":22,\"transformOriginY\":22,\"backfaceVisibility\":22,\"perspective\":22,\"perspectiveOrigin\":22,\"transformStyle\":22,\"transformOriginZ\":22,\"animation\":29,\"animationDelay\":29,\"animationDirection\":29,\"animationFillMode\":29,\"animationDuration\":29,\"animationIterationCount\":29,\"animationName\":29,\"animationPlayState\":29,\"animationTimingFunction\":29,\"appearance\":40,\"userSelect\":40,\"fontKerning\":19,\"textEmphasisPosition\":40,\"textEmphasis\":40,\"textEmphasisStyle\":40,\"textEmphasisColor\":40,\"boxDecorationBreak\":40,\"clipPath\":40,\"maskImage\":40,\"maskMode\":40,\"maskRepeat\":40,\"maskPosition\":40,\"maskClip\":40,\"maskOrigin\":40,\"maskSize\":40,\"maskComposite\":40,\"mask\":40,\"maskBorderSource\":40,\"maskBorderMode\":40,\"maskBorderSlice\":40,\"maskBorderWidth\":40,\"maskBorderOutset\":40,\"maskBorderRepeat\":40,\"maskBorder\":40,\"maskType\":40,\"textDecorationStyle\":40,\"textDecorationSkip\":40,\"textDecorationLine\":40,\"textDecorationColor\":40,\"filter\":40,\"fontFeatureSettings\":34,\"breakAfter\":36,\"breakBefore\":36,\"breakInside\":36,\"columnCount\":36,\"columnFill\":36,\"columnGap\":36,\"columnRule\":36,\"columnRuleColor\":36,\"columnRuleStyle\":36,\"columnRuleWidth\":36,\"columns\":36,\"columnSpan\":36,\"columnWidth\":36},\"ie\":{\"flex\":10,\"flexDirection\":10,\"flexFlow\":10,\"flexWrap\":10,\"transform\":9,\"transformOrigin\":9,\"transformOriginX\":9,\"transformOriginY\":9,\"userSelect\":11,\"wrapFlow\":11,\"wrapThrough\":11,\"wrapMargin\":11,\"scrollSnapType\":11,\"scrollSnapPointsX\":11,\"scrollSnapPointsY\":11,\"scrollSnapDestination\":11,\"scrollSnapCoordinate\":11,\"touchAction\":10,\"hyphens\":11,\"flowInto\":11,\"flowFrom\":11,\"breakBefore\":11,\"breakAfter\":11,\"breakInside\":11,\"regionFragment\":11,\"gridTemplateColumns\":11,\"gridTemplateRows\":11,\"gridTemplateAreas\":11,\"gridTemplate\":11,\"gridAutoColumns\":11,\"gridAutoRows\":11,\"gridAutoFlow\":11,\"grid\":11,\"gridRowStart\":11,\"gridColumnStart\":11,\"gridRowEnd\":11,\"gridRow\":11,\"gridColumn\":11,\"gridColumnEnd\":11,\"gridColumnGap\":11,\"gridRowGap\":11,\"gridArea\":11,\"gridGap\":11,\"textSizeAdjust\":11},\"edge\":{\"userSelect\":14,\"wrapFlow\":14,\"wrapThrough\":14,\"wrapMargin\":14,\"scrollSnapType\":14,\"scrollSnapPointsX\":14,\"scrollSnapPointsY\":14,\"scrollSnapDestination\":14,\"scrollSnapCoordinate\":14,\"hyphens\":14,\"flowInto\":14,\"flowFrom\":14,\"breakBefore\":14,\"breakAfter\":14,\"breakInside\":14,\"regionFragment\":14,\"gridTemplateColumns\":14,\"gridTemplateRows\":14,\"gridTemplateAreas\":14,\"gridTemplate\":14,\"gridAutoColumns\":14,\"gridAutoRows\":14,\"gridAutoFlow\":14,\"grid\":14,\"gridRowStart\":14,\"gridColumnStart\":14,\"gridRowEnd\":14,\"gridRow\":14,\"gridColumn\":14,\"gridColumnEnd\":14,\"gridColumnGap\":14,\"gridRowGap\":14,\"gridArea\":14,\"gridGap\":14},\"ios_saf\":{\"flex\":8.1,\"flexBasis\":8.1,\"flexDirection\":8.1,\"flexGrow\":8.1,\"flexFlow\":8.1,\"flexShrink\":8.1,\"flexWrap\":8.1,\"alignContent\":8.1,\"alignItems\":8.1,\"alignSelf\":8.1,\"justifyContent\":8.1,\"order\":8.1,\"transition\":6,\"transitionDelay\":6,\"transitionDuration\":6,\"transitionProperty\":6,\"transitionTimingFunction\":6,\"transform\":8.1,\"transformOrigin\":8.1,\"transformOriginX\":8.1,\"transformOriginY\":8.1,\"backfaceVisibility\":8.1,\"perspective\":8.1,\"perspectiveOrigin\":8.1,\"transformStyle\":8.1,\"transformOriginZ\":8.1,\"animation\":8.1,\"animationDelay\":8.1,\"animationDirection\":8.1,\"animationFillMode\":8.1,\"animationDuration\":8.1,\"animationIterationCount\":8.1,\"animationName\":8.1,\"animationPlayState\":8.1,\"animationTimingFunction\":8.1,\"appearance\":9.3,\"userSelect\":9.3,\"backdropFilter\":9.3,\"fontKerning\":9.3,\"scrollSnapType\":9.3,\"scrollSnapPointsX\":9.3,\"scrollSnapPointsY\":9.3,\"scrollSnapDestination\":9.3,\"scrollSnapCoordinate\":9.3,\"boxDecorationBreak\":9.3,\"clipPath\":9.3,\"maskImage\":9.3,\"maskMode\":9.3,\"maskRepeat\":9.3,\"maskPosition\":9.3,\"maskClip\":9.3,\"maskOrigin\":9.3,\"maskSize\":9.3,\"maskComposite\":9.3,\"mask\":9.3,\"maskBorderSource\":9.3,\"maskBorderMode\":9.3,\"maskBorderSlice\":9.3,\"maskBorderWidth\":9.3,\"maskBorderOutset\":9.3,\"maskBorderRepeat\":9.3,\"maskBorder\":9.3,\"maskType\":9.3,\"textSizeAdjust\":9.3,\"textDecorationStyle\":9.3,\"textDecorationSkip\":9.3,\"textDecorationLine\":9.3,\"textDecorationColor\":9.3,\"shapeImageThreshold\":9.3,\"shapeImageMargin\":9.3,\"shapeImageOutside\":9.3,\"filter\":9,\"hyphens\":9.3,\"flowInto\":9.3,\"flowFrom\":9.3,\"breakBefore\":8.1,\"breakAfter\":8.1,\"breakInside\":8.1,\"regionFragment\":9.3,\"columnCount\":8.1,\"columnFill\":8.1,\"columnGap\":8.1,\"columnRule\":8.1,\"columnRuleColor\":8.1,\"columnRuleStyle\":8.1,\"columnRuleWidth\":8.1,\"columns\":8.1,\"columnSpan\":8.1,\"columnWidth\":8.1},\"android\":{\"borderImage\":4.2,\"borderImageOutset\":4.2,\"borderImageRepeat\":4.2,\"borderImageSlice\":4.2,\"borderImageSource\":4.2,\"borderImageWidth\":4.2,\"flex\":4.2,\"flexBasis\":4.2,\"flexDirection\":4.2,\"flexGrow\":4.2,\"flexFlow\":4.2,\"flexShrink\":4.2,\"flexWrap\":4.2,\"alignContent\":4.2,\"alignItems\":4.2,\"alignSelf\":4.2,\"justifyContent\":4.2,\"order\":4.2,\"transition\":4.2,\"transitionDelay\":4.2,\"transitionDuration\":4.2,\"transitionProperty\":4.2,\"transitionTimingFunction\":4.2,\"transform\":4.4,\"transformOrigin\":4.4,\"transformOriginX\":4.4,\"transformOriginY\":4.4,\"backfaceVisibility\":4.4,\"perspective\":4.4,\"perspectiveOrigin\":4.4,\"transformStyle\":4.4,\"transformOriginZ\":4.4,\"animation\":4.4,\"animationDelay\":4.4,\"animationDirection\":4.4,\"animationFillMode\":4.4,\"animationDuration\":4.4,\"animationIterationCount\":4.4,\"animationName\":4.4,\"animationPlayState\":4.4,\"animationTimingFunction\":4.4,\"appearance\":50,\"userSelect\":50,\"fontKerning\":4.4,\"textEmphasisPosition\":50,\"textEmphasis\":50,\"textEmphasisStyle\":50,\"textEmphasisColor\":50,\"boxDecorationBreak\":50,\"clipPath\":50,\"maskImage\":50,\"maskMode\":50,\"maskRepeat\":50,\"maskPosition\":50,\"maskClip\":50,\"maskOrigin\":50,\"maskSize\":50,\"maskComposite\":50,\"mask\":50,\"maskBorderSource\":50,\"maskBorderMode\":50,\"maskBorderSlice\":50,\"maskBorderWidth\":50,\"maskBorderOutset\":50,\"maskBorderRepeat\":50,\"maskBorder\":50,\"maskType\":50,\"filter\":50,\"fontFeatureSettings\":4.4,\"breakAfter\":50,\"breakBefore\":50,\"breakInside\":50,\"columnCount\":50,\"columnFill\":50,\"columnGap\":50,\"columnRule\":50,\"columnRuleColor\":50,\"columnRuleStyle\":50,\"columnRuleWidth\":50,\"columns\":50,\"columnSpan\":50,\"columnWidth\":50},\"and_chr\":{\"appearance\":50,\"userSelect\":50,\"textEmphasisPosition\":50,\"textEmphasis\":50,\"textEmphasisStyle\":50,\"textEmphasisColor\":50,\"boxDecorationBreak\":50,\"clipPath\":50,\"maskImage\":50,\"maskMode\":50,\"maskRepeat\":50,\"maskPosition\":50,\"maskClip\":50,\"maskOrigin\":50,\"maskSize\":50,\"maskComposite\":50,\"mask\":50,\"maskBorderSource\":50,\"maskBorderMode\":50,\"maskBorderSlice\":50,\"maskBorderWidth\":50,\"maskBorderOutset\":50,\"maskBorderRepeat\":50,\"maskBorder\":50,\"maskType\":50,\"textDecorationStyle\":50,\"textDecorationSkip\":50,\"textDecorationLine\":50,\"textDecorationColor\":50,\"filter\":50,\"fontFeatureSettings\":50},\"and_uc\":{\"flex\":9.9,\"flexBasis\":9.9,\"flexDirection\":9.9,\"flexGrow\":9.9,\"flexFlow\":9.9,\"flexShrink\":9.9,\"flexWrap\":9.9,\"alignContent\":9.9,\"alignItems\":9.9,\"alignSelf\":9.9,\"justifyContent\":9.9,\"order\":9.9,\"transition\":9.9,\"transitionDelay\":9.9,\"transitionDuration\":9.9,\"transitionProperty\":9.9,\"transitionTimingFunction\":9.9,\"transform\":9.9,\"transformOrigin\":9.9,\"transformOriginX\":9.9,\"transformOriginY\":9.9,\"backfaceVisibility\":9.9,\"perspective\":9.9,\"perspectiveOrigin\":9.9,\"transformStyle\":9.9,\"transformOriginZ\":9.9,\"animation\":9.9,\"animationDelay\":9.9,\"animationDirection\":9.9,\"animationFillMode\":9.9,\"animationDuration\":9.9,\"animationIterationCount\":9.9,\"animationName\":9.9,\"animationPlayState\":9.9,\"animationTimingFunction\":9.9,\"appearance\":9.9,\"userSelect\":9.9,\"fontKerning\":9.9,\"textEmphasisPosition\":9.9,\"textEmphasis\":9.9,\"textEmphasisStyle\":9.9,\"textEmphasisColor\":9.9,\"maskImage\":9.9,\"maskMode\":9.9,\"maskRepeat\":9.9,\"maskPosition\":9.9,\"maskClip\":9.9,\"maskOrigin\":9.9,\"maskSize\":9.9,\"maskComposite\":9.9,\"mask\":9.9,\"maskBorderSource\":9.9,\"maskBorderMode\":9.9,\"maskBorderSlice\":9.9,\"maskBorderWidth\":9.9,\"maskBorderOutset\":9.9,\"maskBorderRepeat\":9.9,\"maskBorder\":9.9,\"maskType\":9.9,\"textSizeAdjust\":9.9,\"filter\":9.9,\"hyphens\":9.9,\"flowInto\":9.9,\"flowFrom\":9.9,\"breakBefore\":9.9,\"breakAfter\":9.9,\"breakInside\":9.9,\"regionFragment\":9.9,\"fontFeatureSettings\":9.9,\"columnCount\":9.9,\"columnFill\":9.9,\"columnGap\":9.9,\"columnRule\":9.9,\"columnRuleColor\":9.9,\"columnRuleStyle\":9.9,\"columnRuleWidth\":9.9,\"columns\":9.9,\"columnSpan\":9.9,\"columnWidth\":9.9},\"op_mini\":{\"borderImage\":5,\"borderImageOutset\":5,\"borderImageRepeat\":5,\"borderImageSlice\":5,\"borderImageSource\":5,\"borderImageWidth\":5,\"tabSize\":5,\"objectFit\":5,\"objectPosition\":5}}","export default function calc({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n typeof value === 'string' && value.indexOf('calc(') > -1 &&\n (\n browser === 'firefox' && version < 15 ||\n browser === 'chrome' && version < 25 ||\n browser === 'safari' && version < 6.1 ||\n browser === 'ios_saf' && version < 7\n )\n ) {\n const prefixedValue = value.replace(/calc\\(/g, css + 'calc(')\n return {\n [property]: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","const values = { 'zoom-in': true, 'zoom-out': true }\n\nexport default function zoomCursor({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n property === 'cursor' && values[value] &&\n (\n browser === 'firefox' && version < 24 ||\n browser === 'chrome' && version < 37 ||\n browser === 'safari' && version < 9 ||\n browser === 'opera' && version < 24\n )\n ) {\n const prefixedValue = css + value\n return {\n cursor: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","const values = { grab: true, grabbing: true }\n\nexport default function grabCursor({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n // adds prefixes for firefox, chrome, safari, and opera regardless of version until a reliable brwoser support info can be found (see: https://github.com/rofrischmann/inline-style-prefixer/issues/79)\n if (\n property === 'cursor' && values[value] &&\n (\n browser === 'firefox' ||\n browser === 'chrome' ||\n browser === 'safari' ||\n browser === 'opera'\n )\n ) {\n const prefixedValue = css + value\n return {\n cursor: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","const values = { flex: true, 'inline-flex': true }\n\nexport default function flex({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n property === 'display' && values[value] &&\n (\n browser === 'chrome' && (version < 29 && version > 20) ||\n (browser === 'safari' || browser === 'ios_saf') && (version < 9 && version > 6) ||\n browser === 'opera' && (version == 15 || version == 16)\n )\n ) {\n const prefixedValue = css + value\n return {\n display: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","const properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing({ property, value, prefix: { css }, keepUnprefixed }) {\n // This might change in the future\n // Keep an eye on it\n if (properties[property] && values[value]) {\n const prefixedValue = css + value\n return {\n [property]: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","const values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n typeof value === 'string' && value.match(values) !== null &&\n (\n browser === 'firefox' && version < 16 ||\n browser === 'chrome' && version < 26 ||\n (browser === 'safari' || browser === 'ios_saf') && version < 7 ||\n (browser === 'opera' || browser === 'op_mini') && version < 12.1 ||\n browser === 'android' && version < 4.4 ||\n browser === 'and_uc'\n )\n ) {\n const prefixedValue = css + value\n return {\n [property]: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n}\n","export default property => {\n const unprefixed = property.replace(/^(ms|Webkit|Moz|O)/, '')\n return unprefixed.charAt(0).toLowerCase() + unprefixed.slice(1)\n}\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../utils/capitalizeString'\nimport unprefixProperty from '../utils/unprefixProperty'\n\nconst properties = { transition: true, transitionProperty: true }\n\nexport default function transition({ property, value, prefix: { css }, requiresPrefix, keepUnprefixed }) {\n // also check for already prefixed transitions\n const unprefixedProperty = unprefixProperty(property)\n\n if (typeof value === 'string' && properties[unprefixedProperty]) {\n const requiresPrefixDashCased = Object.keys(requiresPrefix).map(prop => hyphenateStyleName(prop))\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n requiresPrefixDashCased.forEach(prop => {\n multipleValues.forEach((val, index) => {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, css + prop) + (keepUnprefixed ? ',' + val : '')\n }\n })\n })\n\n return { [ property]: multipleValues.join(',') }\n }\n}\n","const alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nconst properties = Object.keys(alternativeProps).reduce((result, prop) => {\n result[prop] = true\n return result\n}, { })\n\nexport default function flexboxIE({ property, value, styles, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n (properties[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) &&\n (\n (browser === 'ie_mob' || browser === 'ie') && version == 10)\n ) {\n if (!keepUnprefixed) {\n delete styles[property]\n }\n if (property === 'display' && alternativeValues[value]) {\n const prefixedValue = css + alternativeValues[value]\n return {\n display: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n }\n}\n","const alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nconst otherProps = [ 'alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection' ]\n\nconst properties = Object.keys(alternativeProps).concat(otherProps).reduce((result, prop) => {\n result[prop] = true\n return result\n}, { })\n\nexport default function flexboxOld({ property, value, styles, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n (properties[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) &&\n (\n browser === 'firefox' && version < 22 ||\n browser === 'chrome' && version < 21 ||\n (browser === 'safari' || browser === 'ios_saf') && version <= 6.1 ||\n browser === 'android' && version < 4.4 ||\n browser === 'and_uc'\n )\n ) {\n if (!keepUnprefixed) {\n delete styles[property]\n }\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (property === 'display' && alternativeValues[value]) {\n const prefixedValue = css + alternativeValues[value]\n return {\n display: keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n }\n}\n","import prefixAll from './static/prefixAll'\nimport getBrowserInformation from './utils/getBrowserInformation'\nimport getPrefixedKeyframes from './utils/getPrefixedKeyframes'\nimport capitalizeString from './utils/capitalizeString'\nimport assign from './utils/assign'\nimport prefixProps from './prefixProps'\n\nimport calc from './plugins/calc'\nimport zoomCursor from './plugins/zoomCursor'\nimport grabCursor from './plugins/grabCursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n zoomCursor,\n grabCursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n // this must be run AFTER the flexbox specs\n flex\n]\n\nexport default class Prefixer {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n constructor(options = { }) {\n const defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined\n\n this._userAgent = options.userAgent || defaultUserAgent\n this._keepUnprefixed = options.keepUnprefixed || false\n\n this._browserInfo = getBrowserInformation(this._userAgent)\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.prefix) {\n // set additional prefix information\n this.cssPrefix = this._browserInfo.prefix.css\n this.jsPrefix = this._browserInfo.prefix.inline\n this.prefixedKeyframes = getPrefixedKeyframes(this._browserInfo)\n } else {\n this._usePrefixAllFallback = true\n return false\n }\n\n const data = this._browserInfo.browser && prefixProps[this._browserInfo.browser]\n if (data) {\n this._requiresPrefix = Object.keys(data).filter(key => data[key] >= this._browserInfo.version).reduce((result, name) => {\n result[name] = true\n return result\n }, { })\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0\n } else {\n this._usePrefixAllFallback = true\n }\n }\n\n /**\n * Returns a prefixed version of the style object\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n prefix(styles) {\n // use prefixAll as fallback if userAgent can not be resolved\n if (this._usePrefixAllFallback) {\n return prefixAll(styles)\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return styles\n }\n\n styles = assign({ }, styles)\n\n Object.keys(styles).forEach(property => {\n let value = styles[property]\n if (value instanceof Object) {\n // recurse through nested style objects\n styles[property] = this.prefix(value)\n } else {\n // add prefixes if needed\n if (this._requiresPrefix[property]) {\n styles[this.jsPrefix + capitalizeString(property)] = value\n if (!this._keepUnprefixed) {\n delete styles[property]\n }\n }\n }\n })\n\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n // resolve plugins\n plugins.forEach(plugin => {\n // generates a new plugin interface with current data\n const resolvedStyles = plugin({\n property: property,\n value: value,\n styles: styles,\n browserInfo: this._browserInfo,\n prefix: {\n js: this.jsPrefix,\n css: this.cssPrefix,\n keyframes: this.prefixedKeyframes\n },\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n })\n assign(styles, resolvedStyles)\n })\n })\n\n return styles\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n static prefixAll(styles) {\n return prefixAll(styles)\n }\n}\n"],"names":["values","properties","alternativeValues","alternativeProps","plugins","prefixProperties","bowser","calc","flex","sizing","gradient","transition","flexboxIE","flexboxOld","prefixProps","_prefixAll"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"inline-style-prefixer.js","sources":["../modules/static/prefixProps.js","../modules/utils/capitalizeString.js","../modules/utils/joinPrefixedValue.js","../modules/utils/isPrefixedValue.js","../modules/static/plugins/calc.js","../modules/static/plugins/cursor.js","../modules/static/plugins/flex.js","../modules/static/plugins/sizing.js","../modules/static/plugins/gradient.js","../node_modules/hyphenate-style-name/index.js","../modules/static/plugins/transition.js","../modules/static/plugins/flexboxIE.js","../modules/static/plugins/flexboxOld.js","../modules/static/prefixAll.js","../node_modules/bowser/src/bowser.js","../modules/utils/getBrowserInformation.js","../modules/utils/getPrefixedKeyframes.js","../modules/prefixProps.js","../modules/utils/getPrefixedValue.js","../modules/plugins/calc.js","../modules/plugins/zoomCursor.js","../modules/plugins/grabCursor.js","../modules/plugins/flex.js","../modules/plugins/sizing.js","../modules/plugins/gradient.js","../modules/utils/unprefixProperty.js","../modules/plugins/transition.js","../modules/plugins/flexboxIE.js","../modules/plugins/flexboxOld.js","../modules/Prefixer.js"],"sourcesContent":["export default {\"Webkit\":{\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"backfaceVisibility\":true,\"perspective\":true,\"perspectiveOrigin\":true,\"transformStyle\":true,\"transformOriginZ\":true,\"animation\":true,\"animationDelay\":true,\"animationDirection\":true,\"animationFillMode\":true,\"animationDuration\":true,\"animationIterationCount\":true,\"animationName\":true,\"animationPlayState\":true,\"animationTimingFunction\":true,\"appearance\":true,\"userSelect\":true,\"fontKerning\":true,\"textEmphasisPosition\":true,\"textEmphasis\":true,\"textEmphasisStyle\":true,\"textEmphasisColor\":true,\"boxDecorationBreak\":true,\"clipPath\":true,\"maskImage\":true,\"maskMode\":true,\"maskRepeat\":true,\"maskPosition\":true,\"maskClip\":true,\"maskOrigin\":true,\"maskSize\":true,\"maskComposite\":true,\"mask\":true,\"maskBorderSource\":true,\"maskBorderMode\":true,\"maskBorderSlice\":true,\"maskBorderWidth\":true,\"maskBorderOutset\":true,\"maskBorderRepeat\":true,\"maskBorder\":true,\"maskType\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"filter\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true,\"flex\":true,\"flexBasis\":true,\"flexDirection\":true,\"flexGrow\":true,\"flexFlow\":true,\"flexShrink\":true,\"flexWrap\":true,\"alignContent\":true,\"alignItems\":true,\"alignSelf\":true,\"justifyContent\":true,\"order\":true,\"transition\":true,\"transitionDelay\":true,\"transitionDuration\":true,\"transitionProperty\":true,\"transitionTimingFunction\":true,\"backdropFilter\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"shapeImageThreshold\":true,\"shapeImageMargin\":true,\"shapeImageOutside\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"regionFragment\":true,\"textSizeAdjust\":true,\"borderImage\":true,\"borderImageOutset\":true,\"borderImageRepeat\":true,\"borderImageSlice\":true,\"borderImageSource\":true,\"borderImageWidth\":true,\"tabSize\":true,\"objectFit\":true,\"objectPosition\":true},\"Moz\":{\"appearance\":true,\"userSelect\":true,\"boxSizing\":true,\"textAlignLast\":true,\"textDecorationStyle\":true,\"textDecorationSkip\":true,\"textDecorationLine\":true,\"textDecorationColor\":true,\"tabSize\":true,\"hyphens\":true,\"fontFeatureSettings\":true,\"breakAfter\":true,\"breakBefore\":true,\"breakInside\":true,\"columnCount\":true,\"columnFill\":true,\"columnGap\":true,\"columnRule\":true,\"columnRuleColor\":true,\"columnRuleStyle\":true,\"columnRuleWidth\":true,\"columns\":true,\"columnSpan\":true,\"columnWidth\":true},\"ms\":{\"flex\":true,\"flexBasis\":false,\"flexDirection\":true,\"flexGrow\":false,\"flexFlow\":true,\"flexShrink\":false,\"flexWrap\":true,\"alignContent\":false,\"alignItems\":false,\"alignSelf\":false,\"justifyContent\":false,\"order\":false,\"transform\":true,\"transformOrigin\":true,\"transformOriginX\":true,\"transformOriginY\":true,\"userSelect\":true,\"wrapFlow\":true,\"wrapThrough\":true,\"wrapMargin\":true,\"scrollSnapType\":true,\"scrollSnapPointsX\":true,\"scrollSnapPointsY\":true,\"scrollSnapDestination\":true,\"scrollSnapCoordinate\":true,\"touchAction\":true,\"hyphens\":true,\"flowInto\":true,\"flowFrom\":true,\"breakBefore\":true,\"breakAfter\":true,\"breakInside\":true,\"regionFragment\":true,\"gridTemplateColumns\":true,\"gridTemplateRows\":true,\"gridTemplateAreas\":true,\"gridTemplate\":true,\"gridAutoColumns\":true,\"gridAutoRows\":true,\"gridAutoFlow\":true,\"grid\":true,\"gridRowStart\":true,\"gridColumnStart\":true,\"gridRowEnd\":true,\"gridRow\":true,\"gridColumn\":true,\"gridColumnEnd\":true,\"gridColumnGap\":true,\"gridRowGap\":true,\"gridArea\":true,\"gridGap\":true,\"textSizeAdjust\":true}}","// helper to capitalize strings\nexport default str => str.charAt(0).toUpperCase() + str.slice(1)\n","// returns a style object with a single concated prefixed value string\nexport default (property, value, replacer = (prefix, value) => prefix + value) => ({\n [property]: [ '-webkit-', '-moz-', '' ].map(prefix => replacer(prefix, value))\n})\n","export default value => {\n if (Array.isArray(value)) value = value.join(',')\n\n return value.match(/-webkit-|-moz-|-ms-/) !== null\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nexport default function calc(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.indexOf('calc(') > -1) {\n return joinPrefixedValue(property, value, (prefix, value) => value.replace(/calc\\(/g, prefix + 'calc('))\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\n\nconst values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n}\n\nexport default function cursor(property, value) {\n if (property === 'cursor' && values[value]) {\n return joinPrefixedValue(property, value)\n }\n}\n","const values = { flex: true, 'inline-flex': true }\n\nexport default function flex(property, value) {\n if (property === 'display' && values[value]) {\n return {\n display: [ '-webkit-box', '-moz-box', '-ms-' + value + 'box', '-webkit-' + value, value ]\n }\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\n\nconst properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing(property, value) {\n if (properties[property] && values[value]) {\n return joinPrefixedValue(property, value)\n }\n}\n","import joinPrefixedValue from '../../utils/joinPrefixedValue'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\n\nconst values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient(property, value) {\n if (typeof value === 'string' && !isPrefixedValue(value) && value.match(values) !== null) {\n return joinPrefixedValue(property, value)\n }\n}\n","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../../utils/capitalizeString'\nimport isPrefixedValue from '../../utils/isPrefixedValue'\nimport prefixProps from '../prefixProps'\n\nconst properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true\n}\n\nexport default function transition(property, value) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties[property]) {\n const outputValue = prefixValue(value)\n const webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(value => value.match(/-moz-|-ms-/) === null).join(',')\n\n // if the property is already prefixed\n if (property.indexOf('Webkit') > -1) {\n return { [ property]: webkitOutput }\n }\n\n return {\n ['Webkit' + capitalizeString(property)]: webkitOutput,\n [property]: outputValue\n }\n }\n}\n\nfunction prefixValue(value) {\n if (isPrefixedValue(value)) {\n return value\n }\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n // iterate each single value and check for transitioned properties\n // that need to be prefixed as well\n multipleValues.forEach((val, index) => {\n multipleValues[index] = Object.keys(prefixProps).reduce((out, prefix) => {\n const dashCasePrefix = '-' + prefix.toLowerCase() + '-'\n\n Object.keys(prefixProps[prefix]).forEach(prop => {\n const dashCaseProperty = hyphenateStyleName(prop)\n\n if (val.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n // join all prefixes and create a new value\n out = val.replace(dashCaseProperty, dashCasePrefix + dashCaseProperty) + ',' + out\n }\n })\n return out\n }, val)\n })\n\n return multipleValues.join(',')\n}\n","const alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nexport default function flexboxIE(property, value) {\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","const alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nexport default function flexboxOld(property, value) {\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n}\n","import prefixProperties from './prefixProps'\nimport capitalizeString from '../utils/capitalizeString'\n\nimport calc from './plugins/calc'\nimport cursor from './plugins/cursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n cursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n flex\n]\n\n/**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\nexport default function prefixAll(styles) {\n Object.keys(styles).forEach(property => {\n const value = styles[property]\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = prefixAll(value)\n } else {\n Object.keys(prefixProperties).forEach(prefix => {\n const properties = prefixProperties[prefix]\n // add prefixes if needed\n if (properties[property]) {\n styles[prefix + capitalizeString(property)] = value\n }\n })\n }\n })\n\n Object.keys(styles).forEach(property => {\n [ ].concat(styles[property]).forEach((value, index) => {\n // resolve every special plugins\n plugins.forEach(plugin => assignStyles(styles, plugin(property, value)))\n })\n })\n\n return styles\n}\n\nfunction assignStyles(base, extend = { }) {\n Object.keys(extend).forEach(property => {\n const baseValue = base[property]\n if (Array.isArray(baseValue)) {\n [ ].concat(extend[property]).forEach(value => {\n const valueIndex = baseValue.indexOf(value)\n if (valueIndex > -1) {\n base[property].splice(valueIndex, 1)\n }\n base[property].push(value)\n })\n } else {\n base[property] = extend[property]\n }\n })\n}\n","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(definition)\n else this[name] = definition()\n}('bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)os/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getFirstMatch(/edge\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera|opr|opios/i.test(ua)) {\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/chrome.+? edge/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.msedge && (android || result.silk)) {\n result.android = t\n } else if (iosdevice) {\n result[iosdevice] = t\n result.ios = t\n } else if (mac) {\n result.mac = t\n } else if (xbox) {\n result.xbox = t\n } else if (windows) {\n result.windows = t\n } else if (linux) {\n result.linux = t\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result = iterator(arr[i]);\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n // browser version and min supported version.\n if (compareVersions([version, minVersions[browser]]) < 0) {\n return true; // unsupported\n }\n }\n }\n }\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @return {Boolean}\n */\n function check(minVersions, strictMode) {\n return !isUnsupportedBrowser(minVersions, strictMode);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n return bowser\n});\n","import bowser from 'bowser'\n\nconst vendorPrefixes = {\n Webkit: [ 'chrome', 'safari', 'ios', 'android', 'phantom', 'opera', 'webos', 'blackberry', 'bada', 'tizen', 'chromium', 'vivaldi' ],\n Moz: [ 'firefox', 'seamonkey', 'sailfish' ],\n ms: [ 'msie', 'msedge' ]\n}\n\nconst browsers = {\n chrome: [ [ 'chrome' ], [ 'chromium' ] ],\n safari: [ [ 'safari' ] ],\n firefox: [ [ 'firefox' ] ],\n ie: [ [ 'msie' ] ],\n edge: [ [ 'msedge' ] ],\n opera: [ [ 'opera' ], [ 'vivaldi' ] ],\n ios_saf: [ [ 'ios', 'mobile' ], [ 'ios', 'tablet' ] ],\n ie_mob: [ [ 'windowsphone', 'mobile', 'msie' ], [ 'windowsphone', 'tablet', 'msie' ], [ 'windowsphone', 'mobile', 'msedge' ], [ 'windowsphone', 'tablet', 'msedge' ] ],\n op_mini: [ [ 'opera', 'mobile' ], [ 'opera', 'tablet' ] ],\n and_uc: [ [ 'android', 'mobile' ], [ 'android', 'tablet' ] ],\n android: [ [ 'android', 'mobile' ], [ 'android', 'tablet' ] ]\n}\n\n/**\n * Uses bowser to get default browser information such as version and name\n * Evaluates bowser info and adds vendorPrefix information\n * @param {string} userAgent - userAgent that gets evaluated\n */\nexport default userAgent => {\n if (!userAgent) {\n return false\n }\n\n const info = bowser._detect(userAgent)\n\n Object.keys(vendorPrefixes).forEach(prefix => {\n vendorPrefixes[prefix].forEach(browser => {\n if (info[browser]) {\n info.prefix = {\n inline: prefix,\n css: '-' + prefix.toLowerCase() + '-'\n }\n }\n })\n })\n\n let name = ''\n Object.keys(browsers).forEach(browser => {\n browsers[browser].forEach(condition => {\n let match = 0\n condition.forEach(single => {\n if (info[single]) {\n match += 1\n }\n })\n if (condition.length === match) {\n name = browser\n }\n })\n })\n\n info.browser = name\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n info.version = info.version ? parseFloat(info.version) : parseInt(parseFloat(info.osversion), 10)\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (info.browser === 'android' && info.chrome && info.version > 37) {\n info.browser = 'and_chr'\n }\n info.version = parseFloat(info.version)\n info.osversion = parseFloat(info.osversion)\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (info.browser === 'android' && info.osversion < 5) {\n info.version = info.osversion\n }\n\n return info\n}\n","export default ({browser, version, prefix}) => {\n let prefixedKeyframes = 'keyframes'\n\n if (\n browser === 'chrome' && version < 43 ||\n (browser === 'safari' || browser === 'ios_saf') && version < 9 ||\n browser === 'opera' && version < 30 ||\n browser === 'android' && version <= 4.4 ||\n browser === 'and_uc'\n ) {\n prefixedKeyframes = prefix.css + prefixedKeyframes\n }\n return prefixedKeyframes\n}\n","export default {\"chrome\":{\"transform\":35,\"transformOrigin\":35,\"transformOriginX\":35,\"transformOriginY\":35,\"backfaceVisibility\":35,\"perspective\":35,\"perspectiveOrigin\":35,\"transformStyle\":35,\"transformOriginZ\":35,\"animation\":42,\"animationDelay\":42,\"animationDirection\":42,\"animationFillMode\":42,\"animationDuration\":42,\"animationIterationCount\":42,\"animationName\":42,\"animationPlayState\":42,\"animationTimingFunction\":42,\"appearance\":54,\"userSelect\":54,\"fontKerning\":32,\"textEmphasisPosition\":54,\"textEmphasis\":54,\"textEmphasisStyle\":54,\"textEmphasisColor\":54,\"boxDecorationBreak\":54,\"clipPath\":54,\"maskImage\":54,\"maskMode\":54,\"maskRepeat\":54,\"maskPosition\":54,\"maskClip\":54,\"maskOrigin\":54,\"maskSize\":54,\"maskComposite\":54,\"mask\":54,\"maskBorderSource\":54,\"maskBorderMode\":54,\"maskBorderSlice\":54,\"maskBorderWidth\":54,\"maskBorderOutset\":54,\"maskBorderRepeat\":54,\"maskBorder\":54,\"maskType\":54,\"textDecorationStyle\":54,\"textDecorationSkip\":54,\"textDecorationLine\":54,\"textDecorationColor\":54,\"filter\":54,\"fontFeatureSettings\":47,\"breakAfter\":49,\"breakBefore\":49,\"breakInside\":49,\"columnCount\":49,\"columnFill\":49,\"columnGap\":49,\"columnRule\":49,\"columnRuleColor\":49,\"columnRuleStyle\":49,\"columnRuleWidth\":49,\"columns\":49,\"columnSpan\":49,\"columnWidth\":49},\"safari\":{\"flex\":8,\"flexBasis\":8,\"flexDirection\":8,\"flexGrow\":8,\"flexFlow\":8,\"flexShrink\":8,\"flexWrap\":8,\"alignContent\":8,\"alignItems\":8,\"alignSelf\":8,\"justifyContent\":8,\"order\":8,\"transition\":6,\"transitionDelay\":6,\"transitionDuration\":6,\"transitionProperty\":6,\"transitionTimingFunction\":6,\"transform\":8,\"transformOrigin\":8,\"transformOriginX\":8,\"transformOriginY\":8,\"backfaceVisibility\":8,\"perspective\":8,\"perspectiveOrigin\":8,\"transformStyle\":8,\"transformOriginZ\":8,\"animation\":8,\"animationDelay\":8,\"animationDirection\":8,\"animationFillMode\":8,\"animationDuration\":8,\"animationIterationCount\":8,\"animationName\":8,\"animationPlayState\":8,\"animationTimingFunction\":8,\"appearance\":10,\"userSelect\":10,\"backdropFilter\":10,\"fontKerning\":9,\"scrollSnapType\":10,\"scrollSnapPointsX\":10,\"scrollSnapPointsY\":10,\"scrollSnapDestination\":10,\"scrollSnapCoordinate\":10,\"textEmphasisPosition\":7,\"textEmphasis\":7,\"textEmphasisStyle\":7,\"textEmphasisColor\":7,\"boxDecorationBreak\":10,\"clipPath\":10,\"maskImage\":10,\"maskMode\":10,\"maskRepeat\":10,\"maskPosition\":10,\"maskClip\":10,\"maskOrigin\":10,\"maskSize\":10,\"maskComposite\":10,\"mask\":10,\"maskBorderSource\":10,\"maskBorderMode\":10,\"maskBorderSlice\":10,\"maskBorderWidth\":10,\"maskBorderOutset\":10,\"maskBorderRepeat\":10,\"maskBorder\":10,\"maskType\":10,\"textDecorationStyle\":10,\"textDecorationSkip\":10,\"textDecorationLine\":10,\"textDecorationColor\":10,\"shapeImageThreshold\":10,\"shapeImageMargin\":10,\"shapeImageOutside\":10,\"filter\":9,\"hyphens\":10,\"flowInto\":10,\"flowFrom\":10,\"breakBefore\":8,\"breakAfter\":8,\"breakInside\":8,\"regionFragment\":10,\"columnCount\":8,\"columnFill\":8,\"columnGap\":8,\"columnRule\":8,\"columnRuleColor\":8,\"columnRuleStyle\":8,\"columnRuleWidth\":8,\"columns\":8,\"columnSpan\":8,\"columnWidth\":8},\"firefox\":{\"appearance\":50,\"userSelect\":50,\"boxSizing\":28,\"textAlignLast\":48,\"textDecorationStyle\":35,\"textDecorationSkip\":35,\"textDecorationLine\":35,\"textDecorationColor\":35,\"tabSize\":50,\"hyphens\":42,\"fontFeatureSettings\":33,\"breakAfter\":50,\"breakBefore\":50,\"breakInside\":50,\"columnCount\":50,\"columnFill\":50,\"columnGap\":50,\"columnRule\":50,\"columnRuleColor\":50,\"columnRuleStyle\":50,\"columnRuleWidth\":50,\"columns\":50,\"columnSpan\":50,\"columnWidth\":50},\"opera\":{\"flex\":16,\"flexBasis\":16,\"flexDirection\":16,\"flexGrow\":16,\"flexFlow\":16,\"flexShrink\":16,\"flexWrap\":16,\"alignContent\":16,\"alignItems\":16,\"alignSelf\":16,\"justifyContent\":16,\"order\":16,\"transform\":22,\"transformOrigin\":22,\"transformOriginX\":22,\"transformOriginY\":22,\"backfaceVisibility\":22,\"perspective\":22,\"perspectiveOrigin\":22,\"transformStyle\":22,\"transformOriginZ\":22,\"animation\":29,\"animationDelay\":29,\"animationDirection\":29,\"animationFillMode\":29,\"animationDuration\":29,\"animationIterationCount\":29,\"animationName\":29,\"animationPlayState\":29,\"animationTimingFunction\":29,\"appearance\":40,\"userSelect\":40,\"fontKerning\":19,\"textEmphasisPosition\":40,\"textEmphasis\":40,\"textEmphasisStyle\":40,\"textEmphasisColor\":40,\"boxDecorationBreak\":40,\"clipPath\":40,\"maskImage\":40,\"maskMode\":40,\"maskRepeat\":40,\"maskPosition\":40,\"maskClip\":40,\"maskOrigin\":40,\"maskSize\":40,\"maskComposite\":40,\"mask\":40,\"maskBorderSource\":40,\"maskBorderMode\":40,\"maskBorderSlice\":40,\"maskBorderWidth\":40,\"maskBorderOutset\":40,\"maskBorderRepeat\":40,\"maskBorder\":40,\"maskType\":40,\"textDecorationStyle\":40,\"textDecorationSkip\":40,\"textDecorationLine\":40,\"textDecorationColor\":40,\"filter\":40,\"fontFeatureSettings\":34,\"breakAfter\":36,\"breakBefore\":36,\"breakInside\":36,\"columnCount\":36,\"columnFill\":36,\"columnGap\":36,\"columnRule\":36,\"columnRuleColor\":36,\"columnRuleStyle\":36,\"columnRuleWidth\":36,\"columns\":36,\"columnSpan\":36,\"columnWidth\":36},\"ie\":{\"flex\":10,\"flexDirection\":10,\"flexFlow\":10,\"flexWrap\":10,\"transform\":9,\"transformOrigin\":9,\"transformOriginX\":9,\"transformOriginY\":9,\"userSelect\":11,\"wrapFlow\":11,\"wrapThrough\":11,\"wrapMargin\":11,\"scrollSnapType\":11,\"scrollSnapPointsX\":11,\"scrollSnapPointsY\":11,\"scrollSnapDestination\":11,\"scrollSnapCoordinate\":11,\"touchAction\":10,\"hyphens\":11,\"flowInto\":11,\"flowFrom\":11,\"breakBefore\":11,\"breakAfter\":11,\"breakInside\":11,\"regionFragment\":11,\"gridTemplateColumns\":11,\"gridTemplateRows\":11,\"gridTemplateAreas\":11,\"gridTemplate\":11,\"gridAutoColumns\":11,\"gridAutoRows\":11,\"gridAutoFlow\":11,\"grid\":11,\"gridRowStart\":11,\"gridColumnStart\":11,\"gridRowEnd\":11,\"gridRow\":11,\"gridColumn\":11,\"gridColumnEnd\":11,\"gridColumnGap\":11,\"gridRowGap\":11,\"gridArea\":11,\"gridGap\":11,\"textSizeAdjust\":11},\"edge\":{\"userSelect\":14,\"wrapFlow\":14,\"wrapThrough\":14,\"wrapMargin\":14,\"scrollSnapType\":14,\"scrollSnapPointsX\":14,\"scrollSnapPointsY\":14,\"scrollSnapDestination\":14,\"scrollSnapCoordinate\":14,\"hyphens\":14,\"flowInto\":14,\"flowFrom\":14,\"breakBefore\":14,\"breakAfter\":14,\"breakInside\":14,\"regionFragment\":14,\"gridTemplateColumns\":14,\"gridTemplateRows\":14,\"gridTemplateAreas\":14,\"gridTemplate\":14,\"gridAutoColumns\":14,\"gridAutoRows\":14,\"gridAutoFlow\":14,\"grid\":14,\"gridRowStart\":14,\"gridColumnStart\":14,\"gridRowEnd\":14,\"gridRow\":14,\"gridColumn\":14,\"gridColumnEnd\":14,\"gridColumnGap\":14,\"gridRowGap\":14,\"gridArea\":14,\"gridGap\":14},\"ios_saf\":{\"flex\":8.1,\"flexBasis\":8.1,\"flexDirection\":8.1,\"flexGrow\":8.1,\"flexFlow\":8.1,\"flexShrink\":8.1,\"flexWrap\":8.1,\"alignContent\":8.1,\"alignItems\":8.1,\"alignSelf\":8.1,\"justifyContent\":8.1,\"order\":8.1,\"transition\":6,\"transitionDelay\":6,\"transitionDuration\":6,\"transitionProperty\":6,\"transitionTimingFunction\":6,\"transform\":8.1,\"transformOrigin\":8.1,\"transformOriginX\":8.1,\"transformOriginY\":8.1,\"backfaceVisibility\":8.1,\"perspective\":8.1,\"perspectiveOrigin\":8.1,\"transformStyle\":8.1,\"transformOriginZ\":8.1,\"animation\":8.1,\"animationDelay\":8.1,\"animationDirection\":8.1,\"animationFillMode\":8.1,\"animationDuration\":8.1,\"animationIterationCount\":8.1,\"animationName\":8.1,\"animationPlayState\":8.1,\"animationTimingFunction\":8.1,\"appearance\":9.3,\"userSelect\":9.3,\"backdropFilter\":9.3,\"fontKerning\":9.3,\"scrollSnapType\":9.3,\"scrollSnapPointsX\":9.3,\"scrollSnapPointsY\":9.3,\"scrollSnapDestination\":9.3,\"scrollSnapCoordinate\":9.3,\"boxDecorationBreak\":9.3,\"clipPath\":9.3,\"maskImage\":9.3,\"maskMode\":9.3,\"maskRepeat\":9.3,\"maskPosition\":9.3,\"maskClip\":9.3,\"maskOrigin\":9.3,\"maskSize\":9.3,\"maskComposite\":9.3,\"mask\":9.3,\"maskBorderSource\":9.3,\"maskBorderMode\":9.3,\"maskBorderSlice\":9.3,\"maskBorderWidth\":9.3,\"maskBorderOutset\":9.3,\"maskBorderRepeat\":9.3,\"maskBorder\":9.3,\"maskType\":9.3,\"textSizeAdjust\":9.3,\"textDecorationStyle\":9.3,\"textDecorationSkip\":9.3,\"textDecorationLine\":9.3,\"textDecorationColor\":9.3,\"shapeImageThreshold\":9.3,\"shapeImageMargin\":9.3,\"shapeImageOutside\":9.3,\"filter\":9,\"hyphens\":9.3,\"flowInto\":9.3,\"flowFrom\":9.3,\"breakBefore\":8.1,\"breakAfter\":8.1,\"breakInside\":8.1,\"regionFragment\":9.3,\"columnCount\":8.1,\"columnFill\":8.1,\"columnGap\":8.1,\"columnRule\":8.1,\"columnRuleColor\":8.1,\"columnRuleStyle\":8.1,\"columnRuleWidth\":8.1,\"columns\":8.1,\"columnSpan\":8.1,\"columnWidth\":8.1},\"android\":{\"borderImage\":4.2,\"borderImageOutset\":4.2,\"borderImageRepeat\":4.2,\"borderImageSlice\":4.2,\"borderImageSource\":4.2,\"borderImageWidth\":4.2,\"flex\":4.2,\"flexBasis\":4.2,\"flexDirection\":4.2,\"flexGrow\":4.2,\"flexFlow\":4.2,\"flexShrink\":4.2,\"flexWrap\":4.2,\"alignContent\":4.2,\"alignItems\":4.2,\"alignSelf\":4.2,\"justifyContent\":4.2,\"order\":4.2,\"transition\":4.2,\"transitionDelay\":4.2,\"transitionDuration\":4.2,\"transitionProperty\":4.2,\"transitionTimingFunction\":4.2,\"transform\":4.4,\"transformOrigin\":4.4,\"transformOriginX\":4.4,\"transformOriginY\":4.4,\"backfaceVisibility\":4.4,\"perspective\":4.4,\"perspectiveOrigin\":4.4,\"transformStyle\":4.4,\"transformOriginZ\":4.4,\"animation\":4.4,\"animationDelay\":4.4,\"animationDirection\":4.4,\"animationFillMode\":4.4,\"animationDuration\":4.4,\"animationIterationCount\":4.4,\"animationName\":4.4,\"animationPlayState\":4.4,\"animationTimingFunction\":4.4,\"appearance\":50,\"userSelect\":50,\"fontKerning\":4.4,\"textEmphasisPosition\":50,\"textEmphasis\":50,\"textEmphasisStyle\":50,\"textEmphasisColor\":50,\"boxDecorationBreak\":50,\"clipPath\":50,\"maskImage\":50,\"maskMode\":50,\"maskRepeat\":50,\"maskPosition\":50,\"maskClip\":50,\"maskOrigin\":50,\"maskSize\":50,\"maskComposite\":50,\"mask\":50,\"maskBorderSource\":50,\"maskBorderMode\":50,\"maskBorderSlice\":50,\"maskBorderWidth\":50,\"maskBorderOutset\":50,\"maskBorderRepeat\":50,\"maskBorder\":50,\"maskType\":50,\"filter\":50,\"fontFeatureSettings\":4.4,\"breakAfter\":50,\"breakBefore\":50,\"breakInside\":50,\"columnCount\":50,\"columnFill\":50,\"columnGap\":50,\"columnRule\":50,\"columnRuleColor\":50,\"columnRuleStyle\":50,\"columnRuleWidth\":50,\"columns\":50,\"columnSpan\":50,\"columnWidth\":50},\"and_chr\":{\"appearance\":50,\"userSelect\":50,\"textEmphasisPosition\":50,\"textEmphasis\":50,\"textEmphasisStyle\":50,\"textEmphasisColor\":50,\"boxDecorationBreak\":50,\"clipPath\":50,\"maskImage\":50,\"maskMode\":50,\"maskRepeat\":50,\"maskPosition\":50,\"maskClip\":50,\"maskOrigin\":50,\"maskSize\":50,\"maskComposite\":50,\"mask\":50,\"maskBorderSource\":50,\"maskBorderMode\":50,\"maskBorderSlice\":50,\"maskBorderWidth\":50,\"maskBorderOutset\":50,\"maskBorderRepeat\":50,\"maskBorder\":50,\"maskType\":50,\"textDecorationStyle\":50,\"textDecorationSkip\":50,\"textDecorationLine\":50,\"textDecorationColor\":50,\"filter\":50,\"fontFeatureSettings\":50},\"and_uc\":{\"flex\":9.9,\"flexBasis\":9.9,\"flexDirection\":9.9,\"flexGrow\":9.9,\"flexFlow\":9.9,\"flexShrink\":9.9,\"flexWrap\":9.9,\"alignContent\":9.9,\"alignItems\":9.9,\"alignSelf\":9.9,\"justifyContent\":9.9,\"order\":9.9,\"transition\":9.9,\"transitionDelay\":9.9,\"transitionDuration\":9.9,\"transitionProperty\":9.9,\"transitionTimingFunction\":9.9,\"transform\":9.9,\"transformOrigin\":9.9,\"transformOriginX\":9.9,\"transformOriginY\":9.9,\"backfaceVisibility\":9.9,\"perspective\":9.9,\"perspectiveOrigin\":9.9,\"transformStyle\":9.9,\"transformOriginZ\":9.9,\"animation\":9.9,\"animationDelay\":9.9,\"animationDirection\":9.9,\"animationFillMode\":9.9,\"animationDuration\":9.9,\"animationIterationCount\":9.9,\"animationName\":9.9,\"animationPlayState\":9.9,\"animationTimingFunction\":9.9,\"appearance\":9.9,\"userSelect\":9.9,\"fontKerning\":9.9,\"textEmphasisPosition\":9.9,\"textEmphasis\":9.9,\"textEmphasisStyle\":9.9,\"textEmphasisColor\":9.9,\"maskImage\":9.9,\"maskMode\":9.9,\"maskRepeat\":9.9,\"maskPosition\":9.9,\"maskClip\":9.9,\"maskOrigin\":9.9,\"maskSize\":9.9,\"maskComposite\":9.9,\"mask\":9.9,\"maskBorderSource\":9.9,\"maskBorderMode\":9.9,\"maskBorderSlice\":9.9,\"maskBorderWidth\":9.9,\"maskBorderOutset\":9.9,\"maskBorderRepeat\":9.9,\"maskBorder\":9.9,\"maskType\":9.9,\"textSizeAdjust\":9.9,\"filter\":9.9,\"hyphens\":9.9,\"flowInto\":9.9,\"flowFrom\":9.9,\"breakBefore\":9.9,\"breakAfter\":9.9,\"breakInside\":9.9,\"regionFragment\":9.9,\"fontFeatureSettings\":9.9,\"columnCount\":9.9,\"columnFill\":9.9,\"columnGap\":9.9,\"columnRule\":9.9,\"columnRuleColor\":9.9,\"columnRuleStyle\":9.9,\"columnRuleWidth\":9.9,\"columns\":9.9,\"columnSpan\":9.9,\"columnWidth\":9.9},\"op_mini\":{\"borderImage\":5,\"borderImageOutset\":5,\"borderImageRepeat\":5,\"borderImageSlice\":5,\"borderImageSource\":5,\"borderImageWidth\":5,\"tabSize\":5,\"objectFit\":5,\"objectPosition\":5}}","export default (prefixedValue, value, keepUnprefixed) => keepUnprefixed ? [ prefixedValue, value ] : prefixedValue\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nexport default function calc({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n typeof value === 'string' && value.indexOf('calc(') > -1 &&\n (\n browser === 'firefox' && version < 15 ||\n browser === 'chrome' && version < 25 ||\n browser === 'safari' && version < 6.1 ||\n browser === 'ios_saf' && version < 7\n )\n ) {\n return {\n [property]: getPrefixedValue(value.replace(/calc\\(/g, css + 'calc('), value, keepUnprefixed)\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst values = { 'zoom-in': true, 'zoom-out': true }\n\nexport default function zoomCursor({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n property === 'cursor' && values[value] &&\n (\n browser === 'firefox' && version < 24 ||\n browser === 'chrome' && version < 37 ||\n browser === 'safari' && version < 9 ||\n browser === 'opera' && version < 24\n )\n ) {\n return {\n cursor: getPrefixedValue(css + value, value, keepUnprefixed)\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst values = { grab: true, grabbing: true }\n\nexport default function grabCursor({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n // adds prefixes for firefox, chrome, safari, and opera regardless of version until a reliable brwoser support info can be found (see: https://github.com/rofrischmann/inline-style-prefixer/issues/79)\n if (\n property === 'cursor' && values[value] &&\n (\n browser === 'firefox' ||\n browser === 'chrome' ||\n browser === 'safari' ||\n browser === 'opera'\n )\n ) {\n return {\n cursor: getPrefixedValue(css + value, value, keepUnprefixed)\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst values = { flex: true, 'inline-flex': true }\n\nexport default function flex({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n property === 'display' && values[value] &&\n (\n browser === 'chrome' && (version < 29 && version > 20) ||\n (browser === 'safari' || browser === 'ios_saf') && (version < 9 && version > 6) ||\n browser === 'opera' && (version == 15 || version == 16)\n )\n ) {\n return {\n display: getPrefixedValue(css + value, value, keepUnprefixed)\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n}\nconst values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n}\n\nexport default function sizing({ property, value, prefix: { css }, keepUnprefixed }) {\n // This might change in the future\n // Keep an eye on it\n if (properties[property] && values[value]) {\n return {\n [property]: getPrefixedValue(css + value, value, keepUnprefixed)\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/\n\nexport default function gradient({ property, value, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n typeof value === 'string' && value.match(values) !== null &&\n (\n browser === 'firefox' && version < 16 ||\n browser === 'chrome' && version < 26 ||\n (browser === 'safari' || browser === 'ios_saf') && version < 7 ||\n (browser === 'opera' || browser === 'op_mini') && version < 12.1 ||\n browser === 'android' && version < 4.4 ||\n browser === 'and_uc'\n )\n ) {\n return {\n [property]: getPrefixedValue(css + value, value, keepUnprefixed)\n }\n }\n}\n","export default property => {\n const unprefixed = property.replace(/^(ms|Webkit|Moz|O)/, '')\n return unprefixed.charAt(0).toLowerCase() + unprefixed.slice(1)\n}\n","import hyphenateStyleName from 'hyphenate-style-name'\nimport capitalizeString from '../utils/capitalizeString'\nimport unprefixProperty from '../utils/unprefixProperty'\n\nconst properties = { transition: true, transitionProperty: true }\n\nexport default function transition({ property, value, prefix: { css }, requiresPrefix, keepUnprefixed }) {\n // also check for already prefixed transitions\n const unprefixedProperty = unprefixProperty(property)\n\n if (typeof value === 'string' && properties[unprefixedProperty]) {\n // TODO: memoize this array\n const requiresPrefixDashCased = Object.keys(requiresPrefix).map(prop => hyphenateStyleName(prop))\n\n // only split multi values, not cubic beziers\n const multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g)\n\n requiresPrefixDashCased.forEach(prop => {\n multipleValues.forEach((val, index) => {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, css + prop) + (keepUnprefixed ? ',' + val : '')\n }\n })\n })\n\n return { [ property]: multipleValues.join(',') }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n}\nconst alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msPreferredSize'\n}\n\nexport default function flexboxIE({ property, value, styles, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n (alternativeProps[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) &&\n (\n (browser === 'ie_mob' || browser === 'ie') && version == 10)\n ) {\n if (!keepUnprefixed && !Array.isArray(styles[property])) {\n delete styles[property]\n }\n if (property === 'display' && alternativeValues[value]) {\n return {\n display: getPrefixedValue(css + alternativeValues[value], value, keepUnprefixed)\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n }\n}\n","import getPrefixedValue from '../utils/getPrefixedValue'\n\nconst alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n}\n\nconst alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines'\n}\n\nconst otherProps = [ 'alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection' ]\nconst properties = Object.keys(alternativeProps).concat(otherProps)\n\nexport default function flexboxOld({ property, value, styles, browserInfo: { browser, version }, prefix: { css }, keepUnprefixed }) {\n if (\n (properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) &&\n (\n browser === 'firefox' && version < 22 ||\n browser === 'chrome' && version < 21 ||\n (browser === 'safari' || browser === 'ios_saf') && version <= 6.1 ||\n browser === 'android' && version < 4.4 ||\n browser === 'and_uc'\n )\n ) {\n if (!keepUnprefixed && !Array.isArray(styles[property])) {\n delete styles[property]\n }\n if (property === 'flexDirection') {\n return {\n WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal',\n WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal'\n }\n }\n if (property === 'display' && alternativeValues[value]) {\n return {\n display: getPrefixedValue(css + alternativeValues[value], value, keepUnprefixed)\n }\n }\n if (alternativeProps[property]) {\n return {\n [alternativeProps[property]]: alternativeValues[value] || value\n }\n }\n }\n}\n","import prefixAll from './static/prefixAll'\nimport getBrowserInformation from './utils/getBrowserInformation'\nimport getPrefixedKeyframes from './utils/getPrefixedKeyframes'\nimport capitalizeString from './utils/capitalizeString'\nimport prefixProps from './prefixProps'\n\nimport calc from './plugins/calc'\nimport zoomCursor from './plugins/zoomCursor'\nimport grabCursor from './plugins/grabCursor'\nimport flex from './plugins/flex'\nimport sizing from './plugins/sizing'\nimport gradient from './plugins/gradient'\nimport transition from './plugins/transition'\n// special flexbox specifications\nimport flexboxIE from './plugins/flexboxIE'\nimport flexboxOld from './plugins/flexboxOld'\n\nconst plugins = [\n calc,\n zoomCursor,\n grabCursor,\n sizing,\n gradient,\n transition,\n flexboxIE,\n flexboxOld,\n // this must be run AFTER the flexbox specs\n flex\n]\n\nexport default class Prefixer {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n constructor(options = { }) {\n const defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined\n\n this._userAgent = options.userAgent || defaultUserAgent\n this._keepUnprefixed = options.keepUnprefixed || false\n\n this._browserInfo = getBrowserInformation(this._userAgent)\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.prefix) {\n // set additional prefix information\n this.cssPrefix = this._browserInfo.prefix.css\n this.jsPrefix = this._browserInfo.prefix.inline\n this.prefixedKeyframes = getPrefixedKeyframes(this._browserInfo)\n } else {\n this._usePrefixAllFallback = true\n return false\n }\n\n const data = this._browserInfo.browser && prefixProps[this._browserInfo.browser]\n if (data) {\n this._requiresPrefix = Object.keys(data).filter(key => data[key] >= this._browserInfo.version).reduce((result, name) => {\n result[name] = true\n return result\n }, { })\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0\n } else {\n this._usePrefixAllFallback = true\n }\n }\n\n /**\n * Returns a prefixed version of the style object\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n prefix(styles) {\n // use prefixAll as fallback if userAgent can not be resolved\n if (this._usePrefixAllFallback) {\n return prefixAll(styles)\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return styles\n }\n\n Object.keys(styles).forEach(property => {\n let value = styles[property]\n if (value instanceof Object && !Array.isArray(value)) {\n // recurse through nested style objects\n styles[property] = this.prefix(value)\n } else {\n // add prefixes if needed\n if (this._requiresPrefix[property]) {\n styles[this.jsPrefix + capitalizeString(property)] = value\n if (!this._keepUnprefixed) {\n delete styles[property]\n }\n }\n }\n })\n\n Object.keys(styles).forEach(property => {\n [ ].concat(styles[property]).forEach(value => {\n // resolve plugins\n plugins.forEach(plugin => {\n // generates a new plugin interface with current data\n assignStyles(styles, plugin({\n property: property,\n value: value,\n styles: styles,\n browserInfo: this._browserInfo,\n prefix: {\n js: this.jsPrefix,\n css: this.cssPrefix,\n keyframes: this.prefixedKeyframes\n },\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n }), value, this._keepUnprefixed)\n })\n })\n })\n\n return styles\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n static prefixAll(styles) {\n return prefixAll(styles)\n }\n}\n\nfunction assignStyles(base, extend = { }, value, keepUnprefixed) {\n Object.keys(extend).forEach(property => {\n const baseValue = base[property]\n if (Array.isArray(baseValue)) {\n [ ].concat(extend[property]).forEach(val => {\n if (base[property].indexOf(val) === -1) {\n base[property].splice(baseValue.indexOf(value), keepUnprefixed ? 0 : 1, val)\n }\n })\n } else {\n base[property] = extend[property]\n }\n })\n}\n"],"names":["values","properties","alternativeValues","alternativeProps","plugins","prefixProperties","assignStyles","bowser","calc","flex","sizing","gradient","transition","flexboxIE","flexboxOld","prefixProps","_prefixAll"],"mappings":"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"} \ No newline at end of file diff --git a/dist/inline-style-prefixer.min.js b/dist/inline-style-prefixer.min.js index 5aac92c..b8cd2b6 100644 --- a/dist/inline-style-prefixer.min.js +++ b/dist/inline-style-prefixer.min.js @@ -1 +1 @@ -!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):e.InlineStylePrefixer=i()}(this,function(){"use strict";function e(e,i){return i={exports:{}},e(i,i.exports),i.exports}function i(e,i){if("string"==typeof i&&i.indexOf("calc(")>-1){if(P(i))return;return B(e,i,function(e,i){return i.replace(/calc\(/g,e+"calc(")})}}function r(e,i){if("cursor"===e&&I[i])return B(e,i)}function n(e,i){if("display"===e&&F[i])return{display:["-webkit-box","-moz-box","-ms-"+i+"box","-webkit-"+i,i]}}function o(e,i){if(D[e]&&R[i])return B(e,i)}function t(e,i){if("string"==typeof i&&null!==i.match(A)){if(P(i))return;return B(e,i)}}function a(e,i){if("string"==typeof i&&E[e]){var r,n=s(i),o=n.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return null===e.match(/-moz-|-ms-/)}).join(",");return e.indexOf("Webkit")>-1?S.defineProperty({},e,o):(r={},S.defineProperty(r,"Webkit"+C(e),o),S.defineProperty(r,e,n),r)}}function s(e){if(P(e))return e;var i=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return i.forEach(function(e,r){i[r]=Object.keys(w).reduce(function(i,r){var n="-"+r.toLowerCase()+"-";return Object.keys(w[r]).forEach(function(r){var o=j(r);e.indexOf(o)>-1&&"order"!==o&&(i=e.replace(o,n+o)+","+i)}),i},e)}),i.join(",")}function l(e,i){if(_[e])return S.defineProperty({},_[e],T[i]||i)}function m(e,i){return"flexDirection"===e?{WebkitBoxOrient:i.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:i.indexOf("reverse")>-1?"reverse":"normal"}:M[e]?S.defineProperty({},M[e],z[i]||i):void 0}function f(e){return Object.keys(e).forEach(function(i){var r=e[i];r instanceof Object&&!Array.isArray(r)?e[i]=f(r):Array.isArray(r)?O(e,c(i,r)):Object.keys(w).forEach(function(n){var o=w[n];o[i]&&(e[n+C(i)]=r)})}),Object.keys(e).forEach(function(i){var r=e[i];G.forEach(function(n){return O(e,n(i,r))})}),e}function c(e,i){var r={};return i.forEach(function(i){G.forEach(function(n){var o=n(e,i);o&&Object.keys(o).forEach(function(e){var i=o[e];r[e]=r[e]?u(r[e],i):i})}),r[e]||(r[e]=i)}),r}function u(e,i){var r=e,n=Array.isArray(i)?i:[i];return n.forEach(function(e){Array.isArray(r)&&r.indexOf(e)===-1?r.push(e):r!==e&&(r=[r,e])}),r}function d(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("string"==typeof r&&r.indexOf("calc(")>-1&&("firefox"===o&&t<15||"chrome"===o&&t<25||"safari"===o&&t<6.1||"ios_saf"===o&&t<7)){var l=r.replace(/calc\(/g,a+"calc(");return S.defineProperty({},i,s?[l,r]:l)}}function p(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("cursor"===i&&V[r]&&("firefox"===o&&t<24||"chrome"===o&&t<37||"safari"===o&&t<9||"opera"===o&&t<24)){var l=a+r;return{cursor:s?[l,r]:l}}}function g(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=(n.version,e.prefix.css),a=e.keepUnprefixed;if("cursor"===i&&Z[r]&&("firefox"===o||"chrome"===o||"safari"===o||"opera"===o)){var s=t+r;return{cursor:a?[s,r]:s}}}function k(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("display"===i&&H[r]&&("chrome"===o&&t<29&&t>20||("safari"===o||"ios_saf"===o)&&t<9&&t>6||"opera"===o&&(15==t||16==t))){var l=a+r;return{display:s?[l,r]:l}}}function x(e){var i=e.property,r=e.value,n=e.prefix.css,o=e.keepUnprefixed;if(J[i]&&Q[r]){var t=n+r;return S.defineProperty({},i,o?[t,r]:t)}}function b(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("string"==typeof r&&null!==r.match($)&&("firefox"===o&&t<16||"chrome"===o&&t<26||("safari"===o||"ios_saf"===o)&&t<7||("opera"===o||"op_mini"===o)&&t<12.1||"android"===o&&t<4.4||"and_uc"===o)){var l=a+r;return S.defineProperty({},i,s?[l,r]:l)}}function h(e){var i=e.property,r=e.value,n=e.prefix.css,o=e.requiresPrefix,t=e.keepUnprefixed,a=ee(i);if("string"==typeof r&&ie[a]){var s=function(){var e=Object.keys(o).map(function(e){return j(e)}),a=r.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return e.forEach(function(e){a.forEach(function(i,r){i.indexOf(e)>-1&&"order"!==e&&(a[r]=i.replace(e,n+e)+(t?","+i:""))})}),{v:S.defineProperty({},i,a.join(","))}}();if("object"===("undefined"==typeof s?"undefined":S["typeof"](s)))return s.v}}function y(e){var i=e.property,r=e.value,n=e.styles,o=e.browserInfo,t=o.browser,a=o.version,s=e.prefix.css,l=e.keepUnprefixed;if((oe[i]||"display"===i&&"string"==typeof r&&r.indexOf("flex")>-1)&&("ie_mob"===t||"ie"===t)&&10==a){if(l||delete n[i],"display"===i&&re[r]){var m=s+re[r];return{display:l?[m,r]:m}}if(ne[i])return S.defineProperty({},ne[i],re[r]||r)}}function v(e){var i=e.property,r=e.value,n=e.styles,o=e.browserInfo,t=o.browser,a=o.version,s=e.prefix.css,l=e.keepUnprefixed;if((le[i]||"display"===i&&"string"==typeof r&&r.indexOf("flex")>-1)&&("firefox"===t&&a<22||"chrome"===t&&a<21||("safari"===t||"ios_saf"===t)&&a<=6.1||"android"===t&&a<4.4||"and_uc"===t)){if(l||delete n[i],"flexDirection"===i)return{WebkitBoxOrient:r.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:r.indexOf("reverse")>-1?"reverse":"normal"};if("display"===i&&te[r]){var m=s+te[r];return{display:l?[m,r]:m}}if(ae[i])return S.defineProperty({},ae[i],te[r]||r)}}var S={};S["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},S.classCallCheck=function(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")},S.createClass=function(){function e(e,i){for(var r=0;r1&&r[1]||""}function r(i){var r=e.match(i);return r&&r.length>1&&r[2]||""}var n,o=i(/(ipod|iphone|ipad)/i).toLowerCase(),t=/like android/i.test(e),s=!t&&/android/i.test(e),l=/nexus\s*[0-6]\s*/i.test(e),m=!l&&/nexus\s*[0-9]+/i.test(e),f=/CrOS/.test(e),c=/silk/i.test(e),u=/sailfish/i.test(e),d=/tizen/i.test(e),p=/(web|hpw)os/i.test(e),g=/windows phone/i.test(e),k=!g&&/windows/i.test(e),x=!o&&!c&&/macintosh/i.test(e),b=!s&&!u&&!d&&!p&&/linux/i.test(e),h=i(/edge\/(\d+(\.\d+)?)/i),y=i(/version\/(\d+(\.\d+)?)/i),v=/tablet/i.test(e),S=!v&&/[^-]mobi/i.test(e),w=/xbox/i.test(e);/opera|opr|opios/i.test(e)?n={name:"Opera",opera:a,version:y||i(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?n={name:"Opera Coast",coast:a,version:y||i(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?n={name:"Yandex Browser",yandexbrowser:a,version:y||i(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?n={name:"UC Browser",ucbrowser:a,version:i(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?n={name:"Maxthon",maxthon:a,version:i(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?n={name:"Epiphany",epiphany:a,version:i(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?n={name:"Puffin",puffin:a,version:i(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?n={name:"Sleipnir",sleipnir:a,version:i(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?n={name:"K-Meleon",kMeleon:a,version:i(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:g?(n={name:"Windows Phone",windowsphone:a},h?(n.msedge=a,n.version=h):(n.msie=a,n.version=i(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?n={name:"Internet Explorer",msie:a,version:i(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?n={name:"Chrome",chromeos:a,chromeBook:a,chrome:a,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(e)?n={name:"Microsoft Edge",msedge:a,version:h}:/vivaldi/i.test(e)?n={name:"Vivaldi",vivaldi:a,version:i(/vivaldi\/(\d+(\.\d+)?)/i)||y}:u?n={name:"Sailfish",sailfish:a,version:i(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?n={name:"SeaMonkey",seamonkey:a,version:i(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(n={name:"Firefox",firefox:a,version:i(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(n.firefoxos=a)):c?n={name:"Amazon Silk",silk:a,version:i(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?n={name:"PhantomJS",phantom:a,version:i(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?n={name:"SlimerJS",slimer:a,version:i(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?n={name:"BlackBerry",blackberry:a,version:y||i(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(n={name:"WebOS",webos:a,version:y||i(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(n.touchpad=a)):/bada/i.test(e)?n={name:"Bada",bada:a,version:i(/dolfin\/(\d+(\.\d+)?)/i)}:d?n={name:"Tizen",tizen:a,version:i(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||y}:/qupzilla/i.test(e)?n={name:"QupZilla",qupzilla:a,version:i(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||y}:/chromium/i.test(e)?n={name:"Chromium",chromium:a,version:i(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||y}:/chrome|crios|crmo/i.test(e)?n={name:"Chrome",chrome:a,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?n={name:"Android",version:y}:/safari|applewebkit/i.test(e)?(n={name:"Safari",safari:a},y&&(n.version=y)):o?(n={name:"iphone"==o?"iPhone":"ipad"==o?"iPad":"iPod"},y&&(n.version=y)):n=/googlebot/i.test(e)?{name:"Googlebot",googlebot:a,version:i(/googlebot\/(\d+(\.\d+))/i)||y}:{name:i(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!n.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(n.name=n.name||"Blink",n.blink=a):(n.name=n.name||"Webkit",n.webkit=a),!n.version&&y&&(n.version=y)):!n.opera&&/gecko\//i.test(e)&&(n.name=n.name||"Gecko",n.gecko=a,n.version=n.version||i(/gecko\/(\d+(\.\d+)?)/i)),n.msedge||!s&&!n.silk?o?(n[o]=a,n.ios=a):x?n.mac=a:w?n.xbox=a:k?n.windows=a:b&&(n.linux=a):n.android=a;var C="";n.windowsphone?C=i(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o?(C=i(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):s?C=i(/android[ \/-](\d+(\.\d+)*)/i):n.webos?C=i(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):n.blackberry?C=i(/rim\stablet\sos\s(\d+(\.\d+)*)/i):n.bada?C=i(/bada\/(\d+(\.\d+)*)/i):n.tizen&&(C=i(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(n.osversion=C);var O=C.split(".")[0];return v||m||"ipad"==o||s&&(3==O||O>=4&&!S)||n.silk?n.tablet=a:(S||"iphone"==o||"ipod"==o||s||l||n.blackberry||n.webos||n.bada)&&(n.mobile=a),n.msedge||n.msie&&n.version>=10||n.yandexbrowser&&n.version>=15||n.vivaldi&&n.version>=1||n.chrome&&n.version>=20||n.firefox&&n.version>=20||n.safari&&n.version>=6||n.opera&&n.version>=10||n.ios&&n.osversion&&n.osversion.split(".")[0]>=6||n.blackberry&&n.version>=10.1||n.chromium&&n.version>=20?n.a=a:n.msie&&n.version<10||n.chrome&&n.version<20||n.firefox&&n.version<20||n.safari&&n.version<6||n.opera&&n.version<10||n.ios&&n.osversion&&n.osversion.split(".")[0]<6||n.chromium&&n.version<20?n.c=a:n.x=a,n}function i(e){return e.split(".").length}function r(e,i){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,i);for(r=0;r=0;){if(o[0][n]>o[1][n])return 1;if(o[0][n]!==o[1][n])return-1;if(0===n)return 0}}function o(i,r,o){var t=s;"string"==typeof r&&(o=r,r=void 0),void 0===r&&(r=!1),o&&(t=e(o));var a=""+t.version;for(var l in i)if(i.hasOwnProperty(l)&&t[l]&&n([a,i[l]])<0)return!0;return r}function t(e,i){return!o(e,i)}var a=!0,s=e("undefined"!=typeof navigator?navigator.userAgent:"");return s.test=function(e){for(var i=0;i37&&(i.browser="and_chr"),i.version=parseFloat(i.version),i.osversion=parseFloat(i.osversion),"android"===i.browser&&i.osversion<5&&(i.version=i.osversion),i},K=function(e){var i=e.browser,r=e.version,n=e.prefix,o="keyframes";return("chrome"===i&&r<43||("safari"===i||"ios_saf"===i)&&r<9||"opera"===i&&r<30||"android"===i&&r<=4.4||"and_uc"===i)&&(o=n.css+o),o},N={chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:54,userSelect:54,fontKerning:32,textEmphasisPosition:54,textEmphasis:54,textEmphasisStyle:54,textEmphasisColor:54,boxDecorationBreak:54,clipPath:54,maskImage:54,maskMode:54,maskRepeat:54,maskPosition:54,maskClip:54,maskOrigin:54,maskSize:54,maskComposite:54,mask:54,maskBorderSource:54,maskBorderMode:54,maskBorderSlice:54,maskBorderWidth:54,maskBorderOutset:54,maskBorderRepeat:54,maskBorder:54,maskType:54,textDecorationStyle:54,textDecorationSkip:54,textDecorationLine:54,textDecorationColor:54,filter:54,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:10,userSelect:10,backdropFilter:10,fontKerning:9,scrollSnapType:10,scrollSnapPointsX:10,scrollSnapPointsY:10,scrollSnapDestination:10,scrollSnapCoordinate:10,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:10,clipPath:10,maskImage:10,maskMode:10,maskRepeat:10,maskPosition:10,maskClip:10,maskOrigin:10,maskSize:10,maskComposite:10,mask:10,maskBorderSource:10,maskBorderMode:10,maskBorderSlice:10,maskBorderWidth:10,maskBorderOutset:10,maskBorderRepeat:10,maskBorder:10,maskType:10,textDecorationStyle:10,textDecorationSkip:10,textDecorationLine:10,textDecorationColor:10,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:10,flowInto:10,flowFrom:10,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:10,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8},firefox:{appearance:50,userSelect:50,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:50,hyphens:42,fontFeatureSettings:33,breakAfter:50,breakBefore:50,breakInside:50,columnCount:50,columnFill:50,columnGap:50,columnRule:50,columnRuleColor:50,columnRuleStyle:50,columnRuleWidth:50,columns:50,columnSpan:50,columnWidth:50},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:40,userSelect:40,fontKerning:19,textEmphasisPosition:40,textEmphasis:40,textEmphasisStyle:40,textEmphasisColor:40,boxDecorationBreak:40,clipPath:40,maskImage:40,maskMode:40,maskRepeat:40,maskPosition:40,maskClip:40,maskOrigin:40,maskSize:40,maskComposite:40,mask:40,maskBorderSource:40,maskBorderMode:40,maskBorderSlice:40,maskBorderWidth:40,maskBorderOutset:40,maskBorderRepeat:40,maskBorder:40,maskType:40,textDecorationStyle:40,textDecorationSkip:40,textDecorationLine:40,textDecorationColor:40,filter:40,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11},edge:{userSelect:14,wrapFlow:14,wrapThrough:14,wrapMargin:14,scrollSnapType:14,scrollSnapPointsX:14,scrollSnapPointsY:14,scrollSnapDestination:14,scrollSnapCoordinate:14,hyphens:14,flowInto:14,flowFrom:14,breakBefore:14,breakAfter:14,breakInside:14,regionFragment:14,gridTemplateColumns:14,gridTemplateRows:14,gridTemplateAreas:14,gridTemplate:14,gridAutoColumns:14,gridAutoRows:14,gridAutoFlow:14,grid:14,gridRowStart:14,gridColumnStart:14,gridRowEnd:14,gridRow:14,gridColumn:14,gridColumnEnd:14,gridColumnGap:14,gridRowGap:14,gridArea:14,gridGap:14},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:9.3,userSelect:9.3,backdropFilter:9.3,fontKerning:9.3,scrollSnapType:9.3,scrollSnapPointsX:9.3,scrollSnapPointsY:9.3,scrollSnapDestination:9.3,scrollSnapCoordinate:9.3,boxDecorationBreak:9.3,clipPath:9.3,maskImage:9.3,maskMode:9.3,maskRepeat:9.3,maskPosition:9.3,maskClip:9.3,maskOrigin:9.3,maskSize:9.3,maskComposite:9.3,mask:9.3,maskBorderSource:9.3,maskBorderMode:9.3,maskBorderSlice:9.3,maskBorderWidth:9.3,maskBorderOutset:9.3,maskBorderRepeat:9.3,maskBorder:9.3,maskType:9.3,textSizeAdjust:9.3,textDecorationStyle:9.3,textDecorationSkip:9.3,textDecorationLine:9.3,textDecorationColor:9.3,shapeImageThreshold:9.3,shapeImageMargin:9.3,shapeImageOutside:9.3,filter:9,hyphens:9.3,flowInto:9.3,flowFrom:9.3,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:9.3,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:50,userSelect:50,fontKerning:4.4,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:50,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,filter:50,fontFeatureSettings:4.4,breakAfter:50,breakBefore:50,breakInside:50,columnCount:50,columnFill:50,columnGap:50,columnRule:50,columnRuleColor:50,columnRuleStyle:50,columnRuleWidth:50,columns:50,columnSpan:50,columnWidth:50},and_chr:{appearance:50,userSelect:50,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:50,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:50,textDecorationSkip:50,textDecorationLine:50,textDecorationColor:50,filter:50,fontFeatureSettings:50},and_uc:{flex:9.9,flexBasis:9.9,flexDirection:9.9,flexGrow:9.9,flexFlow:9.9,flexShrink:9.9,flexWrap:9.9,alignContent:9.9,alignItems:9.9,alignSelf:9.9,justifyContent:9.9,order:9.9,transition:9.9,transitionDelay:9.9,transitionDuration:9.9,transitionProperty:9.9,transitionTimingFunction:9.9,transform:9.9,transformOrigin:9.9,transformOriginX:9.9,transformOriginY:9.9,backfaceVisibility:9.9,perspective:9.9,perspectiveOrigin:9.9,transformStyle:9.9,transformOriginZ:9.9,animation:9.9,animationDelay:9.9,animationDirection:9.9,animationFillMode:9.9,animationDuration:9.9,animationIterationCount:9.9,animationName:9.9,animationPlayState:9.9,animationTimingFunction:9.9,appearance:9.9,userSelect:9.9,fontKerning:9.9,textEmphasisPosition:9.9,textEmphasis:9.9,textEmphasisStyle:9.9,textEmphasisColor:9.9,maskImage:9.9,maskMode:9.9,maskRepeat:9.9,maskPosition:9.9,maskClip:9.9,maskOrigin:9.9,maskSize:9.9,maskComposite:9.9,mask:9.9,maskBorderSource:9.9,maskBorderMode:9.9,maskBorderSlice:9.9,maskBorderWidth:9.9,maskBorderOutset:9.9,maskBorderRepeat:9.9,maskBorder:9.9,maskType:9.9,textSizeAdjust:9.9,filter:9.9,hyphens:9.9,flowInto:9.9,flowFrom:9.9,breakBefore:9.9,breakAfter:9.9,breakInside:9.9,regionFragment:9.9,fontFeatureSettings:9.9,columnCount:9.9,columnFill:9.9,columnGap:9.9,columnRule:9.9,columnRuleColor:9.9,columnRuleStyle:9.9,columnRuleWidth:9.9,columns:9.9,columnSpan:9.9,columnWidth:9.9},op_mini:{borderImage:5,borderImageOutset:5,borderImageRepeat:5,borderImageSlice:5,borderImageSource:5,borderImageWidth:5,tabSize:5,objectFit:5,objectPosition:5}},V={"zoom-in":!0,"zoom-out":!0},Z={grab:!0,grabbing:!0},H={flex:!0,"inline-flex":!0},J={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},Q={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0},$=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/,ee=function(e){var i=e.replace(/^(ms|Webkit|Moz|O)/,"");return i.charAt(0).toLowerCase()+i.slice(1)},ie={transition:!0,transitionProperty:!0},re={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},ne={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msPreferredSize"},oe=Object.keys(ne).reduce(function(e,i){return e[i]=!0,e},{}),te={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},ae={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines"},se=["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"],le=Object.keys(ae).concat(se).reduce(function(e,i){return e[i]=!0,e},{}),me=[d,p,g,x,b,h,y,v,k],fe=function(){function e(){var i=this,r=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];S.classCallCheck(this,e);var n="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=r.userAgent||n,this._keepUnprefixed=r.keepUnprefixed||!1,this._browserInfo=q(this._userAgent),!this._browserInfo||!this._browserInfo.prefix)return this._usePrefixAllFallback=!0,!1;this.cssPrefix=this._browserInfo.prefix.css,this.jsPrefix=this._browserInfo.prefix.inline,this.prefixedKeyframes=K(this._browserInfo);var o=this._browserInfo.browser&&N[this._browserInfo.browser];o?(this._requiresPrefix=Object.keys(o).filter(function(e){return o[e]>=i._browserInfo.version}).reduce(function(e,i){return e[i]=!0,e},{}),this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0):this._usePrefixAllFallback=!0}return S.createClass(e,[{key:"prefix",value:function(e){var i=this;return this._usePrefixAllFallback?f(e):this._hasPropsRequiringPrefix?(e=O({},e),Object.keys(e).forEach(function(r){var n=e[r];n instanceof Object?e[r]=i.prefix(n):i._requiresPrefix[r]&&(e[i.jsPrefix+C(r)]=n,i._keepUnprefixed||delete e[r])}),Object.keys(e).forEach(function(r){var n=e[r];me.forEach(function(o){var t=o({property:r,value:n,styles:e,browserInfo:i._browserInfo,prefix:{js:i.jsPrefix,css:i.cssPrefix,keyframes:i.prefixedKeyframes},keepUnprefixed:i._keepUnprefixed,requiresPrefix:i._requiresPrefix});O(e,t)})}),e):e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}();return fe}); \ No newline at end of file +!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):e.InlineStylePrefixer=i()}(this,function(){"use strict";function e(e,i){return i={exports:{}},e(i,i.exports),i.exports}function i(e,i){if("string"==typeof i&&!B(i)&&i.indexOf("calc(")>-1)return O(e,i,function(e,i){return i.replace(/calc\(/g,e+"calc(")})}function r(e,i){if("cursor"===e&&P[i])return O(e,i)}function n(e,i){if("display"===e&&I[i])return{display:["-webkit-box","-moz-box","-ms-"+i+"box","-webkit-"+i,i]}}function o(e,i){if(F[e]&&D[i])return O(e,i)}function t(e,i){if("string"==typeof i&&!B(i)&&null!==i.match(R))return O(e,i)}function a(e,i){if("string"==typeof i&&j[e]){var r,n=s(i),o=n.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(e){return null===e.match(/-moz-|-ms-/)}).join(",");return e.indexOf("Webkit")>-1?S.defineProperty({},e,o):(r={},S.defineProperty(r,"Webkit"+C(e),o),S.defineProperty(r,e,n),r)}}function s(e){if(B(e))return e;var i=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return i.forEach(function(e,r){i[r]=Object.keys(w).reduce(function(i,r){var n="-"+r.toLowerCase()+"-";return Object.keys(w[r]).forEach(function(r){var o=W(r);e.indexOf(o)>-1&&"order"!==o&&(i=e.replace(o,n+o)+","+i)}),i},e)}),i.join(",")}function l(e,i){if(T[e])return S.defineProperty({},T[e],E[i]||i)}function m(e,i){return"flexDirection"===e?{WebkitBoxOrient:i.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:i.indexOf("reverse")>-1?"reverse":"normal"}:z[e]?S.defineProperty({},z[e],_[i]||i):void 0}function f(e){return Object.keys(e).forEach(function(i){var r=e[i];r instanceof Object&&!Array.isArray(r)?e[i]=f(r):Object.keys(w).forEach(function(n){var o=w[n];o[i]&&(e[n+C(i)]=r)})}),Object.keys(e).forEach(function(i){[].concat(e[i]).forEach(function(r,n){M.forEach(function(n){return c(e,n(i,r))})})}),e}function c(e){var i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];Object.keys(i).forEach(function(r){var n=e[r];Array.isArray(n)?[].concat(i[r]).forEach(function(i){var o=n.indexOf(i);o>-1&&e[r].splice(o,1),e[r].push(i)}):e[r]=i[r]})}function d(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("string"==typeof r&&r.indexOf("calc(")>-1&&("firefox"===o&&t<15||"chrome"===o&&t<25||"safari"===o&&t<6.1||"ios_saf"===o&&t<7))return S.defineProperty({},i,N(r.replace(/calc\(/g,a+"calc("),r,s))}function u(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("cursor"===i&&V[r]&&("firefox"===o&&t<24||"chrome"===o&&t<37||"safari"===o&&t<9||"opera"===o&&t<24))return{cursor:N(a+r,r,s)}}function p(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=(n.version,e.prefix.css),a=e.keepUnprefixed;if("cursor"===i&&Z[r]&&("firefox"===o||"chrome"===o||"safari"===o||"opera"===o))return{cursor:N(t+r,r,a)}}function g(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("display"===i&&H[r]&&("chrome"===o&&t<29&&t>20||("safari"===o||"ios_saf"===o)&&t<9&&t>6||"opera"===o&&(15==t||16==t)))return{display:N(a+r,r,s)}}function x(e){var i=e.property,r=e.value,n=e.prefix.css,o=e.keepUnprefixed;if(J[i]&&Q[r])return S.defineProperty({},i,N(n+r,r,o))}function k(e){var i=e.property,r=e.value,n=e.browserInfo,o=n.browser,t=n.version,a=e.prefix.css,s=e.keepUnprefixed;if("string"==typeof r&&null!==r.match($)&&("firefox"===o&&t<16||"chrome"===o&&t<26||("safari"===o||"ios_saf"===o)&&t<7||("opera"===o||"op_mini"===o)&&t<12.1||"android"===o&&t<4.4||"and_uc"===o))return S.defineProperty({},i,N(a+r,r,s))}function h(e){var i=e.property,r=e.value,n=e.prefix.css,o=e.requiresPrefix,t=e.keepUnprefixed,a=ee(i);if("string"==typeof r&&ie[a]){var s=function(){var e=Object.keys(o).map(function(e){return W(e)}),a=r.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return e.forEach(function(e){a.forEach(function(i,r){i.indexOf(e)>-1&&"order"!==e&&(a[r]=i.replace(e,n+e)+(t?","+i:""))})}),{v:S.defineProperty({},i,a.join(","))}}();if("object"===("undefined"==typeof s?"undefined":S["typeof"](s)))return s.v}}function b(e){var i=e.property,r=e.value,n=e.styles,o=e.browserInfo,t=o.browser,a=o.version,s=e.prefix.css,l=e.keepUnprefixed;if((ne[i]||"display"===i&&"string"==typeof r&&r.indexOf("flex")>-1)&&("ie_mob"===t||"ie"===t)&&10==a){if(l||Array.isArray(n[i])||delete n[i],"display"===i&&re[r])return{display:N(s+re[r],r,l)};if(ne[i])return S.defineProperty({},ne[i],re[r]||r)}}function y(e){var i=e.property,r=e.value,n=e.styles,o=e.browserInfo,t=o.browser,a=o.version,s=e.prefix.css,l=e.keepUnprefixed;if((se.indexOf(i)>-1||"display"===i&&"string"==typeof r&&r.indexOf("flex")>-1)&&("firefox"===t&&a<22||"chrome"===t&&a<21||("safari"===t||"ios_saf"===t)&&a<=6.1||"android"===t&&a<4.4||"and_uc"===t)){if(l||Array.isArray(n[i])||delete n[i],"flexDirection"===i)return{WebkitBoxOrient:r.indexOf("column")>-1?"vertical":"horizontal",WebkitBoxDirection:r.indexOf("reverse")>-1?"reverse":"normal"};if("display"===i&&oe[r])return{display:N(s+oe[r],r,l)};if(te[i])return S.defineProperty({},te[i],oe[r]||r)}}function v(e){var i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=arguments[2],n=arguments[3];Object.keys(i).forEach(function(o){var t=e[o];Array.isArray(t)?[].concat(i[o]).forEach(function(i){e[o].indexOf(i)===-1&&e[o].splice(t.indexOf(r),n?0:1,i)}):e[o]=i[o]})}var S={};S["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},S.classCallCheck=function(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")},S.createClass=function(){function e(e,i){for(var r=0;r1&&r[1]||""}function r(i){var r=e.match(i);return r&&r.length>1&&r[2]||""}var n,o=i(/(ipod|iphone|ipad)/i).toLowerCase(),t=/like android/i.test(e),s=!t&&/android/i.test(e),l=/nexus\s*[0-6]\s*/i.test(e),m=!l&&/nexus\s*[0-9]+/i.test(e),f=/CrOS/.test(e),c=/silk/i.test(e),d=/sailfish/i.test(e),u=/tizen/i.test(e),p=/(web|hpw)os/i.test(e),g=/windows phone/i.test(e),x=!g&&/windows/i.test(e),k=!o&&!c&&/macintosh/i.test(e),h=!s&&!d&&!u&&!p&&/linux/i.test(e),b=i(/edge\/(\d+(\.\d+)?)/i),y=i(/version\/(\d+(\.\d+)?)/i),v=/tablet/i.test(e),S=!v&&/[^-]mobi/i.test(e),w=/xbox/i.test(e);/opera|opr|opios/i.test(e)?n={name:"Opera",opera:a,version:y||i(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?n={name:"Opera Coast",coast:a,version:y||i(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?n={name:"Yandex Browser",yandexbrowser:a,version:y||i(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?n={name:"UC Browser",ucbrowser:a,version:i(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?n={name:"Maxthon",maxthon:a,version:i(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?n={name:"Epiphany",epiphany:a,version:i(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?n={name:"Puffin",puffin:a,version:i(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?n={name:"Sleipnir",sleipnir:a,version:i(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?n={name:"K-Meleon",kMeleon:a,version:i(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:g?(n={name:"Windows Phone",windowsphone:a},b?(n.msedge=a,n.version=b):(n.msie=a,n.version=i(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?n={name:"Internet Explorer",msie:a,version:i(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?n={name:"Chrome",chromeos:a,chromeBook:a,chrome:a,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(e)?n={name:"Microsoft Edge",msedge:a,version:b}:/vivaldi/i.test(e)?n={name:"Vivaldi",vivaldi:a,version:i(/vivaldi\/(\d+(\.\d+)?)/i)||y}:d?n={name:"Sailfish",sailfish:a,version:i(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?n={name:"SeaMonkey",seamonkey:a,version:i(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(n={name:"Firefox",firefox:a,version:i(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(n.firefoxos=a)):c?n={name:"Amazon Silk",silk:a,version:i(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?n={name:"PhantomJS",phantom:a,version:i(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?n={name:"SlimerJS",slimer:a,version:i(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?n={name:"BlackBerry",blackberry:a,version:y||i(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(n={name:"WebOS",webos:a,version:y||i(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(n.touchpad=a)):/bada/i.test(e)?n={name:"Bada",bada:a,version:i(/dolfin\/(\d+(\.\d+)?)/i)}:u?n={name:"Tizen",tizen:a,version:i(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||y}:/qupzilla/i.test(e)?n={name:"QupZilla",qupzilla:a,version:i(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||y}:/chromium/i.test(e)?n={name:"Chromium",chromium:a,version:i(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||y}:/chrome|crios|crmo/i.test(e)?n={name:"Chrome",chrome:a,version:i(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?n={name:"Android",version:y}:/safari|applewebkit/i.test(e)?(n={name:"Safari",safari:a},y&&(n.version=y)):o?(n={name:"iphone"==o?"iPhone":"ipad"==o?"iPad":"iPod"},y&&(n.version=y)):n=/googlebot/i.test(e)?{name:"Googlebot",googlebot:a,version:i(/googlebot\/(\d+(\.\d+))/i)||y}:{name:i(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!n.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(n.name=n.name||"Blink",n.blink=a):(n.name=n.name||"Webkit",n.webkit=a),!n.version&&y&&(n.version=y)):!n.opera&&/gecko\//i.test(e)&&(n.name=n.name||"Gecko",n.gecko=a,n.version=n.version||i(/gecko\/(\d+(\.\d+)?)/i)),n.msedge||!s&&!n.silk?o?(n[o]=a,n.ios=a):k?n.mac=a:w?n.xbox=a:x?n.windows=a:h&&(n.linux=a):n.android=a;var C="";n.windowsphone?C=i(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o?(C=i(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):s?C=i(/android[ \/-](\d+(\.\d+)*)/i):n.webos?C=i(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):n.blackberry?C=i(/rim\stablet\sos\s(\d+(\.\d+)*)/i):n.bada?C=i(/bada\/(\d+(\.\d+)*)/i):n.tizen&&(C=i(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(n.osversion=C);var O=C.split(".")[0];return v||m||"ipad"==o||s&&(3==O||O>=4&&!S)||n.silk?n.tablet=a:(S||"iphone"==o||"ipod"==o||s||l||n.blackberry||n.webos||n.bada)&&(n.mobile=a),n.msedge||n.msie&&n.version>=10||n.yandexbrowser&&n.version>=15||n.vivaldi&&n.version>=1||n.chrome&&n.version>=20||n.firefox&&n.version>=20||n.safari&&n.version>=6||n.opera&&n.version>=10||n.ios&&n.osversion&&n.osversion.split(".")[0]>=6||n.blackberry&&n.version>=10.1||n.chromium&&n.version>=20?n.a=a:n.msie&&n.version<10||n.chrome&&n.version<20||n.firefox&&n.version<20||n.safari&&n.version<6||n.opera&&n.version<10||n.ios&&n.osversion&&n.osversion.split(".")[0]<6||n.chromium&&n.version<20?n.c=a:n.x=a,n}function i(e){return e.split(".").length}function r(e,i){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,i);for(r=0;r=0;){if(o[0][n]>o[1][n])return 1;if(o[0][n]!==o[1][n])return-1;if(0===n)return 0}}function o(i,r,o){var t=s;"string"==typeof r&&(o=r,r=void 0),void 0===r&&(r=!1),o&&(t=e(o));var a=""+t.version;for(var l in i)if(i.hasOwnProperty(l)&&t[l]&&n([a,i[l]])<0)return!0;return r}function t(e,i){return!o(e,i)}var a=!0,s=e("undefined"!=typeof navigator?navigator.userAgent:"");return s.test=function(e){for(var i=0;i37&&(i.browser="and_chr"),i.version=parseFloat(i.version),i.osversion=parseFloat(i.osversion),"android"===i.browser&&i.osversion<5&&(i.version=i.osversion),i},q=function(e){var i=e.browser,r=e.version,n=e.prefix,o="keyframes";return("chrome"===i&&r<43||("safari"===i||"ios_saf"===i)&&r<9||"opera"===i&&r<30||"android"===i&&r<=4.4||"and_uc"===i)&&(o=n.css+o),o},K={chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:54,userSelect:54,fontKerning:32,textEmphasisPosition:54,textEmphasis:54,textEmphasisStyle:54,textEmphasisColor:54,boxDecorationBreak:54,clipPath:54,maskImage:54,maskMode:54,maskRepeat:54,maskPosition:54,maskClip:54,maskOrigin:54,maskSize:54,maskComposite:54,mask:54,maskBorderSource:54,maskBorderMode:54,maskBorderSlice:54,maskBorderWidth:54,maskBorderOutset:54,maskBorderRepeat:54,maskBorder:54,maskType:54,textDecorationStyle:54,textDecorationSkip:54,textDecorationLine:54,textDecorationColor:54,filter:54,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:10,userSelect:10,backdropFilter:10,fontKerning:9,scrollSnapType:10,scrollSnapPointsX:10,scrollSnapPointsY:10,scrollSnapDestination:10,scrollSnapCoordinate:10,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:10,clipPath:10,maskImage:10,maskMode:10,maskRepeat:10,maskPosition:10,maskClip:10,maskOrigin:10,maskSize:10,maskComposite:10,mask:10,maskBorderSource:10,maskBorderMode:10,maskBorderSlice:10,maskBorderWidth:10,maskBorderOutset:10,maskBorderRepeat:10,maskBorder:10,maskType:10,textDecorationStyle:10,textDecorationSkip:10,textDecorationLine:10,textDecorationColor:10,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:10,flowInto:10,flowFrom:10,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:10,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8},firefox:{appearance:50,userSelect:50,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:50,hyphens:42,fontFeatureSettings:33,breakAfter:50,breakBefore:50,breakInside:50,columnCount:50,columnFill:50,columnGap:50,columnRule:50,columnRuleColor:50,columnRuleStyle:50,columnRuleWidth:50,columns:50,columnSpan:50,columnWidth:50},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:40,userSelect:40,fontKerning:19,textEmphasisPosition:40,textEmphasis:40,textEmphasisStyle:40,textEmphasisColor:40,boxDecorationBreak:40,clipPath:40,maskImage:40,maskMode:40,maskRepeat:40,maskPosition:40,maskClip:40,maskOrigin:40,maskSize:40,maskComposite:40,mask:40,maskBorderSource:40,maskBorderMode:40,maskBorderSlice:40,maskBorderWidth:40,maskBorderOutset:40,maskBorderRepeat:40,maskBorder:40,maskType:40,textDecorationStyle:40,textDecorationSkip:40,textDecorationLine:40,textDecorationColor:40,filter:40,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11},edge:{userSelect:14,wrapFlow:14,wrapThrough:14,wrapMargin:14,scrollSnapType:14,scrollSnapPointsX:14,scrollSnapPointsY:14,scrollSnapDestination:14,scrollSnapCoordinate:14,hyphens:14,flowInto:14,flowFrom:14,breakBefore:14,breakAfter:14,breakInside:14,regionFragment:14,gridTemplateColumns:14,gridTemplateRows:14,gridTemplateAreas:14,gridTemplate:14,gridAutoColumns:14,gridAutoRows:14,gridAutoFlow:14,grid:14,gridRowStart:14,gridColumnStart:14,gridRowEnd:14,gridRow:14,gridColumn:14,gridColumnEnd:14,gridColumnGap:14,gridRowGap:14,gridArea:14,gridGap:14},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:9.3,userSelect:9.3,backdropFilter:9.3,fontKerning:9.3,scrollSnapType:9.3,scrollSnapPointsX:9.3,scrollSnapPointsY:9.3,scrollSnapDestination:9.3,scrollSnapCoordinate:9.3,boxDecorationBreak:9.3,clipPath:9.3,maskImage:9.3,maskMode:9.3,maskRepeat:9.3,maskPosition:9.3,maskClip:9.3,maskOrigin:9.3,maskSize:9.3,maskComposite:9.3,mask:9.3,maskBorderSource:9.3,maskBorderMode:9.3,maskBorderSlice:9.3,maskBorderWidth:9.3,maskBorderOutset:9.3,maskBorderRepeat:9.3,maskBorder:9.3,maskType:9.3,textSizeAdjust:9.3,textDecorationStyle:9.3,textDecorationSkip:9.3,textDecorationLine:9.3,textDecorationColor:9.3,shapeImageThreshold:9.3,shapeImageMargin:9.3,shapeImageOutside:9.3,filter:9,hyphens:9.3,flowInto:9.3,flowFrom:9.3,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:9.3,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:50,userSelect:50,fontKerning:4.4,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:50,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,filter:50,fontFeatureSettings:4.4,breakAfter:50,breakBefore:50,breakInside:50,columnCount:50,columnFill:50,columnGap:50,columnRule:50,columnRuleColor:50,columnRuleStyle:50,columnRuleWidth:50,columns:50,columnSpan:50,columnWidth:50},and_chr:{appearance:50,userSelect:50,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:50,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:50,textDecorationSkip:50,textDecorationLine:50,textDecorationColor:50,filter:50,fontFeatureSettings:50},and_uc:{flex:9.9,flexBasis:9.9,flexDirection:9.9,flexGrow:9.9,flexFlow:9.9,flexShrink:9.9,flexWrap:9.9,alignContent:9.9,alignItems:9.9,alignSelf:9.9,justifyContent:9.9,order:9.9,transition:9.9,transitionDelay:9.9,transitionDuration:9.9,transitionProperty:9.9,transitionTimingFunction:9.9,transform:9.9,transformOrigin:9.9,transformOriginX:9.9,transformOriginY:9.9,backfaceVisibility:9.9,perspective:9.9,perspectiveOrigin:9.9,transformStyle:9.9,transformOriginZ:9.9,animation:9.9,animationDelay:9.9,animationDirection:9.9,animationFillMode:9.9,animationDuration:9.9,animationIterationCount:9.9,animationName:9.9,animationPlayState:9.9,animationTimingFunction:9.9,appearance:9.9,userSelect:9.9,fontKerning:9.9,textEmphasisPosition:9.9,textEmphasis:9.9,textEmphasisStyle:9.9,textEmphasisColor:9.9,maskImage:9.9,maskMode:9.9,maskRepeat:9.9,maskPosition:9.9,maskClip:9.9,maskOrigin:9.9,maskSize:9.9,maskComposite:9.9,mask:9.9,maskBorderSource:9.9,maskBorderMode:9.9,maskBorderSlice:9.9,maskBorderWidth:9.9,maskBorderOutset:9.9,maskBorderRepeat:9.9,maskBorder:9.9,maskType:9.9,textSizeAdjust:9.9,filter:9.9,hyphens:9.9,flowInto:9.9,flowFrom:9.9,breakBefore:9.9,breakAfter:9.9,breakInside:9.9,regionFragment:9.9,fontFeatureSettings:9.9,columnCount:9.9,columnFill:9.9,columnGap:9.9,columnRule:9.9,columnRuleColor:9.9,columnRuleStyle:9.9,columnRuleWidth:9.9,columns:9.9,columnSpan:9.9,columnWidth:9.9},op_mini:{borderImage:5,borderImageOutset:5,borderImageRepeat:5,borderImageSlice:5,borderImageSource:5,borderImageWidth:5,tabSize:5,objectFit:5,objectPosition:5}},N=function(e,i,r){return r?[e,i]:e},V={"zoom-in":!0,"zoom-out":!0},Z={grab:!0,grabbing:!0},H={flex:!0,"inline-flex":!0},J={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},Q={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0},$=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/,ee=function(e){var i=e.replace(/^(ms|Webkit|Moz|O)/,"");return i.charAt(0).toLowerCase()+i.slice(1)},ie={transition:!0,transitionProperty:!0},re={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},ne={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msPreferredSize"},oe={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},te={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines"},ae=["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"],se=Object.keys(te).concat(ae),le=[d,u,p,x,k,h,b,y,g],me=function(){function e(){var i=this,r=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];S.classCallCheck(this,e);var n="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=r.userAgent||n,this._keepUnprefixed=r.keepUnprefixed||!1,this._browserInfo=X(this._userAgent),!this._browserInfo||!this._browserInfo.prefix)return this._usePrefixAllFallback=!0,!1;this.cssPrefix=this._browserInfo.prefix.css,this.jsPrefix=this._browserInfo.prefix.inline,this.prefixedKeyframes=q(this._browserInfo);var o=this._browserInfo.browser&&K[this._browserInfo.browser];o?(this._requiresPrefix=Object.keys(o).filter(function(e){return o[e]>=i._browserInfo.version}).reduce(function(e,i){return e[i]=!0,e},{}),this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0):this._usePrefixAllFallback=!0}return S.createClass(e,[{key:"prefix",value:function(e){var i=this;return this._usePrefixAllFallback?f(e):this._hasPropsRequiringPrefix?(Object.keys(e).forEach(function(r){var n=e[r];n instanceof Object&&!Array.isArray(n)?e[r]=i.prefix(n):i._requiresPrefix[r]&&(e[i.jsPrefix+C(r)]=n,i._keepUnprefixed||delete e[r])}),Object.keys(e).forEach(function(r){[].concat(e[r]).forEach(function(n){le.forEach(function(o){v(e,o({property:r,value:n,styles:e,browserInfo:i._browserInfo,prefix:{js:i.jsPrefix,css:i.cssPrefix,keyframes:i.prefixedKeyframes},keepUnprefixed:i._keepUnprefixed,requiresPrefix:i._requiresPrefix}),n,i._keepUnprefixed)})})}),e):e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}();return me}); \ No newline at end of file diff --git a/docs/API.md b/docs/API.md index b1e4f0a..8846d25 100644 --- a/docs/API.md +++ b/docs/API.md @@ -146,7 +146,7 @@ If you only want to use the static prefixing, you can directly import it from ` ```javascript import prefixAll from 'inline-style-prefixer/static' -const styles = {alignItems: 'center'} +const styles = { alignItems: 'center' } const prefixedStyles = prefixAll(styles) diff --git a/docs/res/logo.afdesign b/docs/res/logo.afdesign deleted file mode 100644 index e9a1283..0000000 Binary files a/docs/res/logo.afdesign and /dev/null differ diff --git a/docs/res/logo.png b/docs/res/logo.png deleted file mode 100644 index e283105..0000000 Binary files a/docs/res/logo.png and /dev/null differ diff --git a/package.json b/package.json index 3f1615f..e9c63d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "inline-style-prefixer", - "version": "2.0.0", + "version": "2.0.1", "description": "Autoprefixer for inline styles using userAgent and caniuse data", "main": "lib/Prefixer.js", "files": [