@ably/ui 8.7.0-dev.6ce15a7 → 8.7.0-dev.7021bee

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 (53) 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 +36 -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 +15 -6
  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/icon-gui-filter-flow-step-1.svg +5 -0
  44. package/src/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  45. package/src/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  46. package/src/core/icons/icon-gui-resources.svg +3 -0
  47. package/src/core/icons/stackoverflow.svg +3 -0
  48. package/src/core/icons/youtube.svg +11 -0
  49. package/src/core/images/ably-logo.png +0 -0
  50. package/src/core/styles/properties.css +2 -0
  51. package/src/core/utils/syntax-highlighter-registry.js +61 -0
  52. package/src/core/utils/syntax-highlighter.css +69 -0
  53. package/src/core/utils/syntax-highlighter.js +98 -0
@@ -0,0 +1,61 @@
1
+ // This file can be used in the browser, but because of the weight of all the language
2
+ // definitions, preferably it should be used on the server.
3
+
4
+ import bash from "highlight.js/lib/languages/bash";
5
+ import cpp from "highlight.js/lib/languages/cpp";
6
+ import csharp from "highlight.js/lib/languages/csharp";
7
+ import css from "highlight.js/lib/languages/css";
8
+ import dart from "highlight.js/lib/languages/dart";
9
+ import dos from "highlight.js/lib/languages/dos";
10
+ import diff from "highlight.js/lib/languages/diff";
11
+ import erlang from "highlight.js/lib/languages/erlang";
12
+ import elixir from "highlight.js/lib/languages/elixir";
13
+ import plaintext from "highlight.js/lib/languages/plaintext";
14
+ import go from "highlight.js/lib/languages/go";
15
+ import http from "highlight.js/lib/languages/http";
16
+ import java from "highlight.js/lib/languages/java";
17
+ import javascript from "highlight.js/lib/languages/javascript";
18
+ import typescript from "highlight.js/lib/languages/typescript";
19
+ import json from "highlight.js/lib/languages/json";
20
+ import objectivec from "highlight.js/lib/languages/objectivec";
21
+ import php from "highlight.js/lib/languages/php";
22
+ import python from "highlight.js/lib/languages/python";
23
+ import ruby from "highlight.js/lib/languages/ruby";
24
+ import swift from "highlight.js/lib/languages/swift";
25
+ import sql from "highlight.js/lib/languages/sql";
26
+ import xml from "highlight.js/lib/languages/xml";
27
+ import yaml from "highlight.js/lib/languages/yaml";
28
+ import curl from "highlightjs-curl/src/languages/curl";
29
+
30
+ const registry = [
31
+ { label: "Text", key: "text", module: plaintext },
32
+ { label: "JS", key: "javascript", module: javascript },
33
+ { label: "TS", key: "typescript", module: typescript },
34
+ { label: "Java", key: "java", module: java },
35
+ { label: "Ruby", key: "ruby", module: ruby },
36
+ { label: "Python", key: "python", module: python },
37
+ { label: "PHP", key: "php", module: php },
38
+ { label: "Shell", key: "bash", module: bash },
39
+ { label: "C#", key: "cs", module: csharp },
40
+ { label: "CSS", key: "css", module: css },
41
+ { label: "Go", key: "go", module: go },
42
+ { label: "HTML", key: "xml", module: xml },
43
+ { label: "HTTP", key: "http", module: http },
44
+ { label: "C++", key: "cpp", module: cpp },
45
+ { label: "Dart", key: "dart", module: dart },
46
+ { label: "Swift", key: "swift", module: swift },
47
+ { label: "Objective C", key: "objectivec", module: objectivec },
48
+ { label: "Node.js", key: "javascript", module: javascript },
49
+ { label: "JSON", key: "json", module: json },
50
+ { label: "DOS", key: "dos", module: dos },
51
+ { label: "YAML", key: "yaml", module: yaml },
52
+ { label: "Erlang", key: "erlang", module: erlang },
53
+ { label: "Elixir", key: "elixir", module: elixir },
54
+ { label: "Diff", key: "diff", module: diff },
55
+ { label: "SQL", key: "sql", module: sql },
56
+ { label: "cURL", key: "curl", module: curl },
57
+ { label: "HTML", key: "html", module: xml },
58
+ { label: "XML", key: "xml", module: xml },
59
+ ];
60
+
61
+ export default registry;
@@ -0,0 +1,69 @@
1
+ @layer base {
2
+ @import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,600;0,700;1,600;1,700&display=swap");
3
+ }
4
+
5
+ @layer components {
6
+ .hljs {
7
+ background: var(--syntax-black);
8
+ color: var(--syntax-light-grey);
9
+ }
10
+
11
+ .hljs-emphasis {
12
+ @apply italic;
13
+ }
14
+
15
+ .hljs-strong {
16
+ @apply font-bold;
17
+ }
18
+
19
+ .hljs-comment,
20
+ .hljs-quote {
21
+ color: var(--syntax-dark-grey);
22
+ }
23
+
24
+ .hljs-variable,
25
+ .hljs-template-variable,
26
+ .hljs-tag,
27
+ .hljs-name,
28
+ .hljs-selector-id,
29
+ .hljs-selector-class,
30
+ .hljs-regexp,
31
+ .hljs-deletion {
32
+ color: var(--syntax-red);
33
+ }
34
+
35
+ .hljs-number,
36
+ .hljs-built_in,
37
+ .hljs-literal,
38
+ .hljs-type,
39
+ .hljs-params,
40
+ .hljs-meta,
41
+ .hljs-link {
42
+ color: var(--syntax-orange);
43
+ }
44
+
45
+ .hljs-attribute {
46
+ color: var(--syntax-yellow);
47
+ }
48
+
49
+ .hljs-string,
50
+ .hljs-symbol,
51
+ .hljs-bullet,
52
+ .hljs-addition {
53
+ color: var(--syntax-green);
54
+ }
55
+
56
+ .hljs-title,
57
+ .hljs-section {
58
+ color: var(--syntax-blue);
59
+ }
60
+
61
+ .hljs-keyword,
62
+ .hljs-selector-tag {
63
+ color: var(--syntax-lilac);
64
+ }
65
+
66
+ .hljs-subst {
67
+ color: var(--syntax-mid-grey);
68
+ }
69
+ }
@@ -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 };