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
|
export default {
contentDependencies: ['generateColorStyleVariables'],
extraDependencies: ['html'],
relations: (relation) => ({
variables:
relation('generateColorStyleVariables'),
}),
data: (color) => ({
color:
color ?? null,
}),
slots: {
color: {
validate: v => v.isColor,
},
},
generate(data, relations, slots) {
const color = data.color ?? slots.color;
if (!color) {
return '';
}
return [
`:root {`,
...(
relations.variables
.slots({
color,
context: 'page-root',
mode: 'property-list',
})
.content
.map(line => line + ';')),
`}`,
].join('\n');
},
};
|