« get me outta code hell

content, css: generateTextWithTooltip: custom interaction cues - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTextWithTooltip.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-02-06 18:40:50 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-02-10 13:31:05 -0400
commit7139db9b07d049459e7f0100ba37acb495c1fdfb (patch)
tree5cc53024c791ca032eff382998b8e8e0d8c2f398 /src/content/dependencies/generateTextWithTooltip.js
parentc53d9751c7a8d8687a6a27b308462c5ca77953e5 (diff)
content, css: generateTextWithTooltip: custom interaction cues
Diffstat (limited to 'src/content/dependencies/generateTextWithTooltip.js')
-rw-r--r--src/content/dependencies/generateTextWithTooltip.js19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/content/dependencies/generateTextWithTooltip.js b/src/content/dependencies/generateTextWithTooltip.js
index 518e8782..462557d1 100644
--- a/src/content/dependencies/generateTextWithTooltip.js
+++ b/src/content/dependencies/generateTextWithTooltip.js
@@ -7,6 +7,11 @@ export default {
       mutable: false,
     },
 
+    customInteractionCue: {
+      type: 'boolean',
+      default: false,
+    },
+
     text: {
       type: 'html',
       mutable: false,
@@ -37,10 +42,20 @@ export default {
       });
     }
 
+    const textPart =
+      (hasTooltip && slots.customInteractionCue
+        ? html.tag('span', {class: 'hoverable'},
+            slots.text)
+     : hasTooltip
+        ? html.tag('span', {class: 'hoverable'},
+            html.tag('span', {class: 'text-with-tooltip-interaction-cue'},
+              slots.text))
+        : slots.text);
+
     const content =
       (hasTooltip
-        ? [slots.text, slots.tooltip]
-        : slots.text);
+        ? [textPart, slots.tooltip]
+        : textPart);
 
     return html.tag('span', attributes, content);
   },