withAlphaVariable.js
1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
withAlphaValue: ()=>withAlphaValue,
default: ()=>withAlphaVariable
});
const _color = require("./color");
function withAlphaValue(color, alphaValue, defaultValue) {
if (typeof color === "function") {
return color({
opacityValue: alphaValue
});
}
let parsed = (0, _color.parseColor)(color, {
loose: true
});
if (parsed === null) {
return defaultValue;
}
return (0, _color.formatColor)({
...parsed,
alpha: alphaValue
});
}
function withAlphaVariable({ color , property , variable }) {
let properties = [].concat(property);
if (typeof color === "function") {
return {
[variable]: "1",
...Object.fromEntries(properties.map((p)=>{
return [
p,
color({
opacityVariable: variable,
opacityValue: `var(${variable})`
})
];
}))
};
}
const parsed = (0, _color.parseColor)(color);
if (parsed === null) {
return Object.fromEntries(properties.map((p)=>[
p,
color
]));
}
if (parsed.alpha !== undefined) {
// Has an alpha value, return color as-is
return Object.fromEntries(properties.map((p)=>[
p,
color
]));
}
return {
[variable]: "1",
...Object.fromEntries(properties.map((p)=>{
return [
p,
(0, _color.formatColor)({
...parsed,
alpha: `var(${variable})`
})
];
}))
};
}