diff options
Diffstat (limited to 'node_modules/cssnano/node_modules/autoprefixer/lib/hacks/display-flex.js')
| -rw-r--r-- | node_modules/cssnano/node_modules/autoprefixer/lib/hacks/display-flex.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/node_modules/cssnano/node_modules/autoprefixer/lib/hacks/display-flex.js b/node_modules/cssnano/node_modules/autoprefixer/lib/hacks/display-flex.js new file mode 100644 index 00000000..2fdc914a --- /dev/null +++ b/node_modules/cssnano/node_modules/autoprefixer/lib/hacks/display-flex.js @@ -0,0 +1,52 @@ +(function() { + var DisplayFlex, 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 = require('./flex-spec'); + + OldValue = require('../old-value'); + + Value = require('../value'); + + 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.prop === 'display' && 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); |
