csx
Version:
Utility functions for TypeStyle
36 lines (35 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var formatting_1 = require("./utils/formatting");
/**
* Helper for the linear-gradient function in CSS
* https://drafts.csswg.org/css-images-3/#funcdef-linear-gradient
*/
function linearGradient(position) {
var colors = [];
for (var _i = 1; _i < arguments.length; _i++) {
colors[_i - 1] = arguments[_i];
}
return formatting_1.cssFunction('linear-gradient', [position].concat(colors.map(flattenColorStops)));
}
exports.linearGradient = linearGradient;
/**
* Helper for the repeating-linear-gradient function in CSS
* https://drafts.csswg.org/css-images-3/#funcdef-repeating-linear-gradient
*/
function repeatingLinearGradient(position) {
var colors = [];
for (var _i = 1; _i < arguments.length; _i++) {
colors[_i - 1] = arguments[_i];
}
return formatting_1.cssFunction('repeating-linear-gradient', [position].concat(colors.map(flattenColorStops)));
}
exports.repeatingLinearGradient = repeatingLinearGradient;
/**
* Single CSSColorStop => string conversion is like:
* 'x'=>'x'
* ['x', '50%'] => 'x 50%'
**/
function flattenColorStops(c) {
return Array.isArray(c) ? c.map(function (s) { return s.toString(); }).join(' ') : c.toString();
}