Skip to main content
Go to Latest
File
import flexSpec from "./flex-spec.js";import OldValue from "../old-value.js";import Value from "../value.js";
class DisplayFlex extends Value { constructor(name, prefixes) { super(name, prefixes); if (name === "display-flex") { this.name = "flex"; } }
/** * Faster check for flex value */ check(decl) { return decl.prop === "display" && decl.value === this.name; }
/** * Return value by spec */ 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; }
/** * Add prefix to value depend on flebox spec version */ replace(string, prefix) { return this.prefixed(prefix); }
/** * Change value for old specs */ old(prefix) { let prefixed = this.prefixed(prefix); if (!prefixed) return undefined; return new OldValue(this.name, prefixed); }}
DisplayFlex.names = ["display-flex", "inline-flex"];
export default DisplayFlex;