| | let OldValue = require('../old-value') |
| | let Value = require('../value') |
| | let flexSpec = require('./flex-spec') |
| |
|
| | class DisplayFlex extends Value { |
| | constructor(name, prefixes) { |
| | super(name, prefixes) |
| | if (name === 'display-flex') { |
| | this.name = 'flex' |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | check(decl) { |
| | return decl.prop === 'display' && decl.value === this.name |
| | } |
| |
|
| | |
| | |
| | |
| | old(prefix) { |
| | let prefixed = this.prefixed(prefix) |
| | if (!prefixed) return undefined |
| | return new OldValue(this.name, prefixed) |
| | } |
| |
|
| | |
| | |
| | |
| | prefixed(prefix) { |
| | let spec, value |
| | ;[spec, prefix] = flexSpec(prefix) |
| |
|
| | if (spec === 2009) { |
| | if (this.name === 'flex') { |
| | value = 'box' |
| | } else { |
| | value = 'inline-box' |
| | } |
| | } else if (spec === 2012) { |
| | if (this.name === 'flex') { |
| | value = 'flexbox' |
| | } else { |
| | value = 'inline-flexbox' |
| | } |
| | } else if (spec === 'final') { |
| | value = this.name |
| | } |
| |
|
| | return prefix + value |
| | } |
| |
|
| | |
| | |
| | |
| | replace(string, prefix) { |
| | return this.prefixed(prefix) |
| | } |
| | } |
| |
|
| | DisplayFlex.names = ['display-flex', 'inline-flex'] |
| |
|
| | module.exports = DisplayFlex |
| |
|