UNPKG

1.52 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.toCSSGradient = void 0;
4var regexLG = /^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i;
5var regexRG = /^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i;
6var regexColorStop = /[\d.]+:(#[^\s]+|[^)]+\))/gi;
7function isGradientColor(val) {
8 return /^[r,R,L,l]{1}[\s]*\(/.test(val);
9}
10function toCSSGradient(gradientColor) {
11 if (isGradientColor(gradientColor)) {
12 var cssColor_1;
13 var steps = void 0;
14 if (gradientColor[0] === 'l') {
15 // 线性渐变
16 var arr = regexLG.exec(gradientColor);
17 var angle = +arr[1] + 90; // css 和 g 的渐变起始角度不同
18 steps = arr[2];
19 cssColor_1 = "linear-gradient(" + angle + "deg, ";
20 }
21 else if (gradientColor[0] === 'r') {
22 // 径向渐变
23 cssColor_1 = 'radial-gradient(';
24 var arr = regexRG.exec(gradientColor);
25 steps = arr[4];
26 }
27 var colorStops_1 = steps.match(regexColorStop);
28 colorStops_1.forEach(function (item, index) {
29 var itemArr = item.split(':');
30 cssColor_1 += itemArr[1] + " " + Number(itemArr[0]) * 100 + "%";
31 if (index !== colorStops_1.length - 1) {
32 cssColor_1 += ', ';
33 }
34 });
35 cssColor_1 += ')';
36 return cssColor_1;
37 }
38 return gradientColor;
39}
40exports.toCSSGradient = toCSSGradient;
41//# sourceMappingURL=tocssgradient.js.map
\No newline at end of file