Skip to content

Commit cf810da

Browse files
committed
Style tooltip
Bold heading and separator
1 parent 02215c3 commit cf810da

File tree

3 files changed

+60
-13
lines changed

3 files changed

+60
-13
lines changed

src/Elastic.Documentation.Site/Assets/markdown/applies-to.css

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,22 @@
4646
}
4747
}
4848
}
49+
50+
.tippy-box[data-theme~='applies-to'] {
51+
/*background-color: tomato;*/
52+
/*color: yellow;*/
53+
.tippy-content {
54+
white-space: normal;
55+
56+
strong {
57+
display: block;
58+
margin-bottom: calc(var(--spacing) * 1);
59+
}
60+
}
61+
62+
.tippy-content > div:not(:last-child) {
63+
border-bottom: 1px dotted var(--color-grey-50);
64+
padding-bottom: calc(var(--spacing) * 3);
65+
margin-bottom: calc(var(--spacing) * 3);
66+
}
67+
}
Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,39 @@
11
import tippy from 'tippy.js'
2+
import { $$ } from 'select-dom'
23

34
document.addEventListener('htmx:load', function () {
4-
tippy(
5-
[
6-
'.applies [data-tippy-content]:not([data-tippy-content=""])',
7-
'.applies-inline [data-tippy-content]:not([data-tippy-content=""])',
8-
].join(', '),
9-
{
10-
delay: [400, 100],
11-
hideOnClick: false,
12-
}
13-
)
5+
6+
const selector = [
7+
'.applies [data-tippy-content]:not([data-tippy-content=""])',
8+
'.applies-inline [data-tippy-content]:not([data-tippy-content=""])',
9+
].join(', ')
10+
11+
const appliesToBadgesWithTooltip = $$(selector)
12+
appliesToBadgesWithTooltip.forEach(badge => {
13+
const content = badge.getAttribute('data-tippy-content')
14+
if (!content)
15+
return
16+
tippy(
17+
badge,
18+
{
19+
content,
20+
allowHTML: true,
21+
delay: [400, 100],
22+
hideOnClick: false,
23+
ignoreAttributes: true,
24+
theme: 'applies-to'
25+
}
26+
)
27+
})
28+
29+
// tippy(
30+
// [
31+
// '.applies [data-tippy-content]:not([data-tippy-content=""])',
32+
// '.applies-inline [data-tippy-content]:not([data-tippy-content=""])',
33+
// ].join(', '),
34+
// {
35+
// delay: [400, 100],
36+
// hideOnClick: false,
37+
// }
38+
// )
1439
})

src/Elastic.Markdown/Myst/Components/ApplicabilityRenderer.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,17 @@ private static string BuildCombinedTooltipText(
7373
var orderedApplicabilities = applicabilities
7474
.OrderByDescending(a => a.Version is null || a.Version is AllVersions || a.Version <= versioningSystem.Current ? 1 : 0)
7575
.ThenByDescending(a => a.Version ?? new SemVersion(0, 0, 0))
76-
.ThenBy(a => a.Version ?? new SemVersion(0, 0, 0));
76+
.ThenBy(a => a.Version ?? new SemVersion(0, 0, 0))
77+
.ToList();
7778

7879
foreach (var applicability in orderedApplicabilities)
7980
{
8081
var realVersion = TryGetRealVersion(applicability, out var v) ? v : null;
8182
var lifecycleFull = GetLifecycleFullText(applicability.Lifecycle);
8283
var heading = CreateApplicabilityHeading(applicability, applicabilityDefinition, realVersion);
8384
var tooltipText = BuildTooltipText(applicability, applicabilityDefinition, versioningSystem, realVersion, lifecycleFull);
84-
tooltipParts.Add($"{heading}\n{tooltipText}");
85+
// language=html
86+
tooltipParts.Add($"<div>{heading}{tooltipText}</div>");
8587
}
8688

8789
return string.Join("\n\n", tooltipParts);
@@ -91,7 +93,8 @@ private static string CreateApplicabilityHeading(Applicability applicability, Ap
9193
{
9294
var lifecycleName = applicability.GetLifeCycleName();
9395
var versionText = realVersion is not null ? $" {realVersion}" : "";
94-
return $"{applicabilityDefinition.DisplayName} {lifecycleName}{versionText}:";
96+
// language=html
97+
return $"""<strong>{applicabilityDefinition.DisplayName} {lifecycleName}{versionText}:</strong>""";
9598
}
9699

97100
private static string GetLifecycleFullText(ProductLifecycle lifecycle) => lifecycle switch

0 commit comments

Comments
 (0)