@ably/ui 8.9.0 → 9.0.0

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 (64) hide show
  1. package/README.md +1 -1
  2. package/core/Code/component.css +3 -3
  3. package/core/Code/component.js +1 -1
  4. package/core/Code.jsx +353 -7273
  5. package/core/CompanyAutocomplete/component.js +1 -1
  6. package/core/ConnectStateWrapper.jsx +13 -4
  7. package/core/ContactFooter.jsx +13 -119
  8. package/core/CookieMessage.jsx +21 -293
  9. package/core/CustomerLogos.jsx +9 -114
  10. package/core/DropdownMenu/component.js +1 -0
  11. package/core/DropdownMenu.jsx +317 -0
  12. package/core/FeaturedLink.jsx +10 -116
  13. package/core/Flash.jsx +29 -1483
  14. package/core/Footer.jsx +17 -123
  15. package/core/Icon.jsx +9 -114
  16. package/core/Loader.jsx +9 -114
  17. package/core/Logo.jsx +13 -118
  18. package/core/Meganav/component.js +1 -2
  19. package/core/Meganav.jsx +2844 -10177
  20. package/core/MeganavBlogPostsList/component.js +1 -1
  21. package/core/MeganavBlogPostsList.jsx +11 -118
  22. package/core/MeganavContentCompany.jsx +31 -124
  23. package/core/MeganavContentDevelopers.jsx +23 -117
  24. package/core/MeganavContentPlatform.jsx +11 -118
  25. package/core/MeganavContentUseCases.jsx +11 -117
  26. package/core/MeganavControl.jsx +10 -116
  27. package/core/MeganavControlMobileDropdown/component.js +1 -1
  28. package/core/MeganavControlMobileDropdown.jsx +10 -116
  29. package/core/MeganavControlMobilePanelClose.jsx +10 -116
  30. package/core/MeganavControlMobilePanelOpen.jsx +10 -116
  31. package/core/MeganavItemsDesktop.jsx +13 -121
  32. package/core/MeganavItemsMobile.jsx +18 -132
  33. package/core/MeganavItemsSignedIn.jsx +16 -129
  34. package/core/MeganavSearch.jsx +13 -123
  35. package/core/MeganavSearchAutocomplete/component.js +1 -2
  36. package/core/MeganavSearchPanel.jsx +12 -121
  37. package/core/MeganavSearchSuggestions.jsx +11 -118
  38. package/core/Notice/component.js +1 -2
  39. package/core/Notice.jsx +62 -2136
  40. package/core/SignOutLink.jsx +9 -114
  41. package/core/Slider/component.js +1 -1
  42. package/core/Slider.jsx +25 -582
  43. package/core/Uptime.jsx +15 -118
  44. package/core/scripts.js +1 -1
  45. package/core/sprites.svg +7 -0
  46. package/package.json +4 -4
  47. package/src/core/Code/component.css +1 -67
  48. package/src/core/Code/component.js +11 -46
  49. package/src/core/Code/component.jsx +7 -3
  50. package/src/core/DropdownMenu/component.js +0 -0
  51. package/src/core/DropdownMenu/component.jsx +114 -0
  52. package/src/core/FeatureFooter/component.html.erb +1 -1
  53. package/src/core/MeganavContentDevelopers/component.html.erb +9 -0
  54. package/src/core/MeganavContentDevelopers/component.jsx +9 -0
  55. package/src/core/MeganavContentUseCases/component.html.erb +1 -1
  56. package/src/core/MeganavContentUseCases/component.jsx +1 -1
  57. package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
  58. package/src/core/icons/icon-display-integrations-col.svg +8 -0
  59. package/src/core/utils/syntax-highlighter-registry.js +61 -0
  60. package/src/core/utils/syntax-highlighter.css +69 -0
  61. package/src/core/utils/syntax-highlighter.js +98 -0
  62. package/core/Meganav/component.js.LICENSE.txt +0 -7
  63. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  64. package/core/Notice/component.js.LICENSE.txt +0 -9
package/core/Uptime.jsx CHANGED
@@ -1,13 +1,13 @@
1
1
  (function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("react"));
3
+ module.exports = factory(require("react"), require("prop-types"));
4
4
  else if(typeof define === 'function' && define.amd)
5
- define([], factory);
5
+ define([, ], factory);
6
6
  else {
7
- var a = typeof exports === 'object' ? factory(require("react")) : factory(root[undefined]);
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__) {
10
+ })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
@@ -28,7 +28,7 @@ module.exports = __webpack_require__(5666);
28
28
  /* harmony export */ });
29
29
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
30
30
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
31
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5697);
31
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
32
32
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
33
33
  /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
34
34
 
@@ -78,7 +78,7 @@ FeaturedLink.propTypes = {
78
78
  /* harmony export */ });
79
79
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
80
80
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
81
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5697);
81
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
82
82
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
83
83
  var _excluded = ["name", "size", "color", "additionalCSS"];
84
84
 
@@ -120,117 +120,6 @@ Icon.propTypes = {
120
120
  };
121
121
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
122
122
 
123
- /***/ }),
124
-
125
- /***/ 2703:
126
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
127
-
128
- "use strict";
129
- /**
130
- * Copyright (c) 2013-present, Facebook, Inc.
131
- *
132
- * This source code is licensed under the MIT license found in the
133
- * LICENSE file in the root directory of this source tree.
134
- */
135
-
136
-
137
-
138
- var ReactPropTypesSecret = __webpack_require__(414);
139
-
140
- function emptyFunction() {}
141
- function emptyFunctionWithReset() {}
142
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
143
-
144
- module.exports = function() {
145
- function shim(props, propName, componentName, location, propFullName, secret) {
146
- if (secret === ReactPropTypesSecret) {
147
- // It is still safe when called from React.
148
- return;
149
- }
150
- var err = new Error(
151
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
152
- 'Use PropTypes.checkPropTypes() to call them. ' +
153
- 'Read more at http://fb.me/use-check-prop-types'
154
- );
155
- err.name = 'Invariant Violation';
156
- throw err;
157
- };
158
- shim.isRequired = shim;
159
- function getShim() {
160
- return shim;
161
- };
162
- // Important!
163
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
164
- var ReactPropTypes = {
165
- array: shim,
166
- bool: shim,
167
- func: shim,
168
- number: shim,
169
- object: shim,
170
- string: shim,
171
- symbol: shim,
172
-
173
- any: shim,
174
- arrayOf: getShim,
175
- element: shim,
176
- elementType: shim,
177
- instanceOf: getShim,
178
- node: shim,
179
- objectOf: getShim,
180
- oneOf: getShim,
181
- oneOfType: getShim,
182
- shape: getShim,
183
- exact: getShim,
184
-
185
- checkPropTypes: emptyFunctionWithReset,
186
- resetWarningCache: emptyFunction
187
- };
188
-
189
- ReactPropTypes.PropTypes = ReactPropTypes;
190
-
191
- return ReactPropTypes;
192
- };
193
-
194
-
195
- /***/ }),
196
-
197
- /***/ 5697:
198
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
199
-
200
- /**
201
- * Copyright (c) 2013-present, Facebook, Inc.
202
- *
203
- * This source code is licensed under the MIT license found in the
204
- * LICENSE file in the root directory of this source tree.
205
- */
206
-
207
- if (false) { var throwOnDirectAccess, ReactIs; } else {
208
- // By explicitly using `prop-types` you are opting into new production behavior.
209
- // http://fb.me/prop-types-in-prod
210
- module.exports = __webpack_require__(2703)();
211
- }
212
-
213
-
214
- /***/ }),
215
-
216
- /***/ 414:
217
- /***/ ((module) => {
218
-
219
- "use strict";
220
- /**
221
- * Copyright (c) 2013-present, Facebook, Inc.
222
- *
223
- * This source code is licensed under the MIT license found in the
224
- * LICENSE file in the root directory of this source tree.
225
- */
226
-
227
-
228
-
229
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
230
-
231
- module.exports = ReactPropTypesSecret;
232
-
233
-
234
123
  /***/ }),
235
124
 
236
125
  /***/ 5666:
@@ -986,6 +875,14 @@ try {
986
875
  }
987
876
 
988
877
 
878
+ /***/ }),
879
+
880
+ /***/ 3474:
881
+ /***/ ((module) => {
882
+
883
+ "use strict";
884
+ module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
885
+
989
886
  /***/ }),
990
887
 
991
888
  /***/ 9281:
@@ -1078,7 +975,7 @@ __webpack_require__.r(__webpack_exports__);
1078
975
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
1079
976
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9281);
1080
977
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1081
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5697);
978
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3474);
1082
979
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
1083
980
  /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5751);
1084
981
  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; }
package/core/scripts.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define([,],e):"object"==typeof exports?exports.AblyUi=e(require("react"),require("react-dom")):(t.AblyUi=t.AblyUi||{},t.AblyUi.Core=e(t[void 0],t[void 0]))}(this,(function(t,e){return(()=>{var r={757:(t,e,r)=>{t.exports=r(666)},666:t=>{var e=function(t){"use strict";var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var o=e&&e.prototype instanceof v?e:v,i=Object.create(o.prototype),a=new A(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===h)throw new Error("Generator is already running");if(n===d){if("throw"===o)throw i;return k()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=P(a,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var u=s(t,e,r);if("normal"===u.type){if(n=r.done?d:p,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=d,r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=f;var l="suspendedStart",p="suspendedYield",h="executing",d="completed",y={};function v(){}function b(){}function g(){}var w={};w[i]=function(){return this};var m=Object.getPrototypeOf,O=m&&m(m(N([])));O&&O!==r&&n.call(O,i)&&(w=O);var x=g.prototype=v.prototype=Object.create(w);function E(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,a,c){var u=s(t[o],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function P(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,P(t,r),"throw"===r.method))return y;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=s(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function N(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:k}}function k(){return{value:e,done:!0}}return b.prototype=x.constructor=g,g.constructor=b,b.displayName=u(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,u(t,c,"GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},E(j.prototype),j.prototype[a]=function(){return this},t.AsyncIterator=j,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new j(f(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(x),u(x,c,"Generator"),x[i]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=N,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),f=n.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:N(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}},281:e=>{"use strict";e.exports=t},645:t=>{"use strict";t.exports=e}},n={};function o(t){var e=n[t];if(void 0!==e)return e.exports;var i=n[t]={exports:{}};return r[t](i,i.exports,o),i.exports}o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};return(()=>{"use strict";o.r(i),o.d(i,{attachStoreToWindow:()=>O,connectState:()=>E,createRemoteDataStore:()=>j,fetchBlogPosts:()=>T,fetchSessionData:()=>M,getRemoteDataStore:()=>x,loadSprites:()=>u,queryId:()=>f,queryIdAll:()=>s,reactRenderer:()=>c,reducerBlogPosts:()=>D,reducerSessionData:()=>F,renderComponent:()=>a,selectRecentBlogPosts:()=>I,selectSessionData:()=>W,toggleChatWidget:()=>d}),Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function t(){var e=isNaN(arguments[0])?1:Number(arguments[0]);return e?Array.prototype.reduce.call(this,(function(r,n){return Array.isArray(n)?r.push.apply(r,t.call(n,e-1)):r.push(n),r}),[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(t){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var t=o(281),e=o.n(t),r=o(645),n=o.n(r),a=function(t,r,o){return n().render(e().createElement(t,r),o)};function c(t){var r=document.querySelectorAll("[data-react]");Array.from(r).forEach((function(r){var o=r.getAttribute("data-react"),i=t[o];if(i){var a=r.getAttribute("data-react-props"),c=a&&JSON.parse(a||{});n().render(e().createElement(i,c),r),r.removeAttribute("data-react"),r.removeAttribute("data-react-props")}}))}const u=function(t){fetch(t).then((function(t){return t.text()})).then((function(t){var e=document.createElement("div");e.style.display="none",e.innerHTML=t,document.body.appendChild(e)})).catch((function(t){return console.error(t)}))};var f=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e.querySelector("[data-id=".concat(t,"]"))},s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e.querySelectorAll("[data-id=".concat(t,"]"))};function l(t,e){t.disabled=!1,t.innerText=e}function p(t,e){t.disabled=!0,t.innerText=e}var h=30;function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.dataId,r=f(e),n=f("open-chat-widget",r),o=n.dataset.enabledLabel,i=n.dataset.disabledLabel;if(e&&r){var a,c=f("open-chat-widget",r),u=function t(e){var r,n,i=null===(r=window)||void 0===r||null===(n=r.HubSpotConversations)||void 0===n?void 0:n.widget,u=document.querySelector("#hubspot-messages-iframe-container");a=function(t){t.preventDefault(),i.open()},i&&u?(c.addEventListener("click",a),l(c,o)):--h&&setTimeout((function(){return t(100)}),e)};return p(c,i),u(0),function(){p(c,i),c.removeEventListener("click",a)}}}function y(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var v="function"==typeof Symbol&&Symbol.observable||"@@observable",b=function(){return Math.random().toString(36).substring(7).split("").join(".")},g={INIT:"@@redux/INIT"+b(),REPLACE:"@@redux/REPLACE"+b(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+b()}};function w(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function m(t,e,r){var n;if("function"==typeof e&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw new Error(y(0));if("function"==typeof e&&void 0===r&&(r=e,e=void 0),void 0!==r){if("function"!=typeof r)throw new Error(y(1));return r(m)(t,e)}if("function"!=typeof t)throw new Error(y(2));var o=t,i=e,a=[],c=a,u=!1;function f(){c===a&&(c=a.slice())}function s(){if(u)throw new Error(y(3));return i}function l(t){if("function"!=typeof t)throw new Error(y(4));if(u)throw new Error(y(5));var e=!0;return f(),c.push(t),function(){if(e){if(u)throw new Error(y(6));e=!1,f();var r=c.indexOf(t);c.splice(r,1),a=null}}}function p(t){if(!w(t))throw new Error(y(7));if(void 0===t.type)throw new Error(y(8));if(u)throw new Error(y(9));try{u=!0,i=o(i,t)}finally{u=!1}for(var e=a=c,r=0;r<e.length;r++)(0,e[r])();return t}function h(t){if("function"!=typeof t)throw new Error(y(10));o=t,p({type:g.REPLACE})}function d(){var t,e=l;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(y(11));function r(){t.next&&t.next(s())}return r(),{unsubscribe:e(r)}}})[v]=function(){return this},t}return p({type:g.INIT}),(n={dispatch:p,subscribe:l,getState:s,replaceReducer:h})[v]=d,n}var O=function(t){window.AblyUi=window.AblyUi||{},window.AblyUi.RemoteDataStore=t},x=function(){if(!window.AblyUi.RemoteDataStore)throw new Error("Remote store was called before one was created");return window.AblyUi.RemoteDataStore},E=function(t,e){var r=x(),n=t(r);r.subscribe((function(){var o=t(r);o!==n&&(n=o,e(o))}))},j=function(t){return m(function(t){for(var e=Object.keys(t),r={},n=0;n<e.length;n++){var o=e[n];"function"==typeof t[o]&&(r[o]=t[o])}var i,a=Object.keys(r);try{!function(t){Object.keys(t).forEach((function(e){var r=t[e];if(void 0===r(void 0,{type:g.INIT}))throw new Error(y(12));if(void 0===r(void 0,{type:g.PROBE_UNKNOWN_ACTION()}))throw new Error(y(13))}))}(r)}catch(t){i=t}return function(t,e){if(void 0===t&&(t={}),i)throw i;for(var n=!1,o={},c=0;c<a.length;c++){var u=a[c],f=r[u],s=t[u],l=f(s,e);if(void 0===l)throw e&&e.type,new Error(y(14));o[u]=l,n=n||l!==s}return(n=n||a.length!==Object.keys(t).length)?o:t}}(t))},P=o(757),S=o.n(P),L=function(t){return t&&t.includes("application/json")};function A(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function N(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?A(Object(r),!0).forEach((function(e){k(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function k(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var T=function(){var t,e=(t=S().mark((function t(e,r){var n,o;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,r){t.next=4;break}return console.log('Skipping fetching blog posts, invalid blogUrl: "'.concat(r,'"')),t.abrupt("return");case 4:return t.next=6,fetch(r);case 6:if(n=t.sent,!L(n.headers.get("content-type"))){t.next=14;break}return t.next=10,n.json();case 10:o=t.sent,e.dispatch({type:"blog/loaded",payload:o}),t.next=15;break;case 14:throw new Error("Blog posts url is not serving json");case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(0),console.warn("Could not fetch blog posts due to error:",t.t0);case 20:case"end":return t.stop()}}),t,null,[[0,17]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){_(i,n,o,a,c,"next",t)}function c(t){_(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),R={recent:null},D=k({},"blogPosts",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:R,e=arguments.length>1?arguments[1]:void 0;return"blog/loaded"===e.type?N(N({},t),{},{recent:e.payload}):t})),I=function(t){var e;return null===(e=t.getState().blogPosts)||void 0===e?void 0:e.recent};function U(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function C(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?U(Object(r),!0).forEach((function(e){q(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function q(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function G(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var M=function(){var t,e=(t=S().mark((function t(e,r){var n,o,i;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.dispatch({type:"session/loaded",payload:t})},t.prev=1,r){t.next=6;break}return console.log('Skipping fetching session, invalid sessionUrl: "'.concat(r,'"')),n(),t.abrupt("return");case 6:return t.next=8,fetch(r,{cache:"no-cache"});case 8:if(o=t.sent,L(o.headers.get("content-type"))){t.next=12;break}throw new Error("Session endpoint is not serving json");case 12:return t.next=14,o.json();case 14:"not-found"===(i=t.sent).error?n():n(i),t.next=22;break;case 18:t.prev=18,t.t0=t.catch(1),n(),console.warn("Could not fetch session data due to error:",t.t0);case 22:case"end":return t.stop()}}),t,null,[[1,18]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){G(i,n,o,a,c,"next",t)}function c(t){G(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),B={data:null},F=q({},"session",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B,e=arguments.length>1?arguments[1]:void 0;return"session/loaded"===e.type?C(C({},t),{},{data:e.payload}):t})),W=function(t){var e;return null===(e=t.getState().session)||void 0===e?void 0:e.data}})(),i})()}));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("array-flat-polyfill"),require("react"),require("react-dom"),require("redux")):"function"==typeof define&&define.amd?define([,,,],e):"object"==typeof exports?exports.AblyUi=e(require("array-flat-polyfill"),require("react"),require("react-dom"),require("redux")):(t.AblyUi=t.AblyUi||{},t.AblyUi.Core=e(t[void 0],t[void 0],t[void 0],t[void 0]))}(this,(function(t,e,r,n){return(()=>{var o={757:(t,e,r)=>{t.exports=r(666)},666:t=>{var e=function(t){"use strict";var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),a=new k(n||[]);return i._invoke=function(t,e,r){var n=f;return function(o,i){if(n===d)throw new Error("Generator is already running");if(n===h){if("throw"===o)throw i;return _()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=P(a,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=d;var u=l(t,e,r);if("normal"===u.type){if(n=r.done?h:p,u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=h,r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=s;var f="suspendedStart",p="suspendedYield",d="executing",h="completed",v={};function y(){}function g(){}function b(){}var m={};m[i]=function(){return this};var w=Object.getPrototypeOf,x=w&&w(w(A([])));x&&x!==r&&n.call(x,i)&&(m=x);var O=b.prototype=y.prototype=Object.create(m);function j(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(o,i,a,c){var u=l(t[o],t,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(f).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function P(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,P(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=l(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function A(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}return{next:_}}function _(){return{value:e,done:!0}}return g.prototype=O.constructor=b,b.constructor=g,g.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,c,"GeneratorFunction")),t.prototype=Object.create(O),t},t.awrap=function(t){return{__await:t}},j(S.prototype),S.prototype[a]=function(){return this},t.AsyncIterator=S,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new S(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},j(O),u(O,c,"Generator"),O[i]=function(){return this},O.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=A,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:A(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}},806:e=>{"use strict";e.exports=t},281:t=>{"use strict";t.exports=e},645:t=>{"use strict";t.exports=r},44:t=>{"use strict";t.exports=n}},i={};function a(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,a),r.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var c={};return(()=>{"use strict";a.r(c),a.d(c,{attachStoreToWindow:()=>y,connectState:()=>b,createRemoteDataStore:()=>m,fetchBlogPosts:()=>L,fetchSessionData:()=>U,getRemoteDataStore:()=>g,loadSprites:()=>u,queryId:()=>s,queryIdAll:()=>l,reactRenderer:()=>i,reducerBlogPosts:()=>A,reducerSessionData:()=>G,renderComponent:()=>o,selectRecentBlogPosts:()=>_,selectSessionData:()=>C,toggleChatWidget:()=>h}),a(806);var t=a(281),e=a.n(t),r=a(645),n=a.n(r),o=function(t,r,o){return n().render(e().createElement(t,r),o)};function i(t){var r=document.querySelectorAll("[data-react]");Array.from(r).forEach((function(r){var o=r.getAttribute("data-react"),i=t[o];if(i){var a=r.getAttribute("data-react-props"),c=a&&JSON.parse(a||{});n().render(e().createElement(i,c),r),r.removeAttribute("data-react"),r.removeAttribute("data-react-props")}}))}const u=function(t){fetch(t).then((function(t){return t.text()})).then((function(t){var e=document.createElement("div");e.style.display="none",e.innerHTML=t,document.body.appendChild(e)})).catch((function(t){return console.error(t)}))};var s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e.querySelector("[data-id=".concat(t,"]"))},l=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e.querySelectorAll("[data-id=".concat(t,"]"))};function f(t,e){t.disabled=!1,t.innerText=e}function p(t,e){t.disabled=!0,t.innerText=e}var d=30;function h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.dataId,r=s(e),n=s("open-chat-widget",r),o=n.dataset.enabledLabel,i=n.dataset.disabledLabel;if(e&&r){var a,c=s("open-chat-widget",r),u=function t(e){var r,n,i=null===(r=window)||void 0===r||null===(n=r.HubSpotConversations)||void 0===n?void 0:n.widget,u=document.querySelector("#hubspot-messages-iframe-container");a=function(t){t.preventDefault(),i.open()},i&&u?(c.addEventListener("click",a),f(c,o)):--d&&setTimeout((function(){return t(100)}),e)};return p(c,i),u(0),function(){p(c,i),c.removeEventListener("click",a)}}}var v=a(44),y=function(t){window.AblyUi=window.AblyUi||{},window.AblyUi.RemoteDataStore=t},g=function(){if(!window.AblyUi.RemoteDataStore)throw new Error("Remote store was called before one was created");return window.AblyUi.RemoteDataStore},b=function(t,e){var r=g(),n=t(r);r.subscribe((function(){var o=t(r);o!==n&&(n=o,e(o))}))},m=function(t){return(0,v.createStore)((0,v.combineReducers)(t))},w=a(757),x=a.n(w),O=function(t){return t&&t.includes("application/json")};function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function S(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?j(Object(r),!0).forEach((function(e){P(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function P(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function E(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var L=function(){var t,e=(t=x().mark((function t(e,r){var n,o;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,r){t.next=4;break}return console.log('Skipping fetching blog posts, invalid blogUrl: "'.concat(r,'"')),t.abrupt("return");case 4:return t.next=6,fetch(r);case 6:if(n=t.sent,!O(n.headers.get("content-type"))){t.next=14;break}return t.next=10,n.json();case 10:o=t.sent,e.dispatch({type:"blog/loaded",payload:o}),t.next=15;break;case 14:throw new Error("Blog posts url is not serving json");case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(0),console.warn("Could not fetch blog posts due to error:",t.t0);case 20:case"end":return t.stop()}}),t,null,[[0,17]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){E(i,n,o,a,c,"next",t)}function c(t){E(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),k={recent:null},A=P({},"blogPosts",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k,e=arguments.length>1?arguments[1]:void 0;return"blog/loaded"===e.type?S(S({},t),{},{recent:e.payload}):t})),_=function(t){var e;return null===(e=t.getState().blogPosts)||void 0===e?void 0:e.recent};function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function q(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?D(Object(r),!0).forEach((function(e){T(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function T(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function R(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}var U=function(){var t,e=(t=x().mark((function t(e,r){var n,o,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.dispatch({type:"session/loaded",payload:t})},t.prev=1,r){t.next=6;break}return console.log('Skipping fetching session, invalid sessionUrl: "'.concat(r,'"')),n(),t.abrupt("return");case 6:return t.next=8,fetch(r,{cache:"no-cache"});case 8:if(o=t.sent,O(o.headers.get("content-type"))){t.next=12;break}throw new Error("Session endpoint is not serving json");case 12:return t.next=14,o.json();case 14:"not-found"===(i=t.sent).error?n():n(i),t.next=22;break;case 18:t.prev=18,t.t0=t.catch(1),n(),console.warn("Could not fetch session data due to error:",t.t0);case 22:case"end":return t.stop()}}),t,null,[[1,18]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){R(i,n,o,a,c,"next",t)}function c(t){R(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),N={data:null},G=T({},"session",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N,e=arguments.length>1?arguments[1]:void 0;return"session/loaded"===e.type?q(q({},t),{},{data:e.payload}):t})),C=function(t){var e;return null===(e=t.getState().session)||void 0===e?void 0:e.data}})(),c})()}));
package/core/sprites.svg CHANGED
@@ -99,6 +99,13 @@
99
99
  <rect width="48" height="48" fill="white"/>
100
100
  </clipPath>
101
101
  </defs>
102
+ </symbol><symbol fill="none" id="sprite-icon-display-integrations-col" viewBox="0 0 48 48"><title>sprite-icon-display-integrations-col</title>
103
+ <path d="M7.69985 7.70029C3.40409 11.9961 3.18585 18.7426 7.21241 22.7692L11.9425 27.4993L27.4988 11.9429L22.7688 7.21285C18.7422 3.18629 11.9956 3.40453 7.69985 7.70029Z" stroke="#03020D" stroke-width="1.5" stroke-linejoin="round"/>
104
+ <path d="M45.2129 45.2131L42.3844 42.3847" stroke="#03020D" stroke-width="1.37459" stroke-linecap="round" stroke-linejoin="round"/>
105
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M40.4514 40.451C35.8956 45.0068 28.6731 45.2897 24.3219 40.9385L19.5918 36.2084C19.2989 35.9155 19.2989 35.4406 19.5918 35.1477L35.1482 19.5914C35.441 19.2985 35.9159 19.2985 36.2088 19.5914L40.9389 24.3215C45.2902 28.6727 45.0073 35.8952 40.4514 40.451Z" fill="#FF5416"/>
106
+ <path d="M2.78647 2.78662L7.73622 7.73637" stroke="#03020D" stroke-width="1.37459" stroke-linecap="round" stroke-linejoin="round"/>
107
+ <path d="M23.2925 16.2217L28.2423 21.1714" stroke="#03020D" stroke-width="1.37459" stroke-linecap="round" stroke-linejoin="round"/>
108
+ <path d="M16.2215 23.2927L21.1712 28.2425" stroke="#03020D" stroke-width="1.37459" stroke-linecap="round" stroke-linejoin="round"/>
102
109
  </symbol><symbol fill="none" id="sprite-icon-display-it-support-access" viewBox="0 0 48 48"><title>sprite-icon-display-it-support-access</title>
103
110
  <path fill-rule="evenodd" clip-rule="evenodd" d="M46.5 40V12.75H1.5V40C1.5 40.2761 1.72386 40.5 2 40.5H46C46.2761 40.5 46.5 40.2761 46.5 40ZM46.5 8V11.25H1.5V8C1.5 7.72386 1.72386 7.5 2 7.5H46C46.2761 7.5 46.5 7.72386 46.5 8ZM48 8V40C48 41.1046 47.1046 42 46 42H2C0.895432 42 0 41.1046 0 40V8C0 6.89543 0.895431 6 2 6H46C47.1046 6 48 6.89543 48 8ZM4.25 9.25C4.25 9.80228 3.80228 10.25 3.25 10.25C2.69772 10.25 2.25 9.80228 2.25 9.25C2.25 8.69772 2.69772 8.25 3.25 8.25C3.80228 8.25 4.25 8.69772 4.25 9.25ZM6.25 10.25C6.80228 10.25 7.25 9.80228 7.25 9.25C7.25 8.69772 6.80228 8.25 6.25 8.25C5.69772 8.25 5.25 8.69772 5.25 9.25C5.25 9.80228 5.69772 10.25 6.25 10.25ZM10.25 9.25C10.25 9.80228 9.80228 10.25 9.25 10.25C8.69771 10.25 8.25 9.80228 8.25 9.25C8.25 8.69772 8.69771 8.25 9.25 8.25C9.80228 8.25 10.25 8.69772 10.25 9.25ZM24.75 29.7993C25.1984 29.54 25.5 29.0552 25.5 28.5C25.5 27.6716 24.8284 27 24 27C23.1716 27 22.5 27.6716 22.5 28.5C22.5 29.0552 22.8016 29.54 23.25 29.7993V33.5H24.75V29.7993ZM17 24.25C16.5858 24.25 16.25 24.5858 16.25 25V30.205L16.25 30.2421C16.2498 31.0676 16.2495 32.6758 17.0154 34.0849C17.4144 34.8189 18.0189 35.498 18.9172 35.9873C19.81 36.4735 20.9514 36.75 22.3949 36.75H25.6051C27.048 36.75 28.1892 36.4751 29.0819 35.9904C29.9804 35.5025 30.5854 34.8247 30.9846 34.0902C31.7506 32.681 31.7502 31.0674 31.75 30.2226L31.75 30.1839V25C31.75 24.5858 31.4142 24.25 31 24.25H29.75V21.1841C29.75 19.3825 29.1112 18.087 27.9744 17.2764C26.8851 16.4997 25.4495 16.25 24 16.25C22.5484 16.25 21.1133 16.5046 20.0247 17.2833C18.8896 18.0953 18.25 19.3896 18.25 21.1841V24.25H17ZM28.25 21.1841V24.25H19.75V21.1841C19.75 19.7819 20.2251 18.9842 20.8974 18.5033C21.6161 17.9891 22.6811 17.75 24 17.75C25.321 17.75 26.3855 17.9857 27.1035 18.4977C27.7741 18.9758 28.25 19.7723 28.25 21.1841ZM29 25.75H19H17.75V30.205C17.75 31.0561 17.7622 32.3179 18.3333 33.3686C18.6087 33.8753 19.0157 34.3328 19.6347 34.67C20.2593 35.0102 21.141 35.25 22.3949 35.25H25.6051C26.8596 35.25 27.7416 35.0113 28.3662 34.6721C28.985 34.3362 29.3916 33.88 29.6667 33.3739C30.2376 32.3236 30.25 31.0573 30.25 30.1839V25.75H29Z" fill="currentColor"/>
104
111
  </symbol><symbol fill="none" id="sprite-icon-display-it-support-helpdesk" viewBox="0 0 48 48"><title>sprite-icon-display-it-support-helpdesk</title>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "8.9.0",
3
+ "version": "9.0.0",
4
4
  "description": "Home of the Ably design system library ([design.ably.com](https://design.ably.com)). It provides a showcase, development/test environment and a publishing pipeline for different distributables.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,6 +34,7 @@
34
34
  "eslint-plugin-cypress": "^2.11.2",
35
35
  "eslint-plugin-react": "^7.21.5",
36
36
  "extra-watch-webpack-plugin": "^1.0.3",
37
+ "find-imports": "^1.1.0",
37
38
  "mini-css-extract-plugin": "^1.2.1",
38
39
  "null-loader": "^4.0.1",
39
40
  "postcss": "^8.1.10",
@@ -42,7 +43,6 @@
42
43
  "postcss-import": "^13.0.0",
43
44
  "postcss-loader": "^4.0.4",
44
45
  "prettier": "^2.3.0",
45
- "prop-types": "^15.7.2",
46
46
  "svg-spritemap-webpack-plugin": "^3.7.1",
47
47
  "tailwindcss": "^2.0.1",
48
48
  "tailwindcss-filters": "^3.0.0",
@@ -67,13 +67,13 @@
67
67
  "dependencies": {
68
68
  "addsearch-js-client": "^0.7.0",
69
69
  "array-flat-polyfill": "^1.0.1",
70
- "deepmerge": "^4.2.2",
71
70
  "dompurify": "^2.2.9",
72
71
  "highlight.js": "^10.7.2",
72
+ "highlightjs-curl": "^1.3.0",
73
73
  "js-cookie": "^2.2.1",
74
- "lodash.debounce": "^4.0.8",
75
74
  "lodash.throttle": "^4.1.1",
76
75
  "nanoid": "^4.0.0",
76
+ "prop-types": "^15.7.2",
77
77
  "react": "^17.0.1",
78
78
  "react-dom": "^17.0.1",
79
79
  "redux": "^4.0.5",
@@ -1,67 +1 @@
1
- @import "../fonts/source-code-pro.css";
2
-
3
- @layer components {
4
- .hljs {
5
- background: var(--syntax-black);
6
- color: var(--syntax-light-grey);
7
- }
8
-
9
- .hljs-emphasis {
10
- font-style: italic;
11
- }
12
-
13
- .hljs-strong {
14
- font-weight: bold;
15
- }
16
-
17
- .hljs-comment,
18
- .hljs-quote {
19
- color: var(--syntax-dark-grey);
20
- }
21
-
22
- .hljs-variable,
23
- .hljs-template-variable,
24
- .hljs-tag,
25
- .hljs-name,
26
- .hljs-selector-id,
27
- .hljs-selector-class,
28
- .hljs-regexp,
29
- .hljs-deletion {
30
- color: var(--syntax-red);
31
- }
32
-
33
- .hljs-number,
34
- .hljs-built_in,
35
- .hljs-literal,
36
- .hljs-type,
37
- .hljs-params,
38
- .hljs-meta,
39
- .hljs-link {
40
- color: var(--syntax-orange);
41
- }
42
-
43
- .hljs-attribute {
44
- color: var(--syntax-yellow);
45
- }
46
-
47
- .hljs-string,
48
- .hljs-symbol,
49
- .hljs-bullet,
50
- .hljs-addition {
51
- color: var(--syntax-green);
52
- }
53
-
54
- .hljs-title,
55
- .hljs-section {
56
- color: var(--syntax-blue);
57
- }
58
-
59
- .hljs-keyword,
60
- .hljs-selector-tag {
61
- color: var(--syntax-lilac);
62
- }
63
-
64
- .hljs-subst {
65
- color: var(--syntax-mid-grey);
66
- }
67
- }
1
+ @import "../utils/syntax-highlighter.css";
@@ -1,47 +1,17 @@
1
1
  import "./component.css";
2
- import hljs from "highlight.js/lib/core";
3
2
 
4
- import bash from "highlight.js/lib/languages/bash";
5
- import cpp from "highlight.js/lib/languages/cpp";
6
- import csharp from "highlight.js/lib/languages/csharp";
7
- import dart from "highlight.js/lib/languages/dart";
8
- import plaintext from "highlight.js/lib/languages/plaintext";
9
- import go from "highlight.js/lib/languages/go";
10
- import java from "highlight.js/lib/languages/java";
11
- import javascript from "highlight.js/lib/languages/javascript";
12
- import json from "highlight.js/lib/languages/json";
13
- import objectivec from "highlight.js/lib/languages/objectivec";
14
- import php from "highlight.js/lib/languages/php";
15
- import python from "highlight.js/lib/languages/python";
16
- import ruby from "highlight.js/lib/languages/ruby";
17
- import swift from "highlight.js/lib/languages/swift";
18
- import xml from "highlight.js/lib/languages/xml";
3
+ // Note: importing syntax-highlighter here means the component.js file will include
4
+ // all the language dependecies, creating a large a bundle. Prefer using the highlighter serverside.
5
+ import {
6
+ highlightSnippet,
7
+ registerDefaultLanguages,
8
+ } from "../utils/syntax-highlighter";
19
9
 
20
- // Supported languages need to be imported here
21
- // https://github.com/highlightjs/highlight.js/blob/master/SUPPORTED_LANGUAGES.md
22
- const register = [
23
- { label: "", key: "plaintext", module: plaintext },
24
- { label: "JS", key: "javascript", module: javascript },
25
- { label: "Java", key: "java", module: java },
26
- { label: "Ruby", key: "ruby", module: ruby },
27
- { label: "Python", key: "python", module: python },
28
- { label: "PHP", key: "php", module: php },
29
- { label: "Shell", key: "bash", module: bash },
30
- { label: "C#", key: "cs", module: csharp },
31
- { label: "Go", key: "go", module: go },
32
- { label: "HTML", key: "xml", module: xml },
33
- { label: "C++", key: "cpp", module: cpp },
34
- { label: "Dart", key: "dart", module: dart },
35
- { label: "Swift", key: "swift", module: swift },
36
- { label: "Objective C", key: "objectivec", module: objectivec },
37
- { label: "Node.js", key: "javascript", module: javascript },
38
- { label: "JSON", key: "json", module: json },
39
- ];
10
+ import languagesRegistry from "../utils/syntax-highlighter-registry";
40
11
 
41
- // Initialize a sub-set of languages as used
42
- register.forEach(({ key, module }) => hljs.registerLanguage(key, module));
12
+ registerDefaultLanguages(languagesRegistry);
43
13
 
44
- function convertCodeToHTML(el) {
14
+ function highlightEl(el) {
45
15
  if (!el) throw "Missing code element";
46
16
 
47
17
  const pre = el.querySelector("pre");
@@ -51,14 +21,9 @@ function convertCodeToHTML(el) {
51
21
  if (!code || !pre || !language) throw "Malformed code element";
52
22
 
53
23
  const { innerHTML } = code;
54
- const html = hljs.highlight(innerHTML, { language }).value;
24
+ const html = highlightSnippet(language, innerHTML);
55
25
 
56
26
  code.innerHTML = html;
57
27
  }
58
28
 
59
- function highlight(language, snippet) {
60
- return hljs.highlight(snippet, { language }).value;
61
- }
62
-
63
- export { highlight };
64
- export default convertCodeToHTML;
29
+ export default highlightEl;
@@ -1,12 +1,16 @@
1
1
  import React from "react";
2
2
  import T from "prop-types";
3
3
 
4
- import "./component.css";
5
- import { highlight } from "./component.js";
4
+ import "../utils/syntax-highlighter.css";
5
+ import { highlightSnippet, registerDefaultLanguages } from "../utils/syntax-highlighter";
6
+ import languagesRegistry from "../utils/syntax-highlighter-registry";
7
+
8
+ registerDefaultLanguages(languagesRegistry);
6
9
 
7
10
  const Code = ({ language, snippet, textSize = "ui-text-code", padding = "p-32", additionalCSS = "" }) => {
8
- const HTMLraw = highlight(language, `${snippet}`.trim());
11
+ const HTMLraw = highlightSnippet(language, `${snippet}`.trim());
9
12
  const className = `language-${language} ${textSize}`;
13
+
10
14
  return (
11
15
  <div className={`hljs overflow-auto ${padding} ${additionalCSS}`} data-id="code">
12
16
  <pre lang={language}>
File without changes
@@ -0,0 +1,114 @@
1
+ import React, { createContext, useContext, useState, useEffect, useRef } from "react";
2
+ import T from "prop-types";
3
+ import Icon from "../Icon/component.jsx";
4
+
5
+ const DropdownMenuContext = createContext();
6
+
7
+ const DropdownMenu = ({ children }) => {
8
+ const [isOpen, setOpen] = useState(false);
9
+ const ref = useRef(null);
10
+
11
+ useEffect(() => {
12
+ const clickHandler = (e) => {
13
+ if (ref?.current?.contains(e.target)) return;
14
+ setOpen(false);
15
+ };
16
+
17
+ document.addEventListener("click", clickHandler);
18
+
19
+ return () => {
20
+ document.removeEventListener("click", clickHandler);
21
+ };
22
+ }, []);
23
+
24
+ return (
25
+ <DropdownMenuContext.Provider value={{ isOpen, setOpen }}>
26
+ <div id="dropdown-menu" className="relative" ref={ref}>
27
+ {children}
28
+ </div>
29
+ </DropdownMenuContext.Provider>
30
+ );
31
+ };
32
+
33
+ DropdownMenu.propTypes = {
34
+ children: T.node,
35
+ };
36
+
37
+ const Trigger = ({ children, additionalTriggerCSS = "" }) => {
38
+ const { isOpen, setOpen } = useContext(DropdownMenuContext);
39
+
40
+ return (
41
+ <button
42
+ id="menu-trigger"
43
+ onClick={() => setOpen(!isOpen)}
44
+ className={`${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`}
45
+ >
46
+ <span className="leading-normal">{children}</span>
47
+ <Icon
48
+ name="icon-gui-disclosure-arrow"
49
+ color="text-cool-black"
50
+ size="1.25rem"
51
+ additionalCSS="transform rotate-90 group-hover:text-gui-hover group-active:text-gui-active group-focus:text-gui-focus"
52
+ />
53
+ </button>
54
+ );
55
+ };
56
+
57
+ <DropdownMenu.Trigger className="list of names">Click me</DropdownMenu.Trigger>;
58
+
59
+ Trigger.propTypes = {
60
+ children: T.node,
61
+ additionalTriggerCSS: T.string,
62
+ };
63
+
64
+ const Content = ({ children, anchorPosition = "right", additionalContentCSS }) => {
65
+ const { isOpen } = useContext(DropdownMenuContext);
66
+
67
+ if (!isOpen) {
68
+ return null;
69
+ }
70
+
71
+ const anchorPositionClasses = anchorPosition === "right" ? "right-0" : "left-0";
72
+
73
+ return (
74
+ <div
75
+ id="menu-content"
76
+ className={`${additionalContentCSS} absolute p-8 z-10 border border-mid-grey bg-white rounded shadow-container ${anchorPositionClasses}`}
77
+ style={{ minWidth: 275, top: 44 }}
78
+ >
79
+ {children}
80
+ </div>
81
+ );
82
+ };
83
+
84
+ Content.propTypes = {
85
+ children: T.node,
86
+ anchorPosition: T.string,
87
+ additionalContentCSS: T.string,
88
+ };
89
+
90
+ const Link = ({ url, title, subtitle, iconName, children }) => {
91
+ return (
92
+ <a href={url} className="menu-link group block p-8 hover:bg-light-grey hover:text-cool-black rounded">
93
+ <p className="mb-4">
94
+ {title}
95
+ {iconName ? <Icon name={iconName} size="1rem" color="text-cool-black" additionalCSS="align-middle ml-8 relative -top-1 -left-4" /> : null}
96
+ </p>
97
+ {subtitle ? <p className="text-p3 mb-16 text-dark-grey">{subtitle}</p> : null}
98
+ {children}
99
+ </a>
100
+ );
101
+ };
102
+
103
+ Link.propTypes = {
104
+ url: T.string,
105
+ title: T.string,
106
+ subtitle: T.string,
107
+ iconName: T.string,
108
+ children: T.node,
109
+ };
110
+
111
+ DropdownMenu.Trigger = Trigger;
112
+ DropdownMenu.Content = Content;
113
+ DropdownMenu.Link = Link;
114
+ export default DropdownMenu;
@@ -46,7 +46,7 @@
46
46
  </ul>
47
47
  </span>
48
48
  <span class="flex-0">
49
- <%= link_to 'Start with a free account', abs_url("/sign-up"), class: "ui-btn-secondary self-start mt-24" %>
49
+ <%= link_to 'Start building', abs_url("/sign-up"), class: "ui-btn-secondary self-start mt-24" %>
50
50
  </span>
51
51
  </div>
52
52
  </div>
@@ -56,6 +56,15 @@
56
56
  </div>
57
57
  <% end %>
58
58
  </li>
59
+ <li>
60
+ <%= link_to abs_url("/integrations"), class: "ui-meganav-media-with-image group" do %>
61
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-integrations-col", size: "2.5rem")) %>
62
+ <div class="flex flex-col justify-center">
63
+ <p class="ui-meganav-media-heading">Integrations</p>
64
+ <p class="ui-meganav-media-copy">Find out more about Ably integrations. </p>
65
+ </div>
66
+ <% end %>
67
+ </li>
59
68
  </ul>
60
69
  </div>
61
70
 
@@ -62,6 +62,15 @@ const MeganavContentDevelopers = ({ absUrl }) => (
62
62
  </div>
63
63
  </a>
64
64
  </li>
65
+ <li>
66
+ <a href={absUrl("/integrations")} className="ui-meganav-media-with-image group">
67
+ <Icon name="icon-display-integrations-col" size="2.5rem" />
68
+ <div className="flex flex-col justify-center">
69
+ <p className="ui-meganav-media-heading">Integrations</p>
70
+ <p className="ui-meganav-media-copy">Find out more about Ably integrations. </p>
71
+ </div>
72
+ </a>
73
+ </li>
65
74
  </ul>
66
75
  </div>
67
76
 
@@ -58,7 +58,7 @@
58
58
  </li>
59
59
  <li>
60
60
  <%= link_to abs_url("/solutions/fintech"), class: "ui-meganav-media group" do %>
61
- <p class="ui-meganav-media-heading">Fintech</p>
61
+ <p class="ui-meganav-media-heading">FinTech</p>
62
62
  <p class="ui-meganav-media-copy">Deliver personalised financial data in realtime.</p>
63
63
  <% end %>
64
64
  </li>