@ably/ui 8.7.0-dev.6ce15a7 → 8.7.0-dev.80c4fae

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/core/.DS_Store +0 -0
  3. package/core/Code/component.css +3 -3
  4. package/core/Code/component.js +1 -1
  5. package/core/Code.jsx +328 -7145
  6. package/core/DropdownMenu/component.js +1 -0
  7. package/core/DropdownMenu.jsx +313 -0
  8. package/core/Flash.jsx +132 -57
  9. package/core/Logo.jsx +28 -113
  10. package/core/Meganav.jsx +180 -176
  11. package/core/MeganavContentDevelopers.jsx +13 -1
  12. package/core/MeganavContentUseCases.jsx +1 -1
  13. package/core/Notice/component.js +1 -1
  14. package/core/Notice/component.js.LICENSE.txt +0 -15
  15. package/core/Notice.jsx +133 -58
  16. package/core/images/ably-logo.png +0 -0
  17. package/core/sprites.svg +22 -1
  18. package/core/styles.css +2 -0
  19. package/package.json +3 -1
  20. package/src/core/.DS_Store +0 -0
  21. package/src/core/Code/component.css +1 -67
  22. package/src/core/Code/component.js +11 -46
  23. package/src/core/Code/component.jsx +7 -3
  24. package/src/core/DropdownMenu/component.js +0 -0
  25. package/src/core/DropdownMenu/component.jsx +112 -0
  26. package/src/core/FeatureFooter/component.html.erb +1 -1
  27. package/src/core/Flash/component.jsx +42 -14
  28. package/src/core/Logo/component.html.erb +2 -27
  29. package/src/core/Logo/component.jsx +7 -40
  30. package/src/core/Logo/component.rb +5 -4
  31. package/src/core/Meganav/component.html.erb +1 -1
  32. package/src/core/Meganav/component.jsx +1 -1
  33. package/src/core/Meganav/component.rb +1 -0
  34. package/src/core/MeganavContentDevelopers/component.html.erb +9 -0
  35. package/src/core/MeganavContentDevelopers/component.jsx +9 -0
  36. package/src/core/MeganavContentUseCases/component.html.erb +1 -1
  37. package/src/core/MeganavContentUseCases/component.jsx +1 -1
  38. package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
  39. package/src/core/core.rb +4 -0
  40. package/src/core/icons/github.svg +1 -1
  41. package/src/core/icons/google.svg +3 -0
  42. package/src/core/icons/icon-display-integrations-col.svg +8 -0
  43. package/src/core/icons/stackoverflow.svg +3 -0
  44. package/src/core/icons/youtube.svg +11 -0
  45. package/src/core/images/ably-logo.png +0 -0
  46. package/src/core/styles/properties.css +2 -0
  47. package/src/core/utils/syntax-highlighter-registry.js +61 -0
  48. package/src/core/utils/syntax-highlighter.css +69 -0
  49. package/src/core/utils/syntax-highlighter.js +98 -0
@@ -0,0 +1,98 @@
1
+ import hljs from "highlight.js/lib/core";
2
+
3
+ // Map certain frameworks, protocols etc to available langauage packs
4
+ const languageToHighlightKey = (lang) => {
5
+ let id;
6
+
7
+ if (!lang) {
8
+ lang = "text";
9
+ }
10
+
11
+ switch (lang.toLowerCase()) {
12
+ case "android":
13
+ id = "java";
14
+ break;
15
+
16
+ case ".net":
17
+ case "net":
18
+ case "dotnet":
19
+ case "csharp":
20
+ case "c#":
21
+ id = "cs";
22
+ break;
23
+
24
+ case "objc":
25
+ case "objective c":
26
+ id = "objectivec";
27
+ break;
28
+
29
+ case "laravel":
30
+ id = "php";
31
+ break;
32
+
33
+ case "flutter":
34
+ id = "dart";
35
+ break;
36
+
37
+ case "node.js":
38
+ case "js":
39
+ id = "javascript";
40
+ break;
41
+
42
+ case "ts":
43
+ id = "typescript";
44
+ break;
45
+
46
+ case "shell":
47
+ case "fh":
48
+ case "sh":
49
+ id = "bash";
50
+ break;
51
+
52
+ case "https":
53
+ case "http":
54
+ case "txt":
55
+ case "plaintext":
56
+ id = "text";
57
+ break;
58
+
59
+ case "cmd":
60
+ case "bat":
61
+ id = "dos";
62
+ break;
63
+
64
+ case "yml":
65
+ id = "yaml";
66
+ break;
67
+
68
+ case "erl":
69
+ id = "erlang";
70
+ break;
71
+
72
+ case "patch":
73
+ id = "diff";
74
+ break;
75
+
76
+ case "svg":
77
+ id = "xml";
78
+ break;
79
+
80
+ default:
81
+ break;
82
+ }
83
+
84
+ return id || lang;
85
+ };
86
+
87
+ const registerDefaultLanguages = (register) => {
88
+ register.forEach(({ key, module }) => hljs.registerLanguage(key, module));
89
+ };
90
+
91
+ const highlightSnippet = (languageKeyword, snippet) => {
92
+ const language = languageToHighlightKey(languageKeyword);
93
+ if (typeof snippet !== "string" || !snippet || !language) return;
94
+
95
+ return hljs.highlight(snippet, { language }).value;
96
+ };
97
+
98
+ export { highlightSnippet, languageToHighlightKey, registerDefaultLanguages };