@ably/ui 8.7.0-dev.2b71529 → 8.7.0-dev.2f1ba81

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 (66) hide show
  1. package/README.md +7 -7
  2. package/core/CompanyAutocomplete/component.js +2 -1
  3. package/core/CompanyAutocomplete/component.js.LICENSE.txt +1 -0
  4. package/core/FeaturedLink/component.css +1 -1
  5. package/core/Footer/component.css +3 -3
  6. package/core/Footer.jsx +20 -25
  7. package/core/Meganav/component.css +7 -7
  8. package/core/Meganav/component.json +1 -1
  9. package/core/Meganav.jsx +375 -802
  10. package/core/MeganavBlogPostsList/component.js +2 -1
  11. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +1 -0
  12. package/core/MeganavContentCompany.jsx +295 -710
  13. package/core/MeganavContentDevelopers.jsx +13 -1
  14. package/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +1 -1
  15. package/core/{MeganavContentPlatform.jsx → MeganavContentProducts.jsx} +20 -44
  16. package/core/MeganavContentUseCases.jsx +4 -4
  17. package/core/MeganavItemsDesktop.jsx +2 -2
  18. package/core/MeganavItemsMobile.jsx +1 -1
  19. package/core/Notice/component.css +1 -1
  20. package/core/Uptime.jsx +289 -704
  21. package/core/images/best-support-2023.svg +1 -0
  22. package/core/images/fastest-implementation-2023.svg +1 -0
  23. package/core/images/high-performer-2023.svg +1 -0
  24. package/core/images/highest-user-adoption-2023.svg +1 -0
  25. package/core/scripts.js +2 -1
  26. package/core/scripts.js.LICENSE.txt +1 -0
  27. package/core/sprites.svg +29 -0
  28. package/core/styles.css +149 -59
  29. package/package.json +5 -5
  30. package/src/core/FeaturedLink/component.css +1 -1
  31. package/src/core/Footer/component.css +3 -3
  32. package/src/core/Footer/component.html.erb +12 -17
  33. package/src/core/Footer/component.jsx +15 -23
  34. package/src/core/Meganav/component.css +7 -7
  35. package/src/core/Meganav/component.json +1 -1
  36. package/src/core/Meganav/component.jsx +2 -2
  37. package/src/core/Meganav/component.rb +4 -4
  38. package/src/core/MeganavContentDevelopers/component.html.erb +9 -0
  39. package/src/core/MeganavContentDevelopers/component.jsx +9 -0
  40. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  41. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  42. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  43. package/src/core/MeganavContentUseCases/component.html.erb +4 -4
  44. package/src/core/MeganavContentUseCases/component.jsx +4 -4
  45. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  46. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  47. package/src/core/Notice/component.css +1 -1
  48. package/src/core/core.rb +8 -4
  49. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  50. package/src/core/icons/icon-display-examples-col.svg +11 -0
  51. package/src/core/icons/icon-social-x.svg +3 -0
  52. package/src/core/images/best-support-2023.svg +1 -0
  53. package/src/core/images/fastest-implementation-2023.svg +1 -0
  54. package/src/core/images/high-performer-2023.svg +1 -0
  55. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  56. package/src/core/styles/buttons.css +5 -5
  57. package/src/core/styles/forms.css +3 -3
  58. package/src/core/styles/properties.css +121 -31
  59. package/src/core/styles/text.css +20 -20
  60. package/tailwind.config.js +112 -33
  61. package/core/Meganav/component.js.LICENSE.txt +0 -7
  62. package/core/MeganavContentWhyAbly/component.js +0 -22
  63. package/core/MeganavContentWhyAbly.jsx +0 -3279
  64. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  65. package/core/Notice/component.js.LICENSE.txt +0 -9
  66. /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
package/core/styles.css CHANGED
@@ -1,38 +1,132 @@
1
1
  @layer base {
2
2
  :root {
3
- --color-cool-black: #03020d;
4
- --color-active-orange: #ff5416;
5
- --color-red-orange: #e40000;
6
- --color-white: #ffffff;
7
- --color-electric-cyan: #4ad4ff;
8
- --color-zingy-green: #08ff13;
9
- --color-bright-red: #fe372b;
3
+ /* Neutral colors */
4
+ --color-neutral-000: #ffffff;
5
+ --color-neutral-100: #f8fafc;
6
+ --color-neutral-200: #f4f8fb;
7
+ --color-neutral-300: #edf1f7;
8
+ --color-neutral-400: #e2e7ef;
9
+ --color-neutral-500: #c6ced9;
10
+ --color-neutral-600: #adb6c2;
11
+ --color-neutral-700: #89929f;
12
+ --color-neutral-800: #667085;
13
+ --color-neutral-900: #39414e;
14
+ --color-neutral-1000: #2b303b;
15
+ --color-neutral-1100: #202531;
16
+ --color-neutral-1200: #141924;
17
+ --color-neutral-1300: #03020d;
18
+
19
+ /* Ably orange */
20
+ --color-orange-100: #fff5f1;
21
+ --color-orange-200: #ffe3d8;
22
+ --color-orange-300: #ffc4ae;
23
+ --color-orange-400: #ff9c79;
24
+ --color-orange-500: #ff723f;
25
+ --color-orange-600: #ff5416;
10
26
  --color-orange-700: #ff2739;
11
- --color-jazzy-pink: #ff17d2;
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;
19
- --color-gui-active: #074095;
20
- --color-gui-default-dark: #4da6ff;
21
- --color-gui-hover-dark: #2894ff;
22
- --color-gui-active-dark: #0080ff;
27
+ --color-orange-800: #e40000;
28
+ --color-orange-900: #b82202;
29
+ --color-orange-1000: #751500;
30
+ --color-orange-1100: #2a0b00;
31
+
32
+ /* Secondary colours */
33
+ --color-yellow-100: #fffbef;
34
+ --color-yellow-200: #fff0ba;
35
+ --color-yellow-300: #ffe27c;
36
+ --color-yellow-400: #ffd43d;
37
+ --color-yellow-500: #f8c100;
38
+ --color-yellow-600: #e8a700;
39
+ --color-yellow-700: #ac8600;
40
+ --color-yellow-800: #654f00;
41
+ --color-yellow-900: #291c01;
42
+ --color-green-100: #f1fff1;
43
+ --color-green-200: #b8ffbb;
44
+ --color-green-300: #80ff85;
45
+ --color-green-400: #08ff13;
46
+ --color-green-500: #00e80b;
47
+ --color-green-600: #00c008;
48
+ --color-green-700: #008e06;
49
+ --color-green-800: #005303;
50
+ --color-green-900: #002a02;
51
+ --color-blue-100: #f1fbff;
52
+ --color-blue-200: #b8eaff;
53
+ --color-blue-300: #80d9ff;
54
+ --color-blue-400: #4ad4ff;
55
+ --color-blue-500: #2cc0ff;
56
+ --color-blue-600: #00a5ec;
57
+ --color-blue-700: #0284cd;
58
+ --color-blue-800: #004b75;
59
+ --color-blue-900: #001b2a;
60
+ --color-violet-100: #f7f2fe;
61
+ --color-violet-200: #d8bcfb;
62
+ --color-violet-300: #b986f8;
63
+ --color-violet-400: #9951f5;
64
+ --color-violet-500: #7a1bf2;
65
+ --color-violet-600: #5f0bc9;
66
+ --color-violet-700: #460894;
67
+ --color-violet-800: #2d055e;
68
+ --color-violet-900: #130228;
69
+ --color-pink-100: #fff1fc;
70
+ --color-pink-200: #ffb8f1;
71
+ --color-pink-300: #ff80e6;
72
+ --color-pink-400: #ff47db;
73
+ --color-pink-500: #ff17d2;
74
+ --color-pink-600: #d400ab;
75
+ --color-pink-700: #9c007e;
76
+ --color-pink-800: #630050;
77
+ --color-pink-900: #2a0022;
78
+
79
+ /* GUI colours */
80
+ /* Note: The ‘Light and ‘Dark’ refers to the colour of the background on which the colour is used. */
81
+ --color-gui-blue-default-light: #006edc;
82
+ --color-gui-blue-hover-light: #0862b9;
83
+ --color-gui-blue-active-light: #074095;
84
+ --color-gui-blue-default-dark: #4da6ff;
85
+ --color-gui-blue-hover-dark: #2894ff;
86
+ --color-gui-blue-active-dark: #0080ff;
87
+ --color-gui-blue-focus: #80b9f2;
88
+ --color-gui-unavailable: #a8a8a8;
89
+ --color-gui-success-green: #11cb24;
90
+ --color-gui-error-red: #fb0c0c;
23
91
  --color-gui-focus: #80b9f2;
24
92
  --color-gui-focus-outline: #80b9f2;
25
93
  --color-gui-visited: #4887c2;
26
- --color-gui-unavailable: #a8a8a8;
27
- --color-gui-error: #fb0c0c;
28
- --color-gui-success: #11cb24;
94
+
95
+ /* Colours replaced by neutral colours */
96
+ --color-white: var(--color-neutral-000);
97
+ --color-extra-light-grey: var(--color-neutral-100);
98
+ --color-light-grey: var(--color-neutral-200);
99
+ --color-mid-grey: var(--color-neutral-500);
100
+ --color-dark-grey: var(--color-neutral-800);
101
+ --color-charcoal-grey: var(--color-neutral-1000);
102
+ --color-cool-black: var(--color-neutral-1300);
103
+
104
+ /* Colours replaced by orange colours */
105
+ --color-active-orange: var(--color-orange-600);
106
+ --color-bright-red: var(--color-orange-700);
107
+ --color-red-orange: var(--color-orange-800);
108
+
109
+ /* Colours replaced by secondary colours */
110
+ --color-electric-cyan: var(--color-blue-400);
111
+ --color-zingy-green: var(--color-green-400);
112
+ --color-jazzy-pink: var(--color-pink-500);
113
+
114
+ /* Colours replaced by GUI colours */
115
+ --color-gui-default: var(--color-gui-blue-default-light);
116
+ --color-gui-hover: var(--color-gui-blue-hover-light);
117
+ --color-gui-active: var(--color-gui-blue-active-light);
118
+ --color-gui-error: var(--color-gui-error-red);
119
+ --color-gui-success: var(--color-gui-success-green);
120
+ --color-gui-default-dark: var(--color-gui-blue-default-dark);
121
+ --color-gui-hover-dark: var(--color-gui-blue-hover-dark);
122
+ --color-gui-active-dark: var(--color-gui-blue-active-dark);
29
123
 
30
124
  /* code syntax: theme */
31
- --syntax-black: var(--color-cool-black);
32
- --syntax-dark-grey: var(--color-dark-grey);
33
- --syntax-mid-grey: var(--color-mid-grey);
34
- --syntax-light-grey: var(--color-light-grey);
35
- --syntax-extra-light-grey: var(--color-extra-light-grey);
125
+ --syntax-black: var(--color-neutral-1300);
126
+ --syntax-dark-grey: var(--color-neutral-800);
127
+ --syntax-mid-grey: var(--color-neutral-500);
128
+ --syntax-light-grey: var(--color-neutral-200);
129
+ --syntax-extra-light-grey: var(--color-neutral-100);
36
130
  --syntax-orange: #e78c45;
37
131
  --syntax-yellow: #e7c547;
38
132
  --syntax-blue: #3490ec;
@@ -40,10 +134,6 @@
40
134
  --syntax-red: #d54e53;
41
135
  --syntax-lilac: #bb87d3;
42
136
 
43
- /* New Neutral colors */
44
- --color-neutral-900: #39414e;
45
- --color-neutral-500: #c6ced9;
46
-
47
137
  /* uptime status colors */
48
138
  --uptime-color-up: #39b54a;
49
139
  --uptime-color-trouble: #e87623;
@@ -195,7 +285,7 @@
195
285
  }
196
286
  @layer components {
197
287
  .ui-btn {
198
- @apply text-white bg-cool-black text-btn2 font-manrope font-bold inline-block rounded p-btn;
288
+ @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block rounded p-btn;
199
289
  @apply hover:text-white hover:bg-active-orange;
200
290
  @apply active:text-white active:bg-red-orange;
201
291
  @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
@@ -219,7 +309,7 @@
219
309
  background-size: 200% 100%;
220
310
  background-position: 0% 0%;
221
311
 
222
- @apply text-white text-btn2 font-manrope font-bold inline-block rounded p-btn;
312
+ @apply text-white text-btn2 font-sans font-bold inline-block rounded p-btn;
223
313
  @apply focus:outline-gui-focus;
224
314
  @apply inline-flex items-center justify-center;
225
315
  }
@@ -235,7 +325,7 @@
235
325
  }
236
326
 
237
327
  .ui-btn-invert {
238
- @apply text-cool-black bg-white text-btn2 font-manrope font-bold inline-block rounded p-btn;
328
+ @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block rounded p-btn;
239
329
  @apply hover:text-white hover:bg-active-orange;
240
330
  @apply active:text-white active:bg-red-orange;
241
331
  @apply focus:text-white focus:bg-cool-black focus:outline-gui-focus;
@@ -245,7 +335,7 @@
245
335
  }
246
336
 
247
337
  .ui-btn-secondary {
248
- @apply text-cool-black bg-white text-btn2 font-manrope font-bold inline-block border-btn border-cool-black rounded p-btn;
338
+ @apply text-cool-black bg-white text-btn2 font-sans font-bold inline-block border-btn border-cool-black rounded p-btn;
249
339
  @apply hover:text-cool-black hover:border-active-orange hover:bg-white;
250
340
  @apply active:border-red-orange active:bg-white;
251
341
  @apply focus:border-cool-black focus:bg-white focus:outline-gui-focus;
@@ -255,7 +345,7 @@
255
345
  }
256
346
 
257
347
  .ui-btn-secondary-invert {
258
- @apply text-white bg-cool-black text-btn2 font-manrope font-bold inline-block border-btn border-mid-grey rounded p-btn;
348
+ @apply text-white bg-cool-black text-btn2 font-sans font-bold inline-block border-btn border-mid-grey rounded p-btn;
259
349
  @apply hover:text-white hover:border-active-orange;
260
350
  @apply active:border-red-orange;
261
351
  @apply focus:outline-gui-focus;
@@ -340,53 +430,53 @@
340
430
  }
341
431
  @layer components {
342
432
  .ui-text-title {
343
- @apply font-manrope font-extrabold text-cool-black;
433
+ @apply font-sans font-extrabold text-cool-black;
344
434
  @apply text-title-xs xs:text-title xl:text-title-xl;
345
435
  @apply tracking-tighten-0.015 xs:tracking-tighten-0.02 xl:tracking-tighten-0.02;
346
436
  }
347
437
 
348
438
  .ui-text-h1 {
349
- @apply font-manrope font-extrabold text-cool-black;
439
+ @apply font-sans font-extrabold text-cool-black;
350
440
  @apply text-h1-xs xs:text-h1 xl:text-h1-xl;
351
441
  @apply tracking-tighten-0.0125 xs:tracking-tighten-0.015;
352
442
  }
353
443
 
354
444
  .ui-text-h2 {
355
- @apply font-manrope font-extrabold text-cool-black;
445
+ @apply font-sans font-extrabold text-cool-black;
356
446
  @apply text-h2-xs xs:text-h2 xl:text-h2-xl;
357
447
  @apply tracking-tighten-0.015 xs:tracking-tighten-0.01;
358
448
  }
359
449
 
360
450
  .ui-text-h3 {
361
- @apply font-manrope font-extrabold text-cool-black;
451
+ @apply font-sans font-extrabold text-cool-black;
362
452
  @apply text-h3;
363
453
  @apply tracking-tighten-0.005;
364
454
  }
365
455
 
366
456
  .ui-text-h4 {
367
- @apply font-manrope font-extrabold text-cool-black;
457
+ @apply font-sans font-extrabold text-cool-black;
368
458
  @apply text-h4;
369
459
  @apply tracking-tighten-0.0015;
370
460
  }
371
461
 
372
462
  .ui-text-h5 {
373
- @apply font-manrope font-extrabold text-cool-black;
463
+ @apply font-sans font-extrabold text-cool-black;
374
464
  @apply text-h5;
375
465
  @apply tracking-tighten-0.0025;
376
466
  }
377
467
 
378
468
  .ui-text-p1 {
379
- @apply font-manrope font-medium text-charcoal-grey;
469
+ @apply font-sans font-medium text-charcoal-grey;
380
470
  @apply text-p1;
381
471
  }
382
472
 
383
473
  .ui-text-p2 {
384
- @apply font-manrope font-medium text-charcoal-grey;
474
+ @apply font-sans font-medium text-charcoal-grey;
385
475
  @apply text-p2;
386
476
  }
387
477
 
388
478
  .ui-text-p3 {
389
- @apply font-manrope font-medium text-charcoal-grey;
479
+ @apply font-sans font-medium text-charcoal-grey;
390
480
  @apply text-p3;
391
481
  }
392
482
 
@@ -397,53 +487,53 @@
397
487
  }
398
488
 
399
489
  .ui-text-quote {
400
- @apply font-manrope font-normal text-cool-black;
490
+ @apply font-sans font-normal text-cool-black;
401
491
  @apply text-quote leading-normal;
402
492
  @apply tracking-tighten-0.0015;
403
493
  }
404
494
 
405
495
  .ui-text-sub-header {
406
- @apply font-manrope font-semibold text-neutral-900;
496
+ @apply font-sans font-semibold text-neutral-800;
407
497
  @apply text-sub-header-xs xs:text-sub-header leading-normal;
408
498
  }
409
499
 
410
500
  .ui-text-overline1 {
411
- @apply font-jetbrains_mono font-medium text-active-orange uppercase;
501
+ @apply font-mono font-medium text-active-orange uppercase;
412
502
  @apply text-overline1 leading-normal;
413
503
  @apply tracking-widen-0.16;
414
504
  }
415
505
 
416
506
  .ui-text-overline2 {
417
- @apply font-jetbrains_mono font-medium text-active-orange uppercase;
507
+ @apply font-mono font-medium text-active-orange uppercase;
418
508
  @apply text-overline2 leading-normal;
419
509
  @apply tracking-widen-0.16;
420
510
  }
421
511
 
422
512
  .ui-text-menu1 {
423
- @apply font-manrope font-medium text-cool-black;
513
+ @apply font-sans font-medium text-cool-black;
424
514
  @apply text-menu1 leading-snug;
425
515
  }
426
516
 
427
517
  .ui-text-menu2 {
428
- @apply font-manrope font-medium text-cool-black;
518
+ @apply font-sans font-medium text-cool-black;
429
519
  @apply text-menu2 leading-snug;
430
520
  }
431
521
 
432
522
  .ui-text-menu3 {
433
- @apply font-manrope font-medium text-cool-black;
523
+ @apply font-sans font-medium text-cool-black;
434
524
  @apply text-menu3 leading-snug;
435
525
  }
436
526
 
437
527
  .ui-text-code {
438
- @apply font-jetbrains_mono font-medium text-code;
528
+ @apply font-mono font-medium text-code;
439
529
  }
440
530
 
441
531
  .ui-text-code2 {
442
- @apply font-jetbrains_mono font-medium text-code2;
532
+ @apply font-mono font-medium text-code2;
443
533
  }
444
534
 
445
535
  .ui-text-code-inline {
446
- @apply font-jetbrains_mono font-medium text-code text-charcoal-grey bg-light-grey p-inline-code rounded-sm mx-1;
536
+ @apply font-mono font-medium text-code text-charcoal-grey bg-light-grey p-inline-code rounded-sm mx-1;
447
537
  }
448
538
 
449
539
  .ui-unordered-list {
@@ -479,7 +569,7 @@
479
569
 
480
570
  .ui-ordered-list li,
481
571
  .ui-unordered-list li {
482
- @apply font-medium font-manrope tracking-widen-0;
572
+ @apply font-medium font-sans tracking-widen-0;
483
573
  line-height: var(--lh-extra-relaxed);
484
574
  }
485
575
 
@@ -520,11 +610,11 @@
520
610
  }
521
611
  @layer components {
522
612
  .ui-checkbox-p1 {
523
- @apply flex items-start mb-16 font-manrope font-medium;
613
+ @apply flex items-start mb-16 font-sans font-medium;
524
614
  }
525
615
 
526
616
  .ui-checkbox-p2 {
527
- @apply flex items-start mb-12 font-manrope font-medium;
617
+ @apply flex items-start mb-12 font-sans font-medium;
528
618
  }
529
619
 
530
620
  .ui-checkbox-input {
@@ -569,7 +659,7 @@
569
659
  }
570
660
 
571
661
  .ui-textarea {
572
- @apply font-manrope font-medium text-cool-black text-p1;
662
+ @apply font-sans font-medium text-cool-black text-p1;
573
663
  @apply p-input mb-16;
574
664
  @apply bg-light-grey border-mid-grey transition-input border rounded block w-full;
575
665
  @apply hover:bg-white hover:shadow-input hover:border-transparent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "8.7.0-dev.2b71529",
3
+ "version": "8.7.0-dev.2f1ba81",
4
4
  "description": "Home of the Ably design system library ([design.ably.com](https://design.ably.com)). It provides a showcase, development/test environment and a publishing pipeline for different distributables.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,8 +27,7 @@
27
27
  "change-case": "^4.1.1",
28
28
  "commander": "^7.2.0",
29
29
  "css-loader": "^5.0.0",
30
- "cypress": "^6.4.0",
31
- "cypress-plugin-snapshots": "^1.4.4",
30
+ "cypress": "^13.3.1",
32
31
  "eslint": "^7.12.1",
33
32
  "eslint-config-prettier": "^6.15.0",
34
33
  "eslint-plugin-cypress": "^2.11.2",
@@ -65,6 +64,7 @@
65
64
  "release": "./scripts/release.sh"
66
65
  },
67
66
  "dependencies": {
67
+ "@mrtkrcm/cypress-plugin-snapshots": "https://github.com/mrtkrcm/cypress-plugin-snapshots#v1.13.0",
68
68
  "addsearch-js-client": "^0.7.0",
69
69
  "array-flat-polyfill": "^1.0.1",
70
70
  "dompurify": "^2.2.9",
@@ -74,8 +74,8 @@
74
74
  "lodash.throttle": "^4.1.1",
75
75
  "nanoid": "^4.0.0",
76
76
  "prop-types": "^15.7.2",
77
- "react": "^17.0.1",
78
- "react-dom": "^17.0.1",
77
+ "react": "^18.2.0",
78
+ "react-dom": "^18.2.0",
79
79
  "redux": "^4.0.5",
80
80
  "scroll-lock": "^2.1.4"
81
81
  },
@@ -1,6 +1,6 @@
1
1
  @layer components {
2
2
  .ui-featured-link {
3
- @apply font-manrope font-bold block;
3
+ @apply font-sans font-bold block;
4
4
  @apply text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus;
5
5
  }
6
6
 
@@ -1,14 +1,14 @@
1
1
  @layer components {
2
2
  .ui-footer-col-title {
3
- @apply font-jetbrains_mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
3
+ @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
4
4
  }
5
5
 
6
6
  .ui-footer-menu-row-link {
7
- @apply text-menu3 text-cool-black font-manrope font-medium hover:text-gui-hover block;
7
+ @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
8
8
  }
9
9
 
10
10
  .ui-footer-link {
11
- @apply text-gui-default hover:text-gui-hover text-menu3 font-manrope font-medium;
11
+ @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
12
12
  }
13
13
 
14
14
  .ui-footer-compliance-text {
@@ -1,18 +1,18 @@
1
- <footer class="bg-light-grey font-manrope antialiased leading-normal" data-id="footer">
1
+ <footer class="bg-light-grey font-sans antialiased leading-normal" data-id="footer">
2
2
  <div class="max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6">
3
3
  <div class="col-span-full md:col-span-2">
4
4
  <div class="flex flex-row p-menu-row-snug">
5
5
  <%= image_tag(ably_stack_path, alt: "Ably homepage", class: "mr-24 -mt-16") %>
6
- <h2 class="text-overline2 col-span-full font-jetbrains_mono font-bold uppercase tracking-widen-0.16">The Ably Platform</h2>
6
+ <h2 class="text-overline2 col-span-full font-mono font-bold uppercase tracking-widen-0.16">The Ably Platform</h2>
7
7
  </div>
8
8
  <div class="md:col-span-4 md:w-3/4 xs:w-3/5 w-full">
9
- <p class="font-manrope text-p3 py-16 font-bold p-menu-row-snug">
9
+ <p class="font-sans text-p3 py-16 font-bold p-menu-row-snug">
10
10
  Easily power any realtime experience in your application via a simple API that handles everything realtime.
11
11
  </p>
12
12
  </div>
13
13
  <ul class="grid grid-cols-1">
14
14
  <li class="p-menu-row-snug">
15
- <%= link_to 'Pub/sub messaging', abs_url("/pub-sub-messaging"), class: "ui-footer-menu-row-link" %>
15
+ <%= link_to 'Pub/sub messaging', abs_url("/solutions/channels"), class: "ui-footer-menu-row-link" %>
16
16
  </li>
17
17
  <li class="p-menu-row-snug">
18
18
  <%= link_to 'Push notifications', abs_url("/push-notifications"), class: "ui-footer-menu-row-link" %>
@@ -23,9 +23,6 @@
23
23
  <li class="p-menu-row-snug">
24
24
  <%= link_to 'Multiple protocol messaging', abs_url("/protocols"), class: "ui-footer-menu-row-link" %>
25
25
  </li>
26
- <li class="p-menu-row-snug">
27
- <%= link_to 'Streaming data sources', abs_url("/hub"), class: "ui-footer-menu-row-link" %>
28
- </li>
29
26
  </ul>
30
27
  </div>
31
28
  <div class="col-span-full xs:col-span-3 md:col-span-1">
@@ -49,9 +46,6 @@
49
46
  <li class="p-menu-row-snug">
50
47
  <%= link_to 'Healthcare', abs_url("/solutions/healthcare"), class: "ui-footer-menu-row-link" %>
51
48
  </li>
52
- <li class="p-menu-row-snug">
53
- <%= link_to 'Streaming data sources', abs_url("/hub"), class: "ui-footer-menu-row-link" %>
54
- </li>
55
49
  <li class="p-menu-row-snug">
56
50
  <%= link_to 'eCommerce & Retail', abs_url("/solutions/ecommerce-and-retail"), class: "ui-footer-menu-row-link" %>
57
51
  </li>
@@ -152,8 +146,8 @@
152
146
  <div class="flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2">
153
147
  <div class="">
154
148
  <div class="flex pb-24">
155
- <a class="h-24 pr-24 text-cool-black hover:text-icon-twitter" href="https://twitter.com/ablyrealtime" title="Ably on Twitter">
156
- <%= render(AblyUi::Core::Icon.new(name: "twitter", size: "1.5rem")) %>
149
+ <a class="h-24 pr-24 text-cool-black hover:text-icon-twitter" href="https://twitter.com/ablyrealtime" title="Ably on X">
150
+ <%= render(AblyUi::Core::Icon.new(name: "icon-social-x", size: "1.5rem")) %>
157
151
  </a>
158
152
  <a
159
153
  class="h-24 pr-24 text-cool-black hover:text-icon-linkedin"
@@ -180,7 +174,7 @@
180
174
  >
181
175
  <%= render(AblyUi::Core::Icon.new(name: "glassdoor", size: "1.5rem")) %>
182
176
  </a>
183
- <div class="pl-16 text-menu3 font-manrope font-medium">
177
+ <div class="pl-16 text-menu3 font-sans font-medium">
184
178
  <strong class="block font-medium">We&apos;re hiring!</strong>
185
179
  <a href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm" class="ui-footer-link">
186
180
  Learn more at Glassdoor
@@ -200,7 +194,7 @@
200
194
  >
201
195
  <%= render(AblyUi::Core::Icon.new(name: "glassdoor", size: "1.5rem")) %>
202
196
  </a>
203
- <div class="text-menu3 font-manrope font-medium">
197
+ <div class="text-menu3 font-sans font-medium">
204
198
  <strong class="block font-medium">We&apos;re hiring!</strong>
205
199
  <a href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm" class="ui-footer-link">
206
200
  Learn more at Glassdoor
@@ -210,9 +204,10 @@
210
204
  </div>
211
205
  </div>
212
206
  <div class="col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center">
213
- <%= image_tag(highest_user_adoption, alt: "Highest User Adoption 2022", class: "mr-24 h-80") %>
214
- <%= image_tag(users_love_us, alt: "Users Love Us", class: "mr-24 h-80") %>
215
- <%= image_tag(highest_performer, alt: "High Performer 2022", class: "mr-24 h-80") %>
207
+ <%= image_tag(highest_user_adoption, alt: "Highest User Adoption 2023", class: "mr-24 h-80") %>
208
+ <%= image_tag(best_support, alt: "Best Support 2023", class: "mr-24 h-80") %>
209
+ <%= image_tag(fastest_implementation, alt: "Fastest Implementation 2023", class: "mr-24 h-80") %>
210
+ <%= image_tag(highest_performer, alt: "High Performer 2023", class: "mr-24 h-80") %>
216
211
  </div>
217
212
  </div>
218
213
  <div class="max-w-screen-xl ui-grid-px mx-auto">
@@ -8,22 +8,22 @@ export default function Footer({ paths, urlBase }) {
8
8
  const absUrl = (path) => _absUrl(path, urlBase);
9
9
 
10
10
  return (
11
- <footer className="bg-light-grey font-manrope antialiased leading-normal" data-id="footer">
11
+ <footer className="bg-light-grey font-sans antialiased leading-normal" data-id="footer">
12
12
  <div className="max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6">
13
13
  <div className="col-span-full md:col-span-2">
14
14
  <div className="flex flex-row p-menu-row-snug">
15
15
  <img className="mr-24 -mt-16" src={paths.ablyStack} alt="Ably homepage" />
16
- <h2 className="text-overline2 font-jetbrains_mono font-bold col-span-full uppercase tracking-widen-0.16">The Ably Platform</h2>
16
+ <h2 className="text-overline2 font-mono font-bold col-span-full uppercase tracking-widen-0.16">The Ably Platform</h2>
17
17
  </div>
18
18
  <div className="md:col-span-4 md:w-3/4 xs:w-3/5 w-full">
19
- <p className="font-manrope text-p3 py-16 font-bold p-menu-row-snug">
19
+ <p className="font-sans text-p3 py-16 font-bold p-menu-row-snug">
20
20
  Easily power any realtime experience in your application via a simple API that handles everything realtime.
21
21
  </p>
22
22
  </div>
23
23
 
24
24
  <ul className="grid grid-cols-1">
25
25
  <li className="p-menu-row-snug">
26
- <a href={absUrl("/pub-sub-messaging")} className="ui-footer-menu-row-link">
26
+ <a href={absUrl("/solutions/channels")} className="ui-footer-menu-row-link">
27
27
  Pub/sub messaging
28
28
  </a>
29
29
  </li>
@@ -42,11 +42,6 @@ export default function Footer({ paths, urlBase }) {
42
42
  Multiple protocol messaging
43
43
  </a>
44
44
  </li>
45
- <li className="p-menu-row-snug">
46
- <a href={absUrl("/hub")} className="ui-footer-menu-row-link">
47
- Streaming data sources
48
- </a>
49
- </li>
50
45
  </ul>
51
46
  </div>
52
47
 
@@ -83,11 +78,6 @@ export default function Footer({ paths, urlBase }) {
83
78
  Healthcare
84
79
  </a>
85
80
  </li>
86
- <li className="p-menu-row-snug">
87
- <a href={absUrl("/hub")} className="ui-footer-menu-row-link">
88
- Streaming data sources
89
- </a>
90
- </li>
91
81
  <li className="p-menu-row-snug">
92
82
  <a href={absUrl("/solutions/ecommerce-and-retail")} className="ui-footer-menu-row-link">
93
83
  eCommerce &amp; Retail
@@ -151,7 +141,7 @@ export default function Footer({ paths, urlBase }) {
151
141
  <iframe
152
142
  className="w-20 h-20 mb-2"
153
143
  src="https://status.ably.com/embed/icon"
154
- allowtransparency="true"
144
+ allowTransparency={true}
155
145
  frameBorder="0"
156
146
  scrolling="no"
157
147
  title="System Status"
@@ -246,8 +236,8 @@ export default function Footer({ paths, urlBase }) {
246
236
  <div className="flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2">
247
237
  <div className="">
248
238
  <div className="flex pb-24">
249
- <a className="h-24 pr-24 text-cool-black hover:text-icon-twitter" href="https://twitter.com/ablyrealtime" title="Ably on Twitter">
250
- <Icon name="twitter" size="1.5rem" />
239
+ <a className="h-24 pr-24 text-cool-black hover:text-icon-twitter" href="https://twitter.com/ablyrealtime" title="Ably on X">
240
+ <Icon name="icon-social-x" size="1.5rem" />
251
241
  </a>
252
242
  <a
253
243
  className="h-24 pr-24 text-cool-black hover:text-icon-linkedin"
@@ -274,7 +264,7 @@ export default function Footer({ paths, urlBase }) {
274
264
  >
275
265
  <Icon name="glassdoor" size="1.5rem" />
276
266
  </a>
277
- <div className="pl-16 text-menu3 font-manrope font-medium">
267
+ <div className="pl-16 text-menu3 font-sans font-medium">
278
268
  <strong className="block font-medium">We&apos;re hiring!</strong>
279
269
  <a href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm" className="ui-footer-link">
280
270
  Learn more at Glassdoor
@@ -294,7 +284,7 @@ export default function Footer({ paths, urlBase }) {
294
284
  >
295
285
  <Icon name="glassdoor" size="1.5rem" />
296
286
  </a>
297
- <div className="text-menu3 font-manrope font-medium">
287
+ <div className="text-menu3 font-sans font-medium">
298
288
  <strong className="block font-medium">We&apos;re hiring!</strong>
299
289
  <a href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm" className="ui-footer-link">
300
290
  Learn more at Glassdoor
@@ -305,9 +295,10 @@ export default function Footer({ paths, urlBase }) {
305
295
  </div>
306
296
 
307
297
  <div className="col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center">
308
- <img className="mr-24 h-80" src={paths.highestUserAdoption} alt="Highest User Adoption 2022" />
309
- <img className="mr-24 h-80" src={paths.usersLoveUs} alt="Users Love Us" />
310
- <img className="mr-24 h-80" src={paths.highestPerformer} alt="High Performer 2022" />
298
+ <img className="mr-24 h-80" src={paths.highestUserAdoption} alt="Highest User Adoption 2023" />
299
+ <img className="mr-24 h-80" src={paths.bestSupport} alt="Best Support 2023" />
300
+ <img className="mr-24 h-80" src={paths.fastestImplementation} alt="Fastest Implementation 2023" />
301
+ <img className="mr-24 h-80" src={paths.highestPerformer} alt="High Performer 2023" />
311
302
  </div>
312
303
  </div>
313
304
 
@@ -371,7 +362,8 @@ Footer.propTypes = {
371
362
  ablyStack: T.string,
372
363
  highestPerformer: T.string,
373
364
  highestUserAdoption: T.string,
374
- usersLoveUs: T.string,
365
+ bestSupport: T.string,
366
+ fastestImplementation: T.string,
375
367
  }),
376
368
  urlBase: T.string,
377
369
  };