@ably/ui 8.7.0-dev.9659fc3 → 8.7.0-dev.98edac1

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 (72) hide show
  1. package/README.md +9 -2
  2. package/core/.DS_Store +0 -0
  3. package/core/DropdownMenu/component.js +1 -0
  4. package/core/DropdownMenu.jsx +313 -0
  5. package/core/{MeganavContentWhyAbly → DropdownMenuPreview}/component.js +0 -0
  6. package/core/{MeganavContentWhyAbly.jsx → DropdownMenuPreview.jsx} +0 -0
  7. package/core/Flash.jsx +129 -57
  8. package/core/Footer/component.css +10 -0
  9. package/core/Footer.jsx +135 -44
  10. package/core/Logo.jsx +28 -113
  11. package/core/Meganav/component.json +1 -1
  12. package/core/Meganav.jsx +186 -185
  13. package/core/MeganavContentDevelopers.jsx +21 -9
  14. package/core/MeganavContentUseCases.jsx +1 -1
  15. package/core/MeganavItemsDesktop.jsx +1 -1
  16. package/core/MeganavItemsMobile.jsx +1 -1
  17. package/core/Notice/component.js +1 -1
  18. package/core/Notice.jsx +130 -58
  19. package/core/images/ably-logo.png +0 -0
  20. package/core/images/high-performer-2022.png +0 -0
  21. package/core/images/highest-user-adoption-2022.png +0 -0
  22. package/core/images/users-love-us-2022.png +0 -0
  23. package/core/sprites.svg +42 -1
  24. package/core/styles.css +2 -0
  25. package/package.json +1 -1
  26. package/src/.DS_Store +0 -0
  27. package/src/core/.DS_Store +0 -0
  28. package/{preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep → src/core/DropdownMenu/component.js} +0 -0
  29. package/src/core/DropdownMenu/component.jsx +112 -0
  30. package/src/core/FeatureFooter/component.html.erb +1 -1
  31. package/src/core/Flash/component.jsx +40 -14
  32. package/src/core/Footer/component.css +10 -0
  33. package/src/core/Footer/component.html.erb +110 -48
  34. package/src/core/Footer/component.jsx +121 -46
  35. package/src/core/Logo/component.html.erb +2 -27
  36. package/src/core/Logo/component.jsx +7 -40
  37. package/src/core/Logo/component.rb +15 -6
  38. package/src/core/Meganav/component.html.erb +1 -1
  39. package/src/core/Meganav/component.json +1 -1
  40. package/src/core/Meganav/component.jsx +1 -1
  41. package/src/core/Meganav/component.rb +3 -2
  42. package/src/core/MeganavContentDevelopers/component.html.erb +17 -8
  43. package/src/core/MeganavContentDevelopers/component.jsx +17 -8
  44. package/src/core/MeganavContentUseCases/component.html.erb +1 -1
  45. package/src/core/MeganavContentUseCases/component.jsx +1 -1
  46. package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
  47. package/src/core/core.rb +12 -4
  48. package/src/core/icons/github.svg +1 -1
  49. package/src/core/icons/google.svg +3 -0
  50. package/src/core/icons/icon-display-chat-col.svg +4 -0
  51. package/src/core/icons/icon-display-integrations-col.svg +8 -0
  52. package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  53. package/src/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  54. package/src/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  55. package/src/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  56. package/src/core/icons/icon-gui-resources.svg +3 -0
  57. package/src/core/icons/stackoverflow.svg +3 -0
  58. package/src/core/icons/youtube.svg +11 -0
  59. package/src/core/images/ably-logo.png +0 -0
  60. package/src/core/images/high-performer-2022.png +0 -0
  61. package/src/core/images/highest-user-adoption-2022.png +0 -0
  62. package/src/core/images/users-love-us-2022.png +0 -0
  63. package/src/core/styles/properties.css +2 -0
  64. package/tailwind.config.js +1 -0
  65. package/core/fonts/.DS_Store +0 -0
  66. package/core/images/.DS_Store +0 -0
  67. package/core/scripts.js.LICENSE.txt +0 -32
  68. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
  69. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
  70. package/src/core/fonts/.DS_Store +0 -0
  71. package/src/core/images/.DS_Store +0 -0
  72. package/src/reset/.DS_Store +0 -0
package/core/Meganav.jsx CHANGED
@@ -150,23 +150,56 @@ FeaturedLink.propTypes = {
150
150
 
151
151
  /***/ }),
152
152
 
153
- /***/ 4935:
153
+ /***/ 8696:
154
154
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
155
155
 
156
156
  "use strict";
157
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
158
- /* harmony export */ "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID)
159
- /* harmony export */ });
160
- /* unused harmony exports reducerFlashes, Flashes */
161
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
162
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
163
- /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6357);
164
- /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_1__);
165
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3474);
166
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
167
- /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3511);
168
- /* harmony import */ var _ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9787);
169
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9008);
157
+
158
+ // EXPORTS
159
+ __webpack_require__.d(__webpack_exports__, {
160
+ "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID)
161
+ });
162
+
163
+ // UNUSED EXPORTS: Flashes, default, reducerFlashes
164
+
165
+ // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
166
+ var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
167
+ var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
168
+ // EXTERNAL MODULE: external {"commonjs":"dompurify","commonjs2":"dompurify"}
169
+ var external_commonjs_dompurify_commonjs2_dompurify_ = __webpack_require__(6357);
170
+ var external_commonjs_dompurify_commonjs2_dompurify_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_dompurify_commonjs2_dompurify_);
171
+ // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
172
+ var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
173
+ var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
174
+ ;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
175
+ let urlAlphabet =
176
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
177
+ let customAlphabet = (alphabet, defaultSize = 21) => {
178
+ return (size = defaultSize) => {
179
+ let id = ''
180
+ let i = size
181
+ while (i--) {
182
+ id += alphabet[(Math.random() * alphabet.length) | 0]
183
+ }
184
+ return id
185
+ }
186
+ }
187
+ let nanoid = (size = 21) => {
188
+ let id = ''
189
+ let i = size
190
+ while (i--) {
191
+ id += urlAlphabet[(Math.random() * 64) | 0]
192
+ }
193
+ return id
194
+ }
195
+
196
+ // EXTERNAL MODULE: ./src/core/remote-data-store.js
197
+ var remote_data_store = __webpack_require__(3511);
198
+ // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
199
+ var component = __webpack_require__(9787);
200
+ // EXTERNAL MODULE: ./src/core/Icon/component.jsx
201
+ var Icon_component = __webpack_require__(9008);
202
+ ;// CONCATENATED MODULE: ./src/core/Flash/component.jsx
170
203
  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); }
171
204
 
172
205
  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; }
@@ -201,6 +234,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
201
234
 
202
235
 
203
236
 
237
+
204
238
  var REDUCER_KEY = "flashes";
205
239
  var FLASH_DATA_ID = "ui-flashes";
206
240
  var initialState = {
@@ -230,8 +264,8 @@ var selectFlashes = function selectFlashes(store) {
230
264
  };
231
265
 
232
266
  var FlashT = {
233
- type: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(["error", "success", "notice", "info", "alert"]),
234
- content: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)
267
+ type: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["error", "success", "notice", "info", "alert"]),
268
+ content: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
235
269
  };
236
270
  var FLASH_BG_COLOR = {
237
271
  error: "bg-gui-error",
@@ -250,48 +284,60 @@ var FLASH_TEXT_COLOR = {
250
284
  var AUTO_HIDE = ["success", "info", "notice"];
251
285
  var AUTO_HIDE_TIME = 8000;
252
286
 
287
+ var useAutoHide = function useAutoHide(type, closeFlash) {
288
+ var timeoutId = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
289
+ (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
290
+ if (AUTO_HIDE.includes(type)) {
291
+ timeoutId.current = setTimeout(function () {
292
+ closeFlash();
293
+ }, AUTO_HIDE_TIME);
294
+ }
295
+
296
+ return function () {
297
+ if (timeoutId.current) {
298
+ clearTimeout(timeoutId.current);
299
+ }
300
+ };
301
+ }, []);
302
+ };
303
+
253
304
  var Flash = function Flash(_ref) {
254
- var type = _ref.type,
255
- content = _ref.content;
256
- var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
305
+ var id = _ref.id,
306
+ type = _ref.type,
307
+ content = _ref.content,
308
+ removeFlash = _ref.removeFlash;
309
+ var ref = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
257
310
 
258
- var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
311
+ var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(false),
259
312
  _useState2 = _slicedToArray(_useState, 2),
260
313
  closed = _useState2[0],
261
314
  setClosed = _useState2[1];
262
315
 
263
- var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),
316
+ var _useState3 = (0,external_commonjs_react_commonjs2_react_.useState)(0),
264
317
  _useState4 = _slicedToArray(_useState3, 2),
265
318
  flashHeight = _useState4[0],
266
319
  setFlashHeight = _useState4[1];
267
320
 
268
- var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
321
+ var _useState5 = (0,external_commonjs_react_commonjs2_react_.useState)(false),
269
322
  _useState6 = _slicedToArray(_useState5, 2),
270
323
  triggerEntryAnimation = _useState6[0],
271
324
  setTriggerEntryAnimation = _useState6[1];
272
325
 
273
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
274
- return setTriggerEntryAnimation(true);
275
- }, []);
276
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
277
- if (AUTO_HIDE.includes(type)) {
278
- setTimeout(function () {
279
- // closeFlash is idempotent, we can call it even if the flash has been already closed
280
- closeFlash();
281
- }, AUTO_HIDE_TIME);
282
- }
283
- }, [closed]);
284
-
285
326
  var closeFlash = function closeFlash() {
286
327
  if (ref.current) {
287
328
  setFlashHeight(ref.current.getBoundingClientRect().height);
288
329
  }
289
330
 
331
+ setClosed(true);
290
332
  setTimeout(function () {
291
- return setClosed(true);
292
- }, 0);
333
+ removeFlash(id);
334
+ }, 100);
293
335
  };
294
336
 
337
+ (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
338
+ return setTriggerEntryAnimation(true);
339
+ }, []);
340
+ useAutoHide(type, closeFlash);
295
341
  var animateEntry = triggerEntryAnimation && !closed;
296
342
  var style;
297
343
 
@@ -309,7 +355,7 @@ var Flash = function Flash(_ref) {
309
355
  style = {};
310
356
  }
311
357
 
312
- var safeContent = dompurify__WEBPACK_IMPORTED_MODULE_1___default().sanitize(content, {
358
+ var safeContent = external_commonjs_dompurify_commonjs2_dompurify_default().sanitize(content, {
313
359
  ALLOWED_TAGS: ["a"],
314
360
  ALLOWED_ATTR: ["href", "data-method", "rel"]
315
361
  });
@@ -325,28 +371,28 @@ var Flash = function Flash(_ref) {
325
371
  error: "text-white",
326
372
  alert: "text-white"
327
373
  };
328
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
374
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
329
375
  className: "ui-flash-message ui-grid-px ".concat(animateEntry ? "ui-flash-message-enter" : ""),
330
376
  style: style,
331
377
  ref: ref,
332
378
  "data-id": "ui-flash"
333
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
379
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
334
380
  className: "".concat(FLASH_BG_COLOR[type], " p-32 flex align-center rounded shadow-container-subtle")
335
- }, withIcons[type] && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__.default, {
381
+ }, withIcons[type] && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
336
382
  name: withIcons[type],
337
383
  color: iconColor[type],
338
384
  size: "1.5rem",
339
385
  additionalCSS: "mr-16 self-baseline"
340
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
386
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
341
387
  className: "ui-flash-text ".concat(FLASH_TEXT_COLOR[type]),
342
388
  dangerouslySetInnerHTML: {
343
389
  __html: safeContent
344
390
  }
345
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
391
+ }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
346
392
  type: "button",
347
393
  className: "p-0 ml-auto self-start focus:outline-none",
348
394
  onClick: closeFlash
349
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__.default, {
395
+ }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
350
396
  name: "icon-gui-close",
351
397
  color: iconColor[type],
352
398
  size: "1.5rem",
@@ -358,26 +404,52 @@ Flash.propTypes = _objectSpread({}, FlashT);
358
404
 
359
405
  var Flashes = function Flashes(_ref2) {
360
406
  var flashes = _ref2.flashes;
361
- var items = (flashes === null || flashes === void 0 ? void 0 : flashes.items) || [];
362
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
407
+
408
+ var _useState7 = (0,external_commonjs_react_commonjs2_react_.useState)([]),
409
+ _useState8 = _slicedToArray(_useState7, 2),
410
+ flashesWithIds = _useState8[0],
411
+ setFlashesWithIds = _useState8[1];
412
+
413
+ var removeFlash = function removeFlash(flashId) {
414
+ return setFlashesWithIds(function (items) {
415
+ return items.filter(function (item) {
416
+ return item.id !== flashId;
417
+ });
418
+ });
419
+ };
420
+
421
+ (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
422
+ setFlashesWithIds(function (state) {
423
+ return [].concat(_toConsumableArray(state), _toConsumableArray(((flashes === null || flashes === void 0 ? void 0 : flashes.items) || []).map(function (flash) {
424
+ return _objectSpread(_objectSpread({}, flash), {}, {
425
+ id: nanoid(),
426
+ removed: false
427
+ });
428
+ })));
429
+ });
430
+ }, [flashes]);
431
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
363
432
  className: "ui-flash",
364
433
  "data-id": FLASH_DATA_ID
365
- }, items.map(function (flash) {
366
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Flash, _extends({
367
- key: flash.type
434
+ }, flashesWithIds.filter(function (item) {
435
+ return !item.removed;
436
+ }).map(function (flash) {
437
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
438
+ removeFlash: removeFlash,
439
+ key: flash.id
368
440
  }, flash));
369
441
  }));
370
442
  };
371
443
 
372
444
  Flashes.propTypes = {
373
- flashes: prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape({
374
- items: prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape(FlashT))
445
+ flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
446
+ items: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().shape(FlashT))
375
447
  })
376
448
  };
377
449
 
378
450
  var BackendFlashes = function BackendFlashes(_ref3) {
379
451
  var flashes = _ref3.flashes;
380
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
452
+ (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
381
453
  var transformedFlashes = flashes.map(function (flash) {
382
454
  var _flash = _slicedToArray(flash, 2),
383
455
  type = _flash[0],
@@ -390,24 +462,24 @@ var BackendFlashes = function BackendFlashes(_ref3) {
390
462
  }) || [];
391
463
 
392
464
  if (transformedFlashes.length > 0) {
393
- var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_3__/* .getRemoteDataStore */ .cO)();
465
+ var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
394
466
  store.dispatch({
395
467
  type: "flash/push",
396
468
  payload: transformedFlashes
397
469
  });
398
470
  }
399
471
  }, []);
400
- var WrappedFlashes = (0,_ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__.default)(Flashes, {
472
+ var WrappedFlashes = (0,component.default)(Flashes, {
401
473
  flashes: selectFlashes
402
474
  });
403
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(WrappedFlashes, null);
475
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
404
476
  };
405
477
 
406
478
  BackendFlashes.propTypes = {
407
- flashes: prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)))
479
+ flashes: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf((external_commonjs_prop_types_commonjs2_prop_types_default()).string))
408
480
  };
409
481
 
410
- /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (BackendFlashes)));
482
+ /* harmony default export */ const Flash_component = ((/* unused pure expression or super */ null && (BackendFlashes)));
411
483
 
412
484
  /***/ }),
413
485
 
@@ -464,135 +536,51 @@ Icon.propTypes = {
464
536
 
465
537
  /***/ }),
466
538
 
467
- /***/ 7697:
539
+ /***/ 3774:
468
540
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
469
541
 
470
542
  "use strict";
471
-
472
- // EXPORTS
473
- __webpack_require__.d(__webpack_exports__, {
474
- "default": () => (/* binding */ component)
475
- });
476
-
477
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
478
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
479
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
480
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
481
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
482
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
483
- ;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
484
- let urlAlphabet =
485
- 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
486
- let customAlphabet = (alphabet, defaultSize = 21) => {
487
- return (size = defaultSize) => {
488
- let id = ''
489
- let i = size
490
- while (i--) {
491
- id += alphabet[(Math.random() * alphabet.length) | 0]
492
- }
493
- return id
494
- }
495
- }
496
- let nanoid = (size = 21) => {
497
- let id = ''
498
- let i = size
499
- while (i--) {
500
- id += urlAlphabet[(Math.random() * 64) | 0]
501
- }
502
- return id
503
- }
504
-
505
- ;// CONCATENATED MODULE: ./src/core/Logo/component.jsx
543
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
544
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
545
+ /* harmony export */ });
546
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
547
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
548
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
549
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
550
+ 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); }
506
551
 
507
552
 
508
553
 
509
554
 
510
555
  var Logo = function Logo(_ref) {
511
556
  var dataId = _ref.dataId,
557
+ logoUrl = _ref.logoUrl,
512
558
  _ref$href = _ref.href,
513
- href = _ref$href === void 0 ? "/" : _ref$href;
514
- // This fixes a bug where if the logo is rendered more than once on the page, and one of the instances
515
- // if it is hidden, the other instance will not show the ably shape from the logo.
516
- // This is because the defs in this SVG reference ids that need to be unique ids. The browser discards the "newer"
517
- // linearGradients defined in the other logo, and inherits the `hidden` style from the first.
518
- var gradientIds = (0,external_commonjs_react_commonjs2_react_.useMemo)(function () {
519
- return [nanoid(), nanoid()];
520
- }, []);
521
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
559
+ href = _ref$href === void 0 ? "/" : _ref$href,
560
+ additionalImgAttrs = _ref.additionalImgAttrs,
561
+ additionalLinkAttrs = _ref.additionalLinkAttrs;
562
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", _extends({
522
563
  href: href,
523
- className: "h-32"
524
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("svg", {
525
564
  "data-id": dataId,
526
- className: "text-cool-black transition-colors",
527
- width: "108",
528
- height: "32",
529
- viewBox: "0 0 108 32",
530
- xmlns: "http://www.w3.org/2000/svg"
531
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("path", {
532
- d: "M62.922 24.9786V4.08813H66.6933V11.6512C67.9709 10.435 69.6164 9.76044 71.3538 9.76044C75.4318 9.76044 79.0498 12.8674 79.0498 17.5484C79.0498 22.2293 75.4318 25.3465 71.3538 25.3465C69.5244 25.3465 67.7971 24.6209 66.5094 23.3024V24.9786H62.922ZM75.2785 17.5484C75.2785 14.932 73.4183 13.1025 70.9859 13.1025C68.6148 13.1025 66.7853 14.84 66.6933 17.3644V17.5484C66.6933 20.1648 68.5534 21.9942 70.9859 21.9942C73.4183 21.9942 75.2785 20.1648 75.2785 17.5484ZM80.7975 24.9786V4.08813H84.5688V24.9786H80.7975ZM89.8425 30.3954L92.0399 25.1523L86.0712 10.1284H90.1491L93.9511 20.6247L97.8144 10.1284H101.954L93.8591 30.4056H89.8425V30.3954ZM56.9329 10.1284V12.0191C55.6247 10.5883 53.7952 9.77066 51.9147 9.77066C47.8367 9.77066 44.2187 12.8777 44.2187 17.5586C44.2187 22.2497 47.8367 25.3465 51.9147 25.3465C53.8668 25.3465 55.7166 24.4982 57.0555 22.9754V24.9888H60.3465V10.1284H56.9329ZM56.5649 17.5484C56.5649 20.1341 54.7048 21.9942 52.2724 21.9942C49.8399 21.9942 47.9798 20.1341 47.9798 17.5484C47.9798 14.9626 49.8399 13.1025 52.2724 13.1025C54.6435 13.1025 56.473 14.8706 56.5649 17.3644V17.5484Z",
533
- fill: "currentColor"
534
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("path", {
535
- d: "M19.2858 0L3.14788 29.5369L0 27.3293L14.932 0H19.2858ZM19.5107 0L35.6487 29.5369L38.7965 27.3293L23.8646 0H19.5107Z",
536
- fill: "url(#".concat(gradientIds[0], ")")
537
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("path", {
538
- d: "M35.4238 29.7107L19.3983 17.16L3.37271 29.7107L6.64323 32L19.3983 22.0147L32.1533 32L35.4238 29.7107Z",
539
- fill: "url(#".concat(gradientIds[1], ")")
540
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("defs", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("linearGradient", {
541
- id: gradientIds[0],
542
- x1: "5.47361",
543
- y1: "37.4219",
544
- x2: "32.4603",
545
- y2: "7.45023",
546
- gradientUnits: "userSpaceOnUse"
547
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
548
- stopColor: "#FF5416"
549
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
550
- offset: "0.2535",
551
- stopColor: "#FF5115"
552
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
553
- offset: "0.461",
554
- stopColor: "#FF4712"
555
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
556
- offset: "0.6523",
557
- stopColor: "#FF350E"
558
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
559
- offset: "0.8327",
560
- stopColor: "#FF1E08"
561
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
562
- offset: "1",
563
- stopColor: "#FF0000"
564
- })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("linearGradient", {
565
- id: gradientIds[1],
566
- x1: "10.7084",
567
- y1: "39.3593",
568
- x2: "26.6583",
569
- y2: "21.6452",
570
- gradientUnits: "userSpaceOnUse"
571
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
572
- stopColor: "#FF5416"
573
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
574
- offset: "0.2535",
575
- stopColor: "#FF5115"
576
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
577
- offset: "0.461",
578
- stopColor: "#FF4712"
579
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
580
- offset: "0.6523",
581
- stopColor: "#FF350E"
582
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
583
- offset: "0.8327",
584
- stopColor: "#FF1E08"
585
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("stop", {
586
- offset: "1",
587
- stopColor: "#FF0000"
588
- })))));
565
+ className: "block",
566
+ style: {
567
+ height: "2.125rem"
568
+ }
569
+ }, additionalLinkAttrs), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", _extends({
570
+ src: logoUrl,
571
+ width: "108px",
572
+ alt: "Ably logo"
573
+ }, additionalImgAttrs)));
589
574
  };
590
575
 
591
576
  Logo.propTypes = {
592
- dataId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
593
- href: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
577
+ dataId: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
578
+ href: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
579
+ logoUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
580
+ additionalImgAttrs: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
581
+ additionalLinkAttrs: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object)
594
582
  };
595
- /* harmony default export */ const component = (/*#__PURE__*/external_commonjs_react_commonjs2_react_default().memo(Logo));
583
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().memo(Logo));
596
584
 
597
585
  /***/ }),
598
586
 
@@ -961,30 +949,30 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
961
949
  }, "Documentation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
962
950
  className: "ui-meganav-media-copy"
963
951
  }, "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", {
964
- href: absUrl("/docs/key-concepts"),
952
+ href: absUrl("/docs/quick-start-guide"),
965
953
  className: "ui-meganav-media-with-image group"
966
954
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
967
- name: "icon-display-lightbulb-col",
955
+ name: "icon-display-quickstart-guides-col",
968
956
  size: "2.5rem"
969
957
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
970
958
  className: "flex flex-col justify-center"
971
959
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
972
960
  className: "ui-meganav-media-heading"
973
- }, "Concepts"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
961
+ }, "Quickstart guides"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
974
962
  className: "ui-meganav-media-copy"
975
- }, "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", {
976
- href: absUrl("/docs/quick-start-guide"),
963
+ }, "Documentation to help you get started quickly.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
964
+ href: absUrl("/integrations"),
977
965
  className: "ui-meganav-media-with-image group"
978
966
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
979
- name: "icon-display-quickstart-guides-col",
967
+ name: "icon-display-integrations-col",
980
968
  size: "2.5rem"
981
969
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
982
970
  className: "flex flex-col justify-center"
983
971
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
984
972
  className: "ui-meganav-media-heading"
985
- }, "Quickstart guides"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
973
+ }, "Integrations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
986
974
  className: "ui-meganav-media-copy"
987
- }, "Documentation to help you get started quickly.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
975
+ }, "Find out more about Ably integrations. ")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
988
976
  className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
989
977
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
990
978
  className: "md:mt-40",
@@ -1013,7 +1001,19 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
1013
1001
  className: "ui-meganav-media-heading"
1014
1002
  }, "Tutorials & Demos"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1015
1003
  className: "ui-meganav-media-copy"
1016
- }, "Get stuck in with our hands-on resources. ")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1004
+ }, "Get stuck in with our hands-on resources. ")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1005
+ href: absUrl("/reference-guide-chat"),
1006
+ className: "ui-meganav-media-with-image group"
1007
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
1008
+ name: "icon-display-chat-col",
1009
+ size: "2.5rem"
1010
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1011
+ className: "flex flex-col justify-center"
1012
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1013
+ className: "ui-meganav-media-heading"
1014
+ }, "Chat apps reference guide"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1015
+ className: "ui-meganav-media-copy"
1016
+ }, "Learn how to build chat apps with Ably.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1017
1017
  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"
1018
1018
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1019
1019
  className: "ui-meganav-overline uppercase",
@@ -1318,7 +1318,7 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
1318
1318
  className: "ui-meganav-media group"
1319
1319
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1320
1320
  className: "ui-meganav-media-heading"
1321
- }, "Fintech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1321
+ }, "FinTech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1322
1322
  className: "ui-meganav-media-copy"
1323
1323
  }, "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", {
1324
1324
  href: absUrl("/solutions/automotive-logistics-and-mobility"),
@@ -2157,8 +2157,8 @@ var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_req
2157
2157
  var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
2158
2158
  // EXTERNAL MODULE: ./src/core/dom-query.js
2159
2159
  var dom_query = __webpack_require__(9581);
2160
- // EXTERNAL MODULE: ./src/core/Flash/component.jsx
2161
- var component = __webpack_require__(4935);
2160
+ // EXTERNAL MODULE: ./src/core/Flash/component.jsx + 1 modules
2161
+ var component = __webpack_require__(8696);
2162
2162
  ;// CONCATENATED MODULE: ./src/core/Notice/component.js
2163
2163
  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; }
2164
2164
 
@@ -3274,7 +3274,7 @@ try {
3274
3274
  /***/ ((module) => {
3275
3275
 
3276
3276
  "use strict";
3277
- 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"}]}');
3277
+ 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":"Solutions","shortLabel":"Solutions","id":"use-cases-panel","component":"MeganavContentUseCases"},{"label":"Company","shortLabel":"Company","id":"company-panel","component":"MeganavContentCompany"},{"label":"Developers","shortLabel":"Developers","id":"developers-panel","component":"MeganavContentDevelopers"}]}');
3278
3278
 
3279
3279
  /***/ }),
3280
3280
 
@@ -3555,8 +3555,8 @@ var selectSessionData = function selectSessionData(store) {
3555
3555
  };
3556
3556
 
3557
3557
 
3558
- // EXTERNAL MODULE: ./src/core/Logo/component.jsx + 1 modules
3559
- var component = __webpack_require__(7697);
3558
+ // EXTERNAL MODULE: ./src/core/Logo/component.jsx
3559
+ var component = __webpack_require__(3774);
3560
3560
  // EXTERNAL MODULE: external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"}
3561
3561
  var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_require__(2040);
3562
3562
  var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
@@ -4455,7 +4455,8 @@ function component_Meganav(_ref2) {
4455
4455
  className: "mr-24"
4456
4456
  }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(component.default, {
4457
4457
  dataId: "meganav-logo",
4458
- href: urlBase
4458
+ href: urlBase,
4459
+ logoUrl: paths.logo
4459
4460
  })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(MeganavItemsDesktop_component.default, {
4460
4461
  panels: panels,
4461
4462
  paths: paths,