@ably/ui 8.5.0 → 8.7.0-dev.471ada5

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.
@@ -214,11 +214,13 @@ __webpack_require__.r(__webpack_exports__);
214
214
 
215
215
 
216
216
  var CustomerLogos = function CustomerLogos(_ref) {
217
- var companies = _ref.companies;
217
+ var companies = _ref.companies,
218
+ _ref$additionalCss = _ref.additionalCss,
219
+ additionalCss = _ref$additionalCss === void 0 ? "" : _ref$additionalCss;
218
220
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
219
221
  className: "w-full bg-white"
220
222
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
221
- className: "py-64 flex flex-row flex-wrap md:flex-nowrap content-between m-auto items-center"
223
+ className: "py-64 flex flex-row flex-wrap md:flex-nowrap content-between m-auto items-center ".concat(additionalCss)
222
224
  }, companies.map(function (company) {
223
225
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
224
226
  key: company.label,
@@ -235,7 +237,8 @@ CustomerLogos.propTypes = {
235
237
  companies: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
236
238
  label: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
237
239
  logo: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
238
- }))
240
+ })),
241
+ additionalCss: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
239
242
  };
240
243
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CustomerLogos);
241
244
  })();
@@ -0,0 +1 @@
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.DropdownMenu=o())}(this,(function(){return{}.default}));
@@ -0,0 +1,423 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("react"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else {
7
+ var a = typeof exports === 'object' ? factory(require("react")) : factory(root[undefined]);
8
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
+ }
10
+ })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__) {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ var __webpack_modules__ = ({
13
+
14
+ /***/ 9008:
15
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16
+
17
+ "use strict";
18
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
+ /* harmony export */ });
21
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
22
+ /* 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__(5697);
24
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
+ var _excluded = ["name", "size", "color", "additionalCSS"];
26
+
27
+ 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); }
28
+
29
+ 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; }
30
+
31
+ 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; }
32
+
33
+
34
+
35
+
36
+ var Icon = function Icon(_ref) {
37
+ var name = _ref.name,
38
+ _ref$size = _ref.size,
39
+ size = _ref$size === void 0 ? "0.75rem" : _ref$size,
40
+ _ref$color = _ref.color,
41
+ color = _ref$color === void 0 ? "" : _ref$color,
42
+ _ref$additionalCSS = _ref.additionalCSS,
43
+ additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
44
+ additionalAttributes = _objectWithoutProperties(_ref, _excluded);
45
+
46
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", _extends({
47
+ className: "".concat(color, " ").concat(additionalCSS),
48
+ style: {
49
+ width: size,
50
+ height: size
51
+ }
52
+ }, additionalAttributes), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
53
+ xlinkHref: "#sprite-".concat(name)
54
+ }));
55
+ };
56
+
57
+ Icon.propTypes = {
58
+ name: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string.isRequired),
59
+ size: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
60
+ color: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
61
+ additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
62
+ };
63
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
64
+
65
+ /***/ }),
66
+
67
+ /***/ 2703:
68
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
69
+
70
+ "use strict";
71
+ /**
72
+ * Copyright (c) 2013-present, Facebook, Inc.
73
+ *
74
+ * This source code is licensed under the MIT license found in the
75
+ * LICENSE file in the root directory of this source tree.
76
+ */
77
+
78
+
79
+
80
+ var ReactPropTypesSecret = __webpack_require__(414);
81
+
82
+ function emptyFunction() {}
83
+ function emptyFunctionWithReset() {}
84
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
85
+
86
+ module.exports = function() {
87
+ function shim(props, propName, componentName, location, propFullName, secret) {
88
+ if (secret === ReactPropTypesSecret) {
89
+ // It is still safe when called from React.
90
+ return;
91
+ }
92
+ var err = new Error(
93
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
94
+ 'Use PropTypes.checkPropTypes() to call them. ' +
95
+ 'Read more at http://fb.me/use-check-prop-types'
96
+ );
97
+ err.name = 'Invariant Violation';
98
+ throw err;
99
+ };
100
+ shim.isRequired = shim;
101
+ function getShim() {
102
+ return shim;
103
+ };
104
+ // Important!
105
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
106
+ var ReactPropTypes = {
107
+ array: shim,
108
+ bool: shim,
109
+ func: shim,
110
+ number: shim,
111
+ object: shim,
112
+ string: shim,
113
+ symbol: shim,
114
+
115
+ any: shim,
116
+ arrayOf: getShim,
117
+ element: shim,
118
+ elementType: shim,
119
+ instanceOf: getShim,
120
+ node: shim,
121
+ objectOf: getShim,
122
+ oneOf: getShim,
123
+ oneOfType: getShim,
124
+ shape: getShim,
125
+ exact: getShim,
126
+
127
+ checkPropTypes: emptyFunctionWithReset,
128
+ resetWarningCache: emptyFunction
129
+ };
130
+
131
+ ReactPropTypes.PropTypes = ReactPropTypes;
132
+
133
+ return ReactPropTypes;
134
+ };
135
+
136
+
137
+ /***/ }),
138
+
139
+ /***/ 5697:
140
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
141
+
142
+ /**
143
+ * Copyright (c) 2013-present, Facebook, Inc.
144
+ *
145
+ * This source code is licensed under the MIT license found in the
146
+ * LICENSE file in the root directory of this source tree.
147
+ */
148
+
149
+ if (false) { var throwOnDirectAccess, ReactIs; } else {
150
+ // By explicitly using `prop-types` you are opting into new production behavior.
151
+ // http://fb.me/prop-types-in-prod
152
+ module.exports = __webpack_require__(2703)();
153
+ }
154
+
155
+
156
+ /***/ }),
157
+
158
+ /***/ 414:
159
+ /***/ ((module) => {
160
+
161
+ "use strict";
162
+ /**
163
+ * Copyright (c) 2013-present, Facebook, Inc.
164
+ *
165
+ * This source code is licensed under the MIT license found in the
166
+ * LICENSE file in the root directory of this source tree.
167
+ */
168
+
169
+
170
+
171
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
172
+
173
+ module.exports = ReactPropTypesSecret;
174
+
175
+
176
+ /***/ }),
177
+
178
+ /***/ 9281:
179
+ /***/ ((module) => {
180
+
181
+ "use strict";
182
+ module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
183
+
184
+ /***/ })
185
+
186
+ /******/ });
187
+ /************************************************************************/
188
+ /******/ // The module cache
189
+ /******/ var __webpack_module_cache__ = {};
190
+ /******/
191
+ /******/ // The require function
192
+ /******/ function __webpack_require__(moduleId) {
193
+ /******/ // Check if module is in cache
194
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
195
+ /******/ if (cachedModule !== undefined) {
196
+ /******/ return cachedModule.exports;
197
+ /******/ }
198
+ /******/ // Create a new module (and put it into the cache)
199
+ /******/ var module = __webpack_module_cache__[moduleId] = {
200
+ /******/ // no module.id needed
201
+ /******/ // no module.loaded needed
202
+ /******/ exports: {}
203
+ /******/ };
204
+ /******/
205
+ /******/ // Execute the module function
206
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
207
+ /******/
208
+ /******/ // Return the exports of the module
209
+ /******/ return module.exports;
210
+ /******/ }
211
+ /******/
212
+ /************************************************************************/
213
+ /******/ /* webpack/runtime/compat get default export */
214
+ /******/ (() => {
215
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
216
+ /******/ __webpack_require__.n = (module) => {
217
+ /******/ var getter = module && module.__esModule ?
218
+ /******/ () => (module['default']) :
219
+ /******/ () => (module);
220
+ /******/ __webpack_require__.d(getter, { a: getter });
221
+ /******/ return getter;
222
+ /******/ };
223
+ /******/ })();
224
+ /******/
225
+ /******/ /* webpack/runtime/define property getters */
226
+ /******/ (() => {
227
+ /******/ // define getter functions for harmony exports
228
+ /******/ __webpack_require__.d = (exports, definition) => {
229
+ /******/ for(var key in definition) {
230
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
231
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
232
+ /******/ }
233
+ /******/ }
234
+ /******/ };
235
+ /******/ })();
236
+ /******/
237
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
238
+ /******/ (() => {
239
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
240
+ /******/ })();
241
+ /******/
242
+ /******/ /* webpack/runtime/make namespace object */
243
+ /******/ (() => {
244
+ /******/ // define __esModule on exports
245
+ /******/ __webpack_require__.r = (exports) => {
246
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
247
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
248
+ /******/ }
249
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
250
+ /******/ };
251
+ /******/ })();
252
+ /******/
253
+ /************************************************************************/
254
+ var __webpack_exports__ = {};
255
+ // This entry need to be wrapped in an IIFE because it need to be in strict mode.
256
+ (() => {
257
+ "use strict";
258
+ __webpack_require__.r(__webpack_exports__);
259
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
260
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
261
+ /* harmony export */ });
262
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
263
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
264
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5697);
265
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
266
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
267
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
268
+
269
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
270
+
271
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
272
+
273
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
274
+
275
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
276
+
277
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
278
+
279
+
280
+
281
+
282
+ var DropdownMenuContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)();
283
+
284
+ var DropdownMenu = function DropdownMenu(_ref) {
285
+ var children = _ref.children;
286
+
287
+ var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
288
+ _useState2 = _slicedToArray(_useState, 2),
289
+ isOpen = _useState2[0],
290
+ setOpen = _useState2[1];
291
+
292
+ var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
293
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
294
+ var clickHandler = function clickHandler(e) {
295
+ var _ref$current;
296
+
297
+ if (ref !== null && ref !== void 0 && (_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(e.target)) return;
298
+ setOpen(false);
299
+ };
300
+
301
+ document.addEventListener("click", clickHandler);
302
+ return function () {
303
+ document.removeEventListener("click", clickHandler);
304
+ };
305
+ }, []);
306
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(DropdownMenuContext.Provider, {
307
+ value: {
308
+ isOpen: isOpen,
309
+ setOpen: setOpen
310
+ }
311
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
312
+ id: "dropdown-menu",
313
+ className: "relative",
314
+ ref: ref
315
+ }, children));
316
+ };
317
+
318
+ DropdownMenu.propTypes = {
319
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
320
+ };
321
+
322
+ var Trigger = function Trigger(_ref2) {
323
+ var children = _ref2.children,
324
+ _ref2$additionalTrigg = _ref2.additionalTriggerCSS,
325
+ additionalTriggerCSS = _ref2$additionalTrigg === void 0 ? "" : _ref2$additionalTrigg;
326
+
327
+ var _useContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(DropdownMenuContext),
328
+ isOpen = _useContext.isOpen,
329
+ setOpen = _useContext.setOpen;
330
+
331
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
332
+ id: "menu-trigger",
333
+ onClick: function onClick() {
334
+ return setOpen(!isOpen);
335
+ },
336
+ className: "".concat(additionalTriggerCSS, " flex items-center p-8 ml-8 group hover:text-gui-hover hover:bg-light-grey active:text-gui-active focus:text-gui-focus focus:outline-none rounded-lg")
337
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
338
+ className: "leading-normal"
339
+ }, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
340
+ name: "icon-gui-disclosure-arrow",
341
+ color: "text-cool-black",
342
+ size: "1.25rem",
343
+ additionalCSS: "transform rotate-90 group-hover:text-gui-hover group-active:text-gui-active group-focus:text-gui-focus"
344
+ }));
345
+ };
346
+
347
+ /*#__PURE__*/
348
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(DropdownMenu.Trigger, {
349
+ className: "list of names"
350
+ }, "Click me");
351
+ Trigger.propTypes = {
352
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
353
+ additionalTriggerCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
354
+ };
355
+
356
+ var Content = function Content(_ref3) {
357
+ var children = _ref3.children,
358
+ _ref3$anchorPosition = _ref3.anchorPosition,
359
+ anchorPosition = _ref3$anchorPosition === void 0 ? "right" : _ref3$anchorPosition,
360
+ additionalContentCSS = _ref3.additionalContentCSS;
361
+
362
+ var _useContext2 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(DropdownMenuContext),
363
+ isOpen = _useContext2.isOpen;
364
+
365
+ if (!isOpen) {
366
+ return null;
367
+ }
368
+
369
+ var anchorPositionClasses = anchorPosition === "right" ? "right-0" : "left-0";
370
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
371
+ id: "menu-content",
372
+ className: "".concat(additionalContentCSS, " absolute p-8 z-10 border border-mid-grey bg-white rounded shadow-container ").concat(anchorPositionClasses),
373
+ style: {
374
+ minWidth: 275,
375
+ top: 44
376
+ }
377
+ }, children);
378
+ };
379
+
380
+ Content.propTypes = {
381
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
382
+ anchorPosition: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
383
+ additionalContentCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
384
+ };
385
+
386
+ var Link = function Link(_ref4) {
387
+ var url = _ref4.url,
388
+ title = _ref4.title,
389
+ subtitle = _ref4.subtitle,
390
+ iconName = _ref4.iconName,
391
+ children = _ref4.children;
392
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
393
+ href: url,
394
+ className: "menu-link group block p-8 hover:bg-light-grey hover:text-cool-black rounded"
395
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
396
+ className: "mb-4"
397
+ }, title, iconName ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
398
+ name: iconName,
399
+ size: "1rem",
400
+ color: "text-cool-black",
401
+ additionalCSS: "align-middle ml-8 relative -top-1 -left-4"
402
+ }) : null), subtitle ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
403
+ className: "text-p3 mb-16 text-dark-grey"
404
+ }, subtitle) : null, children);
405
+ };
406
+
407
+ Link.propTypes = {
408
+ url: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
409
+ title: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
410
+ subtitle: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
411
+ iconName: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
412
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
413
+ };
414
+ DropdownMenu.Trigger = Trigger;
415
+ DropdownMenu.Content = Content;
416
+ DropdownMenu.Link = Link;
417
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DropdownMenu);
418
+ })();
419
+
420
+ /******/ return __webpack_exports__;
421
+ /******/ })()
422
+ ;
423
+ });
@@ -0,0 +1,6 @@
1
+ /******/ (() => { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
@@ -0,0 +1,6 @@
1
+ /******/ (() => { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
package/core/Flash.jsx CHANGED
@@ -1932,13 +1932,14 @@ var Flash = function Flash(_ref) {
1932
1932
  }
1933
1933
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1934
1934
  type: "button",
1935
- className: "p-0 ml-auto self-start",
1935
+ className: "p-0 ml-auto self-start focus:outline-none",
1936
1936
  onClick: closeFlash
1937
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
1938
- className: "h-24 w-24 transition-colors ui-icon-cool-black"
1939
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
1940
- xlinkHref: "#sprite-close"
1941
- })))));
1937
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_4__.default, {
1938
+ name: "icon-gui-close",
1939
+ color: iconColor[type],
1940
+ size: "1.5rem",
1941
+ additionalCSS: "transition-colors"
1942
+ }))));
1942
1943
  };
1943
1944
 
1944
1945
  Flash.propTypes = _objectSpread({}, FlashT);
package/core/Meganav.jsx CHANGED
@@ -3661,13 +3661,14 @@ var Flash = function Flash(_ref) {
3661
3661
  }
3662
3662
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
3663
3663
  type: "button",
3664
- className: "p-0 ml-auto self-start",
3664
+ className: "p-0 ml-auto self-start focus:outline-none",
3665
3665
  onClick: closeFlash
3666
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
3667
- className: "h-24 w-24 transition-colors ui-icon-cool-black"
3668
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
3669
- xlinkHref: "#sprite-close"
3670
- })))));
3666
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_4__.default, {
3667
+ name: "icon-gui-close",
3668
+ color: iconColor[type],
3669
+ size: "1.5rem",
3670
+ additionalCSS: "transition-colors"
3671
+ }))));
3671
3672
  };
3672
3673
 
3673
3674
  Flash.propTypes = _objectSpread({}, FlashT);
@@ -4346,7 +4347,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
4346
4347
  className: "group ui-meganav-media py-12"
4347
4348
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4348
4349
  className: "ui-meganav-media-heading"
4349
- }, "Github"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4350
+ }, "GitHub"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4350
4351
  href: "https://changelog.ably.com/",
4351
4352
  className: "group ui-meganav-media py-12"
4352
4353
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
@@ -4568,6 +4569,18 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
4568
4569
  }, "Use cases"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
4569
4570
  "aria-labelledby": "meganav-use-cases-panel-industry-use-cases"
4570
4571
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4572
+ href: absUrl("/solutions/live-updates-results-metrics"),
4573
+ className: "ui-meganav-media-with-image group"
4574
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4575
+ name: "icon-live-updates-results-metrics-col",
4576
+ size: "2.5rem"
4577
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4578
+ className: "flex flex-col justify-center"
4579
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4580
+ className: "ui-meganav-media-heading"
4581
+ }, "Live updates, results & metrics"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4582
+ className: "ui-meganav-media-copy"
4583
+ }, "Deliver live updates to keep users informed.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4571
4584
  href: absUrl("/solutions/chat"),
4572
4585
  className: "ui-meganav-media-with-image group"
4573
4586
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
@@ -4591,7 +4604,19 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
4591
4604
  className: "ui-meganav-media-heading"
4592
4605
  }, "Virtual Events"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4593
4606
  className: "ui-meganav-media-copy"
4594
- }, "Power engaging virtual events with realtime features.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4607
+ }, "Power engaging virtual events with realtime features.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
4608
+ href: absUrl("/solutions/multi-user-virtual-spaces"),
4609
+ className: "ui-meganav-media-with-image group"
4610
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
4611
+ name: "icon-multi-user-spaces-col",
4612
+ size: "2.5rem"
4613
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4614
+ className: "flex flex-col justify-center"
4615
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4616
+ className: "ui-meganav-media-heading"
4617
+ }, "Multi-user virtual spaces"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
4618
+ className: "ui-meganav-media-copy"
4619
+ }, "Build live and interactive multi-user applications.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
4595
4620
  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
4621
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
4597
4622
  className: "ui-meganav-overline",
@@ -365,7 +365,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
365
365
  className: "group ui-meganav-media py-12"
366
366
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
367
367
  className: "ui-meganav-media-heading"
368
- }, "Github"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
368
+ }, "GitHub"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
369
369
  href: "https://changelog.ably.com/",
370
370
  className: "group ui-meganav-media py-12"
371
371
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
@@ -284,6 +284,18 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
284
284
  }, "Use cases"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
285
285
  "aria-labelledby": "meganav-use-cases-panel-industry-use-cases"
286
286
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
287
+ href: absUrl("/solutions/live-updates-results-metrics"),
288
+ className: "ui-meganav-media-with-image group"
289
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
290
+ name: "icon-live-updates-results-metrics-col",
291
+ size: "2.5rem"
292
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
293
+ className: "flex flex-col justify-center"
294
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
295
+ className: "ui-meganav-media-heading"
296
+ }, "Live updates, results & metrics"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
297
+ className: "ui-meganav-media-copy"
298
+ }, "Deliver live updates to keep users informed.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
287
299
  href: absUrl("/solutions/chat"),
288
300
  className: "ui-meganav-media-with-image group"
289
301
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
@@ -307,7 +319,19 @@ var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
307
319
  className: "ui-meganav-media-heading"
308
320
  }, "Virtual Events"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
309
321
  className: "ui-meganav-media-copy"
310
- }, "Power engaging virtual events with realtime features.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
322
+ }, "Power engaging virtual events with realtime features.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
323
+ href: absUrl("/solutions/multi-user-virtual-spaces"),
324
+ className: "ui-meganav-media-with-image group"
325
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
326
+ name: "icon-multi-user-spaces-col",
327
+ size: "2.5rem"
328
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
329
+ className: "flex flex-col justify-center"
330
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
331
+ className: "ui-meganav-media-heading"
332
+ }, "Multi-user virtual spaces"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
333
+ className: "ui-meganav-media-copy"
334
+ }, "Build live and interactive multi-user applications.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
311
335
  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"
312
336
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
313
337
  className: "ui-meganav-overline",