@ably/ui 8.7.0-dev.4e08581 → 8.7.0-dev.579e0ab

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 (164) hide show
  1. package/README.md +16 -5
  2. package/core/Code/component.css +5 -3
  3. package/core/Code/component.js +1 -1
  4. package/core/Code.jsx +351 -7148
  5. package/core/CompanyAutocomplete/component.js +1 -1
  6. package/core/ConnectStateWrapper/component.js +1 -1
  7. package/core/ConnectStateWrapper.jsx +7 -7
  8. package/core/ContactFooter/component.js +1 -1
  9. package/core/ContactFooter.jsx +12 -12
  10. package/core/CookieMessage/component.js +1 -1
  11. package/core/CookieMessage.jsx +10 -10
  12. package/core/CustomerLogos/component.js +1 -1
  13. package/core/CustomerLogos.jsx +7 -7
  14. package/core/DropdownMenu/component.js +1 -0
  15. package/core/DropdownMenu.jsx +313 -0
  16. package/core/FeatureFooter/component.js +1 -1
  17. package/core/FeaturedLink/component.css +1 -1
  18. package/core/FeaturedLink/component.js +1 -1
  19. package/core/FeaturedLink.jsx +10 -10
  20. package/core/Flash/component.js +1 -1
  21. package/core/Flash.jsx +142 -70
  22. package/core/Footer/component.css +22 -2
  23. package/core/Footer/component.js +1 -1
  24. package/core/Footer.jsx +156 -65
  25. package/core/Icon/component.js +1 -1
  26. package/core/Icon.jsx +7 -7
  27. package/core/Loader/component.js +1 -1
  28. package/core/Loader.jsx +7 -7
  29. package/core/Logo/component.js +1 -1
  30. package/core/Logo.jsx +33 -118
  31. package/core/Meganav/component.css +8 -10
  32. package/core/Meganav/component.js +1 -1
  33. package/core/Meganav/component.json +1 -1
  34. package/core/Meganav.jsx +395 -361
  35. package/core/MeganavBlogPostsList/component.js +1 -1
  36. package/core/MeganavBlogPostsList.jsx +13 -13
  37. package/core/MeganavContentCompany/component.js +1 -1
  38. package/core/MeganavContentCompany.jsx +39 -27
  39. package/core/MeganavContentDevelopers/component.js +1 -1
  40. package/core/MeganavContentDevelopers.jsx +48 -23
  41. package/core/MeganavContentPlatform/component.js +1 -1
  42. package/core/MeganavContentPlatform.jsx +23 -23
  43. package/core/MeganavContentUseCases/component.js +1 -1
  44. package/core/MeganavContentUseCases.jsx +63 -55
  45. package/core/MeganavContentWhyAbly/component.js +21 -5
  46. package/core/MeganavContentWhyAbly.jsx +3276 -3
  47. package/core/MeganavControl/component.js +1 -1
  48. package/core/MeganavControl.jsx +10 -10
  49. package/core/MeganavControlMobileDropdown/component.js +1 -1
  50. package/core/MeganavControlMobileDropdown.jsx +11 -11
  51. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  52. package/core/MeganavControlMobilePanelClose.jsx +10 -10
  53. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  54. package/core/MeganavControlMobilePanelOpen.jsx +10 -10
  55. package/core/MeganavItemsDesktop/component.js +1 -1
  56. package/core/MeganavItemsDesktop.jsx +16 -16
  57. package/core/MeganavItemsMobile/component.js +1 -1
  58. package/core/MeganavItemsMobile.jsx +39 -39
  59. package/core/MeganavItemsSignedIn/component.js +1 -1
  60. package/core/MeganavItemsSignedIn.jsx +33 -33
  61. package/core/MeganavSearch/component.js +1 -1
  62. package/core/MeganavSearch.jsx +23 -23
  63. package/core/MeganavSearchAutocomplete/component.js +1 -1
  64. package/core/MeganavSearchAutocomplete.jsx +4 -4
  65. package/core/MeganavSearchPanel/component.js +1 -1
  66. package/core/MeganavSearchPanel.jsx +19 -19
  67. package/core/MeganavSearchSuggestions/component.js +1 -1
  68. package/core/MeganavSearchSuggestions.jsx +13 -13
  69. package/core/Notice/component.css +1 -1
  70. package/core/Notice/component.js +1 -1
  71. package/core/Notice.jsx +154 -82
  72. package/core/Showcase/component.js +1 -1
  73. package/core/Showcase.jsx +1 -1
  74. package/core/SignOutLink/component.js +1 -1
  75. package/core/SignOutLink.jsx +7 -7
  76. package/core/Slider/component.js +1 -1
  77. package/core/Slider.jsx +14 -14
  78. package/core/Uptime/component.js +1 -1
  79. package/core/Uptime.jsx +15 -15
  80. package/core/fonts/jetBrains-mono.css +3 -0
  81. package/core/fonts/manrope.css +3 -0
  82. package/core/images/ably-logo.png +0 -0
  83. package/core/images/high-performer-2022.png +0 -0
  84. package/core/images/highest-user-adoption-2022.png +0 -0
  85. package/core/images/users-love-us-2022.png +0 -0
  86. package/core/scripts.js +1 -1
  87. package/core/sprites.svg +106 -1
  88. package/core/styles.css +124 -94
  89. package/package.json +3 -2
  90. package/reset/scripts.js +1 -1
  91. package/reset/styles.css +1 -11
  92. package/src/core/Code/component.css +1 -67
  93. package/src/core/Code/component.js +11 -46
  94. package/src/core/Code/component.jsx +7 -3
  95. package/src/core/DropdownMenu/component.jsx +112 -0
  96. package/src/core/FeatureFooter/component.html.erb +1 -1
  97. package/src/core/FeaturedLink/component.css +1 -1
  98. package/src/core/Flash/component.jsx +40 -14
  99. package/src/core/Footer/component.css +22 -2
  100. package/src/core/Footer/component.html.erb +119 -57
  101. package/src/core/Footer/component.jsx +127 -52
  102. package/src/core/Logo/component.html.erb +2 -27
  103. package/src/core/Logo/component.jsx +7 -40
  104. package/src/core/Logo/component.rb +15 -6
  105. package/src/core/Meganav/component.css +8 -8
  106. package/src/core/Meganav/component.html.erb +1 -1
  107. package/src/core/Meganav/component.json +1 -1
  108. package/src/core/Meganav/component.jsx +1 -1
  109. package/src/core/Meganav/component.rb +3 -2
  110. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  111. package/src/core/MeganavContentCompany/component.jsx +9 -0
  112. package/src/core/MeganavContentDevelopers/component.html.erb +27 -11
  113. package/src/core/MeganavContentDevelopers/component.jsx +28 -9
  114. package/src/core/MeganavContentPlatform/component.html.erb +6 -6
  115. package/src/core/MeganavContentPlatform/component.jsx +7 -7
  116. package/src/core/MeganavContentUseCases/component.html.erb +43 -39
  117. package/src/core/MeganavContentUseCases/component.jsx +42 -39
  118. package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
  119. package/src/core/Notice/component.css +1 -1
  120. package/src/core/Notice/component.html.erb +2 -2
  121. package/src/core/Notice/component.jsx +2 -2
  122. package/src/core/core.rb +12 -4
  123. package/src/core/fonts/jetBrains-mono.css +3 -0
  124. package/src/core/fonts/manrope.css +3 -0
  125. package/src/core/icons/github.svg +1 -1
  126. package/src/core/icons/google.svg +3 -0
  127. package/src/core/icons/icon-display-chat-col.svg +4 -0
  128. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  129. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  130. package/src/core/icons/icon-display-events-col.svg +13 -0
  131. package/src/core/icons/icon-display-integrations-col.svg +8 -0
  132. package/src/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  133. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  134. package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  135. package/src/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  136. package/src/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  137. package/src/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  138. package/src/core/icons/icon-gui-resources.svg +3 -0
  139. package/src/core/icons/icon-tech-apachekafka.svg +3 -0
  140. package/src/core/icons/stackoverflow.svg +3 -0
  141. package/src/core/icons/youtube.svg +11 -0
  142. package/src/core/images/ably-logo.png +0 -0
  143. package/src/core/images/high-performer-2022.png +0 -0
  144. package/src/core/images/highest-user-adoption-2022.png +0 -0
  145. package/src/core/images/users-love-us-2022.png +0 -0
  146. package/src/core/styles/buttons.css +5 -5
  147. package/src/core/styles/forms.css +5 -5
  148. package/src/core/styles/properties.css +49 -31
  149. package/src/core/styles/text.css +65 -47
  150. package/src/core/utils/syntax-highlighter-registry.js +63 -0
  151. package/src/core/utils/syntax-highlighter.css +71 -0
  152. package/src/core/utils/syntax-highlighter.js +103 -0
  153. package/tailwind.config.js +43 -26
  154. package/core/.DS_Store +0 -0
  155. package/core/fonts/.DS_Store +0 -0
  156. package/core/images/.DS_Store +0 -0
  157. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
  158. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
  159. package/src/.DS_Store +0 -0
  160. package/src/core/.DS_Store +0 -0
  161. package/src/core/fonts/.DS_Store +0 -0
  162. package/src/core/images/.DS_Store +0 -0
  163. package/src/reset/.DS_Store +0 -0
  164. /package/{preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep → src/core/DropdownMenu/component.js} +0 -0
@@ -4,20 +4,24 @@
4
4
  --color-active-orange: #ff5416;
5
5
  --color-red-orange: #e40000;
6
6
  --color-white: #ffffff;
7
- --color-electric-cyan: #4af7ff;
7
+ --color-electric-cyan: #4ad4ff;
8
8
  --color-zingy-green: #08ff13;
9
- --color-bright-red: #ff2739;
9
+ --color-bright-red: #fe372b;
10
+ --color-orange-700: #ff2739;
10
11
  --color-jazzy-pink: #ff17d2;
11
- --color-extra-light-grey: #fafafb;
12
- --color-light-grey: #f5f5f6;
13
- --color-mid-grey: #d9d9da;
14
- --color-dark-grey: #76767c;
15
- --color-charcoal-grey: #292831;
16
- --color-gui-default: #0073e6;
17
- --color-gui-hover: #0867c4;
18
- --color-gui-focus: #0073e6;
19
- --color-gui-focus-outline: #80b9f2;
12
+ --color-extra-light-grey: #f8fafc;
13
+ --color-light-grey: #f4f8fb;
14
+ --color-mid-grey: #c6ced9;
15
+ --color-dark-grey: #667085;
16
+ --color-charcoal-grey: #2b303b;
17
+ --color-gui-default: #006edc;
18
+ --color-gui-hover: #0862b9;
20
19
  --color-gui-active: #074095;
20
+ --color-gui-default-dark: #4da6ff;
21
+ --color-gui-hover-dark: #2894ff;
22
+ --color-gui-active-dark: #0080ff;
23
+ --color-gui-focus: #80b9f2;
24
+ --color-gui-focus-outline: #80b9f2;
21
25
  --color-gui-visited: #4887c2;
22
26
  --color-gui-unavailable: #a8a8a8;
23
27
  --color-gui-error: #fb0c0c;
@@ -36,6 +40,10 @@
36
40
  --syntax-red: #d54e53;
37
41
  --syntax-lilac: #bb87d3;
38
42
 
43
+ /* New Neutral colors */
44
+ --color-neutral-900: #39414e;
45
+ --color-neutral-500: #c6ced9;
46
+
39
47
  /* uptime status colors */
40
48
  --uptime-color-up: #39b54a;
41
49
  --uptime-color-trouble: #e87623;
@@ -47,6 +55,8 @@
47
55
  --icon-color-glassdoor: #0baa41;
48
56
  --icon-color-github: #000000;
49
57
  --icon-color-discord: #5865f2;
58
+ --icon-color-stackoverflow: #f48024;
59
+ --icon-color-youtube: #ff0000;
50
60
 
51
61
  --gradient-active-orange: linear-gradient(
52
62
  61.2deg,
@@ -68,38 +78,43 @@
68
78
 
69
79
  --gradient-hot-pink: linear-gradient(
70
80
  80.2deg,
71
- var(--color-bright-red) 0%,
81
+ var(--color-orange-700) 0%,
72
82
  var(--color-jazzy-pink) 100%
73
83
  );
74
84
 
75
- --fs-title-xl: 4rem;
76
- --fs-title: 3.5rem;
77
- --fs-title-xs: 3rem;
78
- --fs-h1-xl: 3.5rem;
79
- --fs-h1: 3rem;
80
- --fs-h1-xs: 2.625rem;
81
- --fs-h2-xl: 2.5rem;
85
+ --fs-title-xl: 3rem;
86
+ --fs-title: 2.75rem;
87
+ --fs-title-xs: 2.5rem;
88
+ --fs-h1-xl: 2.5rem;
89
+ --fs-h1: 2.25rem;
90
+ --fs-h1-xs: 2rem;
91
+
92
+ --fs-h2-xl: 2.125rem;
82
93
  --fs-h2: 2rem;
83
- --fs-h2-xs: 1.875rem;
94
+ --fs-h2-xs: 1.75rem;
95
+
84
96
  --fs-h3: 1.5rem;
85
- --fs-h4: 1.125rem;
86
- --fs-p1: 1.125rem;
87
- --fs-p2: 1rem;
97
+ --fs-h4: 1.25rem;
98
+ --fs-h5: 1rem;
99
+
100
+ --fs-p1: 1rem;
101
+ --fs-p2: 0.938rem;
88
102
  --fs-p3: 0.875rem;
89
103
  --fs-standfirst-xl: 2.25rem;
90
104
  --fs-standfirst: 1.5rem;
91
- --fs-sub-header: 1.5rem;
92
- --fs-sub-header-xs: 1.125rem;
105
+ --fs-sub-header: 1.125rem;
106
+ --fs-sub-header-xs: 1.063rem;
93
107
  --fs-overline1: 1rem;
94
108
  --fs-overline2: 0.875rem;
95
- --fs-btn1: 1.125rem;
96
- --fs-btn2: 1rem;
109
+ --fs-btn1: 1rem;
110
+ --fs-btn2: 0.938rem;
97
111
  --fs-btn3: 0.875rem;
98
- --fs-menu1: 1.125rem;
99
- --fs-menu2: 1rem;
112
+ --fs-menu1: 1rem;
113
+ --fs-menu2: 0.938rem;
100
114
  --fs-menu3: 0.875rem;
101
- --fs-quote: 1.5rem;
102
- --fs-code: 0.875rem;
115
+ --fs-quote: 1.25rem;
116
+ --fs-code: 0.938rem;
117
+ --fs-code2: 0.813rem;
103
118
 
104
119
  --lh-dense: 1;
105
120
  --lh-tight: 1.125;
@@ -113,7 +128,9 @@
113
128
  --ls-tighten-0_01: -0.01em;
114
129
  --ls-tighten-0_005: -0.005em;
115
130
  --ls-tighten-0_0025: -0.0025em;
131
+ --ls-tighten-0_0015: -0.0015em;
116
132
  --ls-widen-0_1: 0.1em;
133
+ --ls-widen-0_16: 0.16em;
117
134
  --ls-widen-0_15: 0.15em;
118
135
 
119
136
  --spacing-0: 0px;
@@ -128,6 +145,7 @@
128
145
  --spacing-20: 1.25rem;
129
146
  --spacing-24: 1.5rem;
130
147
  --spacing-32: 2rem;
148
+ --spacing-36: 2.25rem;
131
149
  --spacing-40: 2.5rem;
132
150
  --spacing-48: 3rem;
133
151
  --spacing-64: 4rem;
@@ -1,47 +1,53 @@
1
1
  @layer components {
2
2
  .ui-text-title {
3
- @apply font-sans font-medium text-cool-black;
4
- @apply text-title-xs xs:text-title xl:text-title-xl;
5
- @apply tracking-tighten-0.01 xs:tracking-tighten-0.015 xl:tracking-tighten-0.02;
3
+ @apply font-manrope font-extrabold text-cool-black;
4
+ @apply text-title-xs xs:text-title xl:text-title-xl leading-tight;
5
+ @apply tracking-tighten-0.015 xs:tracking-tighten-0.02 xl:tracking-tighten-0.02;
6
6
  }
7
7
 
8
8
  .ui-text-h1 {
9
- @apply font-sans font-medium text-cool-black;
10
- @apply text-h1-xs xs:text-h1 xl:text-h1-xl;
11
- @apply tracking-tighten-0.01;
9
+ @apply font-manrope font-extrabold text-cool-black;
10
+ @apply text-h1-xs xs:text-h1 xl:text-h1-xl leading-tight;
11
+ @apply tracking-tighten-0.0125 xs:tracking-tighten-0.015;
12
12
  }
13
13
 
14
14
  .ui-text-h2 {
15
- @apply font-sans font-medium text-cool-black;
16
- @apply text-h2-xs xs:text-h2 xl:text-h2-xl;
17
- @apply tracking-tighten-0.005;
15
+ @apply font-manrope font-extrabold text-cool-black;
16
+ @apply text-h2-xs xs:text-h2 xl:text-h2-xl leading-tight;
17
+ @apply tracking-tighten-0.015 xs:tracking-tighten-0.01;
18
18
  }
19
19
 
20
20
  .ui-text-h3 {
21
- @apply font-sans font-medium text-cool-black;
22
- @apply text-h3;
23
- @apply tracking-tighten-0.0025;
21
+ @apply font-manrope font-extrabold text-cool-black;
22
+ @apply text-h3 leading-tight;
23
+ @apply tracking-tighten-0.005;
24
24
  }
25
25
 
26
26
  .ui-text-h4 {
27
- @apply font-sans font-medium text-cool-black;
28
- @apply text-h4 uppercase;
29
- @apply tracking-widen-0.1;
27
+ @apply font-manrope font-extrabold text-cool-black;
28
+ @apply text-h4 leading-tight;
29
+ @apply tracking-tighten-0.0015;
30
+ }
31
+
32
+ .ui-text-h5 {
33
+ @apply font-manrope font-extrabold text-cool-black;
34
+ @apply text-h5 leading-tight;
35
+ @apply tracking-tighten-0.0025;
30
36
  }
31
37
 
32
38
  .ui-text-p1 {
33
- @apply font-sans font-light text-charcoal-grey;
34
- @apply text-p1;
39
+ @apply font-manrope font-medium text-charcoal-grey;
40
+ @apply text-p1 leading-relaxed;
35
41
  }
36
42
 
37
43
  .ui-text-p2 {
38
- @apply font-sans font-light text-charcoal-grey;
39
- @apply text-p2;
44
+ @apply font-manrope font-medium text-charcoal-grey;
45
+ @apply text-p2 leading-relaxed;
40
46
  }
41
47
 
42
48
  .ui-text-p3 {
43
- @apply font-sans font-light text-charcoal-grey;
44
- @apply text-p3;
49
+ @apply font-manrope font-medium text-charcoal-grey;
50
+ @apply text-p3 leading-relaxed;
45
51
  }
46
52
 
47
53
  .ui-text-standfirst {
@@ -51,60 +57,63 @@
51
57
  }
52
58
 
53
59
  .ui-text-quote {
54
- @apply font-sans font-light text-cool-black;
55
- @apply text-quote;
56
- @apply tracking-tighten-0.025;
60
+ @apply font-manrope font-normal text-cool-black;
61
+ @apply text-quote leading-normal;
62
+ @apply tracking-tighten-0.0015;
57
63
  }
58
64
 
59
65
  .ui-text-sub-header {
60
- @apply font-sans font-light text-dark-grey;
61
- @apply text-sub-header-xs xs:text-sub-header;
62
- @apply tracking-tighten-0.025;
66
+ @apply font-manrope font-semibold text-neutral-900;
67
+ @apply text-sub-header-xs xs:text-sub-header leading-normal;
63
68
  }
64
69
 
65
70
  .ui-text-overline1 {
66
- @apply font-sans font-medium text-dark-grey uppercase;
67
- @apply text-overline1;
68
- @apply tracking-widen-0.15;
71
+ @apply font-jetbrains_mono font-medium text-active-orange uppercase;
72
+ @apply text-overline1 leading-normal;
73
+ @apply tracking-widen-0.16;
69
74
  }
70
75
 
71
76
  .ui-text-overline2 {
72
- @apply font-sans font-medium text-dark-grey uppercase;
73
- @apply text-overline2;
74
- @apply tracking-widen-0.1;
77
+ @apply font-jetbrains_mono font-medium text-active-orange uppercase;
78
+ @apply text-overline2 leading-normal;
79
+ @apply tracking-widen-0.16;
75
80
  }
76
81
 
77
82
  .ui-text-menu1 {
78
- @apply font-sans font-light text-cool-black;
79
- @apply text-menu1;
83
+ @apply font-manrope font-medium text-cool-black;
84
+ @apply text-menu1 leading-snug;
80
85
  }
81
86
 
82
87
  .ui-text-menu2 {
83
- @apply font-sans font-light text-cool-black;
84
- @apply text-menu2;
88
+ @apply font-manrope font-medium text-cool-black;
89
+ @apply text-menu2 leading-snug;
85
90
  }
86
91
 
87
92
  .ui-text-menu3 {
88
- @apply font-sans font-light text-cool-black;
89
- @apply text-menu3;
93
+ @apply font-manrope font-medium text-cool-black;
94
+ @apply text-menu3 leading-snug;
90
95
  }
91
96
 
92
97
  .ui-text-code {
93
- @apply font-mono font-semibold text-code;
98
+ @apply font-jetbrains_mono font-medium text-code;
99
+ }
100
+
101
+ .ui-text-code2 {
102
+ @apply font-jetbrains_mono font-medium text-code2;
94
103
  }
95
104
 
96
105
  .ui-text-code-inline {
97
- @apply font-mono font-semibold text-code text-charcoal-grey bg-light-grey p-inline-code rounded-sm mx-1;
106
+ @apply font-jetbrains_mono font-medium text-code text-charcoal-grey bg-light-grey p-inline-code rounded-sm mx-1;
98
107
  }
99
108
 
100
109
  .ui-unordered-list {
101
- @apply text-p1 font-light text-cool-black;
102
- @apply list-disc ml-32 mb-24;
110
+ @apply text-p1 font-medium text-cool-black;
111
+ @apply list-disc ml-32 my-16;
103
112
  }
104
113
 
105
114
  .ui-ordered-list {
106
- @apply text-p1 font-light text-cool-black;
107
- @apply ml-32 mb-24 list-decimal;
115
+ @apply text-p1 font-medium text-charcoal-grey;
116
+ @apply ml-32 my-16 list-decimal;
108
117
  }
109
118
 
110
119
  .ui-unordered-list li > *:last-of-type:not(ul):not(ol),
@@ -121,11 +130,20 @@
121
130
  }
122
131
 
123
132
  .ui-unordered-list ul ul {
124
- @apply list-square;
133
+ @apply list-square my-8;
134
+ }
135
+
136
+ .ui-unordered-list ul ul {
137
+ @apply my-8;
138
+ }
139
+
140
+ .ui-ordered-list li,
141
+ .ui-unordered-list li {
142
+ @apply font-medium font-manrope tracking-widen-0 leading-relaxed;
125
143
  }
126
144
 
127
145
  .ui-unordered-list-with-emphasis {
128
- @apply text-p1 font-light text-cool-black;
146
+ @apply text-p1 font-medium text-cool-black;
129
147
  @apply list-disc ml-32 mt-32 -mb-12;
130
148
  }
131
149
 
@@ -0,0 +1,63 @@
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 kotlin from "highlight.js/lib/languages/kotlin";
26
+ import sql from "highlight.js/lib/languages/sql";
27
+ import xml from "highlight.js/lib/languages/xml";
28
+ import yaml from "highlight.js/lib/languages/yaml";
29
+ import curl from "highlightjs-curl/src/languages/curl";
30
+
31
+ const registry = [
32
+ { label: "Text", key: "text", module: plaintext },
33
+ { label: "JS", key: "javascript", module: javascript },
34
+ { label: "TS", key: "typescript", module: typescript },
35
+ { label: "Java", key: "java", module: java },
36
+ { label: "Ruby", key: "ruby", module: ruby },
37
+ { label: "Python", key: "python", module: python },
38
+ { label: "PHP", key: "php", module: php },
39
+ { label: "Shell", key: "bash", module: bash },
40
+ { label: "C#", key: "cs", module: csharp },
41
+ { label: "CSS", key: "css", module: css },
42
+ { label: "Go", key: "go", module: go },
43
+ { label: "HTML", key: "xml", module: xml },
44
+ { label: "HTTP", key: "http", module: http },
45
+ { label: "C++", key: "cpp", module: cpp },
46
+ { label: "Dart", key: "dart", module: dart },
47
+ { label: "Swift", key: "swift", module: swift },
48
+ { label: "Kotlin", key: "kotlin", module: kotlin },
49
+ { label: "Objective C", key: "objectivec", module: objectivec },
50
+ { label: "Node.js", key: "javascript", module: javascript },
51
+ { label: "JSON", key: "json", module: json },
52
+ { label: "DOS", key: "dos", module: dos },
53
+ { label: "YAML", key: "yaml", module: yaml },
54
+ { label: "Erlang", key: "erlang", module: erlang },
55
+ { label: "Elixir", key: "elixir", module: elixir },
56
+ { label: "Diff", key: "diff", module: diff },
57
+ { label: "SQL", key: "sql", module: sql },
58
+ { label: "cURL", key: "curl", module: curl },
59
+ { label: "HTML", key: "html", module: xml },
60
+ { label: "XML", key: "xml", module: xml },
61
+ ];
62
+
63
+ export default registry;
@@ -0,0 +1,71 @@
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
+ @import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100;200;300;400;500;600;700;800&display=swap");
4
+ @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap");
5
+ }
6
+
7
+ @layer components {
8
+ .hljs {
9
+ background: var(--syntax-black);
10
+ color: var(--syntax-light-grey);
11
+ }
12
+
13
+ .hljs-emphasis {
14
+ @apply italic;
15
+ }
16
+
17
+ .hljs-strong {
18
+ @apply font-bold;
19
+ }
20
+
21
+ .hljs-comment,
22
+ .hljs-quote {
23
+ color: var(--syntax-dark-grey);
24
+ }
25
+
26
+ .hljs-variable,
27
+ .hljs-template-variable,
28
+ .hljs-tag,
29
+ .hljs-name,
30
+ .hljs-selector-id,
31
+ .hljs-selector-class,
32
+ .hljs-regexp,
33
+ .hljs-deletion {
34
+ color: var(--syntax-red);
35
+ }
36
+
37
+ .hljs-number,
38
+ .hljs-built_in,
39
+ .hljs-literal,
40
+ .hljs-type,
41
+ .hljs-params,
42
+ .hljs-meta,
43
+ .hljs-link {
44
+ color: var(--syntax-orange);
45
+ }
46
+
47
+ .hljs-attribute {
48
+ color: var(--syntax-yellow);
49
+ }
50
+
51
+ .hljs-string,
52
+ .hljs-symbol,
53
+ .hljs-bullet,
54
+ .hljs-addition {
55
+ color: var(--syntax-green);
56
+ }
57
+
58
+ .hljs-title,
59
+ .hljs-section {
60
+ color: var(--syntax-blue);
61
+ }
62
+
63
+ .hljs-keyword,
64
+ .hljs-selector-tag {
65
+ color: var(--syntax-lilac);
66
+ }
67
+
68
+ .hljs-subst {
69
+ color: var(--syntax-mid-grey);
70
+ }
71
+ }
@@ -0,0 +1,103 @@
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 "kotlin":
47
+ case "kt":
48
+ id = "kotlin";
49
+ break;
50
+
51
+ case "shell":
52
+ case "fh":
53
+ case "sh":
54
+ id = "bash";
55
+ break;
56
+
57
+ case "https":
58
+ case "http":
59
+ case "txt":
60
+ case "plaintext":
61
+ id = "text";
62
+ break;
63
+
64
+ case "cmd":
65
+ case "bat":
66
+ id = "dos";
67
+ break;
68
+
69
+ case "yml":
70
+ id = "yaml";
71
+ break;
72
+
73
+ case "erl":
74
+ id = "erlang";
75
+ break;
76
+
77
+ case "patch":
78
+ id = "diff";
79
+ break;
80
+
81
+ case "svg":
82
+ id = "xml";
83
+ break;
84
+
85
+ default:
86
+ break;
87
+ }
88
+
89
+ return id || lang;
90
+ };
91
+
92
+ const registerDefaultLanguages = (register) => {
93
+ register.forEach(({ key, module }) => hljs.registerLanguage(key, module));
94
+ };
95
+
96
+ const highlightSnippet = (languageKeyword, snippet) => {
97
+ const language = languageToHighlightKey(languageKeyword);
98
+ if (typeof snippet !== "string" || !snippet || !language) return;
99
+
100
+ return hljs.highlight(snippet, { language }).value;
101
+ };
102
+
103
+ export { highlightSnippet, languageToHighlightKey, registerDefaultLanguages };
@@ -24,35 +24,37 @@ module.exports = {
24
24
  xl: "1440px",
25
25
  },
26
26
  fontSize: {
27
- title: ["var(--fs-title)", "var(--lh-tight)"],
28
- "title-xl": ["var(--fs-title-xl)", "var(--lh-tight)"],
29
- "title-xs": ["var(--fs-title-xs)", "var(--lh-tight)"],
30
- h1: ["var(--fs-h1)", "var(--lh-tight)"],
31
- "h1-xl": ["var(--fs-h1-xl)", "var(--lh-tight)"],
32
- "h1-xs": ["var(--fs-h1-xs)", "var(--lh-tight)"],
33
- h2: ["var(--fs-h2)", "var(--lh-tight)"],
34
- "h2-xl": ["var(--fs-h2-xl)", "var(--lh-tight)"],
35
- "h2-xs": ["var(--fs-h2-xs)", "var(--lh-tight)"],
36
- h3: ["var(--fs-h3)", "var(--lh-tight)"],
37
- h4: ["var(--fs-h4)", "var(--lh-tight)"],
38
- p1: ["var(--fs-p1)", "var(--lh-relaxed)"],
39
- p2: ["var(--fs-p2)", "var(--lh-relaxed)"],
40
- p3: ["var(--fs-p3)", "var(--lh-relaxed)"],
41
- standfirst: ["var(--fs-standfirst)", "var(--lh-snug)"],
42
- "standfirst-xl": ["var(--fs-standfirst-xl)", "var(--lh-snug)"],
43
- "sub-header": ["var(--fs-sub-header)", "var(--lh-normal)"],
44
- "sub-header-xs": ["var(--fs-sub-header-xs)", "var(--lh-normal)"],
45
- overline1: ["var(--fs-overline1)", "var(--lh-normal)"],
46
- overline2: ["var(--fs-overline2)", "var(--lh-normal)"],
27
+ title: ["var(--fs-title)"],
28
+ "title-xl": ["var(--fs-title-xl)"],
29
+ "title-xs": ["var(--fs-title-xs)"],
30
+ h1: ["var(--fs-h1)"],
31
+ "h1-xl": ["var(--fs-h1-xl)"],
32
+ "h1-xs": ["var(--fs-h1-xs)"],
33
+ h2: ["var(--fs-h2)"],
34
+ "h2-xl": ["var(--fs-h2-xl)"],
35
+ "h2-xs": ["var(--fs-h2-xs)"],
36
+ h3: ["var(--fs-h3)"],
37
+ h4: ["var(--fs-h4)"],
38
+ h5: ["var(--fs-h5)"],
39
+ p1: ["var(--fs-p1)"],
40
+ p2: ["var(--fs-p2)"],
41
+ p3: ["var(--fs-p3)"],
42
+ standfirst: ["var(--fs-standfirst)"],
43
+ "standfirst-xl": ["var(--fs-standfirst-xl)"],
44
+ "sub-header": ["var(--fs-sub-header)"],
45
+ "sub-header-xs": ["var(--fs-sub-header-xs)"],
46
+ overline1: ["var(--fs-overline1)"],
47
+ overline2: ["var(--fs-overline2)"],
47
48
  btn1: ["var(--fs-btn1)", "var(--lh-normal)"],
48
49
  btn2: ["var(--fs-btn2)", "var(--lh-tight)"],
49
50
  btn3: ["var(--fs-btn2)", "var(--lh-tight)"],
50
51
  btn4: ["var(--fs-btn3)", "var(--lh-dense)"],
51
- menu1: ["var(--fs-menu1)", "var(--lh-tight)"],
52
- menu2: ["var(--fs-menu2)", "var(--lh-tight)"],
53
- menu3: ["var(--fs-menu3)", "var(--lh-snug)"],
54
- quote: ["var(--fs-quote)", "var(--lh-relaxed)"],
52
+ menu1: ["var(--fs-menu1)"],
53
+ menu2: ["var(--fs-menu2)"],
54
+ menu3: ["var(--fs-menu3)"],
55
+ quote: ["var(--fs-quote)"],
55
56
  code: ["var(--fs-code)", "var(--lh-dense)"],
57
+ code2: ["var(--fs-code2)", "var(--lh-dense)"],
56
58
  },
57
59
  colors: {
58
60
  transparent: "transparent",
@@ -70,10 +72,15 @@ module.exports = {
70
72
  "dark-grey": "var(--color-dark-grey)",
71
73
  "charcoal-grey": "var(--color-charcoal-grey)",
72
74
  "gui-default": "var(--color-gui-default)",
73
- "gui-alt": "var(--color-cool-black)",
74
75
  "gui-hover": "var(--color-gui-hover)",
75
- "gui-focus": "var(--color-gui-focus)",
76
76
  "gui-active": "var(--color-gui-active)",
77
+ "gui-default-dark": "var(--color-gui-default-dark)",
78
+ "gui-hover-dark": "var(--color-gui-hover-dark)",
79
+ "gui-active-dark": "var(--color-gui-active-dark)",
80
+ "gui-alt": "var(--color-cool-black)",
81
+ "gui-focus": "var(--color-gui-focus)",
82
+ "gui-focus-outline": "var(--color-gui-focus-outline)",
83
+
77
84
  "gui-visited": "var(--color-gui-visited)",
78
85
  "gui-unavailable": "var(--color-gui-unavailable)",
79
86
  "gui-error": "var(--color-gui-error)",
@@ -83,10 +90,14 @@ module.exports = {
83
90
  "icon-glassdoor": "var(--icon-color-glassdoor)",
84
91
  "icon-github": "var(--icon-color-github)",
85
92
  "icon-discord": "var(--icon-color-discord)",
93
+ "neutral-900": "var(--color-neutral-900)",
94
+ "neutral-500": "var(--color-neutral-500)",
86
95
  },
87
96
  fontFamily: {
88
97
  sans: ["NEXT Book", "Arial", "Helvetica", "sans-serif"],
89
98
  mono: ["Source Code Pro", "Courier", "monospace"],
99
+ manrope: ["Manrope", "sans-serif"],
100
+ jetbrains_mono: ["JetBrains Mono", "monospace"],
90
101
  },
91
102
  margin: (theme, { negative }) => ({
92
103
  auto: "auto",
@@ -124,6 +135,7 @@ module.exports = {
124
135
  20: "var(--spacing-20)",
125
136
  24: "var(--spacing-24)",
126
137
  32: "var(--spacing-32)",
138
+ 36: "var(--spacing-36)",
127
139
  40: "var(--spacing-40)",
128
140
  48: "var(--spacing-48)",
129
141
  64: "var(--spacing-64)",
@@ -131,6 +143,7 @@ module.exports = {
131
143
  80: "var(--spacing-80)",
132
144
  88: "var(--spacing-88)",
133
145
  96: "var(--spacing-96)",
146
+ 128: "var(--spacing-128)",
134
147
  160: "var(--spacing-160)",
135
148
  256: "var(--spacing-256)",
136
149
  },
@@ -154,11 +167,15 @@ module.exports = {
154
167
  "tighten-0.025": "var(--ls-tighten-0_025)",
155
168
  "tighten-0.02": "var(--ls-tighten-0_02)",
156
169
  "tighten-0.015": "var(--ls-tighten-0_015)",
170
+ "tighten-0.0125": "var(--ls-tighten-0_0125)",
157
171
  "tighten-0.01": "var(--ls-tighten-0_01)",
158
172
  "tighten-0.005": "var(--ls-tighten-0_005)",
159
173
  "tighten-0.0025": "var(--ls-tighten-0_0025)",
174
+ "tighten-0.0015": "var(--ls-tighten-0_0015)",
175
+ "widen-0": 0,
160
176
  "widen-0.1": "var(--ls-widen-0_1)",
161
177
  "widen-0.15": "var(--ls-widen-0_15)",
178
+ "widen-0.16": "var(--ls-widen-0_16)",
162
179
  },
163
180
  borderRadius: {
164
181
  none: "0",