From 7d734f3265fb2853944712548c29c73f68c20193 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Sun, 6 Mar 2016 15:37:42 -0800 Subject: [PATCH] Update rework-import dependency. Fixes #138 --- myth.js | 31370 ------------------------------------------------- package.json | 2 +- 2 files changed, 1 insertion(+), 31371 deletions(-) delete mode 100644 myth.js diff --git a/myth.js b/myth.js deleted file mode 100644 index 02aece5..0000000 --- a/myth.js +++ /dev/null @@ -1,31370 +0,0 @@ -!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.myth=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o b[0]) { - return 1; - } else if (a[0] < b[0]) { - return -1; - } else { - d = parseFloat(a[1]) - parseFloat(b[1]); - if (d > 0) { - return 1; - } else if (d < 0) { - return -1; - } else { - return 0; - } - } - }); - }; - - feature = function(data, opts, callback) { - var browser, match, need, ref, ref1, support, version, versions; - if (!callback) { - ref = [opts, {}], callback = ref[0], opts = ref[1]; - } - match = opts.match || /\sx($|\s)/; - need = []; - ref1 = data.stats; - for (browser in ref1) { - versions = ref1[browser]; - for (version in versions) { - support = versions[version]; - if (support.match(match)) { - need.push(browser + ' ' + version); - } - } - } - return callback(sort(need)); - }; - - result = {}; - - prefix = function() { - var data, i, j, k, len, name, names, results; - names = 2 <= arguments.length ? slice.call(arguments, 0, j = arguments.length - 1) : (j = 0, []), data = arguments[j++]; - results = []; - for (k = 0, len = names.length; k < len; k++) { - name = names[k]; - result[name] = {}; - results.push((function() { - var results1; - results1 = []; - for (i in data) { - results1.push(result[name][i] = data[i]); - } - return results1; - })()); - } - return results; - }; - - add = function() { - var data, j, k, len, name, names, results; - names = 2 <= arguments.length ? slice.call(arguments, 0, j = arguments.length - 1) : (j = 0, []), data = arguments[j++]; - results = []; - for (k = 0, len = names.length; k < len; k++) { - name = names[k]; - results.push(result[name].browsers = sort(result[name].browsers.concat(data.browsers))); - } - return results; - }; - - module.exports = result; - - feature(_dereq_('caniuse-db/features-json/border-radius'), function(browsers) { - return prefix('border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius', { - mistakes: ['-ms-', '-o-'], - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-boxshadow'), function(browsers) { - return prefix('box-shadow', { - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-animation'), function(browsers) { - return prefix('animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes', { - mistakes: ['-ms-'], - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-transitions'), function(browsers) { - return prefix('transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function', { - mistakes: ['-ms-'], - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/transforms2d'), function(browsers) { - return prefix('transform', 'transform-origin', { - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/transforms3d'), function(browsers) { - prefix('perspective', 'perspective-origin', { - transition: true, - browsers: browsers - }); - return prefix('transform-style', 'backface-visibility', { - browsers: browsers - }); - }); - - gradients = _dereq_('caniuse-db/features-json/css-gradients'); - - feature(gradients, { - match: /y\sx/ - }, function(browsers) { - return prefix('linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient', { - props: ['background', 'background-image', 'border-image', 'list-style', 'list-style-image', 'content', 'mask-image', 'mask'], - mistakes: ['-ms-'], - browsers: browsers - }); - }); - - feature(gradients, { - match: /a\sx/ - }, function(browsers) { - browsers = browsers.map(function(i) { - if (/op/.test(i)) { - return i; - } else { - return i + " old"; - } - }); - return add('linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css3-boxsizing'), function(browsers) { - return prefix('box-sizing', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-filters'), function(browsers) { - return prefix('filter', { - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/multicolumn'), function(browsers) { - prefix('columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', { - transition: true, - browsers: browsers - }); - return prefix('column-count', 'column-rule-style', 'column-span', 'column-fill', 'break-before', 'break-after', 'break-inside', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/user-select-none'), function(browsers) { - return prefix('user-select', { - browsers: browsers - }); - }); - - flexbox = _dereq_('caniuse-db/features-json/flexbox'); - - feature(flexbox, { - match: /a\sx/ - }, function(browsers) { - browsers = browsers.map(function(i) { - if (/ie|firefox/.test(i)) { - return i; - } else { - return i + " 2009"; - } - }); - prefix('display-flex', 'inline-flex', { - props: ['display'], - browsers: browsers - }); - prefix('flex', 'flex-grow', 'flex-shrink', 'flex-basis', { - transition: true, - browsers: browsers - }); - return prefix('flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content', { - browsers: browsers - }); - }); - - feature(flexbox, { - match: /y\sx/ - }, function(browsers) { - add('display-flex', 'inline-flex', { - browsers: browsers - }); - add('flex', 'flex-grow', 'flex-shrink', 'flex-basis', { - browsers: browsers - }); - return add('flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/calc'), function(browsers) { - return prefix('calc', { - props: ['*'], - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/background-img-opts'), function(browsers) { - return prefix('background-clip', 'background-origin', 'background-size', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/font-feature'), function(browsers) { - return prefix('font-feature-settings', 'font-variant-ligatures', 'font-language-override', 'font-kerning', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/border-image'), function(browsers) { - return prefix('border-image', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-selection'), function(browsers) { - return prefix('::selection', { - selector: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-placeholder'), function(browsers) { - browsers = browsers.map(function(i) { - var name, ref, version; - ref = i.split(' '), name = ref[0], version = ref[1]; - if (name === 'firefox' && parseFloat(version) <= 18) { - return i + ' old'; - } else { - return i; - } - }); - return prefix('::placeholder', { - selector: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-hyphens'), function(browsers) { - return prefix('hyphens', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/fullscreen'), function(browsers) { - return prefix(':fullscreen', { - selector: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css3-tabsize'), function(browsers) { - return prefix('tab-size', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/intrinsic-width'), function(browsers) { - return prefix('max-content', 'min-content', 'fit-content', 'fill-available', { - props: ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height'], - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css3-cursors-newer'), function(browsers) { - prefix('zoom-in', 'zoom-out', { - props: ['cursor'], - browsers: browsers.concat(['chrome 3']) - }); - return prefix('grab', 'grabbing', { - props: ['cursor'], - browsers: browsers.concat(['firefox 24', 'firefox 25', 'firefox 26']) - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-sticky'), function(browsers) { - return prefix('sticky', { - props: ['position'], - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/pointer'), function(browsers) { - return prefix('touch-action', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/text-decoration'), function(browsers) { - return prefix('text-decoration-style', 'text-decoration-line', 'text-decoration-color', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/text-size-adjust'), function(browsers) { - return prefix('text-size-adjust', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-masks'), function(browsers) { - prefix('mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', { - browsers: browsers - }); - return prefix('clip-path', 'mask', 'mask-position', 'mask-size', { - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-boxdecorationbreak'), function(brwsrs) { - return prefix('box-decoration-break', { - browsers: brwsrs - }); - }); - - feature(_dereq_('caniuse-db/features-json/object-fit'), function(browsers) { - return prefix('object-fit', 'object-position', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-shapes'), function(browsers) { - return prefix('shape-margin', 'shape-outside', 'shape-image-threshold', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/text-overflow'), function(browsers) { - return prefix('text-overflow', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/text-emphasis'), function(browsers) { - return prefix('text-emphasis', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-deviceadaptation'), function(browsers) { - return prefix('@viewport', { - browsers: browsers - }); - }); - - resolution = _dereq_('caniuse-db/features-json/css-media-resolution'); - - feature(resolution, { - match: /( x($| )|a #3)/ - }, function(browsers) { - return prefix('@resolution', { - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-text-align-last'), function(browsers) { - return prefix('text-align-last', { - browsers: browsers - }); - }); - - crispedges = _dereq_('caniuse-db/features-json/css-crisp-edges'); - - feature(crispedges, { - match: /y x/ - }, function(browsers) { - return prefix('pixelated', { - props: ['image-rendering'], - browsers: browsers - }); - }); - - feature(crispedges, { - match: /a x #2/ - }, function(browsers) { - return prefix('image-rendering', { - browsers: browsers - }); - }); - - logicalProps = _dereq_('caniuse-db/features-json/css-logical-props'); - - feature(logicalProps, function(browsers) { - return prefix('border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', { - transition: true, - browsers: browsers - }); - }); - - feature(logicalProps, { - match: /x\s#2/ - }, function(browsers) { - return prefix('border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', { - transition: true, - browsers: browsers - }); - }); - - feature(_dereq_('caniuse-db/features-json/css-appearance'), function(browsers) { - return prefix('appearance', { - browsers: browsers - }); - }); - -}).call(this); - -},{"caniuse-db/features-json/background-img-opts":53,"caniuse-db/features-json/border-image":54,"caniuse-db/features-json/border-radius":55,"caniuse-db/features-json/calc":56,"caniuse-db/features-json/css-animation":57,"caniuse-db/features-json/css-appearance":58,"caniuse-db/features-json/css-boxdecorationbreak":59,"caniuse-db/features-json/css-boxshadow":60,"caniuse-db/features-json/css-crisp-edges":61,"caniuse-db/features-json/css-deviceadaptation":62,"caniuse-db/features-json/css-filters":63,"caniuse-db/features-json/css-gradients":64,"caniuse-db/features-json/css-hyphens":65,"caniuse-db/features-json/css-logical-props":66,"caniuse-db/features-json/css-masks":67,"caniuse-db/features-json/css-media-resolution":68,"caniuse-db/features-json/css-placeholder":69,"caniuse-db/features-json/css-selection":70,"caniuse-db/features-json/css-shapes":71,"caniuse-db/features-json/css-sticky":72,"caniuse-db/features-json/css-text-align-last":73,"caniuse-db/features-json/css-transitions":74,"caniuse-db/features-json/css3-boxsizing":75,"caniuse-db/features-json/css3-cursors-newer":76,"caniuse-db/features-json/css3-tabsize":77,"caniuse-db/features-json/flexbox":78,"caniuse-db/features-json/font-feature":79,"caniuse-db/features-json/fullscreen":80,"caniuse-db/features-json/intrinsic-width":81,"caniuse-db/features-json/multicolumn":82,"caniuse-db/features-json/object-fit":83,"caniuse-db/features-json/pointer":84,"caniuse-db/features-json/text-decoration":85,"caniuse-db/features-json/text-emphasis":86,"caniuse-db/features-json/text-overflow":87,"caniuse-db/features-json/text-size-adjust":88,"caniuse-db/features-json/transforms2d":89,"caniuse-db/features-json/transforms3d":90,"caniuse-db/features-json/user-select-none":91}],4:[function(_dereq_,module,exports){ -(function() { - var AtRule, Prefixer, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Prefixer = _dereq_('./prefixer'); - - AtRule = (function(superClass) { - extend(AtRule, superClass); - - function AtRule() { - return AtRule.__super__.constructor.apply(this, arguments); - } - - AtRule.prototype.add = function(rule, prefix) { - var already, cloned, prefixed; - prefixed = prefix + rule.name; - already = rule.parent.some(function(i) { - return i.name === prefixed && i.params === rule.params; - }); - if (already) { - return; - } - cloned = this.clone(rule, { - name: prefixed - }); - return rule.parent.insertBefore(rule, cloned); - }; - - AtRule.prototype.process = function(node) { - var j, len, parent, prefix, ref, results; - parent = this.parentPrefix(node); - ref = this.prefixes; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - prefix = ref[j]; - if (parent && parent !== prefix) { - continue; - } - results.push(this.add(node, prefix)); - } - return results; - }; - - return AtRule; - - })(Prefixer); - - module.exports = AtRule; - -}).call(this); - -},{"./prefixer":43}],5:[function(_dereq_,module,exports){ -(function() { - var Browsers, Prefixes, browserslist, cache, isPlainObject, postcss, - slice = [].slice; - - browserslist = _dereq_('browserslist'); - - postcss = _dereq_('postcss'); - - Browsers = _dereq_('./browsers'); - - Prefixes = _dereq_('./prefixes'); - - isPlainObject = function(obj) { - return Object.prototype.toString.apply(obj) === '[object Object]'; - }; - - cache = {}; - - module.exports = postcss.plugin('autoprefixer', function() { - var loadPrefixes, options, plugin, reqs; - reqs = 1 <= arguments.length ? slice.call(arguments, 0) : []; - if (reqs.length === 1 && isPlainObject(reqs[0])) { - options = reqs[0]; - reqs = void 0; - } else if (reqs.length === 0 || (reqs.length === 1 && (reqs[0] == null))) { - reqs = void 0; - } else if (reqs.length <= 2 && (reqs[0] instanceof Array || (reqs[0] == null))) { - options = reqs[1]; - reqs = reqs[0]; - } else if (typeof reqs[reqs.length - 1] === 'object') { - options = reqs.pop(); - } - options || (options = {}); - if (options.browsers != null) { - reqs = options.browsers; - } - loadPrefixes = function(opts) { - var browsers, key; - browsers = new Browsers(module.exports.data.browsers, reqs, opts); - key = browsers.selected.join(', ') + options.cascade; - return cache[key] || (cache[key] = new Prefixes(module.exports.data.prefixes, browsers, options)); - }; - plugin = function(css, result) { - var prefixes; - prefixes = loadPrefixes({ - from: css.source.input.file - }); - if (options.remove !== false) { - prefixes.processor.remove(css); - } - if (options.add !== false) { - return prefixes.processor.add(css, result); - } - }; - plugin.options = options; - plugin.process = function(str, options) { - if (options == null) { - options = {}; - } - if (typeof console !== "undefined" && console !== null) { - if (typeof console.warn === "function") { - console.warn('Autoprefixer\'s process() method is deprecated ' + 'and will removed in next major release. ' + 'Use postcss([autoprefixer]).process() instead'); - } - } - return postcss(plugin).process(str, options); - }; - plugin.info = function(opts) { - return _dereq_('./info')(loadPrefixes(opts)); - }; - return plugin; - }); - - module.exports.data = { - browsers: _dereq_('caniuse-db/data').agents, - prefixes: _dereq_('../data/prefixes') - }; - - module.exports.defaults = browserslist.defaults; - - module.exports.process = function(css, options) { - return module.exports().process(css, options); - }; - - module.exports.info = function() { - return module.exports().info(); - }; - -}).call(this); - -},{"../data/prefixes":3,"./browsers":6,"./info":40,"./prefixes":44,"browserslist":51,"caniuse-db/data":52,"postcss":105}],6:[function(_dereq_,module,exports){ -(function() { - var Browsers, browserslist, utils; - - browserslist = _dereq_('browserslist'); - - utils = _dereq_('./utils'); - - Browsers = (function() { - Browsers.prefixes = function() { - var data, i, name; - if (this.prefixesCache) { - return this.prefixesCache; - } - data = _dereq_('caniuse-db/data').agents; - return this.prefixesCache = utils.uniq((function() { - var results; - results = []; - for (name in data) { - i = data[name]; - results.push("-" + i.prefix + "-"); - } - return results; - })()).sort(function(a, b) { - return b.length - a.length; - }); - }; - - Browsers.withPrefix = function(value) { - if (!this.prefixesRegexp) { - this.prefixesRegexp = RegExp("" + (this.prefixes().join('|'))); - } - return this.prefixesRegexp.test(value); - }; - - function Browsers(data1, requirements, options) { - this.data = data1; - this.options = options; - this.selected = this.parse(requirements); - } - - Browsers.prototype.parse = function(requirements) { - var ref; - return browserslist(requirements, { - path: (ref = this.options) != null ? ref.from : void 0 - }); - }; - - Browsers.prototype.browsers = function(criteria) { - var browser, data, ref, selected, versions; - selected = []; - ref = this.data; - for (browser in ref) { - data = ref[browser]; - versions = criteria(data).map(function(version) { - return browser + " " + version; - }); - selected = selected.concat(versions); - } - return selected; - }; - - Browsers.prototype.prefix = function(browser) { - var data, name, prefix, ref, version; - ref = browser.split(' '), name = ref[0], version = ref[1]; - data = this.data[name]; - if (data.prefix_exceptions) { - prefix = data.prefix_exceptions[version]; - } - prefix || (prefix = data.prefix); - return '-' + prefix + '-'; - }; - - Browsers.prototype.isSelected = function(browser) { - return this.selected.indexOf(browser) !== -1; - }; - - return Browsers; - - })(); - - module.exports = Browsers; - -}).call(this); - -},{"./utils":49,"browserslist":51,"caniuse-db/data":52}],7:[function(_dereq_,module,exports){ -(function() { - var Browsers, Declaration, Prefixer, utils, vendor, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Prefixer = _dereq_('./prefixer'); - - Browsers = _dereq_('./browsers'); - - vendor = _dereq_('postcss/lib/vendor'); - - utils = _dereq_('./utils'); - - Declaration = (function(superClass) { - extend(Declaration, superClass); - - function Declaration() { - return Declaration.__super__.constructor.apply(this, arguments); - } - - Declaration.prototype.check = function(decl) { - return true; - }; - - Declaration.prototype.prefixed = function(prop, prefix) { - return prefix + prop; - }; - - Declaration.prototype.normalize = function(prop) { - return prop; - }; - - Declaration.prototype.otherPrefixes = function(value, prefix) { - var j, len, other, ref; - ref = Browsers.prefixes(); - for (j = 0, len = ref.length; j < len; j++) { - other = ref[j]; - if (other === prefix) { - continue; - } - if (value.indexOf(other) !== -1) { - return true; - } - } - return false; - }; - - Declaration.prototype.set = function(decl, prefix) { - decl.prop = this.prefixed(decl.prop, prefix); - return decl; - }; - - Declaration.prototype.needCascade = function(decl) { - return decl._autoprefixerCascade || (decl._autoprefixerCascade = this.all.options.cascade !== false && decl.style('before').indexOf('\n') !== -1); - }; - - Declaration.prototype.maxPrefixed = function(prefixes, decl) { - var j, len, max, prefix; - if (decl._autoprefixerMax) { - return decl._autoprefixerMax; - } - max = 0; - for (j = 0, len = prefixes.length; j < len; j++) { - prefix = prefixes[j]; - prefix = utils.removeNote(prefix); - if (prefix.length > max) { - max = prefix.length; - } - } - return decl._autoprefixerMax = max; - }; - - Declaration.prototype.calcBefore = function(prefixes, decl, prefix) { - var before, diff, i, j, max, ref; - if (prefix == null) { - prefix = ''; - } - before = decl.style('before'); - max = this.maxPrefixed(prefixes, decl); - diff = max - utils.removeNote(prefix).length; - for (i = j = 0, ref = diff; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) { - before += ' '; - } - return before; - }; - - Declaration.prototype.restoreBefore = function(decl) { - var lines, min; - lines = decl.style('before').split("\n"); - min = lines[lines.length - 1]; - this.all.group(decl).up(function(prefixed) { - var array, last; - array = prefixed.style('before').split("\n"); - last = array[array.length - 1]; - if (last.length < min.length) { - return min = last; - } - }); - lines[lines.length - 1] = min; - return decl.before = lines.join("\n"); - }; - - Declaration.prototype.insert = function(decl, prefix, prefixes) { - var cloned; - cloned = this.set(this.clone(decl), prefix); - if (!cloned) { - return; - } - if (this.needCascade(decl)) { - cloned.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned); - }; - - Declaration.prototype.add = function(decl, prefix, prefixes) { - var already, prefixed; - prefixed = this.prefixed(decl.prop, prefix); - already = this.all.group(decl).up(function(i) { - return i.prop === prefixed; - }); - already || (already = this.all.group(decl).down(function(i) { - return i.prop === prefixed; - })); - if (already || this.otherPrefixes(decl.value, prefix)) { - return; - } - return this.insert(decl, prefix, prefixes); - }; - - Declaration.prototype.process = function(decl) { - var prefixes; - if (this.needCascade(decl)) { - prefixes = Declaration.__super__.process.apply(this, arguments); - if (prefixes != null ? prefixes.length : void 0) { - this.restoreBefore(decl); - return decl.before = this.calcBefore(prefixes, decl); - } - } else { - return Declaration.__super__.process.apply(this, arguments); - } - }; - - Declaration.prototype.old = function(prop, prefix) { - return [this.prefixed(prop, prefix)]; - }; - - return Declaration; - - })(Prefixer); - - module.exports = Declaration; - -}).call(this); - -},{"./browsers":6,"./prefixer":43,"./utils":49,"postcss/lib/vendor":112}],8:[function(_dereq_,module,exports){ -(function() { - var AlignContent, Declaration, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - AlignContent = (function(superClass) { - extend(AlignContent, superClass); - - function AlignContent() { - return AlignContent.__super__.constructor.apply(this, arguments); - } - - AlignContent.names = ['align-content', 'flex-line-pack']; - - AlignContent.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - }; - - AlignContent.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012) { - return prefix + 'flex-line-pack'; - } else { - return AlignContent.__super__.prefixed.apply(this, arguments); - } - }; - - AlignContent.prototype.normalize = function(prop) { - return 'align-content'; - }; - - AlignContent.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignContent.oldValues[decl.value] || decl.value; - return AlignContent.__super__.set.call(this, decl, prefix); - } else if (spec === 'final') { - return AlignContent.__super__.set.apply(this, arguments); - } - }; - - return AlignContent; - - })(Declaration); - - module.exports = AlignContent; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],9:[function(_dereq_,module,exports){ -(function() { - var AlignItems, Declaration, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - AlignItems = (function(superClass) { - extend(AlignItems, superClass); - - function AlignItems() { - return AlignItems.__super__.constructor.apply(this, arguments); - } - - AlignItems.names = ['align-items', 'flex-align', 'box-align']; - - AlignItems.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start' - }; - - AlignItems.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return prefix + 'box-align'; - } else if (spec === 2012) { - return prefix + 'flex-align'; - } else { - return AlignItems.__super__.prefixed.apply(this, arguments); - } - }; - - AlignItems.prototype.normalize = function(prop) { - return 'align-items'; - }; - - AlignItems.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - decl.value = AlignItems.oldValues[decl.value] || decl.value; - return AlignItems.__super__.set.call(this, decl, prefix); - } else { - return AlignItems.__super__.set.apply(this, arguments); - } - }; - - return AlignItems; - - })(Declaration); - - module.exports = AlignItems; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],10:[function(_dereq_,module,exports){ -(function() { - var AlignSelf, Declaration, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - AlignSelf = (function(superClass) { - extend(AlignSelf, superClass); - - function AlignSelf() { - return AlignSelf.__super__.constructor.apply(this, arguments); - } - - AlignSelf.names = ['align-self', 'flex-item-align']; - - AlignSelf.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start' - }; - - AlignSelf.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012) { - return prefix + 'flex-item-align'; - } else { - return AlignSelf.__super__.prefixed.apply(this, arguments); - } - }; - - AlignSelf.prototype.normalize = function(prop) { - return 'align-self'; - }; - - AlignSelf.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignSelf.oldValues[decl.value] || decl.value; - return AlignSelf.__super__.set.call(this, decl, prefix); - } else if (spec === 'final') { - return AlignSelf.__super__.set.apply(this, arguments); - } - }; - - return AlignSelf; - - })(Declaration); - - module.exports = AlignSelf; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],11:[function(_dereq_,module,exports){ -(function() { - var Appearance, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - Appearance = (function(superClass) { - extend(Appearance, superClass); - - function Appearance() { - return Appearance.__super__.constructor.apply(this, arguments); - } - - Appearance.names = ['appearance']; - - Appearance.prototype.check = function(decl) { - return decl.value.toLowerCase() === 'none'; - }; - - return Appearance; - - })(Declaration); - - module.exports = Appearance; - -}).call(this); - -},{"../declaration":7}],12:[function(_dereq_,module,exports){ -(function() { - var BackgroundSize, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - BackgroundSize = (function(superClass) { - extend(BackgroundSize, superClass); - - function BackgroundSize() { - return BackgroundSize.__super__.constructor.apply(this, arguments); - } - - BackgroundSize.names = ['background-size']; - - BackgroundSize.prototype.set = function(decl, prefix) { - var value; - value = decl.value.toLowerCase(); - if (prefix === '-webkit-' && value.indexOf(' ') === -1 && value !== 'contain' && value !== 'cover') { - decl.value = decl.value + ' ' + decl.value; - } - return BackgroundSize.__super__.set.call(this, decl, prefix); - }; - - return BackgroundSize; - - })(Declaration); - - module.exports = BackgroundSize; - -}).call(this); - -},{"../declaration":7}],13:[function(_dereq_,module,exports){ -(function() { - var BlockLogical, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - BlockLogical = (function(superClass) { - extend(BlockLogical, superClass); - - function BlockLogical() { - return BlockLogical.__super__.constructor.apply(this, arguments); - } - - BlockLogical.names = ['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', 'border-before', 'border-after', 'margin-before', 'margin-after', 'padding-before', 'padding-after']; - - BlockLogical.prototype.prefixed = function(prop, prefix) { - return prefix + (prop.indexOf('-start') !== -1 ? prop.replace('-block-start', '-before') : prop.replace('-block-end', '-after')); - }; - - BlockLogical.prototype.normalize = function(prop) { - if (prop.indexOf('-before') !== -1) { - return prop.replace('-before', '-block-start'); - } else { - return prop.replace('-after', '-block-end'); - } - }; - - return BlockLogical; - - })(Declaration); - - module.exports = BlockLogical; - -}).call(this); - -},{"../declaration":7}],14:[function(_dereq_,module,exports){ -(function() { - var BorderImage, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - BorderImage = (function(superClass) { - extend(BorderImage, superClass); - - function BorderImage() { - return BorderImage.__super__.constructor.apply(this, arguments); - } - - BorderImage.names = ['border-image']; - - BorderImage.prototype.set = function(decl, prefix) { - decl.value = decl.value.replace(/\s+fill(\s)/, '$1'); - return BorderImage.__super__.set.call(this, decl, prefix); - }; - - return BorderImage; - - })(Declaration); - - module.exports = BorderImage; - -}).call(this); - -},{"../declaration":7}],15:[function(_dereq_,module,exports){ -(function() { - var BorderRadius, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - BorderRadius = (function(superClass) { - var hor, i, j, len, len1, mozilla, normal, ref, ref1, ver; - - extend(BorderRadius, superClass); - - function BorderRadius() { - return BorderRadius.__super__.constructor.apply(this, arguments); - } - - BorderRadius.names = ['border-radius']; - - BorderRadius.toMozilla = {}; - - BorderRadius.toNormal = {}; - - ref = ['top', 'bottom']; - for (i = 0, len = ref.length; i < len; i++) { - ver = ref[i]; - ref1 = ['left', 'right']; - for (j = 0, len1 = ref1.length; j < len1; j++) { - hor = ref1[j]; - normal = "border-" + ver + "-" + hor + "-radius"; - mozilla = "border-radius-" + ver + hor; - BorderRadius.names.push(normal); - BorderRadius.names.push(mozilla); - BorderRadius.toMozilla[normal] = mozilla; - BorderRadius.toNormal[mozilla] = normal; - } - } - - BorderRadius.prototype.prefixed = function(prop, prefix) { - if (prefix === '-moz-') { - return prefix + (BorderRadius.toMozilla[prop] || prop); - } else { - return BorderRadius.__super__.prefixed.apply(this, arguments); - } - }; - - BorderRadius.prototype.normalize = function(prop) { - return BorderRadius.toNormal[prop] || prop; - }; - - return BorderRadius; - - })(Declaration); - - module.exports = BorderRadius; - -}).call(this); - -},{"../declaration":7}],16:[function(_dereq_,module,exports){ -(function() { - var BreakInside, Declaration, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - BreakInside = (function(superClass) { - extend(BreakInside, superClass); - - function BreakInside() { - return BreakInside.__super__.constructor.apply(this, arguments); - } - - BreakInside.names = ['break-inside', 'page-break-inside', 'column-break-inside']; - - BreakInside.prototype.prefixed = function(prop, prefix) { - if (prefix === '-webkit-') { - return prefix + 'column-break-inside'; - } else if (prefix === '-moz-') { - return 'page-break-inside'; - } else { - return BreakInside.__super__.prefixed.apply(this, arguments); - } - }; - - BreakInside.prototype.normalize = function() { - return 'break-inside'; - }; - - BreakInside.prototype.set = function(decl, prefix) { - if (decl.value === 'avoid-column' || decl.value === 'avoid-page') { - decl.value = 'avoid'; - } - return BreakInside.__super__.set.apply(this, arguments); - }; - - BreakInside.prototype.insert = function(decl, prefix, prefixes) { - if (decl.value === 'avoid-region') { - - } else if (decl.value === 'avoid-page' && prefix === '-webkit-') { - - } else { - return BreakInside.__super__.insert.apply(this, arguments); - } - }; - - return BreakInside; - - })(Declaration); - - module.exports = BreakInside; - -}).call(this); - -},{"../declaration":7}],17:[function(_dereq_,module,exports){ -(function() { - var DisplayFlex, OldDisplayFlex, OldValue, Value, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - OldValue = _dereq_('../old-value'); - - Value = _dereq_('../value'); - - OldDisplayFlex = (function(superClass) { - extend(OldDisplayFlex, superClass); - - function OldDisplayFlex(unprefixed, prefixed1) { - this.unprefixed = unprefixed; - this.prefixed = prefixed1; - } - - OldDisplayFlex.prototype.check = function(value) { - return value === this.name; - }; - - return OldDisplayFlex; - - })(OldValue); - - DisplayFlex = (function(superClass) { - extend(DisplayFlex, superClass); - - DisplayFlex.names = ['display-flex', 'inline-flex']; - - function DisplayFlex(name, prefixes) { - DisplayFlex.__super__.constructor.apply(this, arguments); - if (name === 'display-flex') { - this.name = 'flex'; - } - } - - DisplayFlex.prototype.check = function(decl) { - return decl.value === this.name; - }; - - DisplayFlex.prototype.prefixed = function(prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - return prefix + (spec === 2009 ? this.name === 'flex' ? 'box' : 'inline-box' : spec === 2012 ? this.name === 'flex' ? 'flexbox' : 'inline-flexbox' : spec === 'final' ? this.name : void 0); - }; - - DisplayFlex.prototype.replace = function(string, prefix) { - return this.prefixed(prefix); - }; - - DisplayFlex.prototype.old = function(prefix) { - var prefixed; - prefixed = this.prefixed(prefix); - if (prefixed) { - return new OldValue(this.name, prefixed); - } - }; - - return DisplayFlex; - - })(Value); - - module.exports = DisplayFlex; - -}).call(this); - -},{"../old-value":42,"../value":50,"./flex-spec":26}],18:[function(_dereq_,module,exports){ -(function() { - var FillAvailable, OldValue, Value, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - OldValue = _dereq_('../old-value'); - - Value = _dereq_('../value'); - - FillAvailable = (function(superClass) { - extend(FillAvailable, superClass); - - function FillAvailable() { - return FillAvailable.__super__.constructor.apply(this, arguments); - } - - FillAvailable.names = ['fill-available']; - - FillAvailable.prototype.replace = function(string, prefix) { - if (prefix === '-moz-') { - return string.replace(this.regexp(), '$1-moz-available$3'); - } else { - return FillAvailable.__super__.replace.apply(this, arguments); - } - }; - - FillAvailable.prototype.old = function(prefix) { - if (prefix === '-moz-') { - return new OldValue(this.name, '-moz-available'); - } else { - return FillAvailable.__super__.old.apply(this, arguments); - } - }; - - return FillAvailable; - - })(Value); - - module.exports = FillAvailable; - -}).call(this); - -},{"../old-value":42,"../value":50}],19:[function(_dereq_,module,exports){ -(function() { - var FilterValue, OldFilterValue, OldValue, Value, utils, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - OldValue = _dereq_('../old-value'); - - Value = _dereq_('../value'); - - utils = _dereq_('../utils'); - - OldFilterValue = (function(superClass) { - extend(OldFilterValue, superClass); - - function OldFilterValue() { - return OldFilterValue.__super__.constructor.apply(this, arguments); - } - - OldFilterValue.prototype.clean = function(decl) { - return decl.value = utils.editList(decl.value, (function(_this) { - return function(props) { - if (props.every(function(i) { - return i.indexOf(_this.unprefixed) !== 0; - })) { - return props; - } - return props.filter(function(i) { - return i.indexOf(_this.prefixed) === -1; - }); - }; - })(this)); - }; - - return OldFilterValue; - - })(OldValue); - - FilterValue = (function(superClass) { - extend(FilterValue, superClass); - - function FilterValue() { - return FilterValue.__super__.constructor.apply(this, arguments); - } - - FilterValue.names = ['filter']; - - FilterValue.prototype.replace = function(value, prefix) { - if (prefix === '-webkit-') { - if (value.indexOf('-webkit-filter') === -1) { - return FilterValue.__super__.replace.apply(this, arguments) + ', ' + value; - } else { - return value; - } - } else { - return FilterValue.__super__.replace.apply(this, arguments); - } - }; - - FilterValue.prototype.old = function(prefix) { - return new OldFilterValue(this.name, prefix + this.name); - }; - - return FilterValue; - - })(Value); - - module.exports = FilterValue; - -}).call(this); - -},{"../old-value":42,"../utils":49,"../value":50}],20:[function(_dereq_,module,exports){ -(function() { - var Declaration, Filter, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - Filter = (function(superClass) { - extend(Filter, superClass); - - function Filter() { - return Filter.__super__.constructor.apply(this, arguments); - } - - Filter.names = ['filter']; - - Filter.prototype.check = function(decl) { - var v; - v = decl.value; - return v.toLowerCase().indexOf('alpha(') === -1 && v.indexOf('DXImageTransform.Microsoft') === -1 && v.indexOf('data:image/svg+xml') === -1; - }; - - return Filter; - - })(Declaration); - - module.exports = Filter; - -}).call(this); - -},{"../declaration":7}],21:[function(_dereq_,module,exports){ -(function() { - var Declaration, FlexBasis, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - FlexBasis = (function(superClass) { - extend(FlexBasis, superClass); - - function FlexBasis() { - return FlexBasis.__super__.constructor.apply(this, arguments); - } - - FlexBasis.names = ['flex-basis', 'flex-preferred-size']; - - FlexBasis.prototype.normalize = function() { - return 'flex-basis'; - }; - - FlexBasis.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012) { - return prefix + 'flex-preferred-size'; - } else { - return FlexBasis.__super__.prefixed.apply(this, arguments); - } - }; - - FlexBasis.prototype.set = function(decl, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012 || spec === 'final') { - return FlexBasis.__super__.set.apply(this, arguments); - } - }; - - return FlexBasis; - - })(Declaration); - - module.exports = FlexBasis; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],22:[function(_dereq_,module,exports){ -(function() { - var Declaration, FlexDirection, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - FlexDirection = (function(superClass) { - extend(FlexDirection, superClass); - - function FlexDirection() { - return FlexDirection.__super__.constructor.apply(this, arguments); - } - - FlexDirection.names = ['flex-direction', 'box-direction', 'box-orient']; - - FlexDirection.prototype.normalize = function(prop) { - return 'flex-direction'; - }; - - FlexDirection.prototype.insert = function(decl, prefix, prefixes) { - var already, cloned, dir, orient, ref, spec, value; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - already = decl.parent.some(function(i) { - return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'; - }); - if (already) { - return; - } - value = decl.value; - orient = value.indexOf('row') !== -1 ? 'horizontal' : 'vertical'; - dir = value.indexOf('reverse') !== -1 ? 'reverse' : 'normal'; - cloned = this.clone(decl); - cloned.prop = prefix + 'box-orient'; - cloned.value = orient; - if (this.needCascade(decl)) { - cloned.before = this.calcBefore(prefixes, decl, prefix); - } - decl.parent.insertBefore(decl, cloned); - cloned = this.clone(decl); - cloned.prop = prefix + 'box-direction'; - cloned.value = dir; - if (this.needCascade(decl)) { - cloned.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned); - } else { - return FlexDirection.__super__.insert.apply(this, arguments); - } - }; - - FlexDirection.prototype.old = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return [prefix + 'box-orient', prefix + 'box-direction']; - } else { - return FlexDirection.__super__.old.apply(this, arguments); - } - }; - - return FlexDirection; - - })(Declaration); - - module.exports = FlexDirection; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],23:[function(_dereq_,module,exports){ -(function() { - var Declaration, FlexFlow, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - FlexFlow = (function(superClass) { - extend(FlexFlow, superClass); - - function FlexFlow() { - return FlexFlow.__super__.constructor.apply(this, arguments); - } - - FlexFlow.names = ['flex-flow']; - - FlexFlow.prototype.set = function(decl, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012) { - return FlexFlow.__super__.set.apply(this, arguments); - } else if (spec === 'final') { - return FlexFlow.__super__.set.apply(this, arguments); - } - }; - - return FlexFlow; - - })(Declaration); - - module.exports = FlexFlow; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],24:[function(_dereq_,module,exports){ -(function() { - var Declaration, Flex, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - Flex = (function(superClass) { - extend(Flex, superClass); - - function Flex() { - return Flex.__super__.constructor.apply(this, arguments); - } - - Flex.names = ['flex-grow', 'flex-positive']; - - Flex.prototype.normalize = function() { - return 'flex'; - }; - - Flex.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return prefix + 'box-flex'; - } else if (spec === 2012) { - return prefix + 'flex-positive'; - } else { - return Flex.__super__.prefixed.apply(this, arguments); - } - }; - - return Flex; - - })(Declaration); - - module.exports = Flex; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],25:[function(_dereq_,module,exports){ -(function() { - var Declaration, FlexShrink, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - FlexShrink = (function(superClass) { - extend(FlexShrink, superClass); - - function FlexShrink() { - return FlexShrink.__super__.constructor.apply(this, arguments); - } - - FlexShrink.names = ['flex-shrink', 'flex-negative']; - - FlexShrink.prototype.normalize = function() { - return 'flex-shrink'; - }; - - FlexShrink.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012) { - return prefix + 'flex-negative'; - } else { - return FlexShrink.__super__.prefixed.apply(this, arguments); - } - }; - - FlexShrink.prototype.set = function(decl, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2012 || spec === 'final') { - return FlexShrink.__super__.set.apply(this, arguments); - } - }; - - return FlexShrink; - - })(Declaration); - - module.exports = FlexShrink; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],26:[function(_dereq_,module,exports){ -(function() { - module.exports = function(prefix) { - var spec; - spec = prefix === '-webkit- 2009' || prefix === '-moz-' ? 2009 : prefix === '-ms-' ? 2012 : prefix === '-webkit-' ? 'final' : void 0; - if (prefix === '-webkit- 2009') { - prefix = '-webkit-'; - } - return [spec, prefix]; - }; - -}).call(this); - -},{}],27:[function(_dereq_,module,exports){ -(function() { - var FlexValues, OldValue, Value, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - OldValue = _dereq_('../old-value'); - - Value = _dereq_('../value'); - - FlexValues = (function(superClass) { - extend(FlexValues, superClass); - - function FlexValues() { - return FlexValues.__super__.constructor.apply(this, arguments); - } - - FlexValues.names = ['flex', 'flex-grow', 'flex-shrink', 'flex-basis']; - - FlexValues.prototype.prefixed = function(prefix) { - return this.all.prefixed(this.name, prefix); - }; - - FlexValues.prototype.replace = function(string, prefix) { - return string.replace(this.regexp(), '$1' + this.prefixed(prefix) + '$3'); - }; - - FlexValues.prototype.old = function(prefix) { - return new OldValue(this.name, this.prefixed(prefix)); - }; - - return FlexValues; - - })(Value); - - module.exports = FlexValues; - -}).call(this); - -},{"../old-value":42,"../value":50}],28:[function(_dereq_,module,exports){ -(function() { - var Declaration, FlexWrap, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - FlexWrap = (function(superClass) { - extend(FlexWrap, superClass); - - function FlexWrap() { - return FlexWrap.__super__.constructor.apply(this, arguments); - } - - FlexWrap.names = ['flex-wrap']; - - FlexWrap.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec !== 2009) { - return FlexWrap.__super__.set.apply(this, arguments); - } - }; - - return FlexWrap; - - })(Declaration); - - module.exports = FlexWrap; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],29:[function(_dereq_,module,exports){ -(function() { - var Declaration, Flex, flexSpec, list, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - list = _dereq_('postcss/lib/list'); - - Flex = (function(superClass) { - extend(Flex, superClass); - - function Flex() { - return Flex.__super__.constructor.apply(this, arguments); - } - - Flex.names = ['flex', 'box-flex']; - - Flex.oldValues = { - 'auto': '1', - 'none': '0' - }; - - Flex.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return prefix + 'box-flex'; - } else { - return Flex.__super__.prefixed.apply(this, arguments); - } - }; - - Flex.prototype.normalize = function() { - return 'flex'; - }; - - Flex.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec === 2009) { - decl.value = list.space(decl.value)[0]; - decl.value = Flex.oldValues[decl.value] || decl.value; - return Flex.__super__.set.call(this, decl, prefix); - } else { - return Flex.__super__.set.apply(this, arguments); - } - }; - - return Flex; - - })(Declaration); - - module.exports = Flex; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26,"postcss/lib/list":100}],30:[function(_dereq_,module,exports){ -(function() { - var Fullscreen, Selector, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Selector = _dereq_('../selector'); - - Fullscreen = (function(superClass) { - extend(Fullscreen, superClass); - - function Fullscreen() { - return Fullscreen.__super__.constructor.apply(this, arguments); - } - - Fullscreen.names = [':fullscreen']; - - Fullscreen.prototype.prefixed = function(prefix) { - if ('-webkit-' === prefix) { - return ':-webkit-full-screen'; - } else if ('-moz-' === prefix) { - return ':-moz-full-screen'; - } else { - return ":" + prefix + "fullscreen"; - } - }; - - return Fullscreen; - - })(Selector); - - module.exports = Fullscreen; - -}).call(this); - -},{"../selector":47}],31:[function(_dereq_,module,exports){ -(function() { - var Gradient, OldValue, Value, isDirection, list, utils, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - OldValue = _dereq_('../old-value'); - - Value = _dereq_('../value'); - - utils = _dereq_('../utils'); - - list = _dereq_('postcss/lib/list'); - - isDirection = /top|left|right|bottom/gi; - - Gradient = (function(superClass) { - extend(Gradient, superClass); - - function Gradient() { - return Gradient.__super__.constructor.apply(this, arguments); - } - - Gradient.names = ['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient']; - - Gradient.prototype.replace = function(string, prefix) { - return list.space(string).map((function(_this) { - return function(value) { - var after, args, close, params; - if (value.slice(0, +_this.name.length + 1 || 9e9) !== _this.name + '(') { - return value; - } - close = value.lastIndexOf(')'); - after = value.slice(close + 1); - args = value.slice(_this.name.length + 1, +(close - 1) + 1 || 9e9); - params = list.comma(args); - params = _this.newDirection(params); - if (prefix === '-webkit- old') { - return _this.oldWebkit(value, args, params, after); - } else { - _this.convertDirection(params); - return prefix + _this.name + '(' + params.join(', ') + ')' + after; - } - }; - })(this)).join(' '); - }; - - Gradient.prototype.directions = { - top: 'bottom', - left: 'right', - bottom: 'top', - right: 'left' - }; - - Gradient.prototype.oldDirections = { - 'top': 'left bottom, left top', - 'left': 'right top, left top', - 'bottom': 'left top, left bottom', - 'right': 'left top, right top', - 'top right': 'left bottom, right top', - 'top left': 'right bottom, left top', - 'right top': 'left bottom, right top', - 'right bottom': 'left top, right bottom', - 'bottom right': 'left top, right bottom', - 'bottom left': 'right top, left bottom', - 'left top': 'right bottom, left top', - 'left bottom': 'right top, left bottom' - }; - - Gradient.prototype.newDirection = function(params) { - var first, value; - first = params[0]; - if (first.indexOf('to ') === -1 && isDirection.test(first)) { - first = first.split(' '); - first = (function() { - var j, len, results; - results = []; - for (j = 0, len = first.length; j < len; j++) { - value = first[j]; - results.push(this.directions[value.toLowerCase()] || value); - } - return results; - }).call(this); - params[0] = 'to ' + first.join(' '); - } - return params; - }; - - Gradient.prototype.oldWebkit = function(value, args, params, after) { - if (args.indexOf('px') !== -1) { - return value; - } - if (this.name !== 'linear-gradient') { - return value; - } - if (params[0] && params[0].indexOf('deg') !== -1) { - return value; - } - if (args.indexOf('-corner') !== -1) { - return value; - } - if (args.indexOf('-side') !== -1) { - return value; - } - params = this.oldDirection(params); - params = this.colorStops(params); - return '-webkit-gradient(linear, ' + params.join(', ') + ')' + after; - }; - - Gradient.prototype.convertDirection = function(params) { - if (params.length > 0) { - if (params[0].slice(0, 3) === 'to ') { - return params[0] = this.fixDirection(params[0]); - } else if (params[0].indexOf('deg') !== -1) { - return params[0] = this.fixAngle(params[0]); - } else if (params[0].indexOf(' at ') !== -1) { - return this.fixRadial(params); - } - } - }; - - Gradient.prototype.fixDirection = function(param) { - var value; - param = param.split(' '); - param.splice(0, 1); - param = (function() { - var j, len, results; - results = []; - for (j = 0, len = param.length; j < len; j++) { - value = param[j]; - results.push(this.directions[value.toLowerCase()] || value); - } - return results; - }).call(this); - return param.join(' '); - }; - - Gradient.prototype.roundFloat = function(float, digits) { - return parseFloat(float.toFixed(digits)); - }; - - Gradient.prototype.fixAngle = function(param) { - param = parseFloat(param); - param = Math.abs(450 - param) % 360; - param = this.roundFloat(param, 3); - return param + "deg"; - }; - - Gradient.prototype.oldDirection = function(params) { - var direction; - if (params.length === 0) { - params; - } - if (params[0].indexOf('to ') !== -1) { - direction = params[0].replace(/^to\s+/, ''); - direction = this.oldDirections[direction]; - params[0] = direction; - return params; - } else { - direction = this.oldDirections.bottom; - return [direction].concat(params); - } - }; - - Gradient.prototype.colorStops = function(params) { - return params.map(function(param, i) { - var color, match, position, ref; - if (i === 0) { - return param; - } - ref = list.space(param), color = ref[0], position = ref[1]; - if (position == null) { - match = param.match(/^(.*\))(\d.*)$/); - if (match) { - color = match[1]; - position = match[2]; - } - } - if (position && position.indexOf(')') !== -1) { - color += ' ' + position; - position = void 0; - } - if (i === 1 && (position === void 0 || position === '0%')) { - return "from(" + color + ")"; - } else if (i === params.length - 1 && (position === void 0 || position === '100%')) { - return "to(" + color + ")"; - } else if (position) { - return "color-stop(" + position + ", " + color + ")"; - } else { - return "color-stop(" + color + ")"; - } - }); - }; - - Gradient.prototype.fixRadial = function(params) { - var first; - first = params[0].split(/\s+at\s+/); - return params.splice(0, 1, first[1], first[0]); - }; - - Gradient.prototype.old = function(prefix) { - var regexp, string, type; - if (prefix === '-webkit-') { - type = this.name === 'linear-gradient' ? 'linear' : 'radial'; - string = '-gradient'; - regexp = utils.regexp("-webkit-(" + type + "-gradient|gradient\\(\\s*" + type + ")", false); - return new OldValue(this.name, prefix + this.name, string, regexp); - } else { - return Gradient.__super__.old.apply(this, arguments); - } - }; - - Gradient.prototype.add = function(decl, prefix) { - var p; - p = decl.prop; - if (p.indexOf('mask') !== -1) { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return Gradient.__super__.add.apply(this, arguments); - } - } else if (p === 'list-style' || p === 'list-style-image' || p === 'content') { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return Gradient.__super__.add.apply(this, arguments); - } - } else { - return Gradient.__super__.add.apply(this, arguments); - } - }; - - Gradient.prototype.process = function(node, result) { - var added; - added = Gradient.__super__.process.apply(this, arguments); - if (added && this.name === 'linear-gradient') { - if (/\(\s*(top|left|right|bottom)/.test(node.value)) { - result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like "to left" instead of "right".', { - node: node - }); - } - } - return added; - }; - - return Gradient; - - })(Value); - - module.exports = Gradient; - -}).call(this); - -},{"../old-value":42,"../utils":49,"../value":50,"postcss/lib/list":100}],32:[function(_dereq_,module,exports){ -(function() { - var Declaration, ImageRendering, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - ImageRendering = (function(superClass) { - extend(ImageRendering, superClass); - - function ImageRendering() { - return ImageRendering.__super__.constructor.apply(this, arguments); - } - - ImageRendering.names = ['image-rendering', 'interpolation-mode']; - - ImageRendering.prototype.check = function(decl) { - return decl.value === 'pixelated'; - }; - - ImageRendering.prototype.prefixed = function(prop, prefix) { - if (prefix === '-ms-') { - return '-ms-interpolation-mode'; - } else { - return ImageRendering.__super__.prefixed.apply(this, arguments); - } - }; - - ImageRendering.prototype.set = function(decl, prefix) { - if (prefix === '-ms-') { - decl.prop = '-ms-interpolation-mode'; - decl.value = 'nearest-neighbor'; - return decl; - } else { - return ImageRendering.__super__.set.apply(this, arguments); - } - }; - - ImageRendering.prototype.normalize = function(prop) { - return 'image-rendering'; - }; - - ImageRendering.prototype.process = function(node, result) { - if (this.name === 'image-rendering' && node.value === 'crisp-edges') { - result.warn('There is no browsers with crisp-edges rendering support.' + 'Maybe you mean pixelated?', { - node: node - }); - } - return ImageRendering.__super__.process.apply(this, arguments); - }; - - return ImageRendering; - - })(Declaration); - - module.exports = ImageRendering; - -}).call(this); - -},{"../declaration":7}],33:[function(_dereq_,module,exports){ -(function() { - var Declaration, InlineLogical, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - InlineLogical = (function(superClass) { - extend(InlineLogical, superClass); - - function InlineLogical() { - return InlineLogical.__super__.constructor.apply(this, arguments); - } - - InlineLogical.names = ['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', 'border-start', 'border-end', 'margin-start', 'margin-end', 'padding-start', 'padding-end']; - - InlineLogical.prototype.prefixed = function(prop, prefix) { - return prefix + prop.replace('-inline', ''); - }; - - InlineLogical.prototype.normalize = function(prop) { - return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2'); - }; - - return InlineLogical; - - })(Declaration); - - module.exports = InlineLogical; - -}).call(this); - -},{"../declaration":7}],34:[function(_dereq_,module,exports){ -(function() { - var Declaration, JustifyContent, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - JustifyContent = (function(superClass) { - extend(JustifyContent, superClass); - - function JustifyContent() { - return JustifyContent.__super__.constructor.apply(this, arguments); - } - - JustifyContent.names = ['justify-content', 'flex-pack', 'box-pack']; - - JustifyContent.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - }; - - JustifyContent.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return prefix + 'box-pack'; - } else if (spec === 2012) { - return prefix + 'flex-pack'; - } else { - return JustifyContent.__super__.prefixed.apply(this, arguments); - } - }; - - JustifyContent.prototype.normalize = function(prop) { - return 'justify-content'; - }; - - JustifyContent.prototype.set = function(decl, prefix) { - var spec, value; - spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - value = JustifyContent.oldValues[decl.value] || decl.value; - decl.value = value; - if (spec !== 2009 || value !== 'distribute') { - return JustifyContent.__super__.set.call(this, decl, prefix); - } - } else if (spec === 'final') { - return JustifyContent.__super__.set.apply(this, arguments); - } - }; - - return JustifyContent; - - })(Declaration); - - module.exports = JustifyContent; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],35:[function(_dereq_,module,exports){ -(function() { - var Declaration, Order, flexSpec, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - flexSpec = _dereq_('./flex-spec'); - - Declaration = _dereq_('../declaration'); - - Order = (function(superClass) { - extend(Order, superClass); - - function Order() { - return Order.__super__.constructor.apply(this, arguments); - } - - Order.names = ['order', 'flex-order', 'box-ordinal-group']; - - Order.prototype.prefixed = function(prop, prefix) { - var ref, spec; - ref = flexSpec(prefix), spec = ref[0], prefix = ref[1]; - if (spec === 2009) { - return prefix + 'box-ordinal-group'; - } else if (spec === 2012) { - return prefix + 'flex-order'; - } else { - return Order.__super__.prefixed.apply(this, arguments); - } - }; - - Order.prototype.normalize = function(prop) { - return 'order'; - }; - - Order.prototype.set = function(decl, prefix) { - var spec; - spec = flexSpec(prefix)[0]; - if (spec === 2009) { - decl.value = (parseInt(decl.value) + 1).toString(); - return Order.__super__.set.call(this, decl, prefix); - } else { - return Order.__super__.set.apply(this, arguments); - } - }; - - return Order; - - })(Declaration); - - module.exports = Order; - -}).call(this); - -},{"../declaration":7,"./flex-spec":26}],36:[function(_dereq_,module,exports){ -(function() { - var Pixelated, Value, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Value = _dereq_('../value'); - - Pixelated = (function(superClass) { - extend(Pixelated, superClass); - - function Pixelated() { - return Pixelated.__super__.constructor.apply(this, arguments); - } - - Pixelated.names = ['pixelated']; - - Pixelated.prototype.replace = function(string, prefix) { - if (prefix === '-webkit-') { - return string.replace(this.regexp(), '$1-webkit-optimize-contrast'); - } else if (prefix === '-moz-') { - return string.replace(this.regexp(), '$1-moz-crisp-edges'); - } else { - return Pixelated.__super__.replace.apply(this, arguments); - } - }; - - return Pixelated; - - })(Value); - - module.exports = Pixelated; - -}).call(this); - -},{"../value":50}],37:[function(_dereq_,module,exports){ -(function() { - var Placeholder, Selector, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Selector = _dereq_('../selector'); - - Placeholder = (function(superClass) { - extend(Placeholder, superClass); - - function Placeholder() { - return Placeholder.__super__.constructor.apply(this, arguments); - } - - Placeholder.names = [':placeholder-shown', '::placeholder']; - - Placeholder.prototype.possible = function() { - return Placeholder.__super__.possible.apply(this, arguments).concat('-moz- old'); - }; - - Placeholder.prototype.prefixed = function(prefix) { - if ('-webkit-' === prefix) { - return '::-webkit-input-placeholder'; - } else if ('-ms-' === prefix) { - return ':-ms-input-placeholder'; - } else if ('-moz- old' === prefix) { - return ':-moz-placeholder'; - } else { - return "::" + prefix + "placeholder"; - } - }; - - return Placeholder; - - })(Selector); - - module.exports = Placeholder; - -}).call(this); - -},{"../selector":47}],38:[function(_dereq_,module,exports){ -(function() { - var Declaration, TransformDecl, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Declaration = _dereq_('../declaration'); - - TransformDecl = (function(superClass) { - extend(TransformDecl, superClass); - - function TransformDecl() { - return TransformDecl.__super__.constructor.apply(this, arguments); - } - - TransformDecl.names = ['transform', 'transform-origin']; - - TransformDecl.functions3d = ['matrix3d', 'translate3d', 'translateZ', 'scale3d', 'scaleZ', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'perspective']; - - TransformDecl.prototype.keykrameParents = function(decl) { - var parent; - parent = decl.parent; - while (parent) { - if (parent.type === 'atrule' && parent.name === 'keyframes') { - return true; - } - parent = parent.parent; - } - return false; - }; - - TransformDecl.prototype.contain3d = function(decl) { - var func, i, len, ref; - if (decl.prop === 'transform-origin') { - return false; - } - ref = TransformDecl.functions3d; - for (i = 0, len = ref.length; i < len; i++) { - func = ref[i]; - if (decl.value.indexOf(func + "(") !== -1) { - return true; - } - } - return false; - }; - - TransformDecl.prototype.insert = function(decl, prefix, prefixes) { - if (prefix === '-ms-') { - if (!this.contain3d(decl) && !this.keykrameParents(decl)) { - return TransformDecl.__super__.insert.apply(this, arguments); - } - } else if (prefix === '-o-') { - if (!this.contain3d(decl)) { - return TransformDecl.__super__.insert.apply(this, arguments); - } - } else { - return TransformDecl.__super__.insert.apply(this, arguments); - } - }; - - return TransformDecl; - - })(Declaration); - - module.exports = TransformDecl; - -}).call(this); - -},{"../declaration":7}],39:[function(_dereq_,module,exports){ -(function() { - var TransformValue, Value, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Value = _dereq_('../value'); - - TransformValue = (function(superClass) { - extend(TransformValue, superClass); - - function TransformValue() { - return TransformValue.__super__.constructor.apply(this, arguments); - } - - TransformValue.names = ['transform']; - - TransformValue.prototype.replace = function(value, prefix) { - if (prefix === '-ms-') { - return value; - } else { - return TransformValue.__super__.replace.apply(this, arguments); - } - }; - - return TransformValue; - - })(Value); - - module.exports = TransformValue; - -}).call(this); - -},{"../value":50}],40:[function(_dereq_,module,exports){ -(function() { - var capitalize, names, prefix; - - capitalize = function(str) { - return str.slice(0, 1).toUpperCase() + str.slice(1); - }; - - names = { - ie: 'IE', - ie_mob: 'IE Mobile', - ios_saf: 'iOS', - op_mini: 'Opera Mini', - op_mob: 'Opera Mobile', - and_chr: 'Chrome for Android', - and_ff: 'Firefox for Android', - and_uc: 'UC for Android' - }; - - prefix = function(name, transition, prefixes) { - var out; - out = ' ' + name + (transition ? '*' : '') + ': '; - out += prefixes.map(function(i) { - return i.replace(/^-(.*)-$/g, '$1'); - }).join(', '); - out += "\n"; - return out; - }; - - module.exports = function(prefixes) { - var atrules, browser, data, j, k, l, len, len1, len2, list, name, needTransition, out, props, ref, ref1, ref2, ref3, ref4, ref5, ref6, selector, selectors, string, transitionProp, useTransition, value, values, version, versions; - if (prefixes.browsers.selected.length === 0) { - return "No browsers selected"; - } - versions = []; - ref = prefixes.browsers.selected; - for (j = 0, len = ref.length; j < len; j++) { - browser = ref[j]; - ref1 = browser.split(' '), name = ref1[0], version = ref1[1]; - name = names[name] || capitalize(name); - if (versions[name]) { - versions[name].push(version); - } else { - versions[name] = [version]; - } - } - out = "Browsers:\n"; - for (browser in versions) { - list = versions[browser]; - list = list.sort(function(a, b) { - return parseFloat(b) - parseFloat(a); - }); - out += ' ' + browser + ': ' + list.join(', ') + "\n"; - } - atrules = ''; - ref2 = prefixes.add; - for (name in ref2) { - data = ref2[name]; - if (name[0] === '@' && data.prefixes) { - atrules += prefix(name, false, data.prefixes); - } - } - if (atrules !== '') { - out += "\nAt-Rules:\n" + atrules; - } - selectors = ''; - ref3 = prefixes.add.selectors; - for (k = 0, len1 = ref3.length; k < len1; k++) { - selector = ref3[k]; - if (selector.prefixes) { - selectors += prefix(selector.name, false, selector.prefixes); - } - } - if (selectors !== '') { - out += "\nSelectors:\n" + selectors; - } - values = ''; - props = ''; - useTransition = false; - needTransition = (ref4 = prefixes.add.transition) != null ? ref4.prefixes : void 0; - ref5 = prefixes.add; - for (name in ref5) { - data = ref5[name]; - if (name[0] !== '@' && data.prefixes) { - transitionProp = needTransition && prefixes.data[name].transition; - if (transitionProp) { - useTransition = true; - } - props += prefix(name, transitionProp, data.prefixes); - } - if (!data.values) { - continue; - } - if (prefixes.transitionProps.some(function(i) { - return i === name; - })) { - continue; - } - ref6 = data.values; - for (l = 0, len2 = ref6.length; l < len2; l++) { - value = ref6[l]; - string = prefix(value.name, false, value.prefixes); - if (values.indexOf(string) === -1) { - values += string; - } - } - } - if (useTransition) { - props += " * - can be used in transition\n"; - } - if (props !== '') { - out += "\nProperties:\n" + props; - } - if (values !== '') { - out += "\nValues:\n" + values; - } - if (atrules === '' && selectors === '' && props === '' && values === '') { - out += '\nAwesome! Your browsers don\'t require any vendor prefixes.' + '\nNow you can remove Autoprefixer from build steps.'; - } - return out; - }; - -}).call(this); - -},{}],41:[function(_dereq_,module,exports){ -(function() { - var OldSelector; - - OldSelector = (function() { - function OldSelector(selector, prefix1) { - var i, len, prefix, ref; - this.prefix = prefix1; - this.prefixed = selector.prefixed(this.prefix); - this.regexp = selector.regexp(this.prefix); - this.prefixeds = []; - ref = selector.possible(); - for (i = 0, len = ref.length; i < len; i++) { - prefix = ref[i]; - this.prefixeds.push([selector.prefixed(prefix), selector.regexp(prefix)]); - } - this.unprefixed = selector.name; - this.nameRegexp = selector.regexp(); - } - - OldSelector.prototype.isHack = function(rule) { - var before, i, index, len, ref, ref1, regexp, rules, some, string; - index = rule.parent.index(rule) + 1; - rules = rule.parent.nodes; - while (index < rules.length) { - before = rules[index].selector; - if (!before) { - return true; - } - if (before.indexOf(this.unprefixed) !== -1 && before.match(this.nameRegexp)) { - return false; - } - some = false; - ref = this.prefixeds; - for (i = 0, len = ref.length; i < len; i++) { - ref1 = ref[i], string = ref1[0], regexp = ref1[1]; - if (before.indexOf(string) !== -1 && before.match(regexp)) { - some = true; - break; - } - } - if (!some) { - return true; - } - index += 1; - } - return true; - }; - - OldSelector.prototype.check = function(rule) { - if (rule.selector.indexOf(this.prefixed) === -1) { - return false; - } - if (!rule.selector.match(this.regexp)) { - return false; - } - if (this.isHack(rule)) { - return false; - } - return true; - }; - - return OldSelector; - - })(); - - module.exports = OldSelector; - -}).call(this); - -},{}],42:[function(_dereq_,module,exports){ -(function() { - var OldValue, utils; - - utils = _dereq_('./utils'); - - OldValue = (function() { - function OldValue(unprefixed, prefixed, string, regexp) { - this.unprefixed = unprefixed; - this.prefixed = prefixed; - this.string = string; - this.regexp = regexp; - this.regexp || (this.regexp = utils.regexp(this.prefixed)); - this.string || (this.string = this.prefixed); - } - - OldValue.prototype.check = function(value) { - if (value.indexOf(this.string) !== -1) { - return !!value.match(this.regexp); - } else { - return false; - } - }; - - return OldValue; - - })(); - - module.exports = OldValue; - -}).call(this); - -},{"./utils":49}],43:[function(_dereq_,module,exports){ -(function() { - var Browsers, Prefixer, clone, utils, vendor, - hasProp = {}.hasOwnProperty; - - Browsers = _dereq_('./browsers'); - - utils = _dereq_('./utils'); - - vendor = _dereq_('postcss/lib/vendor'); - - clone = function(obj, parent) { - var cloned, i, value; - cloned = new obj.constructor(); - for (i in obj) { - if (!hasProp.call(obj, i)) continue; - value = obj[i]; - if (i === 'parent' && typeof value === 'object') { - if (parent) { - cloned[i] = parent; - } - } else if (i === 'source') { - cloned[i] = value; - } else if (value instanceof Array) { - cloned[i] = value.map(function(i) { - return clone(i, cloned); - }); - } else if (i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues') { - if (typeof value === 'object') { - value = clone(value, cloned); - } - cloned[i] = value; - } - } - return cloned; - }; - - Prefixer = (function() { - Prefixer.hack = function(klass) { - var j, len, name, ref, results; - this.hacks || (this.hacks = {}); - ref = klass.names; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - name = ref[j]; - results.push(this.hacks[name] = klass); - } - return results; - }; - - Prefixer.load = function(name, prefixes, all) { - var klass, ref; - klass = (ref = this.hacks) != null ? ref[name] : void 0; - if (klass) { - return new klass(name, prefixes, all); - } else { - return new this(name, prefixes, all); - } - }; - - Prefixer.clone = function(node, overrides) { - var cloned, name; - cloned = clone(node); - for (name in overrides) { - cloned[name] = overrides[name]; - } - return cloned; - }; - - function Prefixer(name1, prefixes1, all1) { - this.name = name1; - this.prefixes = prefixes1; - this.all = all1; - } - - Prefixer.prototype.parentPrefix = function(node) { - var prefix; - prefix = node._autoprefixerPrefix != null ? node._autoprefixerPrefix : node.type === 'decl' && node.prop[0] === '-' ? vendor.prefix(node.prop) : node.type === 'root' ? false : node.type === 'rule' && node.selector.indexOf(':-') !== -1 ? node.selector.match(/:(-\w+-)/)[1] : node.type === 'atrule' && node.name[0] === '-' ? vendor.prefix(node.name) : this.parentPrefix(node.parent); - if (Browsers.prefixes().indexOf(prefix) === -1) { - prefix = false; - } - return node._autoprefixerPrefix = prefix; - }; - - Prefixer.prototype.process = function(node) { - var added, j, k, len, len1, parent, prefix, prefixes, ref; - if (!this.check(node)) { - return; - } - parent = this.parentPrefix(node); - prefixes = []; - ref = this.prefixes; - for (j = 0, len = ref.length; j < len; j++) { - prefix = ref[j]; - if (parent && parent !== utils.removeNote(prefix)) { - continue; - } - prefixes.push(prefix); - } - added = []; - for (k = 0, len1 = prefixes.length; k < len1; k++) { - prefix = prefixes[k]; - if (this.add(node, prefix, added.concat([prefix]))) { - added.push(prefix); - } - } - return added; - }; - - Prefixer.prototype.clone = function(node, overrides) { - return Prefixer.clone(node, overrides); - }; - - return Prefixer; - - })(); - - module.exports = Prefixer; - -}).call(this); - -},{"./browsers":6,"./utils":49,"postcss/lib/vendor":112}],44:[function(_dereq_,module,exports){ -(function() { - var AtRule, Browsers, Declaration, Prefixes, Processor, Resolution, Selector, Supports, Value, declsCache, utils, vendor; - - Declaration = _dereq_('./declaration'); - - Resolution = _dereq_('./resolution'); - - Processor = _dereq_('./processor'); - - Supports = _dereq_('./supports'); - - Browsers = _dereq_('./browsers'); - - Selector = _dereq_('./selector'); - - AtRule = _dereq_('./at-rule'); - - Value = _dereq_('./value'); - - utils = _dereq_('./utils'); - - vendor = _dereq_('postcss/lib/vendor'); - - Selector.hack(_dereq_('./hacks/fullscreen')); - - Selector.hack(_dereq_('./hacks/placeholder')); - - Declaration.hack(_dereq_('./hacks/flex')); - - Declaration.hack(_dereq_('./hacks/order')); - - Declaration.hack(_dereq_('./hacks/filter')); - - Declaration.hack(_dereq_('./hacks/flex-flow')); - - Declaration.hack(_dereq_('./hacks/flex-grow')); - - Declaration.hack(_dereq_('./hacks/flex-wrap')); - - Declaration.hack(_dereq_('./hacks/appearance')); - - Declaration.hack(_dereq_('./hacks/align-self')); - - Declaration.hack(_dereq_('./hacks/flex-basis')); - - Declaration.hack(_dereq_('./hacks/align-items')); - - Declaration.hack(_dereq_('./hacks/flex-shrink')); - - Declaration.hack(_dereq_('./hacks/break-inside')); - - Declaration.hack(_dereq_('./hacks/border-image')); - - Declaration.hack(_dereq_('./hacks/align-content')); - - Declaration.hack(_dereq_('./hacks/border-radius')); - - Declaration.hack(_dereq_('./hacks/block-logical')); - - Declaration.hack(_dereq_('./hacks/inline-logical')); - - Declaration.hack(_dereq_('./hacks/transform-decl')); - - Declaration.hack(_dereq_('./hacks/flex-direction')); - - Declaration.hack(_dereq_('./hacks/image-rendering')); - - Declaration.hack(_dereq_('./hacks/justify-content')); - - Declaration.hack(_dereq_('./hacks/background-size')); - - Value.hack(_dereq_('./hacks/gradient')); - - Value.hack(_dereq_('./hacks/pixelated')); - - Value.hack(_dereq_('./hacks/flex-values')); - - Value.hack(_dereq_('./hacks/display-flex')); - - Value.hack(_dereq_('./hacks/filter-value')); - - Value.hack(_dereq_('./hacks/fill-available')); - - Value.hack(_dereq_('./hacks/transform-value')); - - declsCache = {}; - - Prefixes = (function() { - function Prefixes(data1, browsers, options) { - var ref; - this.data = data1; - this.browsers = browsers; - this.options = options != null ? options : {}; - ref = this.preprocess(this.select(this.data)), this.add = ref[0], this.remove = ref[1]; - this.processor = new Processor(this); - } - - Prefixes.prototype.transitionProps = ['transition', 'transition-property']; - - Prefixes.prototype.cleaner = function() { - var empty; - if (!this.cleanerCache) { - if (this.browsers.selected.length) { - empty = new Browsers(this.browsers.data, []); - this.cleanerCache = new Prefixes(this.data, empty, this.options); - } else { - return this; - } - } - return this.cleanerCache; - }; - - Prefixes.prototype.select = function(list) { - var add, all, data, name, notes, selected; - selected = { - add: {}, - remove: {} - }; - for (name in list) { - data = list[name]; - add = data.browsers.map(function(i) { - var params; - params = i.split(' '); - return { - browser: params[0] + ' ' + params[1], - note: params[2] - }; - }); - notes = add.filter(function(i) { - return i.note; - }).map((function(_this) { - return function(i) { - return _this.browsers.prefix(i.browser) + ' ' + i.note; - }; - })(this)); - notes = utils.uniq(notes); - add = add.filter((function(_this) { - return function(i) { - return _this.browsers.isSelected(i.browser); - }; - })(this)).map((function(_this) { - return function(i) { - var prefix; - prefix = _this.browsers.prefix(i.browser); - if (i.note) { - return prefix + ' ' + i.note; - } else { - return prefix; - } - }; - })(this)); - add = this.sort(utils.uniq(add)); - all = data.browsers.map((function(_this) { - return function(i) { - return _this.browsers.prefix(i); - }; - })(this)); - if (data.mistakes) { - all = all.concat(data.mistakes); - } - all = all.concat(notes); - all = utils.uniq(all); - if (add.length) { - selected.add[name] = add; - if (add.length < all.length) { - selected.remove[name] = all.filter(function(i) { - return add.indexOf(i) === -1; - }); - } - } else { - selected.remove[name] = all; - } - } - return selected; - }; - - Prefixes.prototype.sort = function(prefixes) { - return prefixes.sort(function(a, b) { - var aLength, bLength; - aLength = utils.removeNote(a).length; - bLength = utils.removeNote(b).length; - if (aLength === bLength) { - return b.length - a.length; - } else { - return bLength - aLength; - } - }); - }; - - Prefixes.prototype.preprocess = function(selected) { - var add, j, k, l, len, len1, len2, len3, len4, len5, len6, m, n, name, o, old, olds, p, prefix, prefixed, prefixes, prop, props, ref, ref1, ref2, remove, selector, value, values; - add = { - selectors: [], - '@supports': new Supports(this) - }; - ref = selected.add; - for (name in ref) { - prefixes = ref[name]; - if (name === '@keyframes' || name === '@viewport') { - add[name] = new AtRule(name, prefixes, this); - } else if (name === '@resolution') { - add[name] = new Resolution(name, prefixes, this); - } else if (this.data[name].selector) { - add.selectors.push(Selector.load(name, prefixes, this)); - } else { - props = this.data[name].transition ? this.transitionProps : this.data[name].props; - if (props) { - value = Value.load(name, prefixes, this); - for (j = 0, len = props.length; j < len; j++) { - prop = props[j]; - if (!add[prop]) { - add[prop] = { - values: [] - }; - } - add[prop].values.push(value); - } - } - if (!this.data[name].props) { - values = ((ref1 = add[name]) != null ? ref1.values : void 0) || []; - add[name] = Declaration.load(name, prefixes, this); - add[name].values = values; - } - } - } - remove = { - selectors: [] - }; - ref2 = selected.remove; - for (name in ref2) { - prefixes = ref2[name]; - if (this.data[name].selector) { - selector = Selector.load(name, prefixes); - for (k = 0, len1 = prefixes.length; k < len1; k++) { - prefix = prefixes[k]; - remove.selectors.push(selector.old(prefix)); - } - } else if (name === '@keyframes' || name === '@viewport') { - for (l = 0, len2 = prefixes.length; l < len2; l++) { - prefix = prefixes[l]; - prefixed = '@' + prefix + name.slice(1); - remove[prefixed] = { - remove: true - }; - } - } else if (name === '@resolution') { - remove[name] = new Resolution(name, prefixes, this); - } else { - props = this.data[name].transition ? this.transitionProps : this.data[name].props; - if (props) { - value = Value.load(name, [], this); - for (m = 0, len3 = prefixes.length; m < len3; m++) { - prefix = prefixes[m]; - old = value.old(prefix); - if (old) { - for (n = 0, len4 = props.length; n < len4; n++) { - prop = props[n]; - if (!remove[prop]) { - remove[prop] = {}; - } - if (!remove[prop].values) { - remove[prop].values = []; - } - remove[prop].values.push(old); - } - } - } - } - if (!this.data[name].props) { - for (o = 0, len5 = prefixes.length; o < len5; o++) { - prefix = prefixes[o]; - prop = vendor.unprefixed(name); - olds = this.decl(name).old(name, prefix); - for (p = 0, len6 = olds.length; p < len6; p++) { - prefixed = olds[p]; - if (!remove[prefixed]) { - remove[prefixed] = {}; - } - remove[prefixed].remove = true; - } - } - } - } - } - return [add, remove]; - }; - - Prefixes.prototype.decl = function(prop) { - var decl; - decl = declsCache[prop]; - if (decl) { - return decl; - } else { - return declsCache[prop] = Declaration.load(prop); - } - }; - - Prefixes.prototype.unprefixed = function(prop) { - prop = vendor.unprefixed(prop); - return this.decl(prop).normalize(prop); - }; - - Prefixes.prototype.prefixed = function(prop, prefix) { - prop = vendor.unprefixed(prop); - return this.decl(prop).prefixed(prop, prefix); - }; - - Prefixes.prototype.values = function(type, prop) { - var data, global, ref, ref1, values; - data = this[type]; - global = (ref = data['*']) != null ? ref.values : void 0; - values = (ref1 = data[prop]) != null ? ref1.values : void 0; - if (global && values) { - return utils.uniq(global.concat(values)); - } else { - return global || values || []; - } - }; - - Prefixes.prototype.group = function(decl) { - var checker, index, length, rule, unprefixed; - rule = decl.parent; - index = rule.index(decl); - length = rule.nodes.length; - unprefixed = this.unprefixed(decl.prop); - checker = (function(_this) { - return function(step, callback) { - var other; - index += step; - while (index >= 0 && index < length) { - other = rule.nodes[index]; - if (other.type === 'decl') { - if (step === -1 && other.prop === unprefixed) { - if (!Browsers.withPrefix(other.value)) { - break; - } - } - if (_this.unprefixed(other.prop) !== unprefixed) { - break; - } else if (callback(other) === true) { - return true; - } - if (step === +1 && other.prop === unprefixed) { - if (!Browsers.withPrefix(other.value)) { - break; - } - } - } - index += step; - } - return false; - }; - })(this); - return { - up: function(callback) { - return checker(-1, callback); - }, - down: function(callback) { - return checker(+1, callback); - } - }; - }; - - return Prefixes; - - })(); - - module.exports = Prefixes; - -}).call(this); - -},{"./at-rule":4,"./browsers":6,"./declaration":7,"./hacks/align-content":8,"./hacks/align-items":9,"./hacks/align-self":10,"./hacks/appearance":11,"./hacks/background-size":12,"./hacks/block-logical":13,"./hacks/border-image":14,"./hacks/border-radius":15,"./hacks/break-inside":16,"./hacks/display-flex":17,"./hacks/fill-available":18,"./hacks/filter":20,"./hacks/filter-value":19,"./hacks/flex":29,"./hacks/flex-basis":21,"./hacks/flex-direction":22,"./hacks/flex-flow":23,"./hacks/flex-grow":24,"./hacks/flex-shrink":25,"./hacks/flex-values":27,"./hacks/flex-wrap":28,"./hacks/fullscreen":30,"./hacks/gradient":31,"./hacks/image-rendering":32,"./hacks/inline-logical":33,"./hacks/justify-content":34,"./hacks/order":35,"./hacks/pixelated":36,"./hacks/placeholder":37,"./hacks/transform-decl":38,"./hacks/transform-value":39,"./processor":45,"./resolution":46,"./selector":47,"./supports":48,"./utils":49,"./value":50,"postcss/lib/vendor":112}],45:[function(_dereq_,module,exports){ -(function() { - var Processor, Value, utils, vendor; - - vendor = _dereq_('postcss/lib/vendor'); - - Value = _dereq_('./value'); - - utils = _dereq_('./utils'); - - Processor = (function() { - function Processor(prefixes) { - this.prefixes = prefixes; - } - - Processor.prototype.add = function(css, result) { - var keyframes, resolution, supports, viewport; - resolution = this.prefixes.add['@resolution']; - keyframes = this.prefixes.add['@keyframes']; - viewport = this.prefixes.add['@viewport']; - supports = this.prefixes.add['@supports']; - css.eachAtRule((function(_this) { - return function(rule) { - if (rule.name === 'keyframes') { - if (!_this.disabled(rule)) { - return keyframes != null ? keyframes.process(rule) : void 0; - } - } else if (rule.name === 'viewport') { - if (!_this.disabled(rule)) { - return viewport != null ? viewport.process(rule) : void 0; - } - } else if (rule.name === 'supports') { - if (!_this.disabled(rule)) { - return supports.process(rule); - } - } else if (rule.name === 'media' && rule.params.indexOf('-resolution') !== -1) { - if (!_this.disabled(rule)) { - return resolution != null ? resolution.process(rule) : void 0; - } - } - }; - })(this)); - css.eachRule((function(_this) { - return function(rule) { - var j, len, ref, results, selector; - if (_this.disabled(rule)) { - return; - } - ref = _this.prefixes.add.selectors; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - selector = ref[j]; - results.push(selector.process(rule, result)); - } - return results; - }; - })(this)); - css.eachDecl((function(_this) { - return function(decl) { - var prefix; - if (decl.prop === 'display' && decl.value === 'box') { - result.warn('You should write display: flex by final spec ' + 'instead of display: box', { - node: decl - }); - return; - } - prefix = _this.prefixes.add[decl.prop]; - if (prefix && prefix.prefixes) { - if (!_this.disabled(decl)) { - return prefix.process(decl, result); - } - } - }; - })(this)); - return css.eachDecl((function(_this) { - return function(decl) { - var j, len, ref, unprefixed, value; - if (_this.disabled(decl)) { - return; - } - unprefixed = _this.prefixes.unprefixed(decl.prop); - ref = _this.prefixes.values('add', unprefixed); - for (j = 0, len = ref.length; j < len; j++) { - value = ref[j]; - value.process(decl, result); - } - return Value.save(_this.prefixes, decl); - }; - })(this)); - }; - - Processor.prototype.remove = function(css) { - var checker, j, len, ref, resolution; - resolution = this.prefixes.remove['@resolution']; - css.eachAtRule((function(_this) { - return function(rule, i) { - if (_this.prefixes.remove['@' + rule.name]) { - if (!_this.disabled(rule)) { - return rule.parent.remove(i); - } - } else if (rule.name === 'media' && rule.params.indexOf('-resolution') !== -1) { - return resolution != null ? resolution.clean(rule) : void 0; - } - }; - })(this)); - ref = this.prefixes.remove.selectors; - for (j = 0, len = ref.length; j < len; j++) { - checker = ref[j]; - css.eachRule((function(_this) { - return function(rule, i) { - if (checker.check(rule)) { - if (!_this.disabled(rule)) { - return rule.parent.remove(i); - } - } - }; - })(this)); - } - return css.eachDecl((function(_this) { - return function(decl, i) { - var k, len1, notHack, ref1, ref2, rule, unprefixed; - if (_this.disabled(decl)) { - return; - } - rule = decl.parent; - unprefixed = _this.prefixes.unprefixed(decl.prop); - if ((ref1 = _this.prefixes.remove[decl.prop]) != null ? ref1.remove : void 0) { - notHack = _this.prefixes.group(decl).down(function(other) { - return other.prop === unprefixed; - }); - if (notHack && !_this.withHackValue(decl)) { - if (decl.style('before').indexOf("\n") > -1) { - _this.reduceSpaces(decl); - } - rule.remove(i); - return; - } - } - ref2 = _this.prefixes.values('remove', unprefixed); - for (k = 0, len1 = ref2.length; k < len1; k++) { - checker = ref2[k]; - if (checker.check(decl.value)) { - unprefixed = checker.unprefixed; - notHack = _this.prefixes.group(decl).down(function(other) { - return other.value.indexOf(unprefixed) !== -1; - }); - if (notHack) { - rule.remove(i); - return; - } else if (checker.clean) { - checker.clean(decl); - return; - } - } - } - }; - })(this)); - }; - - Processor.prototype.withHackValue = function(decl) { - return decl.prop === '-webkit-background-clip' && decl.value === 'text'; - }; - - Processor.prototype.disabled = function(node) { - var status; - if (node._autoprefixerDisabled != null) { - return node._autoprefixerDisabled; - } else if (node.nodes) { - status = void 0; - node.each(function(i) { - if (i.type !== 'comment') { - return; - } - if (i.text === 'autoprefixer: off') { - status = false; - return false; - } else if (i.text === 'autoprefixer: on') { - status = true; - return false; - } - }); - return node._autoprefixerDisabled = status != null ? !status : node.parent ? this.disabled(node.parent) : false; - } else if (node.parent) { - return node._autoprefixerDisabled = this.disabled(node.parent); - } else { - return false; - } - }; - - Processor.prototype.reduceSpaces = function(decl) { - var diff, parts, prevMin, stop; - stop = false; - this.prefixes.group(decl).up(function(other) { - return stop = true; - }); - if (stop) { - return; - } - parts = decl.style('before').split("\n"); - prevMin = parts[parts.length - 1].length; - diff = false; - return this.prefixes.group(decl).down(function(other) { - var last; - parts = other.style('before').split("\n"); - last = parts.length - 1; - if (parts[last].length > prevMin) { - if (diff === false) { - diff = parts[last].length - prevMin; - } - parts[last] = parts[last].slice(0, -diff); - return other.before = parts.join("\n"); - } - }); - }; - - return Processor; - - })(); - - module.exports = Processor; - -}).call(this); - -},{"./utils":49,"./value":50,"postcss/lib/vendor":112}],46:[function(_dereq_,module,exports){ -(function() { - var Prefixer, Resolution, n2f, regexp, split, utils, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Prefixer = _dereq_('./prefixer'); - - utils = _dereq_('./utils'); - - n2f = _dereq_('num2fraction'); - - regexp = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi)/gi; - - split = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi)/i; - - Resolution = (function(superClass) { - extend(Resolution, superClass); - - function Resolution() { - return Resolution.__super__.constructor.apply(this, arguments); - } - - Resolution.prototype.prefixName = function(prefix, name) { - return name = prefix === '-moz-' ? name + '--moz-device-pixel-ratio' : prefix + name + '-device-pixel-ratio'; - }; - - Resolution.prototype.prefixQuery = function(prefix, name, colon, value, units) { - if (units === 'dpi') { - value = Number(value / 96); - } - if (prefix === '-o-') { - value = n2f(value); - } - return this.prefixName(prefix, name) + colon + value; - }; - - Resolution.prototype.clean = function(rule) { - var j, len, prefix, ref; - if (!this.bad) { - this.bad = []; - ref = this.prefixes; - for (j = 0, len = ref.length; j < len; j++) { - prefix = ref[j]; - this.bad.push(this.prefixName(prefix, 'min')); - this.bad.push(this.prefixName(prefix, 'max')); - } - } - return rule.params = utils.editList(rule.params, (function(_this) { - return function(queries) { - return queries.filter(function(query) { - return _this.bad.every(function(i) { - return query.indexOf(i) === -1; - }); - }); - }; - })(this)); - }; - - Resolution.prototype.process = function(rule) { - var parent, prefixes; - parent = this.parentPrefix(rule); - prefixes = parent ? [parent] : this.prefixes; - return rule.params = utils.editList(rule.params, (function(_this) { - return function(origin, prefixed) { - var j, k, len, len1, prefix, processed, query; - for (j = 0, len = origin.length; j < len; j++) { - query = origin[j]; - if (query.indexOf('min-resolution') === -1 && query.indexOf('max-resolution') === -1) { - prefixed.push(query); - continue; - } - for (k = 0, len1 = prefixes.length; k < len1; k++) { - prefix = prefixes[k]; - if (prefix === '-moz-' && rule.params.indexOf('dpi') !== -1) { - continue; - } else { - processed = query.replace(regexp, function(str) { - var parts; - parts = str.match(split); - return _this.prefixQuery(prefix, parts[1], parts[2], parts[3], parts[4]); - }); - prefixed.push(processed); - } - } - prefixed.push(query); - } - return utils.uniq(prefixed); - }; - })(this)); - }; - - return Resolution; - - })(Prefixer); - - module.exports = Resolution; - -}).call(this); - -},{"./prefixer":43,"./utils":49,"num2fraction":92}],47:[function(_dereq_,module,exports){ -(function() { - var Browsers, OldSelector, Prefixer, Selector, utils, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - OldSelector = _dereq_('./old-selector'); - - Prefixer = _dereq_('./prefixer'); - - Browsers = _dereq_('./browsers'); - - utils = _dereq_('./utils'); - - Selector = (function(superClass) { - extend(Selector, superClass); - - function Selector(name1, prefixes, all) { - this.name = name1; - this.prefixes = prefixes; - this.all = all; - this.regexpCache = {}; - } - - Selector.prototype.check = function(rule) { - if (rule.selector.indexOf(this.name) !== -1) { - return !!rule.selector.match(this.regexp()); - } else { - return false; - } - }; - - Selector.prototype.prefixed = function(prefix) { - return this.name.replace(/^([^\w]*)/, '$1' + prefix); - }; - - Selector.prototype.regexp = function(prefix) { - var name; - if (this.regexpCache[prefix]) { - return this.regexpCache[prefix]; - } - name = prefix ? this.prefixed(prefix) : this.name; - return this.regexpCache[prefix] = RegExp("(^|[^:\"'=])" + (utils.escapeRegexp(name)), "gi"); - }; - - Selector.prototype.possible = function() { - return Browsers.prefixes(); - }; - - Selector.prototype.prefixeds = function(rule) { - var i, len, prefix, prefixeds, ref; - if (rule._autoprefixerPrefixeds) { - return rule._autoprefixerPrefixeds; - } - prefixeds = {}; - ref = this.possible(); - for (i = 0, len = ref.length; i < len; i++) { - prefix = ref[i]; - prefixeds[prefix] = this.replace(rule.selector, prefix); - } - return rule._autoprefixerPrefixeds = prefixeds; - }; - - Selector.prototype.already = function(rule, prefixeds, prefix) { - var before, index, key, prefixed, some; - index = rule.parent.index(rule) - 1; - while (index >= 0) { - before = rule.parent.nodes[index]; - if (before.type !== 'rule') { - return false; - } - some = false; - for (key in prefixeds) { - prefixed = prefixeds[key]; - if (before.selector === prefixed) { - if (prefix === key) { - return true; - } else { - some = true; - break; - } - } - } - if (!some) { - return false; - } - index -= 1; - } - return false; - }; - - Selector.prototype.replace = function(selector, prefix) { - return selector.replace(this.regexp(), '$1' + this.prefixed(prefix)); - }; - - Selector.prototype.add = function(rule, prefix) { - var cloned, prefixeds; - prefixeds = this.prefixeds(rule); - if (this.already(rule, prefixeds, prefix)) { - return; - } - cloned = this.clone(rule, { - selector: prefixeds[prefix] - }); - return rule.parent.insertBefore(rule, cloned); - }; - - Selector.prototype.old = function(prefix) { - return new OldSelector(this, prefix); - }; - - return Selector; - - })(Prefixer); - - module.exports = Selector; - -}).call(this); - -},{"./browsers":6,"./old-selector":41,"./prefixer":43,"./utils":49}],48:[function(_dereq_,module,exports){ -(function() { - var Prefixes, Supports, Value, findCondition, findDecl, list, postcss, split, utils; - - Prefixes = _dereq_('./prefixes'); - - Value = _dereq_('./value'); - - utils = _dereq_('./utils'); - - postcss = _dereq_('postcss'); - - list = _dereq_('postcss/lib/list'); - - split = /\(\s*([^\(\):]+)\s*:([^\)]+)/; - - findDecl = /\(\s*([^\(\):]+)\s*:\s*(.+)\s*\)/g; - - findCondition = /(not\s*)?\(\s*([^\(\):]+)\s*:\s*(.+?(?!\s*or\s*).+?)\s*\)*\s*\)\s*or\s*/gi; - - Supports = (function() { - function Supports(all1) { - this.all = all1; - } - - Supports.prototype.virtual = function(prop, value) { - var rule; - rule = postcss.parse('a{}').first; - rule.append({ - prop: prop, - value: value, - before: '' - }); - return rule; - }; - - Supports.prototype.prefixed = function(prop, value) { - var decl, j, k, len, len1, prefixer, ref, ref1, rule; - rule = this.virtual(prop, value); - prefixer = this.all.add[prop]; - if (prefixer != null) { - if (typeof prefixer.process === "function") { - prefixer.process(rule.first); - } - } - ref = rule.nodes; - for (j = 0, len = ref.length; j < len; j++) { - decl = ref[j]; - ref1 = this.all.values('add', prop); - for (k = 0, len1 = ref1.length; k < len1; k++) { - value = ref1[k]; - value.process(decl); - } - Value.save(this.all, decl); - } - return rule.nodes; - }; - - Supports.prototype.clean = function(params) { - return params.replace(findCondition, (function(_this) { - return function(all) { - var _, check, checker, j, len, prop, ref, ref1, ref2, unprefixed, value; - if (all.slice(0, 3).toLowerCase() === 'not') { - return all; - } - ref = all.match(split), _ = ref[0], prop = ref[1], value = ref[2]; - unprefixed = _this.all.unprefixed(prop); - if ((ref1 = _this.all.cleaner().remove[prop]) != null ? ref1.remove : void 0) { - check = new RegExp('(\\(|\\s)' + utils.escapeRegexp(unprefixed) + ':'); - if (check.test(params)) { - return ''; - } - } - ref2 = _this.all.cleaner().values('remove', unprefixed); - for (j = 0, len = ref2.length; j < len; j++) { - checker = ref2[j]; - if (checker.check(value)) { - return ''; - } - } - return all; - }; - })(this)).replace(/\(\s*\((.*)\)\s*\)/g, '($1)'); - }; - - Supports.prototype.process = function(rule) { - rule.params = this.clean(rule.params); - return rule.params = rule.params.replace(findDecl, (function(_this) { - return function(all, prop, value) { - var i, stringed; - stringed = (function() { - var j, len, ref, results; - ref = this.prefixed(prop, value); - results = []; - for (j = 0, len = ref.length; j < len; j++) { - i = ref[j]; - results.push("(" + i.prop + ": " + i.value + ")"); - } - return results; - }).call(_this); - if (stringed.length === 1) { - return stringed[0]; - } else { - return '(' + stringed.join(' or ') + ')'; - } - }; - })(this)); - }; - - return Supports; - - })(); - - module.exports = Supports; - -}).call(this); - -},{"./prefixes":44,"./utils":49,"./value":50,"postcss":105,"postcss/lib/list":100}],49:[function(_dereq_,module,exports){ -(function() { - var list; - - list = _dereq_('postcss/lib/list'); - - module.exports = { - error: function(text) { - var err; - err = new Error(text); - err.autoprefixer = true; - throw err; - }, - uniq: function(array) { - var filtered, i, j, len; - filtered = []; - for (j = 0, len = array.length; j < len; j++) { - i = array[j]; - if (filtered.indexOf(i) === -1) { - filtered.push(i); - } - } - return filtered; - }, - removeNote: function(string) { - if (string.indexOf(' ') === -1) { - return string; - } else { - return string.split(' ')[0]; - } - }, - escapeRegexp: function(string) { - return string.replace(/[.?*+\^\$\[\]\\(){}|\-]/g, '\\$&'); - }, - regexp: function(word, escape) { - if (escape == null) { - escape = true; - } - if (escape) { - word = this.escapeRegexp(word); - } - return RegExp("(^|[\\s,(])(" + word + "($|[\\s(,]))", "gi"); - }, - editList: function(value, callback) { - var changed, join, origin; - origin = list.comma(value); - changed = callback(origin, []); - if (origin === changed) { - return value; - } else { - join = value.match(/,\s*/); - join = join ? join[0] : ', '; - return changed.join(join); - } - } - }; - -}).call(this); - -},{"postcss/lib/list":100}],50:[function(_dereq_,module,exports){ -(function() { - var OldValue, Prefixer, Value, utils, vendor, - extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - Prefixer = _dereq_('./prefixer'); - - OldValue = _dereq_('./old-value'); - - utils = _dereq_('./utils'); - - vendor = _dereq_('postcss/lib/vendor'); - - Value = (function(superClass) { - extend(Value, superClass); - - function Value() { - return Value.__super__.constructor.apply(this, arguments); - } - - Value.save = function(prefixes, decl) { - var already, cloned, prefix, prefixed, propPrefix, ref, results, rule, trimmed, value; - ref = decl._autoprefixerValues; - results = []; - for (prefix in ref) { - value = ref[prefix]; - if (value === decl.value) { - continue; - } - propPrefix = vendor.prefix(decl.prop); - if (propPrefix === prefix) { - results.push(decl.value = value); - } else if (propPrefix === '-pie-') { - continue; - } else { - prefixed = prefixes.prefixed(decl.prop, prefix); - rule = decl.parent; - if (rule.every(function(i) { - return i.prop !== prefixed; - })) { - trimmed = value.replace(/\s+/, ' '); - already = rule.some(function(i) { - return i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed; - }); - if (!already) { - if (value.indexOf('-webkit-filter') !== -1 && (decl.prop === 'transition' || decl.prop === 'trasition-property')) { - results.push(decl.value = value); - } else { - cloned = this.clone(decl, { - value: value - }); - results.push(decl.parent.insertBefore(decl, cloned)); - } - } else { - results.push(void 0); - } - } else { - results.push(void 0); - } - } - } - return results; - }; - - Value.prototype.check = function(decl) { - var value; - value = decl.value; - if (value.indexOf(this.name) !== -1) { - return !!value.match(this.regexp()); - } else { - return false; - } - }; - - Value.prototype.regexp = function() { - return this.regexpCache || (this.regexpCache = utils.regexp(this.name)); - }; - - Value.prototype.replace = function(string, prefix) { - return string.replace(this.regexp(), '$1' + prefix + '$2'); - }; - - Value.prototype.add = function(decl, prefix) { - var ref, value; - decl._autoprefixerValues || (decl._autoprefixerValues = {}); - value = decl._autoprefixerValues[prefix] || ((ref = decl._value) != null ? ref.raw : void 0) || decl.value; - value = this.replace(value, prefix); - if (value) { - return decl._autoprefixerValues[prefix] = value; - } - }; - - Value.prototype.old = function(prefix) { - return new OldValue(this.name, prefix + this.name); - }; - - return Value; - - })(Prefixer); - - module.exports = Value; - -}).call(this); - -},{"./old-value":42,"./prefixer":43,"./utils":49,"postcss/lib/vendor":112}],51:[function(_dereq_,module,exports){ -(function (process){ -var caniuse = _dereq_('caniuse-db/data').agents; -var path = _dereq_('path'); -var fs = _dereq_('fs'); - -var uniq = function (array) { - var filtered = []; - for ( var i = 0; i < array.length; i++ ) { - if ( filtered.indexOf(array[i]) === -1 ) filtered.push(array[i]); - } - return filtered; -}; - -// Return array of browsers by selection queries: -// -// browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] -var browserslist = function (selections, opts) { - if ( typeof opts === 'undefined' ) opts = { }; - - if ( typeof selections === 'undefined' || selections === null ) { - - if ( process.env.BROWSERSLIST ) { - selections = process.env.BROWSERSLIST; - } else if ( opts.config || process.env.BROWSERSLIST_CONFIG ) { - var file = opts.config || process.env.BROWSERSLIST_CONFIG; - if ( fs.existsSync(file) && fs.statSync(file).isFile() ) { - selections = browserslist.parseConfig( fs.readFileSync(file) ); - } else { - throw 'Can\'t read ' + file + ' config'; - } - } else { - var config = browserslist.readConfig(opts.path); - if ( config !== false ) { - selections = config; - } else { - selections = browserslist.defaults; - } - } - } - - if ( typeof selections === 'string' ) { - selections = selections.split(/,\s*/); - } - - var result = []; - - var query, match, array, used; - selections.forEach(function (selection) { - if ( selection.trim() === '' ) return; - used = false; - - for ( var i in browserslist.queries ) { - query = browserslist.queries[i]; - match = selection.match(query.regexp); - if ( match ) { - array = query.select.apply(browserslist, match.slice(1)); - result = result.concat(array); - used = true; - break; - } - } - - if ( !used ) { - throw 'Unknown browser query `' + selection + '`'; - } - }); - - return uniq(result).sort(function (name1, name2) { - name1 = name1.split(' '); - name2 = name2.split(' '); - if ( name1[0] === name2[0] ) { - var d = parseFloat(name2[1]) - parseFloat(name1[1]); - if ( d > 0 ) { - return 1; - } else if ( d < 0 ) { - return -1; - } else { - return 0; - } - } else { - return name1[0].localeCompare(name2[0]); - } - }); -}; - -// Helpers - -var normalizeVersion = function (data, version) { - if ( data.versions.indexOf(version) !== -1 ) { - return version; - } else { - var alias = browserslist.versionAliases[data.name][version]; - if ( alias ) return alias; - } -}; - -var normalize = function (versions) { - return versions.filter(function (version) { - return typeof version === 'string'; - }); -}; - -var fillUsage = function (result, name, data) { - for ( var i in data ) { - result[name + ' ' + i] = data[i]; - } -}; - -// Will be filled by Can I Use data below -browserslist.data = { }; -browserslist.usage = { - global: { } -}; - -// Default browsers query -browserslist.defaults = [ - '> 1%', - 'last 2 versions', - 'Firefox ESR', - 'Opera 12.1' -]; - -// What browsers will be used in `last n version` query -browserslist.major = ['safari', 'opera', 'ios_saf', 'ie_mob', 'ie', - 'firefox', 'chrome']; - -// Browser names aliases -browserslist.aliases = { - fx: 'firefox', - ff: 'firefox', - ios: 'ios_saf', - explorer: 'ie', - blackberry: 'bb', - explorermobile: 'ie_mob', - operamini: 'op_mini', - operamobile: 'op_mob', - chromeandroid: 'and_chr', - firefoxandroid: 'and_ff' -}; - -// Aliases ot work with joined versions like `ios_saf 7.0-7.1` -browserslist.versionAliases = { }; - -// Get browser data by alias or case insensitive name -browserslist.byName = function (name) { - name = name.toLowerCase(); - name = browserslist.aliases[name] || name; - return browserslist.data[name]; -}; - -// Get browser data by alias or case insensitive name and throw error -// on unknown browser -browserslist.checkName = function (name) { - var data = browserslist.byName(name); - if ( !data ) throw 'Unknown browser ' + name; - return data; -}; - -// Find config, read file and parse it -browserslist.readConfig = function (from) { - if ( from === false ) return false; - if ( !fs.readFileSync ) return false; - if ( typeof from === 'undefined' ) from = '.'; - - var dirs = path.resolve(from).split(path.sep); - var config; - while ( dirs.length ) { - config = dirs.concat(['browserslist']).join(path.sep); - - if ( fs.existsSync(config) && fs.statSync(config).isFile() ) { - return browserslist.parseConfig( fs.readFileSync(config) ); - } - - dirs.pop(); - } - - return false; -}; - -// Return array of queries from config content -browserslist.parseConfig = function (string) { - return string.toString() - .replace(/#[^\n]*/g, '') - .split(/\n/) - .map(function (i) { - return i.trim(); - }) - .filter(function (i) { - return i !== ''; - }); -}; - -browserslist.queries = { - - lastVersions: { - regexp: /^last (\d+) versions?$/i, - select: function (versions) { - var selected = []; - browserslist.major.forEach(function (name) { - var data = browserslist.byName(name); - if ( !data ) return; - var array = data.released.slice(-versions); - - array = array.map(function (v) { - return data.name + ' ' + v; - }); - selected = selected.concat(array); - }); - return selected; - } - }, - - lastByBrowser: { - regexp: /^last (\d+) (\w+) versions?$/i, - select: function (versions, name) { - var data = browserslist.checkName(name); - return data.released.slice(-versions).map(function (v) { - return data.name + ' ' + v; - }); - } - }, - - globalStatistics: { - regexp: /^> (\d+\.?\d*)%$/, - select: function (popularity) { - popularity = parseFloat(popularity); - var result = []; - - for ( var version in browserslist.usage.global ) { - if ( browserslist.usage.global[version] > popularity ) { - result.push(version); - } - } - - return result; - } - }, - - countryStatistics: { - regexp: /^> (\d+\.?\d*)% in (\w\w)$/, - select: function (popularity, country) { - popularity = parseFloat(popularity); - country = country.toUpperCase(); - var result = []; - - var usage = browserslist.usage[country]; - if ( !usage ) { - usage = { }; - var data = _dereq_('caniuse-db/region-usage-json/' + country); - for ( var i in data.data ) { - fillUsage(usage, i, data.data[i]); - } - browserslist.usage[country] = usage; - } - - for ( var version in usage ) { - if ( usage[version] > popularity ) { - result.push(version); - } - } - - return result; - } - }, - - versions: { - regexp: /^(\w+) (>=?|<=?)\s*([\d\.]+)/, - select: function (name, sign, version) { - var data = browserslist.checkName(name); - var alias = normalizeVersion(data, version); - if ( alias ) { - version = alias; - } - version = parseFloat(version); - - var filter; - if ( sign === '>' ) { - filter = function (v) { - return parseFloat(v) > version; - }; - } else if ( sign === '>=' ) { - filter = function (v) { - return parseFloat(v) >= version; - }; - } else if ( sign === '<' ) { - filter = function (v) { - return parseFloat(v) < version; - }; - } else if ( sign === '<=' ) { - filter = function (v) { - return parseFloat(v) <= version; - }; - } - return data.released.filter(filter).map(function (v) { - return data.name + ' ' + v; - }); - } - }, - - esr: { - regexp: /^(firefox|ff|fx) esr$/i, - select: function () { - return ['firefox 31']; - } - }, - - direct: { - regexp: /^(\w+) ([\d\.]+)$/, - select: function (name, version) { - var data = browserslist.checkName(name); - var alias = normalizeVersion(data, version); - if ( alias ) { - version = alias; - } else { - if ( version.indexOf('.') === -1 ) { - alias = version + '.0'; - } else if ( /\.0$/.test(version) ) { - alias = version.replace(/\.0$/, ''); - } - alias = normalizeVersion(data, alias); - if ( alias ) { - version = alias; - } else { - throw 'Unknown version ' + version + ' of ' + name; - } - } - return [data.name + ' ' + version]; - } - } - -}; - -// Get and convert Can I Use data - -(function () { - for ( var name in caniuse ) { - browserslist.data[name] = { - name: name, - versions: normalize(caniuse[name].versions), - released: normalize(caniuse[name].versions.slice(0, -3)) - }; - fillUsage(browserslist.usage.global, name, caniuse[name].usage_global); - - browserslist.versionAliases[name] = { }; - for ( var i = 0; i < caniuse[name].versions.length; i++ ) { - if ( !caniuse[name].versions[i] ) continue; - var full = caniuse[name].versions[i]; - - if ( full.indexOf('-') !== -1 ) { - var interval = full.split('-'); - for ( var j = 0; j < interval.length; j++ ) { - browserslist.versionAliases[name][ interval[j] ] = full; - } - } - } - } -})(); - -module.exports = browserslist; - -}).call(this,_dereq_("FWaASH")) -},{"FWaASH":135,"caniuse-db/data":52,"fs":130,"path":134}],52:[function(_dereq_,module,exports){ -module.exports={"eras":{"e-39":"39 versions back","e-38":"38 versions back","e-37":"37 versions back","e-36":"36 versions back","e-35":"35 versions back","e-34":"34 versions back","e-33":"33 versions back","e-32":"32 versions back","e-31":"31 versions back","e-30":"30 versions back","e-29":"29 versions back","e-28":"28 versions back","e-27":"27 versions back","e-26":"26 versions back","e-25":"25 versions back","e-24":"24 versions back","e-23":"23 versions back","e-22":"22 versions back","e-21":"21 versions back","e-20":"20 versions back","e-19":"19 versions back","e-18":"18 versions back","e-17":"17 versions back","e-16":"16 versions back","e-15":"15 versions back","e-14":"14 versions back","e-13":"13 versions back","e-12":"12 versions back","e-11":"11 versions back","e-10":"10 versions back","e-9":"9 versions back","e-8":"8 versions back","e-7":"7 versions back","e-6":"6 versions back","e-5":"5 versions back","e-4":"4 versions back","e-3":"3 versions back","e-2":"2 versions back","e-1":"Previous version","e0":"Current","e1":"Near future","e2":"Farther future","e3":"3 versions ahead"},"agents":{"ie":{"browser":"IE","abbr":"IE","prefix":"ms","type":"desktop","usage_global":{"5.5":0.009298,"6":0.0740436,"7":0.0678733,"8":1.96216,"9":1.48087,"10":1.23406,"11":7.60181,"Edge":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"5.5","6","7","8","9","10","11","Edge",null,null]},"firefox":{"browser":"Firefox","abbr":"FF","prefix":"moz","type":"desktop","usage_global":{"2":0.01203,"3":0.02406,"3.5":0.01203,"3.6":0.054135,"4":0.018045,"5":0.01203,"6":0.018045,"7":0.006015,"8":0.02406,"9":0.01203,"10":0.02406,"11":0.02406,"12":0.042105,"13":0.018045,"14":0.018045,"15":0.030075,"16":0.042105,"17":0.02406,"18":0.02406,"19":0.018045,"20":0.02406,"21":0.054135,"22":0.02406,"23":0.03609,"24":0.04812,"25":0.054135,"26":0.03609,"27":0.030075,"28":0.03609,"29":0.054135,"30":0.126315,"31":0.61353,"32":0.34887,"33":0.090225,"34":0.09624,"35":0.15639,"36":0.15639,"37":0.3609,"38":7.45259,"39":0.246615,"40":0.01203,"41":0,"42":0},"versions":["2","3","3.5","3.6","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"]},"chrome":{"browser":"Chrome","abbr":"Chr.","prefix":"webkit","type":"desktop","usage_global":{"4":0.01203,"5":0.01203,"6":0.01203,"7":0.006015,"8":0.006015,"9":0.006015,"10":0.018045,"11":0.06015,"12":0.02406,"13":0.01203,"14":0.01203,"15":0.01203,"16":0.01203,"17":0.01203,"18":0.018045,"19":0.018045,"20":0.01203,"21":0.03609,"22":0.066165,"23":0.02406,"24":0.054135,"25":0.02406,"26":0.042105,"27":0.03609,"28":0.042105,"29":0.04812,"30":0.078195,"31":0.763905,"32":0.066165,"33":0.162405,"34":0.138345,"35":0.258645,"36":0.66165,"37":0.896235,"38":0.25263,"39":0.51729,"40":0.54135,"41":0.487215,"42":0.85413,"43":24.3788,"44":0.13233,"45":0.19248,"46":0},"versions":["4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46"]},"safari":{"browser":"Safari","abbr":"Saf.","prefix":"webkit","type":"desktop","usage_global":{"3.1":0,"3.2":0.008692,"4":0.03609,"5":0.102255,"5.1":0.246615,"6":0.042105,"6.1":0.330825,"7":0.547365,"7.1":0.691725,"8":1.37142,"9":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3.1","3.2","4","5","5.1","6","6.1","7","7.1","8","9",null,null]},"opera":{"browser":"Opera","abbr":"Op.","prefix":"webkit","type":"desktop","usage_global":{"9":0.0082,"9.5-9.6":0.00685,"10.0-10.1":0.02406,"10.5":0.008392,"10.6":0.007296,"11":0.014996,"11.1":0.006229,"11.5":0.006015,"11.6":0.01203,"12":0.01203,"12.1":0.150375,"15":0.00685,"16":0.00685,"17":0.00685,"18":0.006015,"19":0.006015,"20":0.01203,"21":0.006597,"22":0.006597,"23":0.013434,"24":0.006702,"25":0.006015,"26":0.01203,"27":0.006152,"28":0.02406,"29":0.246615,"30":0.427065,"31":0,"32":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,"9","9.5-9.6","10.0-10.1","10.5","10.6","11","11.1","11.5","11.6","12","12.1","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32",null],"prefix_exceptions":{"9":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11":"o","11.1":"o","11.5":"o","11.6":"o","12":"o","12.1":"o"}},"ios_saf":{"browser":"iOS Safari","abbr":"iOS","prefix":"webkit","type":"mobile","usage_global":{"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0282087,"6.0-6.1":0.0907254,"7.0-7.1":0.917928,"8":0.0541303,"8.1-8.3":6.41863,"9":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3.2","4.0-4.1","4.2-4.3","5.0-5.1","6.0-6.1","7.0-7.1","8","8.1-8.3","9",null,null]},"op_mini":{"browser":"Opera Mini","abbr":"O.Mini","prefix":"o","type":"mobile","usage_global":{"5.0-8.0":4.71413},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"5.0-8.0",null,null,null]},"android":{"browser":"Android Browser","abbr":"And.","prefix":"webkit","type":"mobile","usage_global":{"2.1":0,"2.2":0,"2.3":0.0740353,"3":0,"4":0.218662,"4.1":0.74724,"4.2-4.3":1.48329,"4.4":2.60759,"4.4.3-4.4.4":1.13119,"40":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2.1","2.2","2.3","3","4","4.1","4.2-4.3","4.4","4.4.3-4.4.4","40",null,null,null]},"op_mob":{"browser":"Opera Mobile","abbr":"O.Mob","prefix":"o","type":"mobile","usage_global":{"10":0,"11":0,"11.1":0,"11.5":0,"12":0.00257321,"12.1":0.00385982,"30":0.0347384},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11","11.1","11.5","12","12.1","30",null,null,null],"prefix_exceptions":{"30":"webkit"}},"bb":{"browser":"Blackberry Browser","abbr":"BB","prefix":"webkit","type":"mobile","usage_global":{"7":0.093671,"10":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"7","10",null,null,null]},"and_chr":{"browser":"Chrome for Android","abbr":"Chr/And.","prefix":"webkit","type":"mobile","usage_global":{"42":13.7734},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"42",null,null,null]},"and_ff":{"browser":"Firefox for Android","abbr":"FF/And.","prefix":"moz","type":"mobile","usage_global":{"38":0.13951},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"38",null,null,null]},"ie_mob":{"browser":"IE Mobile","abbr":"IE.Mob","prefix":"ms","type":"mobile","usage_global":{"10":0.19437,"11":0.626746},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11",null,null,null]},"and_uc":{"browser":"UC Browser for Android","abbr":"UC","prefix":"webkit","type":"mobile","usage_global":{"9.9":5.94313},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"9.9",null,null,null],"prefix_exceptions":{"9.9":"webkit"}}},"statuses":{"rec":"W3C Recommendation","pr":"W3C Proposed Recommendation","cr":"W3C Candidate Recommendation","wd":"W3C Working Draft","ls":"WHATWG Living Standard","other":"Other","unoff":"Unofficial / Note"},"cats":{"CSS":["CSS","CSS2","CSS3"],"HTML5":["Canvas","HTML5"],"JS API":["JS API"],"Other":["PNG","Other","DOM"],"SVG":["SVG"]},"updated":1436590767,"data":{"png-alpha":{"title":"PNG alpha transparency","description":"Semi-transparent areas in PNG files","spec":"http://www.w3.org/TR/PNG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Portable_Network_Graphics","title":"Wikipedia"},{"url":"http://dillerdesign.com/experiment/DD_belatedPNG/","title":"Workaround for IE6"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y","Edge":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.3":"y","9":"y"},"op_mini":{"5.0-8.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","40":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","30":"y"},"and_chr":{"42":"y"},"and_ff":{"38":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"9.9":"y"}},"notes":"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.","notes_by_num":{},"usage_perc_y":97.61,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":""},"apng":{"title":"Animated PNG (APNG)","description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency","spec":"https://wiki.mozilla.org/APNG_Specification","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/APNG","title":"Wikipedia"},{"url":"https://github.com/davidmz/apng-canvas","title":"Polyfill using canvas"},{"url":"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp","title":"Chrome extension providing support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6513393-apng-animated-png-images-support-firefox-and-sa","title":"Microsoft Edge feature request on UserVoice"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","Edge":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.3":"y","9":"y"},"op_mini":{"5.0-8.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","40":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","30":"n"},"and_chr":{"42":"n"},"and_ff":{"38":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"9.9":"n"}},"notes":"Where support for APNG is missing, only the first frame is displayed","notes_by_num":{},"usage_perc_y":18.74,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":""},"video":{"title":"Video element","description":"Method of playing videos on webpages (without requiring a plug-in).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-element","status":"ls","links":[{"url":"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/","title":"Detailed article on video/audio elements"},{"url":"http://webmproject.org","title":"WebM format information"},{"url":"http://camendesign.co.uk/code/video_for_everybody","title":"Video for Everybody"},{"url":"http://diveintohtml5.info/video.html","title":"Video on the Web - includes info on Android support"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/video","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","Edge":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.3":"y","9":"y"},"op_mini":{"5.0-8.0":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","40":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","30":"y"},"and_chr":{"42":"y"},"and_ff":{"38":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"9.9":"y"}},"notes":"Different browsers have support for different video formats, see sub-features for details.\r\n\r\n","notes_by_num":{"1":"The Android browser (before 2.3) requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to run the video element."},"usage_perc_y":90.78,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"