@ably/ui 8.1.1 → 8.2.1-dev.611f3bd

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 (101) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Meganav/component.css +11 -1
  3. package/core/Meganav/component.js +1 -1
  4. package/core/Meganav/component.json +4 -4
  5. package/core/Meganav.jsx +537 -370
  6. package/core/MeganavBlogPostsList/component.js +1 -1
  7. package/core/MeganavBlogPostsList.jsx +7 -4
  8. package/core/MeganavContentCompany/component.js +1 -0
  9. package/core/MeganavContentCompany.jsx +1514 -0
  10. package/core/MeganavContentDevelopers.jsx +80 -102
  11. package/core/MeganavContentPlatform.jsx +58 -34
  12. package/core/MeganavContentUseCases.jsx +128 -36
  13. package/core/MeganavContentWhyAbly/component.js +6 -1
  14. package/core/MeganavContentWhyAbly.jsx +3 -1468
  15. package/core/MeganavControl/component.js +1 -1
  16. package/core/MeganavControl.jsx +3 -1
  17. package/core/MeganavControlMobilePanelClose.jsx +7 -4
  18. package/core/MeganavItemsDesktop.jsx +13 -5
  19. package/core/MeganavItemsMobile.jsx +11 -6
  20. package/core/MeganavItemsSignedIn.jsx +5 -2
  21. package/core/MeganavSearch.jsx +1 -1
  22. package/core/MeganavSearchPanel.jsx +1 -1
  23. package/core/MeganavSearchSuggestions/component.js +1 -1
  24. package/core/Notice/component.js +1 -1
  25. package/core/fonts/.DS_Store +0 -0
  26. package/core/images/.DS_Store +0 -0
  27. package/core/images/icon-tech-aws.svg +4 -0
  28. package/core/scripts.js +1 -1
  29. package/core/sprites.svg +141 -0
  30. package/core/styles.css +4 -0
  31. package/package.json +1 -1
  32. package/{src/core/MeganavContentWhyAbly/component.js → preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep} +0 -0
  33. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
  34. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
  35. package/src/.DS_Store +0 -0
  36. package/src/core/.DS_Store +0 -0
  37. package/src/core/Meganav/component.css +11 -1
  38. package/src/core/Meganav/component.json +4 -4
  39. package/src/core/Meganav/component.jsx +2 -2
  40. package/src/core/Meganav/component.rb +8 -4
  41. package/src/core/MeganavBlogPostsList/component.html.erb +4 -4
  42. package/src/core/MeganavBlogPostsList/component.js +2 -2
  43. package/src/core/MeganavBlogPostsList/component.jsx +6 -4
  44. package/src/core/MeganavContentCompany/component.html.erb +81 -0
  45. package/src/core/MeganavContentCompany/component.js +0 -0
  46. package/src/core/MeganavContentCompany/component.jsx +108 -0
  47. package/src/core/{MeganavContentWhyAbly → MeganavContentCompany}/component.rb +2 -1
  48. package/src/core/MeganavContentDevelopers/component.html.erb +101 -80
  49. package/src/core/MeganavContentDevelopers/component.jsx +102 -83
  50. package/src/core/MeganavContentPlatform/component.html.erb +95 -85
  51. package/src/core/MeganavContentPlatform/component.jsx +105 -92
  52. package/src/core/MeganavContentUseCases/component.html.erb +112 -83
  53. package/src/core/MeganavContentUseCases/component.jsx +114 -87
  54. package/src/core/MeganavControl/component.html.erb +1 -1
  55. package/src/core/MeganavControl/component.js +9 -1
  56. package/src/core/MeganavControl/component.jsx +3 -2
  57. package/src/core/MeganavControl/component.rb +8 -2
  58. package/src/core/MeganavControlMobilePanelClose/component.html.erb +4 -2
  59. package/src/core/MeganavControlMobilePanelClose/component.jsx +3 -2
  60. package/src/core/MeganavControlMobilePanelClose/component.rb +4 -1
  61. package/src/core/MeganavItemsDesktop/component.html.erb +4 -3
  62. package/src/core/MeganavItemsDesktop/component.jsx +5 -3
  63. package/src/core/MeganavItemsDesktop/component.rb +8 -0
  64. package/src/core/MeganavItemsMobile/component.html.erb +1 -1
  65. package/src/core/MeganavItemsMobile/component.jsx +2 -1
  66. package/src/core/MeganavItemsMobile/component.rb +4 -0
  67. package/src/core/MeganavItemsSignedIn/component.html.erb +1 -1
  68. package/src/core/MeganavItemsSignedIn/component.jsx +1 -1
  69. package/src/core/MeganavSearchPanel/component.html.erb +1 -1
  70. package/src/core/MeganavSearchPanel/component.jsx +1 -1
  71. package/src/core/MeganavSearchSuggestions/component.html.erb +2 -2
  72. package/src/core/MeganavSearchSuggestions/component.js +15 -5
  73. package/src/core/core.rb +4 -0
  74. package/src/core/fonts/.DS_Store +0 -0
  75. package/src/core/icons/icon-display-about-ably-col.svg +4 -0
  76. package/src/core/icons/icon-display-careers-col.svg +9 -0
  77. package/src/core/icons/icon-display-case-studies-col.svg +5 -0
  78. package/src/core/icons/icon-display-chat-stack-col.svg +4 -0
  79. package/src/core/icons/icon-display-chat-stack.svg +4 -0
  80. package/src/core/icons/icon-display-compare-tech-col.svg +9 -0
  81. package/src/core/icons/icon-display-customers-col.svg +15 -0
  82. package/src/core/icons/icon-display-docs-col.svg +7 -0
  83. package/src/core/icons/icon-display-lightbulb-col.svg +10 -0
  84. package/src/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  85. package/src/core/icons/icon-display-resources-col.svg +21 -0
  86. package/src/core/icons/icon-display-sdks-col.svg +11 -0
  87. package/src/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  88. package/src/core/icons/icon-display-virtual-events-col.svg +12 -0
  89. package/src/core/icons/icon-display-virtual-events.svg +12 -0
  90. package/src/core/images/.DS_Store +0 -0
  91. package/src/core/images/icon-tech-aws.svg +4 -0
  92. package/src/core/styles/layout.css +4 -0
  93. package/src/reset/.DS_Store +0 -0
  94. package/core/images/blog-thumb1.jpg +0 -0
  95. package/core/images/blog-thumb2.jpg +0 -0
  96. package/core/images/blog-thumb3.jpg +0 -0
  97. package/src/core/MeganavContentWhyAbly/component.html.erb +0 -70
  98. package/src/core/MeganavContentWhyAbly/component.jsx +0 -95
  99. package/src/core/images/blog-thumb1.jpg +0 -0
  100. package/src/core/images/blog-thumb2.jpg +0 -0
  101. package/src/core/images/blog-thumb3.jpg +0 -0
package/core/Meganav.jsx CHANGED
@@ -3931,12 +3931,14 @@ Logo.propTypes = {
3931
3931
  var MeganavBlogPostsList = function MeganavBlogPostsList(_ref) {
3932
3932
  var recentBlogPosts = _ref.recentBlogPosts,
3933
3933
  absUrl = _ref.absUrl;
3934
- return recentBlogPosts ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
3934
+ return recentBlogPosts ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
3935
+ className: "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"
3936
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
3935
3937
  className: "ui-meganav-overline",
3936
- id: "meganav-why-ably-panel-list-blog"
3938
+ id: "meganav-company-panel-list-blog"
3937
3939
  }, "Blog"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
3938
3940
  className: "mb-8",
3939
- "aria-labelledby": "meganav-why-ably-panel-list-blog"
3941
+ "aria-labelledby": "meganav-company-panel-list-blog"
3940
3942
  }, recentBlogPosts.map(function (post) {
3941
3943
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
3942
3944
  key: post.link
@@ -3949,7 +3951,8 @@ var MeganavBlogPostsList = function MeganavBlogPostsList(_ref) {
3949
3951
  className: "ui-meganav-media-copy"
3950
3952
  }, post.pubDate)));
3951
3953
  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
3952
- url: absUrl("/blog")
3954
+ url: absUrl("/blog"),
3955
+ textSize: "text-p3"
3953
3956
  }, "More from our Blog")) : null;
3954
3957
  };
3955
3958
 
@@ -3965,6 +3968,271 @@ MeganavBlogPostsList.propTypes = {
3965
3968
 
3966
3969
  /***/ }),
3967
3970
 
3971
+ /***/ 1505:
3972
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3973
+
3974
+ "use strict";
3975
+
3976
+ // EXPORTS
3977
+ __webpack_require__.d(__webpack_exports__, {
3978
+ "default": () => (/* binding */ MeganavContentCompany_component)
3979
+ });
3980
+
3981
+ // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
3982
+ var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
3983
+ var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
3984
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
3985
+ var prop_types = __webpack_require__(5697);
3986
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
3987
+ // EXTERNAL MODULE: ./src/core/MeganavBlogPostsList/component.jsx
3988
+ var component = __webpack_require__(2725);
3989
+ // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
3990
+ var ConnectStateWrapper_component = __webpack_require__(9787);
3991
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
3992
+ var regenerator = __webpack_require__(7757);
3993
+ ;// CONCATENATED MODULE: ./src/core/remote-blogs-posts.js
3994
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3995
+
3996
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3997
+
3998
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3999
+
4000
+
4001
+
4002
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4003
+
4004
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4005
+
4006
+
4007
+
4008
+ var fetchBlogPosts = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
4009
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(store, blogUrl) {
4010
+ var res, payload;
4011
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
4012
+ while (1) {
4013
+ switch (_context.prev = _context.next) {
4014
+ case 0:
4015
+ _context.prev = 0;
4016
+
4017
+ if (blogUrl) {
4018
+ _context.next = 4;
4019
+ break;
4020
+ }
4021
+
4022
+ console.log("Skipping fetching blog posts, invalid blogUrl: \"".concat(blogUrl, "\""));
4023
+ return _context.abrupt("return");
4024
+
4025
+ case 4:
4026
+ _context.next = 6;
4027
+ return fetch(blogUrl);
4028
+
4029
+ case 6:
4030
+ res = _context.sent;
4031
+
4032
+ if (!isJsonResponse(res.headers.get("content-type"))) {
4033
+ _context.next = 14;
4034
+ break;
4035
+ }
4036
+
4037
+ _context.next = 10;
4038
+ return res.json();
4039
+
4040
+ case 10:
4041
+ payload = _context.sent;
4042
+ store.dispatch({
4043
+ type: "blog/loaded",
4044
+ payload: payload
4045
+ });
4046
+ _context.next = 15;
4047
+ break;
4048
+
4049
+ case 14:
4050
+ throw new Error("Blog posts url is not serving json");
4051
+
4052
+ case 15:
4053
+ _context.next = 20;
4054
+ break;
4055
+
4056
+ case 17:
4057
+ _context.prev = 17;
4058
+ _context.t0 = _context["catch"](0);
4059
+ console.warn("Could not fetch blog posts due to error:", _context.t0);
4060
+
4061
+ case 20:
4062
+ case "end":
4063
+ return _context.stop();
4064
+ }
4065
+ }
4066
+ }, _callee, null, [[0, 17]]);
4067
+ }));
4068
+
4069
+ return function fetchBlogPosts(_x, _x2) {
4070
+ return _ref.apply(this, arguments);
4071
+ };
4072
+ }()));
4073
+
4074
+ var initialState = {
4075
+ recent: null
4076
+ };
4077
+ var REDUCER_KEY = "blogPosts";
4078
+
4079
+ var reducerBlogPosts = _defineProperty({}, REDUCER_KEY, function () {
4080
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
4081
+ var action = arguments.length > 1 ? arguments[1] : undefined;
4082
+
4083
+ switch (action.type) {
4084
+ case "blog/loaded":
4085
+ return _objectSpread(_objectSpread({}, state), {}, {
4086
+ recent: action.payload
4087
+ });
4088
+
4089
+ default:
4090
+ return state;
4091
+ }
4092
+ });
4093
+
4094
+ var selectRecentBlogPosts = function selectRecentBlogPosts(store) {
4095
+ var _store$getState$REDUC;
4096
+
4097
+ return (_store$getState$REDUC = store.getState()[REDUCER_KEY]) === null || _store$getState$REDUC === void 0 ? void 0 : _store$getState$REDUC.recent;
4098
+ };
4099
+
4100
+
4101
+ // EXTERNAL MODULE: ./src/core/Icon/component.jsx
4102
+ var Icon_component = __webpack_require__(9008);
4103
+ ;// CONCATENATED MODULE: ./src/core/MeganavContentCompany/component.jsx
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+
4110
+
4111
+ var MeganavContentCompany = function MeganavContentCompany(_ref) {
4112
+ var paths = _ref.paths,
4113
+ absUrl = _ref.absUrl;
4114
+ var BlogPostsList = (0,ConnectStateWrapper_component.default)(component.default, {
4115
+ recentBlogPosts: selectRecentBlogPosts
4116
+ });
4117
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4118
+ className: "flex max-w-screen-xl mx-auto"
4119
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4120
+ className: "ui-meganav-content-spacer"
4121
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("section", {
4122
+ className: "grid grid-cols-12 ui-grid-gap-x w-full"
4123
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4124
+ className: "col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24"
4125
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("h3", {
4126
+ className: "ui-meganav-overline",
4127
+ id: "meganav-company-panel-list-why-companies"
4128
+ }, "Why companies choose Ably"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
4129
+ "aria-labelledby": "meganav-company-panel-list-why-companies"
4130
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4131
+ href: absUrl("/customers"),
4132
+ className: "ui-meganav-media-with-image group"
4133
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4134
+ name: "icon-display-customers-col",
4135
+ size: "2.5rem"
4136
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4137
+ className: "flex flex-col justify-center"
4138
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4139
+ className: "ui-meganav-media-heading"
4140
+ }, "Customers"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4141
+ className: "ui-meganav-media-copy"
4142
+ }, "Ably supports customers across multiple industries.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4143
+ href: absUrl("/case-studies"),
4144
+ className: "ui-meganav-media-with-image group"
4145
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4146
+ name: "icon-display-case-studies-col",
4147
+ size: "2.5rem"
4148
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4149
+ className: "flex flex-col justify-center"
4150
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4151
+ className: "ui-meganav-media-heading"
4152
+ }, "Case studies"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4153
+ className: "ui-meganav-media-copy"
4154
+ }, "Discover how customers are benefitting from Ably.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4155
+ href: absUrl("/compare"),
4156
+ className: "ui-meganav-media-with-image group"
4157
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4158
+ name: "icon-display-compare-tech-col",
4159
+ size: "2.5rem"
4160
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4161
+ className: "flex flex-col justify-center"
4162
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4163
+ className: "ui-meganav-media-heading"
4164
+ }, "Compare our tech"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4165
+ className: "ui-meganav-media-copy"
4166
+ }, "Choose the right realtime service.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4167
+ href: absUrl("/aws"),
4168
+ className: "ui-meganav-media-with-image group"
4169
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("img", {
4170
+ src: paths.awsLogo,
4171
+ alt: "AWS logo"
4172
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4173
+ className: "flex flex-col justify-center"
4174
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4175
+ className: "ui-meganav-media-heading"
4176
+ }, "Partners"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4177
+ className: "ui-meganav-media-copy"
4178
+ }, "Ably collaborates and integrates with AWS.")))))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4179
+ className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
4180
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
4181
+ className: "md:mt-40",
4182
+ "aria-labelledby": "meganav-company-panel-list-why-companies"
4183
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4184
+ href: absUrl("/resources"),
4185
+ className: "ui-meganav-media-with-image group"
4186
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4187
+ name: "icon-display-resources-col",
4188
+ size: "2.5rem"
4189
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4190
+ className: "flex flex-col justify-center"
4191
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4192
+ className: "ui-meganav-media-heading"
4193
+ }, "Resources"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4194
+ className: "ui-meganav-media-copy"
4195
+ }, "Learn more about realtime with our handy resources.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4196
+ href: absUrl("/about"),
4197
+ className: "ui-meganav-media-with-image group"
4198
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4199
+ name: "icon-display-about-ably-col",
4200
+ size: "2.5rem"
4201
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4202
+ className: "flex flex-col justify-center"
4203
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4204
+ className: "ui-meganav-media-heading"
4205
+ }, "About Ably"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4206
+ className: "ui-meganav-media-copy"
4207
+ }, "Find out more about Ably\u2019s mission.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4208
+ href: absUrl("/careers"),
4209
+ className: "ui-meganav-media-with-image group"
4210
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
4211
+ name: "icon-display-careers-col",
4212
+ size: "2.5rem"
4213
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4214
+ className: "flex flex-col justify-center"
4215
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4216
+ className: "ui-meganav-media-heading"
4217
+ }, "Careers"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4218
+ className: "ui-meganav-media-copy"
4219
+ }, "Discover our open roles and core Ably values.")))))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(BlogPostsList, {
4220
+ absUrl: absUrl
4221
+ })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4222
+ className: "ui-meganav-content-spacer"
4223
+ }));
4224
+ };
4225
+
4226
+ MeganavContentCompany.propTypes = {
4227
+ absUrl: (prop_types_default()).func,
4228
+ paths: prop_types_default().shape({
4229
+ awsLogo: (prop_types_default()).string
4230
+ })
4231
+ };
4232
+ /* harmony default export */ const MeganavContentCompany_component = (MeganavContentCompany);
4233
+
4234
+ /***/ }),
4235
+
3968
4236
  /***/ 2619:
3969
4237
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3970
4238
 
@@ -3976,93 +4244,114 @@ MeganavBlogPostsList.propTypes = {
3976
4244
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3977
4245
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5697);
3978
4246
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
3979
- /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5751);
3980
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9008);
3981
-
4247
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
3982
4248
 
3983
4249
 
3984
4250
 
3985
4251
 
3986
4252
  var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
3987
4253
  var absUrl = _ref.absUrl;
3988
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
3989
- className: "ui-meganav-content ui-grid-gap md:grid-cols-3"
3990
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
3991
- className: "ui-meganav-overline md:mb-8"
3992
- }, "Documentation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
3993
- className: "mb-16"
3994
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
3995
- className: "relative",
3996
- action: absUrl("/search"),
3997
- method: "get"
3998
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_3__.default, {
3999
- name: "icon-gui-search",
4000
- color: "text-cool-black",
4001
- size: "1.5rem",
4002
- additionalCSS: "absolute top-8 left-8 pt-1 mt-1"
4003
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
4004
- type: "search",
4005
- name: "q",
4006
- className: "ui-input pl-48",
4007
- placeholder: "Search docs"
4008
- }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4009
- className: "text-p1 font-medium text-cool-black mb-20"
4010
- }, "Docs, quick start guides, tutorials, and API reference to help you start building with Ably\u2019s platform and APIs."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4011
- url: absUrl("/docs")
4012
- }, "Visit Documentation")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4254
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4255
+ className: "flex max-w-screen-xl mx-auto"
4256
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4257
+ className: "ui-meganav-content-spacer"
4258
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
4259
+ className: "grid grid-cols-12 ui-grid-gap-x w-full"
4260
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4261
+ className: "col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24"
4262
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4013
4263
  className: "ui-meganav-overline uppercase",
4014
4264
  id: "meganav-developers-panel-explore"
4015
- }, "EXPLORE"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4265
+ }, "Explore"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4016
4266
  "aria-labelledby": "meganav-developers-panel-explore"
4017
4267
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4018
- href: absUrl("/integrations"),
4019
- className: "ui-meganav-media group"
4268
+ href: absUrl("/docs"),
4269
+ className: "ui-meganav-media-with-image group"
4270
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4271
+ name: "icon-display-docs-col",
4272
+ size: "2.5rem"
4273
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4274
+ className: "flex flex-col justify-center"
4020
4275
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4021
4276
  className: "ui-meganav-media-heading"
4022
- }, "Third-party integrations & plugins"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4277
+ }, "Documentation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4023
4278
  className: "ui-meganav-media-copy"
4024
- }, "Integrate and extend Ably with cloud services like AWS Kinesis."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4025
- href: absUrl("/protocols"),
4026
- className: "ui-meganav-media group"
4279
+ }, "Technical guides to help you build with Ably.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4280
+ href: absUrl("/docs/key-concepts"),
4281
+ className: "ui-meganav-media-with-image group"
4282
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4283
+ name: "icon-display-lightbulb-col",
4284
+ size: "2.5rem"
4285
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4286
+ className: "flex flex-col justify-center"
4027
4287
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4028
4288
  className: "ui-meganav-media-heading"
4029
- }, "Multi-protocol messaging"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4289
+ }, "Concepts"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4030
4290
  className: "ui-meganav-media-copy"
4031
- }, "We support pub/sub over WebSockets, MQTT, SSE, and more."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4032
- href: absUrl("/hub"),
4033
- className: "ui-meganav-media group"
4291
+ }, "Read about core Ably platform concepts.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4292
+ href: absUrl("/docs/quick-start-guide"),
4293
+ className: "ui-meganav-media-with-image group"
4294
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4295
+ name: "icon-display-quickstart-guides-col",
4296
+ size: "2.5rem"
4297
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4298
+ className: "flex flex-col justify-center"
4034
4299
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4035
4300
  className: "ui-meganav-media-heading"
4036
- }, "Streaming data sources"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4301
+ }, "Quickstart guides"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4037
4302
  className: "ui-meganav-media-copy"
4038
- }, "Augment your apps with realtime updates like weather or transit."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4039
- href: absUrl("/periodic-table-of-realtime"),
4040
- className: "ui-meganav-media group"
4303
+ }, "Documentation to help you get up and running quickly.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4304
+ className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
4305
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4306
+ className: "md:mt-40",
4307
+ "aria-labelledby": "meganav-developers-panel-explore"
4308
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4309
+ href: absUrl("/download"),
4310
+ className: "ui-meganav-media-with-image group"
4311
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4312
+ name: "icon-display-sdks-col",
4313
+ size: "2.5rem"
4314
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4315
+ className: "flex flex-col justify-center"
4041
4316
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4042
4317
  className: "ui-meganav-media-heading"
4043
- }, "The Periodic Table of Realtime"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4318
+ }, "SDKs"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4044
4319
  className: "ui-meganav-media-copy"
4045
- }, "A compendium for all things realtime and event-driven."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4320
+ }, "Download an SDK to help you build realtime apps faster.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4321
+ href: absUrl("/tutorials"),
4322
+ className: "ui-meganav-media-with-image group"
4323
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4324
+ name: "icon-display-tutorials-demos-col",
4325
+ size: "2.5rem"
4326
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4327
+ className: "flex flex-col justify-center"
4328
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4329
+ className: "ui-meganav-media-heading"
4330
+ }, "Tutorials & Demos"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4331
+ className: "ui-meganav-media-copy"
4332
+ }, "Get stuck in with our hands-on resources. ")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4333
+ className: "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"
4334
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4046
4335
  className: "ui-meganav-overline uppercase",
4047
4336
  id: "meganav-developers-panel-quick-links"
4048
4337
  }, "Quick links"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4049
4338
  "aria-labelledby": "meganav-developers-panel-quick-links"
4050
4339
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4051
- href: absUrl("/download"),
4340
+ href: "https://discord.gg/jwBPhEZ9g5",
4052
4341
  className: "group ui-meganav-media py-12"
4053
4342
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4054
4343
  className: "ui-meganav-media-heading"
4055
- }, "Download an SDK"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4056
- href: "https://changelog.ably.com/",
4344
+ }, "Discord"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4345
+ href: "https://github.com/ably",
4057
4346
  className: "group ui-meganav-media py-12"
4058
4347
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4059
4348
  className: "ui-meganav-media-heading"
4060
- }, "Platform changelog"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4061
- href: absUrl("/support"),
4349
+ }, "Github"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4350
+ href: "https://changelog.ably.com/",
4062
4351
  className: "group ui-meganav-media py-12"
4063
4352
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4064
4353
  className: "ui-meganav-media-heading"
4065
- }, "Support & FAQs"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4354
+ }, "Changelog"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4066
4355
  href: "https://status.ably.com/",
4067
4356
  className: "group ui-meganav-media py-12"
4068
4357
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
@@ -4073,7 +4362,14 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
4073
4362
  frameBorder: "0",
4074
4363
  scrolling: "no",
4075
4364
  className: "w-24 h-24 ml-4 border-none pointer-events-none align-middle"
4076
- })))))));
4365
+ })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4366
+ href: absUrl("/support"),
4367
+ className: "group ui-meganav-media py-12"
4368
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4369
+ className: "ui-meganav-media-heading"
4370
+ }, "Support & FAQs")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4371
+ className: "ui-meganav-content-spacer"
4372
+ }));
4077
4373
  };
4078
4374
 
4079
4375
  MeganavContentDevelopers.propTypes = {
@@ -4102,10 +4398,14 @@ MeganavContentDevelopers.propTypes = {
4102
4398
  var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
4103
4399
  var paths = _ref.paths,
4104
4400
  absUrl = _ref.absUrl;
4105
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
4106
- className: "ui-meganav-content ui-grid-gap sm:grid-cols-2 md:grid-cols-3"
4401
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4402
+ className: "flex max-w-screen-xl mx-auto"
4107
4403
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4108
- className: "sm:col-span-full md:col-span-1"
4404
+ className: "ui-meganav-content-spacer bg-extra-light-grey"
4405
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
4406
+ className: "grid grid-cols-12 ui-grid-gap-x w-full"
4407
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4408
+ className: "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"
4109
4409
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4110
4410
  className: "flex mb-20"
4111
4411
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", {
@@ -4114,56 +4414,73 @@ var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
4114
4414
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4115
4415
  className: "ui-meganav-overline ml-24"
4116
4416
  }, "The Ably Platform")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4117
- className: "text-p2 font-medium text-cool-black mb-8"
4417
+ className: "text-p2 font-medium text-cool-black mb-24",
4418
+ style: {
4419
+ maxWidth: "330px"
4420
+ }
4118
4421
  }, "Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4119
- url: absUrl("/platform")
4120
- }, "Explore how it works")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4422
+ url: absUrl("/platform"),
4423
+ textSize: "text-p2"
4424
+ }, "Explore how it works")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4425
+ className: "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"
4426
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4121
4427
  className: "ui-meganav-overline",
4122
- id: "meganav-platform-panel-list-our-features"
4123
- }, "Our features"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4124
- "aria-labelledby": "meganav-platform-panel-list-our-features"
4428
+ id: "meganav-platform-panel-list-examples"
4429
+ }, "Our Examples"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4430
+ className: "mb-16",
4431
+ "aria-labelledby": "meganav-platform-panel-list-examples"
4125
4432
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4126
- href: absUrl("/pub-sub-messaging"),
4433
+ href: absUrl("/examples/avatar-stack"),
4127
4434
  className: "group ui-meganav-media"
4128
4435
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4129
4436
  className: "ui-meganav-media-heading"
4130
- }, "Publish/subscribe messaging"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4437
+ }, "Avatar Stack"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4131
4438
  className: "ui-meganav-media-copy"
4132
- }, "Feature-rich pub/sub messaging to power any realtime requirement."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4133
- href: absUrl("/push-notifications"),
4439
+ }, "See who is connected in a digital space."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4440
+ href: absUrl("/examples/emoji-reactions"),
4134
4441
  className: "ui-meganav-media group"
4135
4442
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4136
4443
  className: "ui-meganav-media-heading"
4137
- }, "Push notifications"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4444
+ }, "Emoji Reactions"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4138
4445
  className: "ui-meganav-media-copy"
4139
- }, "Deliver native notifications at scale with our unified API."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4140
- href: absUrl("/integrations"),
4446
+ }, "React with an emoji to a message."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4447
+ href: absUrl("/examples/activity-feed"),
4141
4448
  className: "ui-meganav-media group"
4142
4449
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4143
4450
  className: "ui-meganav-media-heading"
4144
- }, "Third-party integrations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4451
+ }, "Activity Feed"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4145
4452
  className: "ui-meganav-media-copy"
4146
- }, "Integrate and extend Ably with cloud services like AWS Kinesis."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4147
- href: absUrl("/protocols"),
4453
+ }, "Display a list of user actions in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4454
+ href: absUrl("/examples/live-charts"),
4148
4455
  className: "ui-meganav-media group"
4149
4456
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4150
4457
  className: "ui-meganav-media-heading"
4151
- }, "Multi-protocol messaging"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4458
+ }, "Live Charts"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4152
4459
  className: "ui-meganav-media-copy"
4153
- }, "We support pub/sub over WebSockets, MQTT, SSE, and more."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4154
- href: absUrl("/hub"),
4460
+ }, "Visualise live metrics and data in a chart."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4461
+ href: absUrl("/examples/live-cursors"),
4155
4462
  className: "ui-meganav-media group"
4156
4463
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4157
4464
  className: "ui-meganav-media-heading"
4158
- }, "Streaming data sources"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4465
+ }, "Live Cursors"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4159
4466
  className: "ui-meganav-media-copy"
4160
- }, "Augment your apps with realtime updates like weather or transit.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4161
- url: absUrl("/platform")
4162
- }, "Explore all platform features")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4467
+ }, "Track all cursors in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4468
+ href: absUrl("/examples/typing-indicator"),
4469
+ className: "ui-meganav-media group"
4470
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4471
+ className: "ui-meganav-media-heading"
4472
+ }, "Typing Indicator"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4473
+ className: "ui-meganav-media-copy"
4474
+ }, "See when a user is typing a message.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4475
+ url: absUrl("/examples"),
4476
+ textSize: "text-p3"
4477
+ }, "Explore all live examples")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4478
+ className: "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"
4479
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4163
4480
  className: "ui-meganav-overline",
4164
4481
  id: "meganav-platform-panel-list-our-technology"
4165
4482
  }, "Our technology"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4166
- className: "mb-8",
4483
+ className: "mb-16",
4167
4484
  "aria-labelledby": "meganav-platform-panel-list-our-technology"
4168
4485
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4169
4486
  href: absUrl("/four-pillars-of-dependability#performance"),
@@ -4172,37 +4489,40 @@ var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
4172
4489
  className: "ui-meganav-media-heading"
4173
4490
  }, "Predictable performance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4174
4491
  className: "ui-meganav-media-copy"
4175
- }, "We provide predictability so you can be confident your realtime application will always perform as expected."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4492
+ }, "A low-latency and high-throughput global network."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4176
4493
  href: absUrl("/four-pillars-of-dependability#integrity"),
4177
4494
  className: "ui-meganav-media group"
4178
4495
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4179
4496
  className: "ui-meganav-media-heading"
4180
4497
  }, "Guaranteed ordering & delivery"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4181
4498
  className: "ui-meganav-media-copy"
4182
- }, "We guarantee in-order data delivery, even after disconnections."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4499
+ }, "Data is delivered - in order - even after disconnections."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4183
4500
  href: absUrl("/four-pillars-of-dependability#reliability"),
4184
4501
  className: "ui-meganav-media group"
4185
4502
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4186
4503
  className: "ui-meganav-media-heading"
4187
4504
  }, "Fault tolerant infrastructure"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4188
4505
  className: "ui-meganav-media-copy"
4189
- }, "Redundant at regional and global levels with 99.999% uptime SLAs."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4506
+ }, "Redundancy is built in at global and regional levels."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4190
4507
  href: absUrl("/four-pillars-of-dependability#availability"),
4191
4508
  className: "ui-meganav-media group"
4192
4509
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4193
4510
  className: "ui-meganav-media-heading"
4194
4511
  }, "High scalability & availability"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4195
4512
  className: "ui-meganav-media-copy"
4196
- }, "Elastic, battle-tested global infrastructure for massive scale."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4513
+ }, "Built for scale with legitimate 99.999% uptime SLAs."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4197
4514
  href: absUrl("/network"),
4198
4515
  className: "ui-meganav-media group"
4199
4516
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4200
4517
  className: "ui-meganav-media-heading"
4201
4518
  }, "Global edge network"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4202
4519
  className: "ui-meganav-media-copy"
4203
- }, "An edge network of 15 core routing datacenters and 200+ PoPs.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4204
- url: absUrl("/four-pillars-of-dependability")
4205
- }, "Explore our technology")));
4520
+ }, "An edge network of 15 core routing datacenters and 205+ PoPs.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4521
+ url: absUrl("/four-pillars-of-dependability"),
4522
+ textSize: "text-p3"
4523
+ }, "Explore Four Pillars of Dependability"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4524
+ className: "ui-meganav-content-spacer"
4525
+ }));
4206
4526
  };
4207
4527
 
4208
4528
  MeganavContentPlatform.propTypes = {
@@ -4227,336 +4547,150 @@ MeganavContentPlatform.propTypes = {
4227
4547
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4228
4548
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5697);
4229
4549
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
4550
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
4551
+
4230
4552
 
4231
4553
 
4232
4554
 
4233
4555
  var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
4234
4556
  var absUrl = _ref.absUrl;
4235
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
4236
- className: "ui-meganav-content ui-grid-gap md:grid-cols-2 gap-y-0 md:gap-y-32"
4237
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4557
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4558
+ className: "flex max-w-screen-xl mx-auto"
4559
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4560
+ className: "ui-meganav-content-spacer bg-extra-light-grey"
4561
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
4562
+ className: "grid grid-cols-12 ui-grid-gap-x w-full"
4563
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4564
+ className: "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"
4565
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4238
4566
  className: "ui-meganav-overline",
4239
- id: "meganav-use-cases-panel-industry-use-cases"
4240
- }, "By use case"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4567
+ id: "meganav-use-cases-panel-use-cases"
4568
+ }, "Use cases"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4241
4569
  "aria-labelledby": "meganav-use-cases-panel-industry-use-cases"
4242
4570
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4243
- href: absUrl("/solutions/edtech"),
4244
- className: "ui-meganav-media group"
4571
+ href: absUrl("/solutions/chat"),
4572
+ className: "ui-meganav-media-with-image group"
4573
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4574
+ name: "icon-display-chat-stack-col",
4575
+ size: "2.5rem"
4576
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4577
+ className: "flex flex-col justify-center"
4245
4578
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4246
4579
  className: "ui-meganav-media-heading"
4247
- }, "EdTech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4580
+ }, "Chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4248
4581
  className: "ui-meganav-media-copy"
4249
- }, "Deliver interactive learning experiences like multi-user classrooms with chat."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4582
+ }, "Deliver highly reliable chat experiences at scale. ")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4250
4583
  href: absUrl("/solutions/virtual-events"),
4251
- className: "ui-meganav-media group"
4584
+ className: "ui-meganav-media-with-image group"
4585
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4586
+ name: "icon-display-virtual-events-col",
4587
+ size: "2.5rem"
4588
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4589
+ className: "flex flex-col justify-center"
4252
4590
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4253
4591
  className: "ui-meganav-media-heading"
4254
4592
  }, "Virtual Events"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4255
4593
  className: "ui-meganav-media-copy"
4256
- }, "Power engaging virtual events with interactive realtime features."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4257
- href: absUrl("/solutions/sports-and-media"),
4594
+ }, "Power engaging virtual events with realtime features.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4595
+ className: "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"
4596
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4597
+ className: "ui-meganav-overline",
4598
+ id: "meganav-use-cases-panel-industry"
4599
+ }, "Industry"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4600
+ "aria-labelledby": "meganav-use-cases-panel-industry"
4601
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4602
+ href: absUrl("/solutions/edtech"),
4258
4603
  className: "ui-meganav-media group"
4259
4604
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4260
4605
  className: "ui-meganav-media-heading"
4261
- }, "Sports & Media"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4606
+ }, "EdTech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4262
4607
  className: "ui-meganav-media-copy"
4263
- }, "Deliver global realtime experiences to keep fans informed, engaged, entertained."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4608
+ }, "Deliver interactive learning experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4264
4609
  href: absUrl("/solutions/fintech"),
4265
4610
  className: "ui-meganav-media group"
4266
4611
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4267
4612
  className: "ui-meganav-media-heading"
4268
4613
  }, "Fintech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4269
4614
  className: "ui-meganav-media-copy"
4270
- }, "Deliver fast, personalised fintech data in realtime to mobile & web customers."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4271
- href: absUrl("/solutions/gaming"),
4272
- className: "ui-meganav-media group"
4273
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4274
- className: "ui-meganav-media-heading"
4275
- }, "Gaming"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4276
- className: "ui-meganav-media-copy"
4277
- }, "Power interactive gaming experiences that are wicked fast and utterly reliable."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4615
+ }, "Deliver personalised financial data in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4278
4616
  href: absUrl("/solutions/automotive-logistics-and-mobility"),
4279
4617
  className: "ui-meganav-media group"
4280
4618
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4281
4619
  className: "ui-meganav-media-heading"
4282
4620
  }, "Automotive, Logistics, & Mobility"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4283
4621
  className: "ui-meganav-media-copy"
4284
- }, "Power asset tracking, live transit updates, race-critical diagnostics, and more."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4285
- className: "md:mt-40"
4286
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4622
+ }, "Power diagnostics, order tracking and more."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4287
4623
  href: absUrl("/solutions/b2b-platforms"),
4288
4624
  className: "ui-meganav-media group"
4289
4625
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4290
4626
  className: "ui-meganav-media-heading"
4291
4627
  }, "B2B Platforms"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4292
4628
  className: "ui-meganav-media-copy"
4293
- }, "Empower customers with realtime technology that gives them a competitive edge."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4629
+ }, "Empower your customers with realtime solutions."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4294
4630
  href: absUrl("/solutions/healthcare"),
4295
4631
  className: "ui-meganav-media group"
4296
4632
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4297
4633
  className: "ui-meganav-media-heading"
4298
- }, "Healthcare"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4634
+ }, "Healthcare (HIPAA)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4299
4635
  className: "ui-meganav-media-copy"
4300
- }, "Provide HIPAA-compliant realtime apps healthcare professionals can depend on."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4636
+ }, "Provide trustworthy, HIPAA-compliant realtime apps."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4301
4637
  href: absUrl("/solutions/ecommerce-and-retail"),
4302
4638
  className: "ui-meganav-media group"
4303
4639
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4304
4640
  className: "ui-meganav-media-heading"
4305
4641
  }, "eCommerce & Retail"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4306
4642
  className: "ui-meganav-media-copy"
4307
- }, "Enable realtime pricing, inventory, and transactions to enrich user experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4308
- href: absUrl("/solutions/iot-and-connected-devices"),
4643
+ }, "Enrich customer experiences with realtime updates."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4644
+ href: absUrl("/solutions/sports-and-media"),
4309
4645
  className: "ui-meganav-media group"
4310
4646
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4311
4647
  className: "ui-meganav-media-heading"
4312
- }, "IoT & Connected Devices"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4648
+ }, "Sports, Media & Audience Engagement"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4313
4649
  className: "ui-meganav-media-copy"
4314
- }, "Monitor and control global IoT deployments of any kind in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4315
- href: absUrl("/solutions/asset-tracking"),
4650
+ }, "Deliver engaging global realtime experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4651
+ href: absUrl("/solutions/gaming"),
4316
4652
  className: "ui-meganav-media group"
4317
4653
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4318
4654
  className: "ui-meganav-media-heading"
4319
- }, "Asset Tracking"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4655
+ }, "Gaming"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4320
4656
  className: "ui-meganav-media-copy"
4321
- }, "Track assets in realtime with a solution optimized for last mile logistics, food delivery applications, and urban mobility services."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4322
- href: absUrl("/solutions/extend-kafka-to-the-edge"),
4657
+ }, "Power ultra fast and reliable gaming experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4658
+ href: absUrl("/solutions/iot-and-connected-devices"),
4323
4659
  className: "ui-meganav-media group"
4324
4660
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4325
4661
  className: "ui-meganav-media-heading"
4326
- }, "Extend Kafka to the edge"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4662
+ }, "IoT & Connected Devices"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4327
4663
  className: "ui-meganav-media-copy"
4328
- }, "Enhance and reliably expand Kafka's event streaming capabilities beyond your private network."))))));
4329
- };
4330
-
4331
- MeganavContentUseCases.propTypes = {
4332
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
4333
- };
4334
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentUseCases);
4335
-
4336
- /***/ }),
4337
-
4338
- /***/ 4681:
4339
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4340
-
4341
- "use strict";
4342
-
4343
- // EXPORTS
4344
- __webpack_require__.d(__webpack_exports__, {
4345
- "default": () => (/* binding */ MeganavContentWhyAbly_component)
4346
- });
4347
-
4348
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
4349
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
4350
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
4351
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
4352
- var prop_types = __webpack_require__(5697);
4353
- var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
4354
- // EXTERNAL MODULE: ./src/core/FeaturedLink/component.jsx
4355
- var component = __webpack_require__(5751);
4356
- // EXTERNAL MODULE: ./src/core/MeganavBlogPostsList/component.jsx
4357
- var MeganavBlogPostsList_component = __webpack_require__(2725);
4358
- // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
4359
- var ConnectStateWrapper_component = __webpack_require__(9787);
4360
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
4361
- var regenerator = __webpack_require__(7757);
4362
- ;// CONCATENATED MODULE: ./src/core/remote-blogs-posts.js
4363
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4364
-
4365
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4366
-
4367
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4368
-
4369
-
4370
-
4371
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4372
-
4373
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4374
-
4375
-
4376
-
4377
- var fetchBlogPosts = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
4378
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(store, blogUrl) {
4379
- var res, payload;
4380
- return _regeneratorRuntime.wrap(function _callee$(_context) {
4381
- while (1) {
4382
- switch (_context.prev = _context.next) {
4383
- case 0:
4384
- _context.prev = 0;
4385
-
4386
- if (blogUrl) {
4387
- _context.next = 4;
4388
- break;
4389
- }
4390
-
4391
- console.log("Skipping fetching blog posts, invalid blogUrl: \"".concat(blogUrl, "\""));
4392
- return _context.abrupt("return");
4393
-
4394
- case 4:
4395
- _context.next = 6;
4396
- return fetch(blogUrl);
4397
-
4398
- case 6:
4399
- res = _context.sent;
4400
-
4401
- if (!isJsonResponse(res.headers.get("content-type"))) {
4402
- _context.next = 14;
4403
- break;
4404
- }
4405
-
4406
- _context.next = 10;
4407
- return res.json();
4408
-
4409
- case 10:
4410
- payload = _context.sent;
4411
- store.dispatch({
4412
- type: "blog/loaded",
4413
- payload: payload
4414
- });
4415
- _context.next = 15;
4416
- break;
4417
-
4418
- case 14:
4419
- throw new Error("Blog posts url is not serving json");
4420
-
4421
- case 15:
4422
- _context.next = 20;
4423
- break;
4424
-
4425
- case 17:
4426
- _context.prev = 17;
4427
- _context.t0 = _context["catch"](0);
4428
- console.warn("Could not fetch blog posts due to error:", _context.t0);
4429
-
4430
- case 20:
4431
- case "end":
4432
- return _context.stop();
4433
- }
4434
- }
4435
- }, _callee, null, [[0, 17]]);
4436
- }));
4437
-
4438
- return function fetchBlogPosts(_x, _x2) {
4439
- return _ref.apply(this, arguments);
4440
- };
4441
- }()));
4442
-
4443
- var initialState = {
4444
- recent: null
4445
- };
4446
- var REDUCER_KEY = "blogPosts";
4447
-
4448
- var reducerBlogPosts = _defineProperty({}, REDUCER_KEY, function () {
4449
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
4450
- var action = arguments.length > 1 ? arguments[1] : undefined;
4451
-
4452
- switch (action.type) {
4453
- case "blog/loaded":
4454
- return _objectSpread(_objectSpread({}, state), {}, {
4455
- recent: action.payload
4456
- });
4457
-
4458
- default:
4459
- return state;
4460
- }
4461
- });
4462
-
4463
- var selectRecentBlogPosts = function selectRecentBlogPosts(store) {
4464
- var _store$getState$REDUC;
4465
-
4466
- return (_store$getState$REDUC = store.getState()[REDUCER_KEY]) === null || _store$getState$REDUC === void 0 ? void 0 : _store$getState$REDUC.recent;
4467
- };
4468
-
4469
-
4470
- ;// CONCATENATED MODULE: ./src/core/MeganavContentWhyAbly/component.jsx
4471
-
4472
-
4473
-
4474
-
4475
-
4476
-
4477
-
4478
- var MeganavContentWhyAbly = function MeganavContentWhyAbly(_ref) {
4479
- var absUrl = _ref.absUrl;
4480
- var BlogPostsList = (0,ConnectStateWrapper_component.default)(MeganavBlogPostsList_component.default, {
4481
- recentBlogPosts: selectRecentBlogPosts
4482
- });
4483
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("section", {
4484
- className: "ui-meganav-content ui-grid-gap md:grid-cols-3"
4485
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("h3", {
4664
+ }, "Monitor and control global IoT deployments in realtime."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4665
+ className: "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"
4666
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4486
4667
  className: "ui-meganav-overline",
4487
- id: "meganav-why-ably-panel-list-why-companies"
4488
- }, "Why companies choose Ably"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
4489
- "aria-labelledby": "meganav-why-ably-panel-list-why-companies"
4490
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4491
- href: absUrl("/customers"),
4492
- className: "group ui-meganav-media py-12"
4493
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4494
- className: "ui-meganav-media-heading"
4495
- }, "Customers"))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4496
- href: absUrl("/case-studies"),
4497
- className: "group ui-meganav-media py-12"
4498
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4499
- className: "ui-meganav-media-heading"
4500
- }, "Case studies"))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4501
- href: absUrl("/compare"),
4502
- className: "group ui-meganav-media py-12"
4503
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4504
- className: "ui-meganav-media-heading"
4505
- }, "Compare our tech"))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4506
- href: absUrl("/aws"),
4507
- className: "group ui-meganav-media py-12"
4508
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4509
- className: "ui-meganav-media-heading"
4510
- }, "Ably & AWS"))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4511
- href: absUrl("/resources"),
4512
- className: "group ui-meganav-media py-12"
4513
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4514
- className: "ui-meganav-media-heading"
4515
- }, "Resources"))))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("h3", {
4516
- className: "ui-meganav-overline",
4517
- id: "meganav-why-ably-panel-list-four-pillars"
4518
- }, "Four pillars of dependability"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
4519
- className: "mb-8",
4520
- "aria-labelledby": "meganav-why-ably-panel-list-four-pillars"
4521
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4522
- href: absUrl("/four-pillars-of-dependability#performance"),
4523
- className: "ui-meganav-media group"
4524
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4525
- className: "ui-meganav-media-heading"
4526
- }, "Predictable performance"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4527
- className: "ui-meganav-media-copy"
4528
- }, "A low-latency global edge network across 200+ PoPs."))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4529
- href: absUrl("/four-pillars-of-dependability#integrity"),
4530
- className: "ui-meganav-media group"
4531
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4532
- className: "ui-meganav-media-heading"
4533
- }, "Guaranteed ordering & delivery"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4534
- className: "ui-meganav-media-copy"
4535
- }, "We guarantee in-order data delivery, even after disconnections."))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4536
- href: absUrl("/four-pillars-of-dependability#reliability"),
4668
+ id: "meganav-use-cases-panel-solutions"
4669
+ }, "Solutions"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4670
+ "aria-labelledby": "meganav-use-cases-panel-solutions"
4671
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4672
+ href: absUrl("/solutions/extend-kafka-to-the-edge"),
4537
4673
  className: "ui-meganav-media group"
4538
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4674
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4539
4675
  className: "ui-meganav-media-heading"
4540
- }, "Fault tolerant infrastructure"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4676
+ }, "Extend Kafka to the edge"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4541
4677
  className: "ui-meganav-media-copy"
4542
- }, "Redundant at regional and global levels with 99.999% uptime SLAs."))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4543
- href: absUrl("/four-pillars-of-dependability#availability"),
4678
+ }, "Reliably expand Kafka\u2019s event streaming beyond your private network."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4679
+ href: absUrl("/solutions/asset-tracking"),
4544
4680
  className: "ui-meganav-media group"
4545
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4681
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4546
4682
  className: "ui-meganav-media-heading"
4547
- }, "High scalability & availability"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
4683
+ }, "Asset Tracking"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4548
4684
  className: "ui-meganav-media-copy"
4549
- }, "Elastic, battle-tested global infrastructure for massive scale.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(component.default, {
4550
- url: absUrl("/four-pillars-of-dependability")
4551
- }, "Explore our Four Pillars of Dependability")), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(BlogPostsList, {
4552
- absUrl: absUrl
4685
+ }, "Track assets in realtime with a solution optimised for last mile logistics.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4686
+ className: "ui-meganav-content-spacer"
4553
4687
  }));
4554
4688
  };
4555
4689
 
4556
- MeganavContentWhyAbly.propTypes = {
4557
- absUrl: (prop_types_default()).func
4690
+ MeganavContentUseCases.propTypes = {
4691
+ absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
4558
4692
  };
4559
- /* harmony default export */ const MeganavContentWhyAbly_component = (MeganavContentWhyAbly);
4693
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentUseCases);
4560
4694
 
4561
4695
  /***/ }),
4562
4696
 
@@ -4578,6 +4712,7 @@ MeganavContentWhyAbly.propTypes = {
4578
4712
 
4579
4713
  var MeganavControl = function MeganavControl(_ref) {
4580
4714
  var ariaControls = _ref.ariaControls,
4715
+ ariaLabel = _ref.ariaLabel,
4581
4716
  children = _ref.children,
4582
4717
  theme = _ref.theme,
4583
4718
  additionalCSS = _ref.additionalCSS;
@@ -4587,7 +4722,7 @@ var MeganavControl = function MeganavControl(_ref) {
4587
4722
  className: "ui-meganav-link h-64 flex items-center group ".concat(additionalCSS, " ").concat(theme.textColor),
4588
4723
  "aria-expanded": "false",
4589
4724
  "aria-controls": ariaControls,
4590
- "aria-label": "Show ".concat(children)
4725
+ "aria-label": "Show ".concat(ariaLabel, " panel")
4591
4726
  }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4592
4727
  name: "icon-gui-disclosure-arrow",
4593
4728
  color: "text-cool-black",
@@ -4598,6 +4733,7 @@ var MeganavControl = function MeganavControl(_ref) {
4598
4733
 
4599
4734
  MeganavControl.propTypes = {
4600
4735
  ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
4736
+ ariaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
4601
4737
  children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
4602
4738
  theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
4603
4739
  additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
@@ -4669,7 +4805,9 @@ MeganavControlMobileDropdown.propTypes = {
4669
4805
 
4670
4806
 
4671
4807
  var MeganavControlMobilePanelClose = function MeganavControlMobilePanelClose(_ref) {
4672
- var ariaControls = _ref.ariaControls;
4808
+ var ariaControls = _ref.ariaControls,
4809
+ _ref$displayHr = _ref.displayHr,
4810
+ displayHr = _ref$displayHr === void 0 ? true : _ref$displayHr;
4673
4811
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4674
4812
  className: "mx-24 md:mx-32"
4675
4813
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
@@ -4684,13 +4822,14 @@ var MeganavControlMobilePanelClose = function MeganavControlMobilePanelClose(_re
4684
4822
  color: "text-cool-black",
4685
4823
  size: "1.5rem",
4686
4824
  additionalCSS: "relative -top-1 transform rotate-180"
4687
- }), "Back"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("hr", {
4825
+ }), "Back"), displayHr ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("hr", {
4688
4826
  className: "ui-meganav-hr"
4689
- }));
4827
+ }) : null);
4690
4828
  };
4691
4829
 
4692
4830
  MeganavControlMobilePanelClose.propTypes = {
4693
- ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
4831
+ ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
4832
+ displayHr: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
4694
4833
  };
4695
4834
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControlMobilePanelClose);
4696
4835
 
@@ -4766,14 +4905,20 @@ var MeganavDesktopItems = function MeganavDesktopItems(_ref) {
4766
4905
  "data-id": "meganav-items-desktop"
4767
4906
  }, _Meganav_component_json__WEBPACK_IMPORTED_MODULE_2__/* .panels.map */ .h.map(function (panel) {
4768
4907
  var PanelComponent = panels[panel.component];
4908
+ var bgCSS = ["platform-panel", "use-cases-panel"].includes(panel.id) ? "ui-meganav-panel-split-bg" : "";
4769
4909
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
4770
4910
  className: "ui-meganav-item",
4771
4911
  key: panel.id
4772
4912
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_3__.default, {
4773
4913
  theme: theme,
4774
- ariaControls: panel.id
4775
- }, panel.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4776
- className: "ui-meganav-panel invisible",
4914
+ ariaControls: panel.id,
4915
+ ariaLabel: panel.label
4916
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
4917
+ className: "hidden lg:inline"
4918
+ }, panel.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
4919
+ className: "lg:hidden"
4920
+ }, panel.shortLabel)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4921
+ className: "ui-meganav-panel invisible ".concat(bgCSS),
4777
4922
  id: panel.id,
4778
4923
  "data-id": "meganav-panel"
4779
4924
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PanelComponent, {
@@ -4916,6 +5061,7 @@ var MeganavItemsMobile = function MeganavItemsMobile(_ref) {
4916
5061
  "data-id": "meganav-mobile-panel-controls"
4917
5062
  }, _Meganav_component_json__WEBPACK_IMPORTED_MODULE_5__/* .panels.map */ .h.map(function (panel) {
4918
5063
  var PanelComponent = panels[panel.component];
5064
+ var displayHr = ["company-panel", "developers-panel"].includes(panel.id);
4919
5065
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
4920
5066
  className: "ui-meganav-mobile-item",
4921
5067
  key: "".concat(panel.id, "-mobile")
@@ -4926,7 +5072,8 @@ var MeganavItemsMobile = function MeganavItemsMobile(_ref) {
4926
5072
  id: "".concat(panel.id, "-mobile"),
4927
5073
  "data-scroll-lock-scrollable": true
4928
5074
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControlMobilePanelClose_component_jsx__WEBPACK_IMPORTED_MODULE_7__.default, {
4929
- ariaControls: "".concat(panel.id, "-mobile")
5075
+ ariaControls: "".concat(panel.id, "-mobile"),
5076
+ displayHr: displayHr
4930
5077
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PanelComponent, {
4931
5078
  paths: paths,
4932
5079
  absUrl: absUrl
@@ -5016,6 +5163,7 @@ var MeganavItemsSignedIn = function MeganavItemsSignedIn(_ref) {
5016
5163
  className: "ui-meganav-item relative"
5017
5164
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
5018
5165
  ariaControls: "account-panel",
5166
+ ariaLabel: "Account",
5019
5167
  theme: theme,
5020
5168
  additionalCSS: "mr-0"
5021
5169
  }, accountName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -5202,7 +5350,7 @@ var MeganavSearchPanel = function MeganavSearchPanel(_ref) {
5202
5350
  "data-id": "meganav-search-input"
5203
5351
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchAutocomplete_component_jsx__WEBPACK_IMPORTED_MODULE_4__.default, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
5204
5352
  type: "submit",
5205
- className: "ui-btn-secondary ml-8 sm:ml-16 md:ml-24 xl:ml-32"
5353
+ className: "ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32"
5206
5354
  }, "Search")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
5207
5355
  className: "col-span-12"
5208
5356
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchSuggestions_component_jsx__WEBPACK_IMPORTED_MODULE_3__.default, {
@@ -10490,7 +10638,7 @@ var scrollLock = _objectSpread({
10490
10638
  /***/ ((module) => {
10491
10639
 
10492
10640
  "use strict";
10493
- module.exports = JSON.parse('{"n":{"white":{"backgroundColor":"bg-white","textColor":"text-cool-black","buttonBackgroundColor":"","buttonTextColor":"","mobileMenuColor":"text-cool-black","logoTextColor":"text-cool-black","barShadow":"shadow-subtle"},"black":{"backgroundColor":"bg-cool-black","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""},"transparentToWhite":{"backgroundColor":"bg-transparent","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""}},"h":[{"label":"Platform","id":"platform-panel","component":"MeganavContentPlatform"},{"label":"Use Cases","id":"use-cases-panel","component":"MeganavContentUseCases"},{"label":"Why Ably","id":"why-ably-panel","component":"MeganavContentWhyAbly"},{"label":"Developers","id":"developers-panel","component":"MeganavContentDevelopers"}]}');
10641
+ module.exports = JSON.parse('{"n":{"white":{"backgroundColor":"bg-white","textColor":"text-cool-black","buttonBackgroundColor":"","buttonTextColor":"","mobileMenuColor":"text-cool-black","logoTextColor":"text-cool-black","barShadow":"shadow-subtle"},"black":{"backgroundColor":"bg-cool-black","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""},"transparentToWhite":{"backgroundColor":"bg-transparent","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""}},"h":[{"label":"Platform","shortLabel":"Platform","id":"platform-panel","component":"MeganavContentPlatform"},{"label":"Use Cases & Solutions","shortLabel":"Use Cases","id":"use-cases-panel","component":"MeganavContentUseCases"},{"label":"Company","shortLabel":"Company","id":"company-panel","component":"MeganavContentCompany"},{"label":"Developers","shortLabel":"Developers","id":"developers-panel","component":"MeganavContentDevelopers"}]}');
10494
10642
 
10495
10643
  /***/ }),
10496
10644
 
@@ -10783,6 +10931,7 @@ var MeganavControl = function MeganavControl() {
10783
10931
  (_panel$classList = panel.classList).replace.apply(_panel$classList, _toConsumableArray(open ? classes : classes.reverse()));
10784
10932
 
10785
10933
  control.setAttribute("aria-expanded", open);
10934
+ control.dataset.hover = open;
10786
10935
  }
10787
10936
  };
10788
10937
 
@@ -10806,9 +10955,11 @@ var MeganavControl = function MeganavControl() {
10806
10955
  panels.forEach(function (node) {
10807
10956
  return node !== panel && node.classList.replace("visible", "invisible");
10808
10957
  });
10809
- var ariaExpanded = control.getAttribute("aria-expanded");
10958
+ var ariaExpanded = control.getAttribute("aria-expanded"); // Prevent closing of the panel if it was already opened by hovering
10810
10959
 
10811
- if (ariaExpanded === "true") {
10960
+ var openedByHover = control.dataset.hover === "true";
10961
+
10962
+ if (ariaExpanded === "true" && !openedByHover) {
10812
10963
  control.setAttribute("aria-expanded", false);
10813
10964
  panel.classList.replace("visible", "invisible");
10814
10965
  } else {
@@ -10816,6 +10967,10 @@ var MeganavControl = function MeganavControl() {
10816
10967
  panel.classList.replace("invisible", "visible");
10817
10968
  }
10818
10969
 
10970
+ if (openedByHover) {
10971
+ control.dataset.hover = false;
10972
+ }
10973
+
10819
10974
  if (isSearchControl(control)) {
10820
10975
  var searchInput = (0,dom_query/* queryId */.A)("meganav-search-input", panel);
10821
10976
  if (!searchInput) return;
@@ -11180,16 +11335,19 @@ var withinBuffer = function withinBuffer(distance) {
11180
11335
  return Math.abs(distance) < DRAG_BUFFER;
11181
11336
  };
11182
11337
 
11183
- var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
11184
- var suggestionsToggle = (0,dom_query/* queryId */.A)("meganav-mobile-search-input");
11185
- var suggestions = (0,dom_query/* queryId */.A)("meganav-mobile-search-suggestions");
11186
- var list = suggestions.querySelector("ul");
11187
- var listItems = list.querySelectorAll("li");
11188
- var itemsTotalWidth = Array.from(listItems).map(function (item) {
11338
+ var getItemsTotalWidth = function getItemsTotalWidth(nodes) {
11339
+ return nodes.map(function (item) {
11189
11340
  return item.getBoundingClientRect().width;
11190
11341
  }).reduce(function (acc, val) {
11191
11342
  return acc + val;
11192
11343
  }, 0);
11344
+ };
11345
+
11346
+ var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
11347
+ var suggestionsToggle = (0,dom_query/* queryId */.A)("meganav-mobile-search-input");
11348
+ var suggestions = (0,dom_query/* queryId */.A)("meganav-mobile-search-suggestions");
11349
+ var list = suggestions.querySelector("ul");
11350
+ var listItems = Array.from(list.querySelectorAll("li"));
11193
11351
 
11194
11352
  var dragLeft = function dragLeft(distance, threshold) {
11195
11353
  var currentTranslateX = getTranslateX(list);
@@ -11213,6 +11371,7 @@ var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
11213
11371
  var listWidth = list.getBoundingClientRect().width;
11214
11372
  var currentTranslateX = getTranslateX(list);
11215
11373
  var translateX = Math.round(currentTranslateX + distance);
11374
+ var itemsTotalWidth = getItemsTotalWidth(listItems);
11216
11375
 
11217
11376
  if (dragRightBoundary(translateX, itemsTotalWidth, listWidth, threshold)) {
11218
11377
  return;
@@ -11224,6 +11383,7 @@ var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
11224
11383
  var dragRightEnd = function dragRightEnd(distance, threshold) {
11225
11384
  var listWidth = list.getBoundingClientRect().width;
11226
11385
  var currentTranslateX = getTranslateX(list);
11386
+ var itemsTotalWidth = getItemsTotalWidth(listItems);
11227
11387
  var translateX = Math.round(currentTranslateX + distance);
11228
11388
 
11229
11389
  if (dragRightBoundary(translateX, itemsTotalWidth, listWidth, threshold)) {
@@ -11265,11 +11425,18 @@ var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
11265
11425
  suggestions.classList.remove("max-h-96");
11266
11426
  };
11267
11427
 
11428
+ var wheelHandler = function wheelHandler(e) {
11429
+ var distance = e.deltaY * 4;
11430
+ if (withinBuffer(distance)) return;
11431
+ distance > 0 ? dragLeftEnd(distance, 24) : dragRightEnd(distance, 48);
11432
+ };
11433
+
11268
11434
  suggestionsToggle.addEventListener("focus", focusSuggestionsHandler);
11269
11435
  suggestionsToggle.addEventListener("blur", blurSuggestionsHandler);
11270
11436
  suggestions.addEventListener("touchstart", touchstartHandler);
11271
11437
  suggestions.addEventListener("touchmove", touchmoveHandler);
11272
11438
  suggestions.addEventListener("touchend", touchendHandler);
11439
+ suggestions.addEventListener("wheel", wheelHandler);
11273
11440
  return {
11274
11441
  teardown: function teardown() {
11275
11442
  suggestionsToggle.removeEventListener("focus", focusSuggestionsHandler);
@@ -11468,8 +11635,8 @@ var absUrl = function absUrl(path) {
11468
11635
  var MeganavContentPlatform_component = __webpack_require__(6654);
11469
11636
  // EXTERNAL MODULE: ./src/core/MeganavContentUseCases/component.jsx
11470
11637
  var MeganavContentUseCases_component = __webpack_require__(1118);
11471
- // EXTERNAL MODULE: ./src/core/MeganavContentWhyAbly/component.jsx + 1 modules
11472
- var MeganavContentWhyAbly_component = __webpack_require__(4681);
11638
+ // EXTERNAL MODULE: ./src/core/MeganavContentCompany/component.jsx + 1 modules
11639
+ var MeganavContentCompany_component = __webpack_require__(1505);
11473
11640
  // EXTERNAL MODULE: ./src/core/MeganavContentDevelopers/component.jsx
11474
11641
  var MeganavContentDevelopers_component = __webpack_require__(2619);
11475
11642
  // EXTERNAL MODULE: ./src/core/MeganavSearch/component.jsx
@@ -11558,7 +11725,7 @@ var SignInPlaceholder = function SignInPlaceholder() {
11558
11725
  var panels = {
11559
11726
  MeganavContentPlatform: MeganavContentPlatform_component.default,
11560
11727
  MeganavContentUseCases: MeganavContentUseCases_component.default,
11561
- MeganavContentWhyAbly: MeganavContentWhyAbly_component.default,
11728
+ MeganavContentCompany: MeganavContentCompany_component.default,
11562
11729
  MeganavContentDevelopers: MeganavContentDevelopers_component.default
11563
11730
  };
11564
11731
  function component_Meganav(_ref2) {