flexBasis.js 792 B

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. const parsers = require("../parsers");
  3. module.exports.parse = function parse(v) {
  4. const val = parsers.parseMeasurement(v);
  5. if (val) {
  6. return val;
  7. }
  8. const keywords = ["content", "auto", "min-content", "max-content"];
  9. return parsers.parseKeyword(v, keywords);
  10. };
  11. module.exports.isValid = function isValid(v) {
  12. return typeof module.exports.parse(v) === "string";
  13. };
  14. module.exports.definition = {
  15. set(v) {
  16. v = parsers.prepareValue(v, this._global);
  17. if (parsers.hasVarFunc(v)) {
  18. this._setProperty("flex", "");
  19. this._setProperty("flex-basis", v);
  20. } else {
  21. this._setProperty("flex-basis", module.exports.parse(v));
  22. }
  23. },
  24. get() {
  25. return this.getPropertyValue("flex-basis");
  26. },
  27. enumerable: true,
  28. configurable: true
  29. };