« get me outta code hell

content: generateColorStyleAttribute - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateColorStyleRules.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-12-29 23:58:38 -0400
committer(quasar) nebula <qznebula@protonmail.com>2023-12-30 16:26:36 -0400
commit3fb01a3022a3f47c0e1e6e76771a35fce23a128b (patch)
treec8b23f194b1c632b02c926cb1b3eeb0b1084cca7 /src/content/dependencies/generateColorStyleRules.js
parentf400a43640e7106d181d55365a9617c3d12e5891 (diff)
content: generateColorStyleAttribute
Diffstat (limited to 'src/content/dependencies/generateColorStyleRules.js')
-rw-r--r--src/content/dependencies/generateColorStyleRules.js23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/content/dependencies/generateColorStyleRules.js b/src/content/dependencies/generateColorStyleRules.js
index 3f1d0130..c412b8f2 100644
--- a/src/content/dependencies/generateColorStyleRules.js
+++ b/src/content/dependencies/generateColorStyleRules.js
@@ -2,15 +2,26 @@ export default {
   contentDependencies: ['generateColorStyleVariables'],
   extraDependencies: ['html'],
 
-  relations: (relation) =>
-    ({variables: relation('generateColorStyleVariables')}),
+  relations: (relation) => ({
+    variables:
+      relation('generateColorStyleVariables'),
+  }),
+
+  data: (color) => ({
+    color:
+      color ?? null,
+  }),
 
   slots: {
-    color: {validate: v => v.isColor},
+    color: {
+      validate: v => v.isColor,
+    },
   },
 
-  generate(relations, slots) {
-    if (!slots.color) {
+  generate(data, relations, slots) {
+    const color = data.color ?? slots.color;
+
+    if (!color) {
       return '';
     }
 
@@ -19,7 +30,7 @@ export default {
       ...(
         relations.variables
           .slots({
-            color: slots.color,
+            color,
             context: 'page-root',
             mode: 'property-list',
           })