Skip to content

Commit 1b0403d

Browse files
committed
feat: add tooltips to all api links
1 parent 85d64c4 commit 1b0403d

File tree

6 files changed

+310
-51
lines changed

6 files changed

+310
-51
lines changed

site/lib/_sass/components/_tooltip.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.tooltip-wrapper {
22
position: relative;
33

4-
.tooltip-target a {
4+
.tooltip-target:has(+.tooltip) a {
55
color: inherit;
66
text-decoration: underline;
77
text-decoration-style: dotted;
@@ -60,4 +60,4 @@
6060
visibility: visible;
6161
}
6262
}
63-
}
63+
}

site/lib/jaspr_options.dart

Lines changed: 81 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,43 @@
77
import 'package:jaspr/jaspr.dart';
88
import 'package:docs_flutter_dev_site/src/client/global_scripts.dart'
99
as prefix0;
10-
import 'package:docs_flutter_dev_site/src/components/common/client/cookie_notice.dart'
10+
import 'package:docs_flutter_dev_site/src/components/common/client/api_link_tooltip.dart'
1111
as prefix1;
12-
import 'package:docs_flutter_dev_site/src/components/common/client/copy_button.dart'
12+
import 'package:docs_flutter_dev_site/src/components/common/client/cookie_notice.dart'
1313
as prefix2;
14-
import 'package:docs_flutter_dev_site/src/components/common/client/download_latest_button.dart'
14+
import 'package:docs_flutter_dev_site/src/components/common/client/copy_button.dart'
1515
as prefix3;
16-
import 'package:docs_flutter_dev_site/src/components/common/client/feedback.dart'
16+
import 'package:docs_flutter_dev_site/src/components/common/client/download_latest_button.dart'
1717
as prefix4;
18-
import 'package:docs_flutter_dev_site/src/components/common/client/on_this_page_button.dart'
18+
import 'package:docs_flutter_dev_site/src/components/common/client/feedback.dart'
1919
as prefix5;
20-
import 'package:docs_flutter_dev_site/src/components/common/client/os_selector.dart'
20+
import 'package:docs_flutter_dev_site/src/components/common/client/on_this_page_button.dart'
2121
as prefix6;
22-
import 'package:docs_flutter_dev_site/src/components/dartpad/dartpad_injector.dart'
22+
import 'package:docs_flutter_dev_site/src/components/common/client/os_selector.dart'
2323
as prefix7;
24-
import 'package:docs_flutter_dev_site/src/components/layout/menu_toggle.dart'
24+
import 'package:docs_flutter_dev_site/src/components/common/client/simple_tooltip.dart'
2525
as prefix8;
26-
import 'package:docs_flutter_dev_site/src/components/layout/site_switcher.dart'
26+
import 'package:docs_flutter_dev_site/src/components/dartpad/dartpad_injector.dart'
2727
as prefix9;
28-
import 'package:docs_flutter_dev_site/src/components/layout/theme_switcher.dart'
28+
import 'package:docs_flutter_dev_site/src/components/layout/client/pagenav.dart'
2929
as prefix10;
30-
import 'package:docs_flutter_dev_site/src/components/pages/archive_table.dart'
30+
import 'package:docs_flutter_dev_site/src/components/layout/menu_toggle.dart'
3131
as prefix11;
32-
import 'package:docs_flutter_dev_site/src/components/pages/glossary_search_section.dart'
32+
import 'package:docs_flutter_dev_site/src/components/layout/site_switcher.dart'
3333
as prefix12;
34-
import 'package:docs_flutter_dev_site/src/components/pages/learning_resource_filters.dart'
34+
import 'package:docs_flutter_dev_site/src/components/layout/theme_switcher.dart'
3535
as prefix13;
36-
import 'package:docs_flutter_dev_site/src/components/pages/learning_resource_filters_sidebar.dart'
36+
import 'package:docs_flutter_dev_site/src/components/pages/archive_table.dart'
3737
as prefix14;
38-
import 'package:docs_flutter_dev_site/src/components/tutorial/client/quiz.dart'
38+
import 'package:docs_flutter_dev_site/src/components/pages/glossary_search_section.dart'
3939
as prefix15;
40-
import 'package:jaspr_content/components/file_tree.dart' as prefix16;
40+
import 'package:docs_flutter_dev_site/src/components/pages/learning_resource_filters.dart'
41+
as prefix16;
42+
import 'package:docs_flutter_dev_site/src/components/pages/learning_resource_filters_sidebar.dart'
43+
as prefix17;
44+
import 'package:docs_flutter_dev_site/src/components/tutorial/client/quiz.dart'
45+
as prefix18;
46+
import 'package:jaspr_content/components/file_tree.dart' as prefix19;
4147

4248
/// Default [JasprOptions] for use with your jaspr project.
4349
///
@@ -61,101 +67,128 @@ JasprOptions get defaultJasprOptions => JasprOptions(
6167
'src/client/global_scripts',
6268
),
6369

64-
prefix1.CookieNotice: ClientTarget<prefix1.CookieNotice>(
70+
prefix1.ApiLinkTooltip: ClientTarget<prefix1.ApiLinkTooltip>(
71+
'src/components/common/client/api_link_tooltip',
72+
params: _prefix1ApiLinkTooltip,
73+
),
74+
75+
prefix2.CookieNotice: ClientTarget<prefix2.CookieNotice>(
6576
'src/components/common/client/cookie_notice',
6677
),
6778

68-
prefix2.CopyButton: ClientTarget<prefix2.CopyButton>(
79+
prefix3.CopyButton: ClientTarget<prefix3.CopyButton>(
6980
'src/components/common/client/copy_button',
70-
params: _prefix2CopyButton,
81+
params: _prefix3CopyButton,
7182
),
7283

73-
prefix3.DownloadLatestButton: ClientTarget<prefix3.DownloadLatestButton>(
84+
prefix4.DownloadLatestButton: ClientTarget<prefix4.DownloadLatestButton>(
7485
'src/components/common/client/download_latest_button',
75-
params: _prefix3DownloadLatestButton,
86+
params: _prefix4DownloadLatestButton,
7687
),
7788

78-
prefix4.FeedbackComponent: ClientTarget<prefix4.FeedbackComponent>(
89+
prefix5.FeedbackComponent: ClientTarget<prefix5.FeedbackComponent>(
7990
'src/components/common/client/feedback',
80-
params: _prefix4FeedbackComponent,
91+
params: _prefix5FeedbackComponent,
8192
),
8293

83-
prefix5.OnThisPageButton: ClientTarget<prefix5.OnThisPageButton>(
94+
prefix6.OnThisPageButton: ClientTarget<prefix6.OnThisPageButton>(
8495
'src/components/common/client/on_this_page_button',
8596
),
8697

87-
prefix6.OsSelector: ClientTarget<prefix6.OsSelector>(
98+
prefix7.OsSelector: ClientTarget<prefix7.OsSelector>(
8899
'src/components/common/client/os_selector',
89100
),
90101

91-
prefix7.DartPadInjector: ClientTarget<prefix7.DartPadInjector>(
102+
prefix8.SimpleTooltip: ClientTarget<prefix8.SimpleTooltip>(
103+
'src/components/common/client/simple_tooltip',
104+
params: _prefix8SimpleTooltip,
105+
),
106+
107+
prefix9.DartPadInjector: ClientTarget<prefix9.DartPadInjector>(
92108
'src/components/dartpad/dartpad_injector',
93-
params: _prefix7DartPadInjector,
109+
params: _prefix9DartPadInjector,
110+
),
111+
112+
prefix10.PageNav: ClientTarget<prefix10.PageNav>(
113+
'src/components/layout/client/pagenav',
114+
params: _prefix10PageNav,
94115
),
95116

96-
prefix8.MenuToggle: ClientTarget<prefix8.MenuToggle>(
117+
prefix11.MenuToggle: ClientTarget<prefix11.MenuToggle>(
97118
'src/components/layout/menu_toggle',
98119
),
99120

100-
prefix9.SiteSwitcher: ClientTarget<prefix9.SiteSwitcher>(
121+
prefix12.SiteSwitcher: ClientTarget<prefix12.SiteSwitcher>(
101122
'src/components/layout/site_switcher',
102123
),
103124

104-
prefix10.ThemeSwitcher: ClientTarget<prefix10.ThemeSwitcher>(
125+
prefix13.ThemeSwitcher: ClientTarget<prefix13.ThemeSwitcher>(
105126
'src/components/layout/theme_switcher',
106127
),
107128

108-
prefix11.ArchiveTable: ClientTarget<prefix11.ArchiveTable>(
129+
prefix14.ArchiveTable: ClientTarget<prefix14.ArchiveTable>(
109130
'src/components/pages/archive_table',
110-
params: _prefix11ArchiveTable,
131+
params: _prefix14ArchiveTable,
111132
),
112133

113-
prefix12.GlossarySearchSection:
114-
ClientTarget<prefix12.GlossarySearchSection>(
134+
prefix15.GlossarySearchSection:
135+
ClientTarget<prefix15.GlossarySearchSection>(
115136
'src/components/pages/glossary_search_section',
116137
),
117138

118-
prefix13.LearningResourceFilters:
119-
ClientTarget<prefix13.LearningResourceFilters>(
139+
prefix16.LearningResourceFilters:
140+
ClientTarget<prefix16.LearningResourceFilters>(
120141
'src/components/pages/learning_resource_filters',
121142
),
122143

123-
prefix14.LearningResourceFiltersSidebar:
124-
ClientTarget<prefix14.LearningResourceFiltersSidebar>(
144+
prefix17.LearningResourceFiltersSidebar:
145+
ClientTarget<prefix17.LearningResourceFiltersSidebar>(
125146
'src/components/pages/learning_resource_filters_sidebar',
126147
),
127148

128-
prefix15.InteractiveQuiz: ClientTarget<prefix15.InteractiveQuiz>(
149+
prefix18.InteractiveQuiz: ClientTarget<prefix18.InteractiveQuiz>(
129150
'src/components/tutorial/client/quiz',
130-
params: _prefix15InteractiveQuiz,
151+
params: _prefix18InteractiveQuiz,
131152
),
132153
},
133-
styles: () => [...prefix16.FileTree.styles],
154+
styles: () => [...prefix19.FileTree.styles],
134155
);
135156

136-
Map<String, dynamic> _prefix2CopyButton(prefix2.CopyButton c) => {
157+
Map<String, dynamic> _prefix1ApiLinkTooltip(prefix1.ApiLinkTooltip c) => {
158+
'url': c.url,
159+
'text': c.text,
160+
};
161+
Map<String, dynamic> _prefix3CopyButton(prefix3.CopyButton c) => {
137162
'toCopy': c.toCopy,
138163
'buttonText': c.buttonText,
139164
'classes': c.classes,
140165
'title': c.title,
141166
};
142-
Map<String, dynamic> _prefix3DownloadLatestButton(
143-
prefix3.DownloadLatestButton c,
167+
Map<String, dynamic> _prefix4DownloadLatestButton(
168+
prefix4.DownloadLatestButton c,
144169
) => {'os': c.os, 'arch': c.arch};
145-
Map<String, dynamic> _prefix4FeedbackComponent(prefix4.FeedbackComponent c) => {
170+
Map<String, dynamic> _prefix5FeedbackComponent(prefix5.FeedbackComponent c) => {
146171
'issueUrl': c.issueUrl,
147172
};
148-
Map<String, dynamic> _prefix7DartPadInjector(prefix7.DartPadInjector c) => {
173+
Map<String, dynamic> _prefix8SimpleTooltip(prefix8.SimpleTooltip c) => {
174+
'target': c.target.toId(),
175+
'content': c.content.toId(),
176+
};
177+
Map<String, dynamic> _prefix9DartPadInjector(prefix9.DartPadInjector c) => {
149178
'title': c.title,
150179
'theme': c.theme,
151180
'height': c.height,
152181
'runAutomatically': c.runAutomatically,
153182
};
154-
Map<String, dynamic> _prefix11ArchiveTable(prefix11.ArchiveTable c) => {
183+
Map<String, dynamic> _prefix10PageNav(prefix10.PageNav c) => {
184+
'title': c.title,
185+
'content': c.content.toId(),
186+
};
187+
Map<String, dynamic> _prefix14ArchiveTable(prefix14.ArchiveTable c) => {
155188
'os': c.os,
156189
'channel': c.channel,
157190
};
158-
Map<String, dynamic> _prefix15InteractiveQuiz(prefix15.InteractiveQuiz c) => {
191+
Map<String, dynamic> _prefix18InteractiveQuiz(prefix18.InteractiveQuiz c) => {
159192
'title': c.title,
160193
'questions': c.questions.map((i) => i.toJson()).toList(),
161194
};

0 commit comments

Comments
 (0)