UNPKG

1.28 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var formatting_1 = require("./utils/formatting");
4/**
5 * Helper for the linear-gradient function in CSS
6 * https://drafts.csswg.org/css-images-3/#funcdef-linear-gradient
7 */
8function linearGradient(position) {
9 var colors = [];
10 for (var _i = 1; _i < arguments.length; _i++) {
11 colors[_i - 1] = arguments[_i];
12 }
13 return formatting_1.cssFunction('linear-gradient', [position].concat(colors.map(flattenColorStops)));
14}
15exports.linearGradient = linearGradient;
16/**
17 * Helper for the repeating-linear-gradient function in CSS
18 * https://drafts.csswg.org/css-images-3/#funcdef-repeating-linear-gradient
19 */
20function repeatingLinearGradient(position) {
21 var colors = [];
22 for (var _i = 1; _i < arguments.length; _i++) {
23 colors[_i - 1] = arguments[_i];
24 }
25 return formatting_1.cssFunction('repeating-linear-gradient', [position].concat(colors.map(flattenColorStops)));
26}
27exports.repeatingLinearGradient = repeatingLinearGradient;
28/**
29 * Single CSSColorStop => string conversion is like:
30 * 'x'=>'x'
31 * ['x', '50%'] => 'x 50%'
32 **/
33function flattenColorStops(c) {
34 return Array.isArray(c) ? c.map(function (s) { return s.toString(); }).join(' ') : c.toString();
35}