@ably/ui 8.7.0-dev.6dec76a → 8.7.0-dev.7072b07

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 (137) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Code/component.css +2 -0
  3. package/core/Code/component.js +739 -1
  4. package/core/Code.jsx +557 -410
  5. package/core/CompanyAutocomplete/component.css +2 -0
  6. package/core/CompanyAutocomplete/component.js +1161 -1
  7. package/core/ConnectStateWrapper/component.js +22 -1
  8. package/core/ConnectStateWrapper.jsx +29 -15
  9. package/core/ContactFooter/component.css +2 -0
  10. package/core/ContactFooter/component.js +211 -1
  11. package/core/ContactFooter.jsx +221 -144
  12. package/core/CookieMessage/component.css +2 -0
  13. package/core/CookieMessage/component.js +82 -1
  14. package/core/CookieMessage.jsx +62 -45
  15. package/core/CustomerLogos/component.js +22 -1
  16. package/core/CustomerLogos.jsx +16 -7
  17. package/core/DropdownMenu/component.js +22 -1
  18. package/core/DropdownMenu.jsx +26 -13
  19. package/core/FeatureFooter/component.css +2 -0
  20. package/core/FeatureFooter/component.js +211 -1
  21. package/core/FeaturedLink/component.css +2 -0
  22. package/core/FeaturedLink/component.js +82 -1
  23. package/core/FeaturedLink.jsx +25 -12
  24. package/core/Flash/component.css +2 -0
  25. package/core/Flash/component.js +82 -1
  26. package/core/Flash.jsx +132 -101
  27. package/core/Footer/component.css +2 -0
  28. package/core/Footer/component.js +82 -1
  29. package/core/Footer.jsx +216 -203
  30. package/core/Icon/component.js +22 -1
  31. package/core/Icon.jsx +16 -7
  32. package/core/Loader/component.js +22 -1
  33. package/core/Loader.jsx +16 -7
  34. package/core/Logo/component.js +22 -1
  35. package/core/Logo.jsx +16 -7
  36. package/core/Meganav/component.css +3 -3
  37. package/core/Meganav/component.js +992 -1
  38. package/core/Meganav/component.json +1 -1
  39. package/core/Meganav.jsx +2688 -2342
  40. package/core/MeganavBlogPostsList/component.js +1159 -1
  41. package/core/MeganavBlogPostsList.jsx +34 -17
  42. package/core/MeganavContentCompany/component.js +22 -1
  43. package/core/MeganavContentCompany.jsx +293 -216
  44. package/core/MeganavContentDevelopers/component.js +22 -1
  45. package/core/MeganavContentDevelopers.jsx +58 -20
  46. package/core/MeganavContentPlatform/component.js +1 -1
  47. package/core/MeganavContentPlatform.jsx +26 -50
  48. package/core/MeganavContentProducts/component.js +22 -0
  49. package/core/MeganavContentProducts.jsx +350 -0
  50. package/core/MeganavContentUseCases/component.js +22 -1
  51. package/core/MeganavContentUseCases.jsx +54 -31
  52. package/core/MeganavControl/component.js +241 -1
  53. package/core/MeganavControl.jsx +25 -12
  54. package/core/MeganavControlMobileDropdown/component.js +180 -1
  55. package/core/MeganavControlMobileDropdown.jsx +26 -13
  56. package/core/MeganavControlMobilePanelClose/component.js +142 -1
  57. package/core/MeganavControlMobilePanelClose.jsx +25 -12
  58. package/core/MeganavControlMobilePanelOpen/component.js +170 -1
  59. package/core/MeganavControlMobilePanelOpen.jsx +25 -12
  60. package/core/MeganavItemsDesktop/component.js +22 -1
  61. package/core/MeganavItemsDesktop.jsx +42 -22
  62. package/core/MeganavItemsMobile/component.js +22 -1
  63. package/core/MeganavItemsMobile.jsx +104 -60
  64. package/core/MeganavItemsSignedIn/component.js +22 -1
  65. package/core/MeganavItemsSignedIn.jsx +93 -52
  66. package/core/MeganavSearch/component.js +22 -1
  67. package/core/MeganavSearch.jsx +64 -35
  68. package/core/MeganavSearchAutocomplete/component.js +295 -1
  69. package/core/MeganavSearchAutocomplete.jsx +10 -4
  70. package/core/MeganavSearchPanel/component.js +22 -1
  71. package/core/MeganavSearchPanel.jsx +53 -28
  72. package/core/MeganavSearchSuggestions/component.js +258 -1
  73. package/core/MeganavSearchSuggestions.jsx +34 -17
  74. package/core/Notice/component.css +2 -0
  75. package/core/Notice/component.js +872 -1
  76. package/core/Notice.jsx +380 -307
  77. package/core/Showcase/component.css +2 -0
  78. package/core/Showcase/component.js +343 -1
  79. package/core/Showcase.jsx +4 -1
  80. package/core/SignOutLink/component.js +22 -1
  81. package/core/SignOutLink.jsx +16 -7
  82. package/core/Slider/component.css +2 -0
  83. package/core/Slider/component.js +255 -1
  84. package/core/Slider.jsx +208 -156
  85. package/core/Uptime/component.css +2 -0
  86. package/core/Uptime/component.js +82 -1
  87. package/core/Uptime.jsx +46 -23
  88. package/core/images/best-support-2023.svg +1 -0
  89. package/core/images/fastest-implementation-2023.svg +1 -0
  90. package/core/images/high-performer-2023.svg +1 -0
  91. package/core/images/highest-user-adoption-2023.svg +1 -0
  92. package/core/scripts.js +1465 -1
  93. package/core/sprites.svg +84 -0
  94. package/core/styles.css +3 -7
  95. package/package.json +5 -3
  96. package/reset/scripts.js +1 -1
  97. package/reset/styles.css +1 -11
  98. package/src/.DS_Store +0 -0
  99. package/src/core/.DS_Store +0 -0
  100. package/src/core/Footer/component.html.erb +7 -12
  101. package/src/core/Footer/component.jsx +9 -17
  102. package/src/core/Meganav/component.css +1 -1
  103. package/src/core/Meganav/component.json +1 -1
  104. package/src/core/Meganav/component.jsx +2 -2
  105. package/src/core/Meganav/component.rb +4 -4
  106. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  107. package/src/core/MeganavContentCompany/component.jsx +9 -0
  108. package/src/core/MeganavContentDevelopers/component.html.erb +18 -2
  109. package/src/core/MeganavContentDevelopers/component.jsx +20 -1
  110. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  111. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  112. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  113. package/src/core/MeganavContentUseCases/component.html.erb +21 -14
  114. package/src/core/MeganavContentUseCases/component.jsx +20 -14
  115. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  116. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  117. package/src/core/core.rb +8 -4
  118. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  119. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  120. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  121. package/src/core/icons/icon-display-events-col.svg +13 -0
  122. package/src/core/icons/icon-display-examples-col.svg +11 -0
  123. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  124. package/src/core/icons/icon-social-x.svg +3 -0
  125. package/src/core/images/best-support-2023.svg +1 -0
  126. package/src/core/images/fastest-implementation-2023.svg +1 -0
  127. package/src/core/images/high-performer-2023.svg +1 -0
  128. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  129. package/src/core/styles/text.css +1 -1
  130. package/src/core/utils/syntax-highlighter-registry.js +2 -0
  131. package/src/core/utils/syntax-highlighter.js +5 -0
  132. package/core/Meganav/component.js.LICENSE.txt +0 -7
  133. package/core/MeganavContentWhyAbly/component.js +0 -22
  134. package/core/MeganavContentWhyAbly.jsx +0 -3279
  135. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  136. package/core/Notice/component.js.LICENSE.txt +0 -9
  137. /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
@@ -0,0 +1,350 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("react"), require("prop-types"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([, ], factory);
6
+ else {
7
+ var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
+ }
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./src/core/FeaturedLink/component.jsx":
16
+ /*!*********************************************!*\
17
+ !*** ./src/core/FeaturedLink/component.jsx ***!
18
+ \*********************************************/
19
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
20
+
21
+ __webpack_require__.r(__webpack_exports__);
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
24
+ /* harmony export */ });
25
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
26
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
27
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
28
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
29
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
30
+
31
+
32
+
33
+
34
+ var FeaturedLink = function FeaturedLink(_ref) {
35
+ var url = _ref.url,
36
+ _ref$textSize = _ref.textSize,
37
+ textSize = _ref$textSize === void 0 ? "text-menu3" : _ref$textSize,
38
+ _ref$iconColor = _ref.iconColor,
39
+ iconColor = _ref$iconColor === void 0 ? "text-cool-black" : _ref$iconColor,
40
+ _ref$flush = _ref.flush,
41
+ flush = _ref$flush === void 0 ? false : _ref$flush,
42
+ children = _ref.children;
43
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
44
+ href: url,
45
+ className: "ui-featured-link ".concat(textSize, " ").concat(flush ? "" : "py-8", " "),
46
+ style: {
47
+ "--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
48
+ }
49
+ }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
50
+ name: "icon-gui-link-arrow",
51
+ size: "calc(var(--featured-link-icon-size) * 1.25)",
52
+ color: iconColor,
53
+ additionalCSS: "ui-featured-link-icon"
54
+ }));
55
+ };
56
+
57
+ FeaturedLink.propTypes = {
58
+ url: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
59
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
60
+ textSize: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
61
+ iconColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
62
+ flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
63
+ };
64
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeaturedLink);
65
+
66
+ /***/ }),
67
+
68
+ /***/ "./src/core/Icon/component.jsx":
69
+ /*!*************************************!*\
70
+ !*** ./src/core/Icon/component.jsx ***!
71
+ \*************************************/
72
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
73
+
74
+ __webpack_require__.r(__webpack_exports__);
75
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
76
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
77
+ /* harmony export */ });
78
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
79
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
80
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
81
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
82
+ var _excluded = ["name", "size", "color", "additionalCSS"];
83
+
84
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
85
+
86
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
87
+
88
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
89
+
90
+
91
+
92
+
93
+ var Icon = function Icon(_ref) {
94
+ var name = _ref.name,
95
+ _ref$size = _ref.size,
96
+ size = _ref$size === void 0 ? "0.75rem" : _ref$size,
97
+ _ref$color = _ref.color,
98
+ color = _ref$color === void 0 ? "" : _ref$color,
99
+ _ref$additionalCSS = _ref.additionalCSS,
100
+ additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
101
+ additionalAttributes = _objectWithoutProperties(_ref, _excluded);
102
+
103
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", _extends({
104
+ className: "".concat(color, " ").concat(additionalCSS),
105
+ style: {
106
+ width: size,
107
+ height: size
108
+ }
109
+ }, additionalAttributes), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
110
+ xlinkHref: "#sprite-".concat(name)
111
+ }));
112
+ };
113
+
114
+ Icon.propTypes = {
115
+ name: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string.isRequired),
116
+ size: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
117
+ color: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
118
+ additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
119
+ };
120
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
121
+
122
+ /***/ }),
123
+
124
+ /***/ "prop-types":
125
+ /*!*******************************************************************!*\
126
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
127
+ \*******************************************************************/
128
+ /***/ ((module) => {
129
+
130
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
131
+
132
+ /***/ }),
133
+
134
+ /***/ "react":
135
+ /*!*********************************************************!*\
136
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
137
+ \*********************************************************/
138
+ /***/ ((module) => {
139
+
140
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
141
+
142
+ /***/ })
143
+
144
+ /******/ });
145
+ /************************************************************************/
146
+ /******/ // The module cache
147
+ /******/ var __webpack_module_cache__ = {};
148
+ /******/
149
+ /******/ // The require function
150
+ /******/ function __webpack_require__(moduleId) {
151
+ /******/ // Check if module is in cache
152
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
153
+ /******/ if (cachedModule !== undefined) {
154
+ /******/ return cachedModule.exports;
155
+ /******/ }
156
+ /******/ // Create a new module (and put it into the cache)
157
+ /******/ var module = __webpack_module_cache__[moduleId] = {
158
+ /******/ // no module.id needed
159
+ /******/ // no module.loaded needed
160
+ /******/ exports: {}
161
+ /******/ };
162
+ /******/
163
+ /******/ // Execute the module function
164
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
165
+ /******/
166
+ /******/ // Return the exports of the module
167
+ /******/ return module.exports;
168
+ /******/ }
169
+ /******/
170
+ /************************************************************************/
171
+ /******/ /* webpack/runtime/compat get default export */
172
+ /******/ (() => {
173
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
174
+ /******/ __webpack_require__.n = (module) => {
175
+ /******/ var getter = module && module.__esModule ?
176
+ /******/ () => (module['default']) :
177
+ /******/ () => (module);
178
+ /******/ __webpack_require__.d(getter, { a: getter });
179
+ /******/ return getter;
180
+ /******/ };
181
+ /******/ })();
182
+ /******/
183
+ /******/ /* webpack/runtime/define property getters */
184
+ /******/ (() => {
185
+ /******/ // define getter functions for harmony exports
186
+ /******/ __webpack_require__.d = (exports, definition) => {
187
+ /******/ for(var key in definition) {
188
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
189
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
190
+ /******/ }
191
+ /******/ }
192
+ /******/ };
193
+ /******/ })();
194
+ /******/
195
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
196
+ /******/ (() => {
197
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
198
+ /******/ })();
199
+ /******/
200
+ /******/ /* webpack/runtime/make namespace object */
201
+ /******/ (() => {
202
+ /******/ // define __esModule on exports
203
+ /******/ __webpack_require__.r = (exports) => {
204
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
205
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
206
+ /******/ }
207
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
208
+ /******/ };
209
+ /******/ })();
210
+ /******/
211
+ /************************************************************************/
212
+ var __webpack_exports__ = {};
213
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
214
+ (() => {
215
+ /*!*******************************************************!*\
216
+ !*** ./src/core/MeganavContentProducts/component.jsx ***!
217
+ \*******************************************************/
218
+ __webpack_require__.r(__webpack_exports__);
219
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
220
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
221
+ /* harmony export */ });
222
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
223
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
224
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
225
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
226
+ /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../FeaturedLink/component.jsx */ "./src/core/FeaturedLink/component.jsx");
227
+
228
+
229
+
230
+
231
+ var MeganavContentProducts = function MeganavContentProducts(_ref) {
232
+ var paths = _ref.paths,
233
+ absUrl = _ref.absUrl;
234
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
235
+ className: "flex max-w-screen-xl mx-auto"
236
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
237
+ className: "ui-meganav-content-spacer bg-extra-light-grey"
238
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
239
+ className: "grid grid-cols-12 ui-grid-gap-x w-full"
240
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
241
+ 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"
242
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
243
+ className: "flex mb-20"
244
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", {
245
+ src: paths.ablyStack,
246
+ alt: "Ably homepage"
247
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
248
+ className: "ui-meganav-overline ml-24"
249
+ }, "The Ably Platform")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
250
+ className: "text-p2 font-medium text-cool-black mb-24",
251
+ style: {
252
+ maxWidth: "330px"
253
+ }
254
+ }, "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"], {
255
+ url: absUrl("/platform"),
256
+ textSize: "text-p2"
257
+ }, "Explore how it works")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
258
+ 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"
259
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
260
+ className: "ui-meganav-overline",
261
+ id: "meganav-products-panel-list-examples"
262
+ }, "Products"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
263
+ className: "mb-16",
264
+ "aria-labelledby": "meganav-products-panel-list-examples"
265
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
266
+ href: absUrl("/solutions/channels"),
267
+ className: "group ui-meganav-media"
268
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
269
+ className: "ui-meganav-media-heading"
270
+ }, "Pub/Sub Channels"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
271
+ className: "ui-meganav-media-copy"
272
+ }, "Build infinitely scalable realtime applications."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
273
+ href: absUrl("/spaces"),
274
+ className: "group ui-meganav-media"
275
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
276
+ className: "ui-meganav-media-heading"
277
+ }, "Spaces (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
278
+ className: "ui-meganav-media-copy"
279
+ }, "Create multi-user collaborative environments."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
280
+ href: absUrl("/livesync"),
281
+ className: "group ui-meganav-media"
282
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
283
+ className: "ui-meganav-media-heading"
284
+ }, "LiveSync (Pre release)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
285
+ className: "ui-meganav-media-copy"
286
+ }, "Keep clients in sync with any relational database."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
287
+ 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"
288
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
289
+ className: "ui-meganav-overline",
290
+ id: "meganav-products-panel-list-our-technology"
291
+ }, "Technology"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
292
+ className: "mb-16",
293
+ "aria-labelledby": "meganav-products-panel-list-our-technology"
294
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
295
+ href: absUrl("/four-pillars-of-dependability#performance"),
296
+ className: "ui-meganav-media group"
297
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
298
+ className: "ui-meganav-media-heading"
299
+ }, "Predictable performance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
300
+ className: "ui-meganav-media-copy"
301
+ }, "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", {
302
+ href: absUrl("/four-pillars-of-dependability#integrity"),
303
+ className: "ui-meganav-media group"
304
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
305
+ className: "ui-meganav-media-heading"
306
+ }, "Guaranteed ordering & delivery"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
307
+ className: "ui-meganav-media-copy"
308
+ }, "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", {
309
+ href: absUrl("/four-pillars-of-dependability#reliability"),
310
+ className: "ui-meganav-media group"
311
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
312
+ className: "ui-meganav-media-heading"
313
+ }, "Fault tolerant infrastructure"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
314
+ className: "ui-meganav-media-copy"
315
+ }, "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", {
316
+ href: absUrl("/four-pillars-of-dependability#availability"),
317
+ className: "ui-meganav-media group"
318
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
319
+ className: "ui-meganav-media-heading"
320
+ }, "High scalability & availability"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
321
+ className: "ui-meganav-media-copy"
322
+ }, "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", {
323
+ href: absUrl("/network"),
324
+ className: "ui-meganav-media group"
325
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
326
+ className: "ui-meganav-media-heading"
327
+ }, "Global edge network"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
328
+ className: "ui-meganav-media-copy"
329
+ }, "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"], {
330
+ url: absUrl("/four-pillars-of-dependability"),
331
+ textSize: "text-p3"
332
+ }, "Explore Four Pillars of Dependability"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
333
+ className: "ui-meganav-content-spacer"
334
+ }));
335
+ };
336
+
337
+ MeganavContentProducts.propTypes = {
338
+ paths: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
339
+ ablyStack: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
340
+ iconSprites: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
341
+ }),
342
+ absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
343
+ };
344
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentProducts);
345
+ })();
346
+
347
+ /******/ return __webpack_exports__;
348
+ /******/ })()
349
+ ;
350
+ });
@@ -1 +1,22 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentUseCases=o())}(this,(function(){return{}.default}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentUseCases"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!******************************************************!*\
14
+ !*** ./src/core/MeganavContentUseCases/component.js ***!
15
+ \******************************************************/
16
+ // TODO: Webpack expects a .js file for any component
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudFVzZUNhc2VzL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTzs7Ozs7QUNWQSxxRCIsInNvdXJjZXMiOlsid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL01lZ2FuYXZDb250ZW50VXNlQ2FzZXMvY29tcG9uZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250ZW50VXNlQ2FzZXNcIl0gPSBmYWN0b3J5KCk7XG59KSh0aGlzLCAoKSA9PiB7XG5yZXR1cm4gIiwiLy8gVE9ETzogV2VicGFjayBleHBlY3RzIGEgLmpzIGZpbGUgZm9yIGFueSBjb21wb25lbnRcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==
@@ -7,20 +7,24 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 9008:
15
+ /***/ "./src/core/Icon/component.jsx":
16
+ /*!*************************************!*\
17
+ !*** ./src/core/Icon/component.jsx ***!
18
+ \*************************************/
16
19
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
20
 
21
+ __webpack_require__.r(__webpack_exports__);
18
22
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
23
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
24
  /* harmony export */ });
21
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
25
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
22
26
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
23
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
27
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
24
28
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
29
  var _excluded = ["name", "size", "color", "additionalCSS"];
26
30
 
@@ -64,17 +68,23 @@ Icon.propTypes = {
64
68
 
65
69
  /***/ }),
66
70
 
67
- /***/ 3474:
71
+ /***/ "prop-types":
72
+ /*!*******************************************************************!*\
73
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
74
+ \*******************************************************************/
68
75
  /***/ ((module) => {
69
76
 
70
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
77
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
71
78
 
72
79
  /***/ }),
73
80
 
74
- /***/ 9281:
81
+ /***/ "react":
82
+ /*!*********************************************************!*\
83
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
84
+ \*********************************************************/
75
85
  /***/ ((module) => {
76
86
 
77
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
87
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
78
88
 
79
89
  /***/ })
80
90
 
@@ -149,15 +159,18 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
149
159
  var __webpack_exports__ = {};
150
160
  // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
151
161
  (() => {
162
+ /*!*******************************************************!*\
163
+ !*** ./src/core/MeganavContentUseCases/component.jsx ***!
164
+ \*******************************************************/
152
165
  __webpack_require__.r(__webpack_exports__);
153
166
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
154
167
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
155
168
  /* harmony export */ });
156
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
169
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
157
170
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
158
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
171
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
159
172
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
160
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
173
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
161
174
 
162
175
 
163
176
 
@@ -180,19 +193,19 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
180
193
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
181
194
  href: absUrl("/solutions/chat"),
182
195
  className: "ui-meganav-media-with-image group"
183
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
196
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
184
197
  name: "icon-display-chat-stack-col",
185
198
  size: "2.5rem"
186
199
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
187
200
  className: "flex flex-col justify-center"
188
201
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
189
202
  className: "ui-meganav-media-heading"
190
- }, "Chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
203
+ }, "Live Chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
191
204
  className: "ui-meganav-media-copy"
192
- }, "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", {
205
+ }, "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", {
193
206
  href: absUrl("/solutions/multiplayer-collaboration"),
194
207
  className: "ui-meganav-media-with-image group"
195
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
208
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
196
209
  name: "icon-multi-user-spaces-col",
197
210
  size: "2.5rem"
198
211
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -204,8 +217,8 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
204
217
  }, "Bring collaborative multiplayer experiences to your users.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
205
218
  href: absUrl("/solutions/data-broadcast"),
206
219
  className: "ui-meganav-media-with-image group"
207
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
208
- name: "icon-live-updates-results-metrics-col",
220
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
221
+ name: "icon-display-data-broadcast-col",
209
222
  size: "2.5rem"
210
223
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
211
224
  className: "flex flex-col justify-center"
@@ -216,8 +229,8 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
216
229
  }, "Broadcast realtime event data to millions of devices around the globe.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
217
230
  href: absUrl("/solutions/data-synchronization"),
218
231
  className: "ui-meganav-media-with-image group"
219
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
220
- name: "icon-display-virtual-events",
232
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
233
+ name: "icon-display-data-synchronization-col",
221
234
  size: "2.5rem"
222
235
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
223
236
  className: "flex flex-col justify-center"
@@ -226,19 +239,31 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
226
239
  }, "Data Synchronization"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
227
240
  className: "ui-meganav-media-copy"
228
241
  }, "Keep your frontend and backend in realtime sync, at global scale.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
229
- href: absUrl("/solutions/extend-kafka-to-the-edge"),
242
+ href: absUrl("/push-notifications"),
243
+ className: "ui-meganav-media-with-image group"
244
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
245
+ name: "icon-display-push-notifications-col",
246
+ size: "2.5rem"
247
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
248
+ className: "flex flex-col justify-center"
249
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
250
+ className: "ui-meganav-media-heading"
251
+ }, "Notifications"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
252
+ className: "ui-meganav-media-copy"
253
+ }, "Deliver cross-platform push notifications with a simple unified API.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
254
+ href: absUrl("/solutions/asset-tracking"),
230
255
  className: "ui-meganav-media-with-image group"
231
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
232
- name: "icon-display-kafka-at-the-edge-col",
256
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
257
+ name: "icon-display-asset-tracking-col",
233
258
  size: "2.5rem"
234
259
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
235
260
  className: "flex flex-col justify-center"
236
261
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
237
262
  className: "ui-meganav-media-heading"
238
- }, "Extend Kafka to the edge"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
263
+ }, "Asset Tracking (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
239
264
  className: "ui-meganav-media-copy"
240
- }, "Reliably expand Kafka\u2019s event streaming beyond your private network.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
241
- 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"
265
+ }, "Track assets in realtime with a solution optimised for last mile logistics.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
266
+ className: "col-span-full md:col-span-4 pt-24 pb-0 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"
242
267
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
243
268
  className: "ui-meganav-overline",
244
269
  id: "meganav-use-cases-panel-industry"
@@ -280,12 +305,10 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
280
305
  }, "Healthcare (HIPAA)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
281
306
  className: "ui-meganav-media-copy"
282
307
  }, "Provide trustworthy, HIPAA-compliant realtime apps."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
283
- 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"
284
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
285
- className: "ui-meganav-overline",
286
- id: "meganav-use-cases-panel-solutions"
287
- }, "\xA0"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
288
- "aria-labelledby": "meganav-use-cases-panel-solutions"
308
+ className: "col-span-full md:col-span-4 pt-0 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"
309
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
310
+ "aria-labelledby": "meganav-use-cases-panel-solutions",
311
+ className: "mt-0 md:mt-40"
289
312
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
290
313
  href: absUrl("/solutions/ecommerce-and-retail"),
291
314
  className: "ui-meganav-media group"