in lib/sharing/editor_ui.dart [65:111]
void showPackageVersionsDialog() {
final directlyImportableList = StringBuffer('<dl>');
final indirectList = StringBuffer('<dl>');
for (final package in _packageInfo) {
final packageUrl = 'https://pub.dev/packages/${package.name}';
final packageLink = AnchorElement()
..href = packageUrl
..setAttribute('target', '_blank')
..text = package.name;
final dt = '<dt>${packageLink.outerHtml}</dt>';
final packageVersion = package.version;
final versionLink = SpanElement()
..children.add(AnchorElement()
..href = '$packageUrl/versions/$packageVersion'
..setAttribute('target', '_blank')
..text = packageVersion);
final dd = '<dd>${versionLink.outerHtml}</dd>';
if (package.supported) {
directlyImportableList.write(dt);
directlyImportableList.write(dd);
} else {
indirectList.write(dt);
indirectList.write(dd);
}
}
directlyImportableList.write('</dl>');
indirectList.write('</dl>');
final directDl = Element.html(directlyImportableList.toString(),
treeSanitizer: NodeTreeSanitizer.trusted);
final indirectDl = Element.html(indirectList.toString(),
treeSanitizer: NodeTreeSanitizer.trusted);
final div = DivElement()
..children.add(DivElement()
..children
.add(ParagraphElement()..text = 'Directly importable packages')
..children.add(directDl)
..children.add(ParagraphElement()
..text = 'Packages available transitively'
..children.add(BRElement())
..children.add(SpanElement()
..text = '(These are not directly importable.)'
..classes.add('muted')))
..children.add(indirectDl)
..classes.add('keys-dialog'));
dialog.showOk('Pub package versions', div.innerHtml);
}