55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.boxShadow = void 0;
 | 
						|
var parser_1 = require("../syntax/parser");
 | 
						|
var length_percentage_1 = require("../types/length-percentage");
 | 
						|
var color_1 = require("../types/color");
 | 
						|
var length_1 = require("../types/length");
 | 
						|
exports.boxShadow = {
 | 
						|
    name: 'box-shadow',
 | 
						|
    initialValue: 'none',
 | 
						|
    type: 1 /* LIST */,
 | 
						|
    prefix: false,
 | 
						|
    parse: function (context, tokens) {
 | 
						|
        if (tokens.length === 1 && parser_1.isIdentWithValue(tokens[0], 'none')) {
 | 
						|
            return [];
 | 
						|
        }
 | 
						|
        return parser_1.parseFunctionArgs(tokens).map(function (values) {
 | 
						|
            var shadow = {
 | 
						|
                color: 0x000000ff,
 | 
						|
                offsetX: length_percentage_1.ZERO_LENGTH,
 | 
						|
                offsetY: length_percentage_1.ZERO_LENGTH,
 | 
						|
                blur: length_percentage_1.ZERO_LENGTH,
 | 
						|
                spread: length_percentage_1.ZERO_LENGTH,
 | 
						|
                inset: false
 | 
						|
            };
 | 
						|
            var c = 0;
 | 
						|
            for (var i = 0; i < values.length; i++) {
 | 
						|
                var token = values[i];
 | 
						|
                if (parser_1.isIdentWithValue(token, 'inset')) {
 | 
						|
                    shadow.inset = true;
 | 
						|
                }
 | 
						|
                else if (length_1.isLength(token)) {
 | 
						|
                    if (c === 0) {
 | 
						|
                        shadow.offsetX = token;
 | 
						|
                    }
 | 
						|
                    else if (c === 1) {
 | 
						|
                        shadow.offsetY = token;
 | 
						|
                    }
 | 
						|
                    else if (c === 2) {
 | 
						|
                        shadow.blur = token;
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        shadow.spread = token;
 | 
						|
                    }
 | 
						|
                    c++;
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    shadow.color = color_1.color.parse(context, token);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return shadow;
 | 
						|
        });
 | 
						|
    }
 | 
						|
};
 | 
						|
//# sourceMappingURL=box-shadow.js.map
 |