12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use strict";
- // FIXME:
- // * support multiple backgrounds
- // * also fix longhands
- const parsers = require("../parsers");
- const strings = require("../utils/strings");
- const backgroundImage = require("./backgroundImage");
- const backgroundPosition = require("./backgroundPosition");
- const backgroundRepeat = require("./backgroundRepeat");
- const backgroundAttachment = require("./backgroundAttachment");
- const backgroundColor = require("./backgroundColor");
- const shorthandFor = new Map([
- ["background-image", backgroundImage],
- ["background-position", backgroundPosition],
- ["background-repeat", backgroundRepeat],
- ["background-attachment", backgroundAttachment],
- ["background-color", backgroundColor]
- ]);
- module.exports.definition = {
- set(v) {
- v = parsers.prepareValue(v, this._global);
- if (/^none$/i.test(v)) {
- for (const [key] of shorthandFor) {
- this._setProperty(key, "");
- }
- this._setProperty("background", strings.asciiLowercase(v));
- } else if (parsers.hasVarFunc(v)) {
- for (const [key] of shorthandFor) {
- this._setProperty(key, "");
- }
- this._setProperty("background", v);
- } else {
- this._shorthandSetter("background", v, shorthandFor);
- }
- },
- get() {
- let val = this.getPropertyValue("background");
- if (parsers.hasVarFunc(val)) {
- return val;
- }
- val = this._shorthandGetter("background", shorthandFor);
- if (parsers.hasVarFunc(val)) {
- return "";
- }
- return val;
- },
- enumerable: true,
- configurable: true
- };
|