ably-ui 8.7.0.dev.7021bee → 8.7.0.dev.7072b07

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -6
  3. data/README.md +15 -4
  4. data/lib/ably_ui/core/code/component.css +2 -0
  5. data/lib/ably_ui/core/code/component.js +739 -1
  6. data/lib/ably_ui/core/company_autocomplete/component.css +2 -0
  7. data/lib/ably_ui/core/company_autocomplete/component.js +1161 -1
  8. data/lib/ably_ui/core/connect_state_wrapper/component.js +22 -1
  9. data/lib/ably_ui/core/contact_footer/component.css +2 -0
  10. data/lib/ably_ui/core/contact_footer/component.js +211 -1
  11. data/lib/ably_ui/core/cookie_message/component.css +2 -0
  12. data/lib/ably_ui/core/cookie_message/component.js +82 -1
  13. data/lib/ably_ui/core/core.rb +12 -4
  14. data/lib/ably_ui/core/customer_logos/component.js +22 -1
  15. data/lib/ably_ui/core/dropdown_menu/component.js +22 -1
  16. data/lib/ably_ui/core/feature_footer/component.css +2 -0
  17. data/lib/ably_ui/core/feature_footer/component.js +211 -1
  18. data/lib/ably_ui/core/featured_link/component.css +2 -0
  19. data/lib/ably_ui/core/featured_link/component.js +82 -1
  20. data/lib/ably_ui/core/flash/component.css +2 -0
  21. data/lib/ably_ui/core/flash/component.js +82 -1
  22. data/lib/ably_ui/core/footer/component.css +23 -1
  23. data/lib/ably_ui/core/footer/component.js +82 -1
  24. data/lib/ably_ui/core/footer/footer.html.erb +120 -63
  25. data/lib/ably_ui/core/icon/component.js +22 -1
  26. data/lib/ably_ui/core/images/best-support-2023.svg +1 -0
  27. data/lib/ably_ui/core/images/fastest-implementation-2023.svg +1 -0
  28. data/lib/ably_ui/core/images/high-performer-2022.png +0 -0
  29. data/lib/ably_ui/core/images/high-performer-2023.svg +1 -0
  30. data/lib/ably_ui/core/images/highest-user-adoption-2022.png +0 -0
  31. data/lib/ably_ui/core/images/highest-user-adoption-2023.svg +1 -0
  32. data/lib/ably_ui/core/images/users-love-us-2022.png +0 -0
  33. data/lib/ably_ui/core/loader/component.js +22 -1
  34. data/lib/ably_ui/core/logo/component.js +22 -1
  35. data/lib/ably_ui/core/meganav/component.css +3 -3
  36. data/lib/ably_ui/core/meganav/component.js +992 -1
  37. data/lib/ably_ui/core/meganav/component.json +2 -2
  38. data/lib/ably_ui/core/meganav/meganav.rb +6 -6
  39. data/lib/ably_ui/core/meganav_blog_posts_list/component.js +1159 -1
  40. data/lib/ably_ui/core/meganav_content_company/component.js +22 -1
  41. data/lib/ably_ui/core/meganav_content_company/meganav_content_company.html.erb +9 -0
  42. data/lib/ably_ui/core/meganav_content_developers/component.js +22 -1
  43. data/lib/ably_ui/core/meganav_content_developers/meganav_content_developers.html.erb +30 -14
  44. data/lib/ably_ui/core/meganav_content_products/component.js +22 -0
  45. data/lib/ably_ui/core/{meganav_content_platform/meganav_content_platform.html.erb → meganav_content_products/meganav_content_products.html.erb} +15 -33
  46. data/lib/ably_ui/core/{meganav_content_platform/meganav_content_platform.rb → meganav_content_products/meganav_content_products.rb} +1 -1
  47. data/lib/ably_ui/core/meganav_content_use_cases/component.js +22 -1
  48. data/lib/ably_ui/core/meganav_content_use_cases/meganav_content_use_cases.html.erb +42 -38
  49. data/lib/ably_ui/core/meganav_control/component.js +241 -1
  50. data/lib/ably_ui/core/meganav_control_mobile_dropdown/component.js +180 -1
  51. data/lib/ably_ui/core/meganav_control_mobile_panel_close/component.js +142 -1
  52. data/lib/ably_ui/core/meganav_control_mobile_panel_open/component.js +170 -1
  53. data/lib/ably_ui/core/meganav_items_desktop/component.js +22 -1
  54. data/lib/ably_ui/core/meganav_items_desktop/meganav_items_desktop.rb +1 -1
  55. data/lib/ably_ui/core/meganav_items_mobile/component.js +22 -1
  56. data/lib/ably_ui/core/meganav_items_signed_in/component.js +22 -1
  57. data/lib/ably_ui/core/meganav_search/component.js +22 -1
  58. data/lib/ably_ui/core/meganav_search_autocomplete/component.js +295 -1
  59. data/lib/ably_ui/core/meganav_search_panel/component.js +22 -1
  60. data/lib/ably_ui/core/meganav_search_suggestions/component.js +258 -1
  61. data/lib/ably_ui/core/notice/component.css +2 -0
  62. data/lib/ably_ui/core/notice/component.js +872 -1
  63. data/lib/ably_ui/core/scripts.js +1465 -1
  64. data/lib/ably_ui/core/showcase/component.css +2 -0
  65. data/lib/ably_ui/core/showcase/component.js +343 -1
  66. data/lib/ably_ui/core/sign_out_link/component.js +22 -1
  67. data/lib/ably_ui/core/slider/component.css +2 -0
  68. data/lib/ably_ui/core/slider/component.js +255 -1
  69. data/lib/ably_ui/core/sprites.svg +99 -0
  70. data/lib/ably_ui/core/styles.css +3 -7
  71. data/lib/ably_ui/core/uptime/component.css +2 -0
  72. data/lib/ably_ui/core/uptime/component.js +82 -1
  73. data/lib/ably_ui/reset/scripts.js +1 -1
  74. data/lib/ably_ui/reset/styles.css +1 -11
  75. data/lib/ably_ui/version.rb +1 -1
  76. metadata +12 -7
  77. data/lib/ably_ui/core/meganav_content_platform/component.js +0 -1
  78. data/lib/ably_ui/react/connect_state_wrapper/component.js +0 -1
  79. data/lib/ably_ui/react/scripts.js +0 -1
@@ -1 +1,22 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentCompany=o())}(this,(function(){return{}.default}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentCompany"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!*****************************************************!*\
14
+ !*** ./src/core/MeganavContentCompany/component.js ***!
15
+ \*****************************************************/
16
+
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudENvbXBhbnkvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQXVEO0FBQzlGLENBQUM7QUFDRCxPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250ZW50Q29tcGFueVwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=
@@ -72,6 +72,15 @@
72
72
  </div>
73
73
  <% end %>
74
74
  </li>
75
+ <li>
76
+ <%= link_to abs_url("/events"), class: "ui-meganav-media-with-image group" do %>
77
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-events-col", size: "2.5rem")) %>
78
+ <div class="flex flex-col justify-center">
79
+ <p class="ui-meganav-media-heading">Events</p>
80
+ <p class="ui-meganav-media-copy">Join Ably at upcoming events.</p>
81
+ </div>
82
+ <% end %>
83
+ </li>
75
84
  </ul>
76
85
  </div>
77
86
 
@@ -1 +1,22 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentDevelopers=o())}(this,(function(){return{}.default}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentDevelopers"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!********************************************************!*\
14
+ !*** ./src/core/MeganavContentDevelopers/component.js ***!
15
+ \********************************************************/
16
+
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudERldmVsb3BlcnMvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQXVEO0FBQzlGLENBQUM7QUFDRCxPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250ZW50RGV2ZWxvcGVyc1wiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=
@@ -16,26 +16,34 @@
16
16
  <% end %>
17
17
  </li>
18
18
  <li>
19
- <%= link_to abs_url("/docs/key-concepts"), class: "ui-meganav-media-with-image group" do %>
20
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-lightbulb-col", size: "2.5rem")) %>
19
+ <%= link_to abs_url("/docs/quick-start-guide"), class: "ui-meganav-media-with-image group" do %>
20
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-quickstart-guides-col", size: "2.5rem")) %>
21
21
  <div class="flex flex-col justify-center">
22
- <p class="ui-meganav-media-heading">Concepts</p>
23
- <p class="ui-meganav-media-copy">Read about core Ably platform concepts.</p>
22
+ <p class="ui-meganav-media-heading">Quickstart guides</p>
23
+ <p class="ui-meganav-media-copy">Documentation to help you get started quickly.</p>
24
24
  </div>
25
25
  <% end %>
26
26
  </li>
27
27
  <li>
28
- <%= link_to abs_url("/docs/quick-start-guide"), class: "ui-meganav-media-with-image group" do %>
29
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-quickstart-guides-col", size: "2.5rem")) %>
28
+ <%= link_to abs_url("/integrations"), class: "ui-meganav-media-with-image group" do %>
29
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-integrations-col", size: "2.5rem")) %>
30
30
  <div class="flex flex-col justify-center">
31
- <p class="ui-meganav-media-heading">Quickstart guides</p>
32
- <p class="ui-meganav-media-copy">Documentation to help you get started quickly.</p>
31
+ <p class="ui-meganav-media-heading">Integrations</p>
32
+ <p class="ui-meganav-media-copy">Find out more about Ably integrations. </p>
33
+ </div>
34
+ <% end %>
35
+ </li>
36
+ <li>
37
+ <%= link_to abs_url("/examples"), class: "ui-meganav-media-with-image group" do %>
38
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-examples-col", size: "2.5rem")) %>
39
+ <div class="flex flex-col justify-center">
40
+ <p class="ui-meganav-media-heading">Live examples</p>
41
+ <p class="ui-meganav-media-copy">Discover our features and their use cases.</p>
33
42
  </div>
34
43
  <% end %>
35
44
  </li>
36
45
  </ul>
37
46
  </div>
38
-
39
47
  <div class="col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
40
48
  <ul class="md:mt-40" aria-labelledby="meganav-developers-panel-explore">
41
49
  <li>
@@ -57,17 +65,25 @@
57
65
  <% end %>
58
66
  </li>
59
67
  <li>
60
- <%= link_to abs_url("/integrations"), class: "ui-meganav-media-with-image group" do %>
61
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-integrations-col", size: "2.5rem")) %>
68
+ <%= link_to abs_url("/reference-guide-chat"), class: "ui-meganav-media-with-image group" do %>
69
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-chat-col", size: "2.5rem")) %>
62
70
  <div class="flex flex-col justify-center">
63
- <p class="ui-meganav-media-heading">Integrations</p>
64
- <p class="ui-meganav-media-copy">Find out more about Ably integrations. </p>
71
+ <p class="ui-meganav-media-heading">Chat apps reference guide</p>
72
+ <p class="ui-meganav-media-copy">Learn how to build chat apps with Ably.</p>
73
+ </div>
74
+ <% end %>
75
+ </li>
76
+ <li>
77
+ <%= link_to abs_url("/reference-guide-multiplayer"), class: "ui-meganav-media-with-image group" do %>
78
+ <%= render(AblyUi::Core::Icon.new(name: "icon-multi-user-spaces-col", size: "2.5rem")) %>
79
+ <div class="flex flex-col justify-center">
80
+ <p class="ui-meganav-media-heading">Multiplayer reference guide</p>
81
+ <p class="ui-meganav-media-copy">Learn how to build collaborative features with Ably.</p>
65
82
  </div>
66
83
  <% end %>
67
84
  </li>
68
85
  </ul>
69
86
  </div>
70
-
71
87
  <div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
72
88
  <h3 class="ui-meganav-overline uppercase" id="meganav-developers-panel-quick-links">
73
89
  Quick links
@@ -0,0 +1,22 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentProducts"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!******************************************************!*\
14
+ !*** ./src/core/MeganavContentProducts/component.js ***!
15
+ \******************************************************/
16
+
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudFByb2R1Y3RzL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTyIsInNvdXJjZXMiOlsid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJBYmx5VWlcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQWJseVVpXCJdID0gcm9vdFtcIkFibHlVaVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gPSByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl1bXCJNZWdhbmF2Q29udGVudFByb2R1Y3RzXCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgKCkgPT4ge1xucmV0dXJuICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==
@@ -16,52 +16,34 @@
16
16
  </div>
17
17
 
18
18
  <div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
19
- <h3 class="ui-meganav-overline" id="meganav-platform-panel-list-examples">Our Examples</h3>
20
- <ul class="mb-16" aria-labelledby="meganav-platform-panel-list-examples">
19
+ <h3 class="ui-meganav-overline" id="meganav-products-panel-list-examples">
20
+ Products
21
+ </h3>
22
+ <ul class="mb-16" aria-labelledby="meganav-products-panel-list-examples">
21
23
  <li>
22
- <%= link_to abs_url("/examples/avatar-stack"), class: "ui-meganav-media group" do %>
23
- <p class="ui-meganav-media-heading">Avatar Stack</p>
24
- <p class="ui-meganav-media-copy">See who is connected in a digital space.</p>
24
+ <%= link_to abs_url("/solutions/channels"), class: "ui-meganav-media group" do %>
25
+ <p class="ui-meganav-media-heading">Pub/Sub Channels</p>
26
+ <p class="ui-meganav-media-copy">Build infinitely scalable realtime applications.</p>
25
27
  <% end %>
26
28
  </li>
27
29
  <li>
28
- <%= link_to abs_url("/examples/emoji-reactions"), class: "ui-meganav-media group" do %>
29
- <p class="ui-meganav-media-heading">Emoji Reactions</p>
30
- <p class="ui-meganav-media-copy">React with an emoji to a message.</p>
30
+ <%= link_to abs_url("/spaces"), class: "ui-meganav-media group" do %>
31
+ <p class="ui-meganav-media-heading">Spaces (Beta)</p>
32
+ <p class="ui-meganav-media-copy">Create multi-user collaborative environments.</p>
31
33
  <% end %>
32
34
  </li>
33
35
  <li>
34
- <%= link_to abs_url("/examples/activity-feed"), class: "ui-meganav-media group" do %>
35
- <p class="ui-meganav-media-heading">Activity Feed</p>
36
- <p class="ui-meganav-media-copy">Display a list of user actions in realtime.</p>
37
- <% end %>
38
- </li>
39
- <li>
40
- <%= link_to abs_url("/examples/live-charts"), class: "ui-meganav-media group" do %>
41
- <p class="ui-meganav-media-heading">Live Charts</p>
42
- <p class="ui-meganav-media-copy">Visualise live metrics and data in a chart.</p>
43
- <% end %>
44
- </li>
45
- <li>
46
- <%= link_to abs_url("/examples/live-cursors"), class: "ui-meganav-media group" do %>
47
- <p class="ui-meganav-media-heading">Live Cursors</p>
48
- <p class="ui-meganav-media-copy">Track all cursors in realtime.</p>
49
- <% end %>
50
- </li>
51
- <li>
52
- <%= link_to abs_url("/examples/typing-indicator"), class: "ui-meganav-media group" do %>
53
- <p class="ui-meganav-media-heading">Typing Indicator</p>
54
- <p class="ui-meganav-media-copy">See when a user is typing a message.</p>
36
+ <%= link_to abs_url("/livesync"), class: "ui-meganav-media group" do %>
37
+ <p class="ui-meganav-media-heading">LiveSync (Pre release)</p>
38
+ <p class="ui-meganav-media-copy">Keep clients in sync with any relational database.</p>
55
39
  <% end %>
56
40
  </li>
57
41
  </ul>
58
-
59
- <%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/examples"), text_size: 'text-p3')) do %>Explore all live examples<% end %>
60
42
  </div>
61
43
 
62
44
  <div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
63
- <h3 class="ui-meganav-overline" id="meganav-platform-panel-list-our-technology">Our technology</h3>
64
- <ul class="mb-16" aria-labelledby="meganav-platform-panel-list-our-technology">
45
+ <h3 class="ui-meganav-overline" id="meganav-products-panel-list-our-technology">Technology</h3>
46
+ <ul class="mb-16" aria-labelledby="meganav-products-panel-list-our-technology">
65
47
  <li>
66
48
  <%= link_to abs_url("/four-pillars-of-dependability#performance"), class: "ui-meganav-media group" do %>
67
49
  <p class="ui-meganav-media-heading">Predictable performance</p>
@@ -1,6 +1,6 @@
1
1
  module AblyUi
2
2
  module Core
3
- class MeganavContentPlatform < ViewComponent::Base
3
+ class MeganavContentProducts < ViewComponent::Base
4
4
  include SharedAssets
5
5
  include Util
6
6
 
@@ -1 +1,22 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentUseCases=o())}(this,(function(){return{}.default}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentUseCases"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!******************************************************!*\
14
+ !*** ./src/core/MeganavContentUseCases/component.js ***!
15
+ \******************************************************/
16
+ // TODO: Webpack expects a .js file for any component
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudFVzZUNhc2VzL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTzs7Ozs7QUNWQSxxRCIsInNvdXJjZXMiOlsid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL01lZ2FuYXZDb250ZW50VXNlQ2FzZXMvY29tcG9uZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250ZW50VXNlQ2FzZXNcIl0gPSBmYWN0b3J5KCk7XG59KSh0aGlzLCAoKSA9PiB7XG5yZXR1cm4gIiwiLy8gVE9ETzogV2VicGFjayBleHBlY3RzIGEgLmpzIGZpbGUgZm9yIGFueSBjb21wb25lbnRcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==
@@ -3,49 +3,68 @@
3
3
  <section class="grid grid-cols-12 ui-grid-gap-x w-full">
4
4
  <div class="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
5
5
  <h3 class="ui-meganav-overline" id="meganav-use-cases-panel-use-cases">
6
- Use cases
6
+ Solutions
7
7
  </h3>
8
8
  <ul aria-labelledby="meganav-use-cases-panel-industry-use-cases">
9
+
9
10
  <li>
10
- <%= link_to abs_url("/solutions/live-updates-results-metrics"), class: "ui-meganav-media-with-image group" do %>
11
- <%= render(AblyUi::Core::Icon.new(name: "icon-live-updates-results-metrics-col", size: "2.5rem")) %>
11
+ <%= link_to abs_url("/solutions/chat"), class: "ui-meganav-media-with-image group" do %>
12
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-chat-stack-col", size: "2.5rem")) %>
12
13
  <div class="flex flex-col justify-center">
13
- <p class="ui-meganav-media-heading">Live updates, results & metrics</p>
14
- <p class="ui-meganav-media-copy">Deliver live updates to keep users informed.</p>
14
+ <p class="ui-meganav-media-heading">Live Chat</p>
15
+ <p class="ui-meganav-media-copy">Deliver highly reliable chat experiences at scale.</p>
15
16
  </div>
16
17
  <% end %>
17
18
  </li>
18
19
  <li>
19
- <%= link_to abs_url("/solutions/chat"), class: "ui-meganav-media-with-image group" do %>
20
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-chat-stack-col", size: "2.5rem")) %>
20
+ <%= link_to abs_url("/solutions/multiplayer-collaboration"), class: "ui-meganav-media-with-image group" do %>
21
+ <%= render(AblyUi::Core::Icon.new(name: "icon-multi-user-spaces-col", size: "2.5rem")) %>
21
22
  <div class="flex flex-col justify-center">
22
- <p class="ui-meganav-media-heading">Chat</p>
23
- <p class="ui-meganav-media-copy">Deliver highly reliable chat experiences at scale. </p>
23
+ <p class="ui-meganav-media-heading">Multiplayer Collaboration</p>
24
+ <p class="ui-meganav-media-copy">Bring collaborative multiplayer experiences to your users.</p>
24
25
  </div>
25
26
  <% end %>
26
27
  </li>
27
28
  <li>
28
- <%= link_to abs_url("/solutions/virtual-events"), class: "ui-meganav-media-with-image group" do %>
29
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-virtual-events-col", size: "2.5rem")) %>
29
+ <%= link_to abs_url("/solutions/data-broadcast"), class: "ui-meganav-media-with-image group" do %>
30
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-data-broadcast-col", size: "2.5rem")) %>
30
31
  <div class="flex flex-col justify-center">
31
- <p class="ui-meganav-media-heading">Virtual Events</p>
32
- <p class="ui-meganav-media-copy">Power engaging virtual events with realtime features.</p>
32
+ <p class="ui-meganav-media-heading">Data Broadcast</p>
33
+ <p class="ui-meganav-media-copy">Broadcast realtime event data to millions of devices around the globe.</p>
33
34
  </div>
34
35
  <% end %>
35
36
  </li>
36
37
  <li>
37
- <%= link_to abs_url("/solutions/multi-user-virtual-spaces"), class: "ui-meganav-media-with-image group" do %>
38
- <%= render(AblyUi::Core::Icon.new(name: "icon-multi-user-spaces-col", size: "2.5rem")) %>
38
+ <%= link_to abs_url("/solutions/data-synchronization"), class: "ui-meganav-media-with-image group" do %>
39
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-data-synchronization-col", size: "2.5rem")) %>
39
40
  <div class="flex flex-col justify-center">
40
- <p class="ui-meganav-media-heading">Multi-user virtual spaces</p>
41
- <p class="ui-meganav-media-copy">Build live and interactive multi-user applications.</p>
41
+ <p class="ui-meganav-media-heading">Data Synchronization</p>
42
+ <p class="ui-meganav-media-copy">Keep your frontend and backend in realtime sync, at global scale.</p>
43
+ </div>
44
+ <% end %>
45
+ </li>
46
+ <li>
47
+ <%= link_to abs_url("/push-notifications"), class: "ui-meganav-media-with-image group" do %>
48
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-push-notifications-col", size: "2.5rem")) %>
49
+ <div class="flex flex-col justify-center">
50
+ <p class="ui-meganav-media-heading">Notifications</p>
51
+ <p class="ui-meganav-media-copy">Deliver cross-platform push notifications with a simple unified API.</p>
52
+ </div>
53
+ <% end %>
54
+ </li>
55
+ <li>
56
+ <%= link_to abs_url("/solutions/asset-tracking"), class: "ui-meganav-media-with-image group" do %>
57
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-asset-tracking-col", size: "2.5rem")) %>
58
+ <div class="flex flex-col justify-center">
59
+ <p class="ui-meganav-media-heading">Asset Tracking (Beta)</p>
60
+ <p class="ui-meganav-media-copy">Track assets in realtime with a solution optimised for last mile logistics.</p>
42
61
  </div>
43
62
  <% end %>
44
63
  </li>
45
64
  </ul>
46
65
  </div>
47
66
 
48
- <div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
67
+ <div class="col-span-full md:col-span-4 pt-24 pb-0 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
49
68
  <h3 class="ui-meganav-overline" id="meganav-use-cases-panel-industry">
50
69
  Industry
51
70
  </h3>
@@ -80,6 +99,11 @@
80
99
  <p class="ui-meganav-media-copy">Provide trustworthy, HIPAA-compliant realtime apps.</p>
81
100
  <% end %>
82
101
  </li>
102
+ </ul>
103
+ </div>
104
+
105
+ <div class="col-span-full md:col-span-4 pt-0 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
106
+ <ul aria-labelledby="meganav-use-cases-panel-solutions" class="mt-0 md:mt-40">
83
107
  <li>
84
108
  <%= link_to abs_url("/solutions/ecommerce-and-retail"), class: "ui-meganav-media group" do %>
85
109
  <p class="ui-meganav-media-heading">eCommerce & Retail</p>
@@ -106,26 +130,6 @@
106
130
  </li>
107
131
  </ul>
108
132
  </div>
109
-
110
- <div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
111
- <h3 class="ui-meganav-overline" id="meganav-use-cases-panel-solutions">
112
- Solutions
113
- </h3>
114
- <ul aria-labelledby="meganav-use-cases-panel-solutions">
115
- <li>
116
- <%= link_to abs_url("/solutions/extend-kafka-to-the-edge"), class: "ui-meganav-media group" do %>
117
- <p class="ui-meganav-media-heading">Extend Kafka to the edge</p>
118
- <p class="ui-meganav-media-copy">Reliably expand Kafka’s event streaming beyond your private network.</p>
119
- <% end %>
120
- </li>
121
- <li>
122
- <%= link_to abs_url("/solutions/asset-tracking"), class: "ui-meganav-media group" do %>
123
- <p class="ui-meganav-media-heading">Asset Tracking</p>
124
- <p class="ui-meganav-media-copy">Track assets in realtime with a solution optimised for last mile logistics.</p>
125
- <% end %>
126
- </li>
127
- </ul>
128
- </div>
129
133
  </section>
130
134
  <div class="ui-meganav-content-spacer"></div>
131
135
  </div>