@ably/ui 13.1.0-dev.49a8f15 → 13.2.2-dev.78815ed

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 (96) hide show
  1. package/README.md +2 -0
  2. package/core/FeaturedLink/component.css +15 -0
  3. package/core/FeaturedLink.jsx +32 -3
  4. package/core/Meganav.jsx +32 -3
  5. package/core/MeganavBlogPostsList.jsx +32 -3
  6. package/core/MeganavContentCompany.jsx +32 -3
  7. package/core/MeganavContentProducts.jsx +32 -3
  8. package/core/MeganavItemsMobile.jsx +32 -3
  9. package/core/MeganavItemsSignedIn.jsx +32 -3
  10. package/core/MeganavSearch.jsx +32 -3
  11. package/core/MeganavSearchPanel.jsx +32 -3
  12. package/core/MeganavSearchSuggestions.jsx +32 -3
  13. package/core/Showcase/component.css +0 -2
  14. package/core/Showcase/component.js +1 -6
  15. package/core/Showcase.jsx +0 -3
  16. package/core/Uptime/component.css +0 -2
  17. package/core/Uptime/component.js +1 -6
  18. package/core/Uptime.jsx +53 -50
  19. package/core/scripts.js +1 -1
  20. package/core/styles.css +7 -0
  21. package/package.json +3 -1
  22. package/src/core/Code/component.html.erb +3 -0
  23. package/src/core/Code/component.rb +12 -0
  24. package/src/core/ContactFooter/component.html.erb +32 -0
  25. package/src/core/ContactFooter/component.rb +13 -0
  26. package/src/core/CustomerLogos/component.html.erb +9 -0
  27. package/src/core/CustomerLogos/component.rb +14 -0
  28. package/src/core/FeatureFooter/component.html.erb +54 -0
  29. package/src/core/FeatureFooter/component.rb +30 -0
  30. package/src/core/FeaturedLink/component.html.erb +15 -0
  31. package/src/core/FeaturedLink/component.jsx +68 -31
  32. package/src/core/FeaturedLink/component.rb +21 -0
  33. package/src/core/Footer/component.html.erb +256 -0
  34. package/src/core/Footer/component.rb +14 -0
  35. package/src/core/Icon/component.html.erb +3 -0
  36. package/src/core/Icon/component.rb +25 -0
  37. package/src/core/Loader/component.html.erb +18 -0
  38. package/src/core/Loader/component.rb +19 -0
  39. package/src/core/Logo/component.html.erb +3 -0
  40. package/src/core/Logo/component.rb +31 -0
  41. package/src/core/Meganav/component.html.erb +31 -0
  42. package/src/core/Meganav/component.rb +60 -0
  43. package/src/core/MeganavBlogPostsList/component.html.erb +5 -0
  44. package/src/core/MeganavBlogPostsList/component.rb +13 -0
  45. package/src/core/MeganavContentCompany/component.html.erb +90 -0
  46. package/src/core/MeganavContentCompany/component.rb +14 -0
  47. package/src/core/MeganavContentDevelopers/component.html.erb +129 -0
  48. package/src/core/MeganavContentDevelopers/component.rb +13 -0
  49. package/src/core/MeganavContentProducts/component.html.erb +83 -0
  50. package/src/core/MeganavContentProducts/component.rb +14 -0
  51. package/src/core/MeganavContentUseCases/component.html.erb +135 -0
  52. package/src/core/MeganavContentUseCases/component.rb +13 -0
  53. package/src/core/MeganavControl/component.html.erb +6 -0
  54. package/src/core/MeganavControl/component.rb +20 -0
  55. package/src/core/MeganavControlMobileDropdown/component.html.erb +7 -0
  56. package/src/core/MeganavControlMobileDropdown/component.rb +11 -0
  57. package/src/core/MeganavControlMobilePanelClose/component.html.erb +12 -0
  58. package/src/core/MeganavControlMobilePanelClose/component.rb +12 -0
  59. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +7 -0
  60. package/src/core/MeganavControlMobilePanelOpen/component.rb +9 -0
  61. package/src/core/MeganavItemsDesktop/component.html.erb +17 -0
  62. package/src/core/MeganavItemsDesktop/component.rb +23 -0
  63. package/src/core/MeganavItemsMobile/component.html.erb +75 -0
  64. package/src/core/MeganavItemsMobile/component.rb +21 -0
  65. package/src/core/MeganavItemsSignedIn/component.html.erb +53 -0
  66. package/src/core/MeganavItemsSignedIn/component.rb +33 -0
  67. package/src/core/MeganavSearch/component.html.erb +15 -0
  68. package/src/core/MeganavSearch/component.rb +13 -0
  69. package/src/core/MeganavSearchAutocomplete/component.html.erb +6 -0
  70. package/src/core/MeganavSearchAutocomplete/component.rb +6 -0
  71. package/src/core/MeganavSearchPanel/component.html.erb +22 -0
  72. package/src/core/MeganavSearchPanel/component.rb +13 -0
  73. package/src/core/MeganavSearchSuggestions/component.html.erb +22 -0
  74. package/src/core/MeganavSearchSuggestions/component.rb +18 -0
  75. package/src/core/Notice/component.html.erb +16 -0
  76. package/src/core/Notice/component.rb +29 -0
  77. package/src/core/Showcase/component.css +30 -0
  78. package/src/core/Showcase/component.html.erb +76 -0
  79. package/src/core/Showcase/component.js +180 -0
  80. package/src/core/Showcase/component.jsx +0 -0
  81. package/src/core/Showcase/component.rb +190 -0
  82. package/src/core/SignOutLink/component.html.erb +1 -0
  83. package/src/core/SignOutLink/component.rb +17 -0
  84. package/src/core/Slider/component.html.erb +28 -0
  85. package/src/core/Slider/component.rb +38 -0
  86. package/src/core/Uptime/component.css +127 -0
  87. package/src/core/Uptime/component.html.erb +0 -0
  88. package/src/core/Uptime/component.js +1 -0
  89. package/src/core/Uptime/component.jsx +183 -0
  90. package/src/core/Uptime/component.rb +7 -0
  91. package/src/core/core.rb +81 -0
  92. package/src/core/react-renderer.js +4 -7
  93. package/src/core/styles/properties.css +7 -0
  94. package/tailwind.config.js +1 -0
  95. package/core/.DS_Store +0 -0
  96. package/src/core/.DS_Store +0 -0
@@ -23,9 +23,29 @@ return /******/ (() => { // webpackBootstrap
23
23
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
24
24
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
25
  /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
26
+ 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); }
27
+
28
+
29
+
30
+ // When generating links with target=_blank, we only add `noreferrer` to
31
+ // links that don't start with `/`, so we can continue tracking referrers
32
+ // across our own domains
26
33
 
34
+ var buildTargetAndRel = function buildTargetAndRel(url, newWindow) {
35
+ var props = {};
27
36
 
37
+ if (newWindow) {
38
+ props.target = "_blank";
28
39
 
40
+ if (url.startsWith("/") && !url.startsWith("//")) {
41
+ props.rel = "noopener";
42
+ } else {
43
+ props.rel = "noopenner noreferrer";
44
+ }
45
+ }
46
+
47
+ return props;
48
+ };
29
49
 
30
50
  var FeaturedLink = function FeaturedLink(_ref) {
31
51
  var url = _ref.url,
@@ -39,14 +59,21 @@ var FeaturedLink = function FeaturedLink(_ref) {
39
59
  reverse = _ref$reverse === void 0 ? false : _ref$reverse,
40
60
  _ref$additionalCSS = _ref.additionalCSS,
41
61
  additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
62
+ _ref$newWindow = _ref.newWindow,
63
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
64
+ _ref$onClick = _ref.onClick,
65
+ onClick = _ref$onClick === void 0 ? undefined : _ref$onClick,
42
66
  children = _ref.children;
43
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
67
+ var targetAndRel = buildTargetAndRel(url, newWindow);
68
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", _extends({
44
69
  href: url,
45
70
  className: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-".concat(textSize, " ").concat(flush ? "" : "py-8", " ").concat(additionalCSS),
46
71
  style: {
47
72
  "--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
48
73
  }
49
- }, reverse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
74
+ }, targetAndRel, {
75
+ onClick: onClick
76
+ }), reverse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
50
77
  name: "icon-gui-link-arrow",
51
78
  size: "calc(var(--featured-link-icon-size) * 1.25)",
52
79
  color: iconColor,
@@ -66,7 +93,9 @@ FeaturedLink.propTypes = {
66
93
  iconColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
67
94
  flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
68
95
  reverse: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
69
- additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
96
+ additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
97
+ newWindow: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
98
+ onClick: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
70
99
  };
71
100
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeaturedLink);
72
101
 
@@ -29,5 +29,3 @@
29
29
  }
30
30
  }
31
31
 
32
-
33
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9TaG93Y2FzZS9jb21wb25lbnQuY3NzIiwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7SUFDRSx3QkFBd0IsRUFBRSwwQkFBMEI7SUFDcEQscUJBQXFCLEVBQUUsWUFBWTs7SUFFbkMsc0JBQXNCO0VBQ3hCOztFQUVBO0lBQ0UsYUFBYSxFQUFFLHNCQUFzQjtFQUN2Qzs7RUFFQTtJQUNFLG9CQUFvQjtFQUN0Qjs7RUFFQTtJQUNFLG1EQUFtRDtJQUNuRCwwREFBMEQ7RUFDNUQ7O0VBRUE7SUFDRSxtREFBbUQ7SUFDbkQsYUFBYTtFQUNmOztFQUVBO0lBQ0Usa0JBQWtCO0VBQ3BCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL1Nob3djYXNlL2NvbXBvbmVudC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGxheWVyIGNvbXBvbmVudHMge1xuICAudWktc2hvd2Nhc2Utb3ZlcmZsb3ctY29udGFpbmVyIHtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEludGVybmV0IEV4cGxvcmVyIDEwKyAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuXG4gICAgQGFwcGx5IG92ZXJmbG93LXgtYXV0bztcbiAgfVxuXG4gIC51aS1zaG93Y2FzZS1vdmVyZmxvdy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBAYXBwbHkgaGlkZGVuOyAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICB9XG5cbiAgLnVpLXNob3djYXNlLWxvZ28td3JhcHBlciB7XG4gICAgQGFwcGx5IGZsZXggYmctd2hpdGU7XG4gIH1cblxuICAudWktc2hvd2Nhc2UtbG9nbyB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS11aS1zaG93Y2FzZS1jbGllbnQtbG9nby1taW4td2lkdGgpO1xuICAgIEBhcHBseSB3LWZ1bGwgcHktMTYgcHgtMTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXI7XG4gIH1cblxuICAudWktc2hvd2Nhc2UtbG9nby1pbWcge1xuICAgIG1heC13aWR0aDogdmFyKC0tdWktc2hvd2Nhc2UtY2xpZW50LWxvZ28tbWF4LXdpZHRoKTtcbiAgICBAYXBwbHkgdy1mdWxsO1xuICB9XG5cbiAgLnVpLXNob3djYXNlLWluZGV4LWJhciB7XG4gICAgQGFwcGx5IGJnLW1pZC1ncmV5O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/
@@ -1,6 +1 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/
4
- /******/
5
- /******/ })()
6
- ;
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Showcase=t())}(this,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{default:()=>c});var n=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("[data-id=".concat(e,"]"))};function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=function(e,t){var n=100*t*(arguments.length>2&&void 0!==arguments[2]?arguments[2]:1);e.style.transform="translateX(".concat(n,"%)")},i=function(e){if("undefined"==typeof window)return!1;var t="".concat(e+64,"px");return!window.matchMedia("(min-width: ".concat(t,")")).matches};const c=function(e,t){var c=e||n("showcase"),u=Array.from(function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(e,"]"))}("showcase-control",c)),a=u.map((function(e){return e.querySelector("img")})),l=n("showcase-controls",c),f=n("showcase-index-bar",c),s=n("showcase-slides",c),d=s.children.length,m=("--ui-showcase-client-logo-min-width",window.getComputedStyle(document.documentElement).getPropertyValue("--ui-showcase-client-logo-min-width")),v=parseFloat(m)*parseFloat(getComputedStyle(document.documentElement).fontSize)*d;[".ui-showcase-logo-wrapper",".ui-showcase-index-bar"].forEach((function(e){var t=c.querySelector(e),n="".concat(v,"px");t.style.minWidth=n}));var p,y,h,w=0,b=!1,g=function(e){o(s,e,-1),o(f,e,1),function(e,t){var n=["grayscale","grayscale-0"],o=[].concat(n).reverse();e.forEach((function(e,i){var c,u;(c=e.classList).replace.apply(c,function(e){if(Array.isArray(e))return r(e)}(u=i===t?n:o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}))}(a,e),i(v)&&function(e,t){var n=e.parentNode,r=e.children,o=n.clientWidth/2,i=r.length,c=Array.from(r).map((function(e){return e.clientWidth})).reduce((function(e,t){return e+t}))/i,u=t*c-((t&&i-t-1?o-c/2:0)>>0);n.scrollTo({left:u,behavior:"smooth"})}(l,e)},A=function e(){return p=setTimeout((function(){b||i(v)||(w=(w+1)%u.length,g(w),e())}),5e3)},E=function(){var e=function(){b=!0,clearTimeout(p)};return c.addEventListener("mouseover",e),function(){return c.removeEventListener("mouseover",e)}},S=function(){var e=function(){b=!1,A()};return c.addEventListener("mouseleave",e),function(){return c.removeEventListener("mouseleave",e)}},L=function(){var e=function(){clearTimeout(p),A()};return document.addEventListener("resize",e),function(){return document.removeEventListener("resize",e)}},j=(y=u.map((function(e,t){var n=function(e){return function(){g(w=e)}}(t);return e.addEventListener("click",n),n})),function(){y.forEach((function(e,t){return u[t].removeEventListener("click",e)}))}),x=(h=function(e){return e.preventDefault()},l.parentNode.addEventListener("wheel",h),function(){return l.parentNode.removeEventListener("wheel",h)}),U=function(){if(t){A(),c.setAttribute("aria-live","polite");var e=[E(),S(),L()];return function(){return e.forEach((function(e){return e()}))}}return function(){}}();return function(){g(0),clearTimeout(p),j(),U(),x()}};return t.default})()));
package/core/Showcase.jsx CHANGED
@@ -10,9 +10,6 @@
10
10
  })(this, () => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  var __webpack_exports__ = {};
13
- /*!*****************************************!*\
14
- !*** ./src/core/Showcase/component.jsx ***!
15
- \*****************************************/
16
13
 
17
14
  /******/ return __webpack_exports__;
18
15
  /******/ })()
@@ -126,5 +126,3 @@
126
126
  }
127
127
  }
128
128
 
129
-
130
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9VcHRpbWUvY29tcG9uZW50LmNzcyIsIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0lBQ0UsbUNBQW1DO0lBQ25DLDZDQUE2QztJQUM3Qyx1Q0FBdUM7SUFDdkMsOEJBQThCO0lBQzlCLHdCQUF3Qjs7SUFFeEIsNEJBQTRCO0VBQzlCOztFQUVBO0lBQ0UsNkRBQTZEO0VBQy9EOztFQUVBO0lBQ0UsMERBQTBEO0VBQzVEOztFQUVBO0lBQ0UsMkRBQTJEO0lBQzNELGlEQUFpRDtJQUNqRCxxQ0FBcUM7SUFDckMsaURBQWlEO0lBQ2pELHdCQUF3Qjs7SUFFeEIsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSwwQkFBMEI7RUFDNUI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsT0FBTztFQUNUOztFQUVBO0lBQ0UsUUFBUTtFQUNWOztFQUVBO0lBQ0Usd0JBQXdCO0lBQ3hCLFdBQVc7RUFDYjs7RUFFQTtJQUNFLHdCQUF3QjtJQUN4QixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxnQ0FBZ0M7SUFDaEMsd0NBQXdDO0VBQzFDOztFQUVBO0lBQ0UsV0FBVztJQUNYLFNBQVM7SUFDVCwwREFBMEQ7RUFDNUQ7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxpQ0FBaUM7RUFDbkM7O0VBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0VBRUE7SUFDRSxnREFBZ0Q7RUFDbEQ7O0VBRUE7SUFDRSx1Q0FBdUM7SUFDdkMsOEJBQThCO0lBQzlCLHVFQUF1RTtFQUN6RTs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLFlBQVk7SUFDWixnQ0FBZ0M7SUFDaEMsaUNBQWlDO0lBQ2pDLHNFQUFzRTtFQUN4RTs7RUFFQTtJQUNFLDRCQUE0QjtFQUM5Qjs7RUFFQTtJQUNFLGlDQUFpQztFQUNuQzs7RUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7RUFFQTtJQUNFLHNEQUFzRDtJQUN0RCxrQ0FBa0M7RUFDcEM7O0VBRUE7SUFDRSw4QkFBOEI7SUFDOUIsY0FBYztFQUNoQjs7RUFFQTtJQUNFLHdEQUF3RDtFQUMxRDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvLi9zcmMvY29yZS9VcHRpbWUvY29tcG9uZW50LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgY29tcG9uZW50cyB7XG4gIC51aS11cHRpbWUtd2lkZ2V0IHtcbiAgICAtLXN0YXR1cy11cDogdmFyKC0tdXB0aW1lLWNvbG9yLXVwKTtcbiAgICAtLXN0YXR1cy10cm91YmxlOiB2YXIoLS11cHRpbWUtY29sb3ItdHJvdWJsZSk7XG4gICAgLS1zdGF0dXMtZG93bjogdmFyKC0tdXB0aW1lLWNvbG9yLWRvd24pO1xuICAgIC0tdWktdXB0aW1lLWtleS1zaXplOiAxLjYyNXJlbTtcbiAgICAtLXRvb2x0aXAtb2Zmc2V0OiAzLjVyZW07XG5cbiAgICBAYXBwbHkgZm9udC1zYW5zIGFudGlhbGlhc2VkO1xuICB9XG5cbiAgLnVpLXVwdGltZS1saXN0IHtcbiAgICBAYXBwbHkgZmxleCBmbGV4LXdyYXAgZmxleC1yb3cgbGlzdC1ub25lIHAtMCBtLTAgaXRlbXMtY2VudGVyO1xuICB9XG5cbiAgLnVpLXVwdGltZS1kYXkge1xuICAgIEBhcHBseSBoLTQwIHJlbGF0aXZlIGZsZXgtYXV0byBwLTAgbXktMCBteC0xIGJnLWNvb2wtYmxhY2s7XG4gIH1cblxuICAudWktdXB0aW1lLWRheSBzcGFuIHtcbiAgICBAYXBwbHkgYWJzb2x1dGUgdGV4dC1wMyBib3JkZXIgcm91bmRlZC1sZyBib3JkZXItbGlnaHQtZ3JleTtcbiAgICBAYXBwbHkgcHktMTIgcHgtMTYgc2hhZG93LXRvb2x0aXAgdGV4dC1jb29sLWJsYWNrO1xuICAgIEBhcHBseSBiZy13aGl0ZSB0ZXh0LWxlZnQgei0xMCBoaWRkZW47XG4gICAgQGFwcGx5IG92ZXJmbG93LXktaGlkZGVuIG5vdC1pdGFsaWMgbGVhZGluZy10aWdodDtcbiAgICBAYXBwbHkgd2hpdGVzcGFjZS1ub3dyYXA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWF4LWhlaWdodDogMTJyZW07XG4gICAgYm90dG9tOiAxMzAlO1xuICB9XG5cbiAgLnVpLXVwdGltZS1kYXk6aG92ZXIge1xuICAgIEBhcHBseSB6LTEwIGJyaWdodG5lc3MtMTI1O1xuICB9XG5cbiAgLnVpLXVwdGltZS1kYXk6aG92ZXIgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAudWktdXB0aW1lLWRheS51aS11cHRpbWUtYWxpZ24tbGVmdCBzcGFuIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnVpLXVwdGltZS1kYXkudWktdXB0aW1lLWFsaWduLXJpZ2h0IHNwYW4ge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLnVpLXVwdGltZS1kYXkgLnVpLXVwdGltZS13aWR0aC13aWRlIHtcbiAgICBAYXBwbHkgd2hpdGVzcGFjZS1ub3JtYWw7XG4gICAgd2lkdGg6IDhyZW07XG4gIH1cblxuICAudWktdXB0aW1lLWRheSAudWktdXB0aW1lLXdpZHRoLWV4dHJhLXdpZGUge1xuICAgIEBhcHBseSB3aGl0ZXNwYWNlLW5vcm1hbDtcbiAgICB3aWR0aDogMTJyZW07XG4gIH1cblxuICAudWktdXB0aW1lLXNlcGVyYXRvciB7XG4gICAgQGFwcGx5IG15LTEyIGgtMSB3LWZ1bGwgcmVsYXRpdmU7XG4gICAgQGFwcGx5IHNtOnctMzIgc206aC04MCBzbTptLTAgc206Ymctbm9uZTtcbiAgfVxuXG4gIC51aS11cHRpbWUtc2VwZXJhdG9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBsZWZ0OiA0OCU7XG4gICAgQGFwcGx5IHNtOmFic29sdXRlIHNtOmgtZnVsbCBzbTp3LTEgc206YmctZGFyay1ncmV5IHNtOnotMDtcbiAgfVxuXG4gIC51aS11cHRpbWUtdXAge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy11cCk7XG4gIH1cblxuICAudWktdXB0aW1lLXRyb3VibGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy10cm91YmxlKTtcbiAgfVxuXG4gIC51aS11cHRpbWUtZG93biB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3RhdHVzLWRvd24pO1xuICB9XG5cbiAgLnVpLXVwdGltZS1sZWdlbmQge1xuICAgIEBhcHBseSBmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IHNtOml0ZW1zLWNlbnRlcjtcbiAgfVxuXG4gIC51aS11cHRpbWUta2V5IHtcbiAgICBAYXBwbHkgYmxvY2sgbXQtMTYgbXItMjAgYmctdHJhbnNwYXJlbnQ7XG4gICAgQGFwcGx5IHNtOmlubGluZS1ibG9jayBzbTptdC0wO1xuICAgIEBhcHBseSBmb250LW1lZGl1bSB0ZXh0LXAyIHRleHQtd2hpdGUgYmxvY2sgc206aW5saW5lLWZsZXggaXRlbXMtY2VudGVyO1xuICB9XG5cbiAgLnVpLXVwdGltZS1rZXk6Zmlyc3QtY2hpbGQge1xuICAgIEBhcHBseSBtdC0wO1xuICB9XG5cbiAgLnVpLXVwdGltZS1rZXk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IHZhcigtLXVpLXVwdGltZS1rZXktc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS11aS11cHRpbWUta2V5LXNpemUpO1xuICAgIEBhcHBseSBpbmxpbmUtYmxvY2sgbXItMTYgYmctY29vbC1ibGFjayBhbGlnbi10ZXh0LWJvdHRvbSByb3VuZGVkLWZ1bGw7XG4gIH1cblxuICAudWktdXB0aW1lLWtleS51aS11cHRpbWUtdXA6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdGF0dXMtdXApO1xuICB9XG5cbiAgLnVpLXVwdGltZS1rZXkudWktdXB0aW1lLXRyb3VibGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdGF0dXMtdHJvdWJsZSk7XG4gIH1cblxuICAudWktdXB0aW1lLWtleS51aS11cHRpbWUtZG93bjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN0YXR1cy1kb3duKTtcbiAgfVxuXG4gIC51aS11cHRpbWUtZm9vdGVyIHtcbiAgICBAYXBwbHkgbXQtNDAgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtc3RhcnQgZmxleC1jb2w7XG4gICAgQGFwcGx5IHNtOmZsZXgtcm93IHNtOml0ZW1zLWNlbnRlcjtcbiAgfVxuXG4gIC51aS11cHRpbWUtbGluay1iYWNrIHtcbiAgICBAYXBwbHkgbXQtNDAgd2hpdGVzcGFjZS1ub3dyYXA7XG4gICAgQGFwcGx5IHNtOm10LTA7XG4gIH1cblxuICAudWktdXB0aW1lLWxpbmstYmFjayBhIHtcbiAgICBAYXBwbHkgdGV4dC1wMSB0ZXh0LWd1aS1kZWZhdWx0IGZvbnQtbWVkaXVtIG5vLXVuZGVybGluZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/
@@ -1,6 +1 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/
4
- /******/
5
- /******/ })()
6
- ;
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Uptime=t())}(this,(()=>(()=>{"use strict";var e={};return e.default})()));
package/core/Uptime.jsx CHANGED
@@ -7,29 +7,45 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE__5225__, __WEBPACK_EXTERNAL_MODULE__6073__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ "./src/core/FeaturedLink/component.jsx":
15
- /*!*********************************************!*\
16
- !*** ./src/core/FeaturedLink/component.jsx ***!
17
- \*********************************************/
14
+ /***/ 5751:
18
15
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
19
16
 
20
17
  "use strict";
21
- __webpack_require__.r(__webpack_exports__);
22
18
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
19
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
24
20
  /* harmony export */ });
25
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
21
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
26
22
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
27
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
23
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
28
24
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
29
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
25
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
26
+ 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); }
27
+
30
28
 
31
29
 
30
+ // When generating links with target=_blank, we only add `noreferrer` to
31
+ // links that don't start with `/`, so we can continue tracking referrers
32
+ // across our own domains
32
33
 
34
+ var buildTargetAndRel = function buildTargetAndRel(url, newWindow) {
35
+ var props = {};
36
+
37
+ if (newWindow) {
38
+ props.target = "_blank";
39
+
40
+ if (url.startsWith("/") && !url.startsWith("//")) {
41
+ props.rel = "noopener";
42
+ } else {
43
+ props.rel = "noopenner noreferrer";
44
+ }
45
+ }
46
+
47
+ return props;
48
+ };
33
49
 
34
50
  var FeaturedLink = function FeaturedLink(_ref) {
35
51
  var url = _ref.url,
@@ -43,14 +59,21 @@ var FeaturedLink = function FeaturedLink(_ref) {
43
59
  reverse = _ref$reverse === void 0 ? false : _ref$reverse,
44
60
  _ref$additionalCSS = _ref.additionalCSS,
45
61
  additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
62
+ _ref$newWindow = _ref.newWindow,
63
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
64
+ _ref$onClick = _ref.onClick,
65
+ onClick = _ref$onClick === void 0 ? undefined : _ref$onClick,
46
66
  children = _ref.children;
47
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
67
+ var targetAndRel = buildTargetAndRel(url, newWindow);
68
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", _extends({
48
69
  href: url,
49
70
  className: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-".concat(textSize, " ").concat(flush ? "" : "py-8", " ").concat(additionalCSS),
50
71
  style: {
51
72
  "--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
52
73
  }
53
- }, reverse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
74
+ }, targetAndRel, {
75
+ onClick: onClick
76
+ }), reverse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
54
77
  name: "icon-gui-link-arrow",
55
78
  size: "calc(var(--featured-link-icon-size) * 1.25)",
56
79
  color: iconColor,
@@ -70,26 +93,24 @@ FeaturedLink.propTypes = {
70
93
  iconColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
71
94
  flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
72
95
  reverse: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
73
- additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
96
+ additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
97
+ newWindow: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
98
+ onClick: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
74
99
  };
75
100
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeaturedLink);
76
101
 
77
102
  /***/ }),
78
103
 
79
- /***/ "./src/core/Icon/component.jsx":
80
- /*!*************************************!*\
81
- !*** ./src/core/Icon/component.jsx ***!
82
- \*************************************/
104
+ /***/ 9008:
83
105
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
84
106
 
85
107
  "use strict";
86
- __webpack_require__.r(__webpack_exports__);
87
108
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
88
109
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
89
110
  /* harmony export */ });
90
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
111
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
91
112
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
92
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
113
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
93
114
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
94
115
  var _excluded = ["name", "size", "color", "additionalCSS"];
95
116
 
@@ -133,35 +154,26 @@ Icon.propTypes = {
133
154
 
134
155
  /***/ }),
135
156
 
136
- /***/ "prop-types":
137
- /*!*******************************************************************!*\
138
- !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
139
- \*******************************************************************/
157
+ /***/ 6073:
140
158
  /***/ ((module) => {
141
159
 
142
160
  "use strict";
143
- module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
161
+ module.exports = __WEBPACK_EXTERNAL_MODULE__6073__;
144
162
 
145
163
  /***/ }),
146
164
 
147
- /***/ "react":
148
- /*!*********************************************************!*\
149
- !*** external {"commonjs":"react","commonjs2":"react"} ***!
150
- \*********************************************************/
165
+ /***/ 5225:
151
166
  /***/ ((module) => {
152
167
 
153
168
  "use strict";
154
- module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
169
+ module.exports = __WEBPACK_EXTERNAL_MODULE__5225__;
155
170
 
156
171
  /***/ }),
157
172
 
158
- /***/ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
159
- /*!*******************************************************************!*\
160
- !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
161
- \*******************************************************************/
173
+ /***/ 7061:
162
174
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
163
175
 
164
- var _typeof = (__webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"]);
176
+ var _typeof = (__webpack_require__(8698)["default"]);
165
177
  function _regeneratorRuntime() {
166
178
  "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
167
179
  module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
@@ -468,10 +480,7 @@ module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.e
468
480
 
469
481
  /***/ }),
470
482
 
471
- /***/ "./node_modules/@babel/runtime/helpers/typeof.js":
472
- /*!*******************************************************!*\
473
- !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
474
- \*******************************************************/
483
+ /***/ 8698:
475
484
  /***/ ((module) => {
476
485
 
477
486
  function _typeof(o) {
@@ -487,15 +496,12 @@ module.exports = _typeof, module.exports.__esModule = true, module.exports["defa
487
496
 
488
497
  /***/ }),
489
498
 
490
- /***/ "./node_modules/@babel/runtime/regenerator/index.js":
491
- /*!**********************************************************!*\
492
- !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
493
- \**********************************************************/
499
+ /***/ 4687:
494
500
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
495
501
 
496
502
  // TODO(Babel 8): Remove this file.
497
503
 
498
- var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "./node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
504
+ var runtime = __webpack_require__(7061)();
499
505
  module.exports = runtime;
500
506
 
501
507
  // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
@@ -584,22 +590,19 @@ var __webpack_exports__ = {};
584
590
  // This entry need to be wrapped in an IIFE because it need to be in strict mode.
585
591
  (() => {
586
592
  "use strict";
587
- /*!***************************************!*\
588
- !*** ./src/core/Uptime/component.jsx ***!
589
- \***************************************/
590
593
  __webpack_require__.r(__webpack_exports__);
591
594
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
592
595
  /* harmony export */ "ThemeContext": () => (/* binding */ ThemeContext),
593
596
  /* harmony export */ "default": () => (/* binding */ Uptime),
594
597
  /* harmony export */ "themes": () => (/* binding */ themes)
595
598
  /* harmony export */ });
596
- /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
599
+ /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4687);
597
600
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
598
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
601
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5225);
599
602
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
600
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types");
603
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6073);
601
604
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
602
- /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../FeaturedLink/component.jsx */ "./src/core/FeaturedLink/component.jsx");
605
+ /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5751);
603
606
  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; }
604
607
 
605
608
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
package/core/scripts.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see scripts.js.LICENSE.txt */
2
- !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,((t,e,r,n)=>(()=>{var o={745:(t,e,r)=>{"use strict";var n=r(779);e.s=n.createRoot,n.hydrateRoot},670:e=>{"use strict";e.exports=t},225:t=>{"use strict";t.exports=e},779:t=>{"use strict";t.exports=r},293:t=>{"use strict";t.exports=n},61:(t,e,r)=>{var n=r(698).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},i=Object.prototype,a=i.hasOwnProperty,c=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},s=u.iterator||"@@iterator",l=u.asyncIterator||"@@asyncIterator",f=u.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,r){return t[e]=r}}function d(t,e,r,n){var o=e&&e.prototype instanceof w?e:w,i=Object.create(o.prototype),a=new q(n||[]);return c(i,"_invoke",{value:k(t,r,a)}),i}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var y="suspendedStart",v="suspendedYield",g="executing",b="completed",m={};function w(){}function x(){}function O(){}var j={};p(j,s,(function(){return this}));var S=Object.getPrototypeOf,P=S&&S(S(R([])));P&&P!==i&&a.call(P,s)&&(j=P);var E=O.prototype=w.prototype=Object.create(j);function L(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){function r(o,i,c,u){var s=h(t[o],t,i);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==n(f)&&a.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,c,u)}),(function(t){r("throw",t,c,u)})):e.resolve(f).then((function(t){l.value=t,c(l)}),(function(t){return r("throw",t,c,u)}))}u(s.arg)}var o;c(this,"_invoke",{value: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 k(t,r,n){var o=y;return function(i,a){if(o===g)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=A(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=g;var s=h(t,r,n);if("normal"===s.type){if(o=n.done?b:v,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=b,n.method="throw",n.arg=s.arg)}}}function A(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,A(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=h(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function D(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 T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function q(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(D,this),this.reset(!0)}function R(t){if(t||""===t){var r=t[s];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(a.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(n(t)+" is not iterable")}return x.prototype=O,c(E,"constructor",{value:O,configurable:!0}),c(O,"constructor",{value:x,configurable:!0}),x.displayName=p(O,f,"GeneratorFunction"),r.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,O):(t.__proto__=O,p(t,f,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},L(_.prototype),p(_.prototype,l,(function(){return this})),r.AsyncIterator=_,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new _(d(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(E),p(E,f,"Generator"),p(E,s,(function(){return this})),p(E,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=R,q.prototype={constructor:q,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(T),!t)for(var r in this)"t"===r.charAt(0)&&a.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 n(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(i)},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),m},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),T(r),m}},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;T(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:R(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},698:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},687:(t,e,r)=>{var n=r(61)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(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:()=>g,createRemoteDataStore:()=>b,fetchBlogPosts:()=>E,fetchSessionData:()=>U,getRemoteDataStore:()=>v,loadSprites:()=>i,queryId:()=>u,queryIdAll:()=>s,reactRenderer:()=>o,reducerBlogPosts:()=>k,reducerSessionData:()=>M,renderComponent:()=>n,selectRecentBlogPosts:()=>A,selectSessionData:()=>C,toggleChatWidget:()=>d}),a(670);var t=a(225),e=a.n(t),r=a(745),n=function(t,n,o){(0,r.s)(o).render(e().createElement(t,n))};function o(t){var n=document.querySelectorAll("[data-react]");Array.from(n).forEach((function(n){var o=n.getAttribute("data-react"),i=t[o];if(i){var a=n.getAttribute("data-react-props"),c=a&&JSON.parse(a||{});(0,r.s)(n).render(e().createElement(i,c)),n.removeAttribute("data-react"),n.removeAttribute("data-react-props")}}))}const i=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 u=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("[data-id=".concat(t,"]"))},s=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(t,"]"))};function l(t,e){t.disabled=!0,t.innerText=e}var f=100,p=30;function d(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).dataId,e=u(t),r=u("open-chat-widget",e),n=r.dataset.enabledLabel,o=r.dataset.disabledLabel;if(t&&e){var i,a=u("open-chat-widget",e);return l(a,o),function t(e){var r,o,c,u,s=null===(r=window)||void 0===r||null===(o=r.HubSpotConversations)||void 0===o?void 0:o.widget,l=document.querySelector("#hubspot-messages-iframe-container");i=function(t){t.preventDefault(),s.open()},s&&l?(a.addEventListener("click",i),u=n,(c=a).disabled=!1,c.innerText=u):--p&&setTimeout((function(){return t(f)}),e)}(0),function(){l(a,o),a.removeEventListener("click",i)}}}var h=a(293),y=function(t){window.AblyUi=window.AblyUi||{},window.AblyUi.RemoteDataStore=t},v=function(){if(!window.AblyUi.RemoteDataStore)throw new Error("Remote store was called before one was created");return window.AblyUi.RemoteDataStore},g=function(t,e){var r=v(),n=t(r);r.subscribe((function(){var o=t(r);o!==n&&(n=o,e(o))}))},b=function(t){return(0,h.createStore)((0,h.combineReducers)(t))},m=a(687),w=a.n(m),x=function(t){return t&&t.includes("application/json")};function O(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 j(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?O(Object(r),!0).forEach((function(e){S(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function S(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function P(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 E=function(){var t,e=(t=w().mark((function t(e,r){var n,o;return w().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,!x(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){P(i,n,o,a,c,"next",t)}function c(t){P(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),L={recent:null},_="blogPosts",k=S({},_,(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L,e=arguments.length>1?arguments[1]:void 0;return"blog/loaded"===e.type?j(j({},t),{},{recent:e.payload}):t})),A=function(t){var e;return null===(e=t.getState()[_])||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 T(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){q(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 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 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=w().mark((function t(e,r){var n,o,i;return w().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,x(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="session",M=q({},G,(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?T(T({},t),{},{data:e.payload}):t})),C=function(t){var e;return null===(e=t.getState()[G])||void 0===e?void 0:e.data}})(),c})()));
2
+ !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,((t,e,r,n)=>(()=>{var o={670:e=>{"use strict";e.exports=t},225:t=>{"use strict";t.exports=e},779:t=>{"use strict";t.exports=r},293:t=>{"use strict";t.exports=n},61:(t,e,r)=>{var n=r(698).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},i=Object.prototype,a=i.hasOwnProperty,c=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},s=u.iterator||"@@iterator",l=u.asyncIterator||"@@asyncIterator",f=u.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,r){return t[e]=r}}function d(t,e,r,n){var o=e&&e.prototype instanceof w?e:w,i=Object.create(o.prototype),a=new q(n||[]);return c(i,"_invoke",{value:k(t,r,a)}),i}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var y="suspendedStart",v="suspendedYield",g="executing",b="completed",m={};function w(){}function x(){}function O(){}var j={};p(j,s,(function(){return this}));var S=Object.getPrototypeOf,P=S&&S(S(R([])));P&&P!==i&&a.call(P,s)&&(j=P);var E=O.prototype=w.prototype=Object.create(j);function L(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){function r(o,i,c,u){var s=h(t[o],t,i);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==n(f)&&a.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,c,u)}),(function(t){r("throw",t,c,u)})):e.resolve(f).then((function(t){l.value=t,c(l)}),(function(t){return r("throw",t,c,u)}))}u(s.arg)}var o;c(this,"_invoke",{value: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 k(t,r,n){var o=y;return function(i,a){if(o===g)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=A(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=g;var s=h(t,r,n);if("normal"===s.type){if(o=n.done?b:v,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=b,n.method="throw",n.arg=s.arg)}}}function A(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,A(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=h(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function D(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 T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function q(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(D,this),this.reset(!0)}function R(t){if(t||""===t){var r=t[s];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(a.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(n(t)+" is not iterable")}return x.prototype=O,c(E,"constructor",{value:O,configurable:!0}),c(O,"constructor",{value:x,configurable:!0}),x.displayName=p(O,f,"GeneratorFunction"),r.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,O):(t.__proto__=O,p(t,f,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},L(_.prototype),p(_.prototype,l,(function(){return this})),r.AsyncIterator=_,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new _(d(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(E),p(E,f,"Generator"),p(E,s,(function(){return this})),p(E,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=R,q.prototype={constructor:q,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(T),!t)for(var r in this)"t"===r.charAt(0)&&a.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 n(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(i)},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),m},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),T(r),m}},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;T(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:R(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},698:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},687:(t,e,r)=>{var n=r(61)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(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:()=>v,connectState:()=>b,createRemoteDataStore:()=>m,fetchBlogPosts:()=>L,fetchSessionData:()=>N,getRemoteDataStore:()=>g,loadSprites:()=>u,queryId:()=>s,queryIdAll:()=>l,reactRenderer:()=>i,reducerBlogPosts:()=>A,reducerSessionData:()=>C,renderComponent:()=>o,selectRecentBlogPosts:()=>D,selectSessionData:()=>F,toggleChatWidget:()=>h}),a(670);var t=a(225),e=a.n(t),r=a(779),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){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("[data-id=".concat(t,"]"))},l=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(t,"]"))};function f(t,e){t.disabled=!0,t.innerText=e}var p=100,d=30;function h(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).dataId,e=s(t),r=s("open-chat-widget",e),n=r.dataset.enabledLabel,o=r.dataset.disabledLabel;if(t&&e){var i,a=s("open-chat-widget",e);return f(a,o),function t(e){var r,o,c,u,s=null===(r=window)||void 0===r||null===(o=r.HubSpotConversations)||void 0===o?void 0:o.widget,l=document.querySelector("#hubspot-messages-iframe-container");i=function(t){t.preventDefault(),s.open()},s&&l?(a.addEventListener("click",i),u=n,(c=a).disabled=!1,c.innerText=u):--d&&setTimeout((function(){return t(p)}),e)}(0),function(){f(a,o),a.removeEventListener("click",i)}}}var y=a(293),v=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,y.createStore)((0,y.combineReducers)(t))},w=a(687),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)}}(),_={recent:null},k="blogPosts",A=P({},k,(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,e=arguments.length>1?arguments[1]:void 0;return"blog/loaded"===e.type?S(S({},t),{},{recent:e.payload}):t})),D=function(t){var e;return null===(e=t.getState()[k])||void 0===e?void 0:e.recent};function T(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?T(Object(r),!0).forEach((function(e){R(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function R(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function U(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 N=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){U(i,n,o,a,c,"next",t)}function c(t){U(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t,r){return e.apply(this,arguments)}}(),G={data:null},M="session",C=R({},M,(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:G,e=arguments.length>1?arguments[1]:void 0;return"session/loaded"===e.type?q(q({},t),{},{data:e.payload}):t})),F=function(t){var e;return null===(e=t.getState()[M])||void 0===e?void 0:e.data}})(),c})()));
package/core/styles.css CHANGED
@@ -134,6 +134,11 @@
134
134
  --syntax-red: #d54e53;
135
135
  --syntax-lilac: #bb87d3;
136
136
 
137
+ /* uptime status colors */
138
+ --uptime-color-up: #39b54a;
139
+ --uptime-color-trouble: #e87623;
140
+ --uptime-color-down: #e6242c;
141
+
137
142
  /* flat colors for social icons */
138
143
  --icon-color-linkedin: #1269bf;
139
144
  --icon-color-twitter: #2caae1;
@@ -274,6 +279,8 @@
274
279
 
275
280
  /* Expose component values for cross-component usage */
276
281
  --ui-meganav-height: 4rem;
282
+ --ui-showcase-client-logo-min-width: 8.75rem; /* 140px at 16px base*/
283
+ --ui-showcase-client-logo-max-width: 15rem; /* 240px at 16px base*/
277
284
  }
278
285
  }
279
286
  @layer components {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "13.1.0-dev.49a8f15",
3
+ "version": "13.2.2-dev.78815ed",
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",
@@ -24,6 +24,7 @@
24
24
  "autoprefixer": "^10.0.2",
25
25
  "babel-loader": "^8.2.0",
26
26
  "blink-diff": "^1.0.13",
27
+ "change-case": "^4.1.1",
27
28
  "commander": "^7.2.0",
28
29
  "css-loader": "^5.0.0",
29
30
  "cypress": "^13.3.1",
@@ -31,6 +32,7 @@
31
32
  "eslint-config-prettier": "^6.15.0",
32
33
  "eslint-plugin-cypress": "^2.11.2",
33
34
  "eslint-plugin-react": "^7.21.5",
35
+ "extra-watch-webpack-plugin": "^1.0.3",
34
36
  "find-imports": "^1.1.0",
35
37
  "mini-css-extract-plugin": "^1.2.1",
36
38
  "null-loader": "^4.0.1",
@@ -0,0 +1,3 @@
1
+ <%= tag.div class: "hljs p-32 overflow-auto", data: { id: "code" } do %>
2
+ <%= tag.pre lang: @language do %><%= tag.code class: "language-#{@language} #{@text_size}" do %><%= @snippet %><% end %><% end %>
3
+ <% end %>
@@ -0,0 +1,12 @@
1
+ module AblyUi
2
+ module Core
3
+ class Code < ViewComponent::Base
4
+ include AblyUi::Core::Util
5
+ def initialize(language:, snippet:, text_size: 'ui-text-code')
6
+ @language = language
7
+ @snippet = snippet.try(:strip)
8
+ @text_size = text_size
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,32 @@
1
+ <div class="ui-contact-footer font-sans antialiased" data-id="contact-footer">
2
+ <div class="w-full bp-lg max-w-screen-xl mx-auto py-64 grid grid-cols-1 md:grid-cols-3 ui-grid-gap ui-grid-px">
3
+ <div class="ui-contact-footer-box">
4
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-live-chat", size: "3rem", additional_css: "block mb-16")) %>
5
+ <div>
6
+ <div class="ui-text-h3 mb-24">Live Chat</div>
7
+ <p class="ui-text-p1">Reach out team of experts over chat powered by Ably.</p>
8
+ </div>
9
+ <%= tag.button type: "button", class: "ui-btn-secondary self-start mt-16", data: { id: "open-chat-widget", enabled_label: "Start a live chat", disabled_label: "Live chat unavailable" }, disabled: true do %>
10
+ Live chat unavailable
11
+ <% end %>
12
+ </div>
13
+ <div class="ui-contact-footer-box">
14
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-call-mobile", size: "3rem", additional_css: "block mb-16")) %>
15
+ <div class="flex-grow">
16
+ <div class="ui-text-h3 mb-24">Call us</div>
17
+ <p class="ui-text-p1">
18
+ <span class="block"><strong class="font-bold">+1 877 434 5287</strong> (USA, toll free) </span>
19
+ <span class="block"><strong class="font-bold">+44 20 3318 4689</strong> (UK) </span>
20
+ </p>
21
+ </div>
22
+ </div>
23
+ <div class="ui-contact-footer-box">
24
+ <%= render(AblyUi::Core::Icon.new(name: "icon-display-tech-account-comms", size: "3rem", additional_css: "block mb-16")) %>
25
+ <div>
26
+ <div class="ui-text-h3 mb-24">Technical and account support</div>
27
+ <p class="ui-text-p1">We&apos;re standing by to help with any questions or code.</p>
28
+ </div>
29
+ <%= link_to 'Get support now', abs_url("/support"), class: "ui-btn-secondary self-start p-btn mt-16" %>
30
+ </div>
31
+ </div>
32
+ </div>
@@ -0,0 +1,13 @@
1
+ module AblyUi
2
+ module Core
3
+ class ContactFooter < ViewComponent::Base
4
+ include AblyUi::Core::Util
5
+
6
+ attr_reader :url_base
7
+
8
+ def initialize(url_base: AblyUi::Core::Util::DEFAULT_URL_BASE)
9
+ @url_base = url_base
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ <section class="w-full bg-white">
2
+ <%= tag.ul class: "py-64 flex flex-row flex-wrap md:flex-nowrap content-between m-auto items-center #{@additional_css}" do %>
3
+ <% companies.each do |company| %>
4
+ <li class="flex-auto text-center sm:w-1/3 w-1/2">
5
+ <%= image_tag company[:logo], alt: "#{company[:label]} logo", class: 'mx-auto' %>
6
+ </li>
7
+ <% end %>
8
+ <% end %>
9
+ </section>
@@ -0,0 +1,14 @@
1
+ require 'json'
2
+
3
+ module AblyUi
4
+ module Core
5
+ class CustomerLogos < ViewComponent::Base
6
+ attr_reader :companies
7
+
8
+ def initialize(companies:, additional_css: '')
9
+ @companies = companies
10
+ @additional_css = additional_css
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,54 @@
1
+ <%- @image_url ||= asset_path('ably_ui/core/images/technical-support-01-800x533.jpg') %>
2
+ <div class="ui-feature-footer" data-id="feature-footer">
3
+ <div class="w-full bp-lg max-w-screen-xl mx-auto py-64 md:grid grid-cols-3 ui-grid-gap ui-grid-px">
4
+ <div class="col-span-2 bg-cool-black text-white rounded-lg overflow-hidden sm:flex flex-row mb-24 md:mb-0">
5
+ <%= tag.div class: 'ui-feature-image flex-0 bg-center bg-cover w-full h-256 sm:w-1/2 sm:h-auto', style: "background-image:url(#{@image_url})" %>
6
+ <div class="p-24 sm:p-32 flex-1 h-full">
7
+ <div class="flex flex-col h-full space-between">
8
+ <span class="flex-1">
9
+ <div class="ui-text-h3 text-white mb-24 flex-1"><%= @title %> </div>
10
+ <p class="ui-text-p1 text-white"><%= @subtitle %></p>
11
+ <%= tag.button type: "button", class: "ui-btn-secondary-invert self-start mt-24", data: { id: "open-chat-widget", enabled_label: live_chat_label, disabled_label: live_chat_disabled_label }, disabled: true do %>
12
+ <%= live_chat_disabled_label %>
13
+ <% end %>
14
+ </span>
15
+ <span class="flex-0 mt-24 md:mt-0">
16
+ <p class="ui-text-p1 text-white">
17
+ Don’t want to chat?
18
+ <%= link_to 'Get in touch via our contact page', abs_url("/contact"), class: "text-white underline font-medium hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus" %>
19
+ </p>
20
+ </span>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ <div class="bg-white rounded-lg p-24 sm:p-32 w-auto">
25
+ <div class="flex flex-col h-full space-between">
26
+ <span class="flex-1">
27
+ <div class="ui-text-h3 mb-24">Try our APIs for free</div>
28
+ <p class="ui-text-p1 mb-16">Our free plan includes</p>
29
+ <ul class="relative ml-24 ui-text-p1">
30
+ <li>
31
+ <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
32
+ 6m messages per month
33
+ </li>
34
+ <li>
35
+ <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
36
+ 200 peak connections
37
+ </li>
38
+ <li>
39
+ <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
40
+ 200 peak channels
41
+ </li>
42
+ <li>
43
+ <%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
44
+ Loads of features
45
+ </li>
46
+ </ul>
47
+ </span>
48
+ <span class="flex-0">
49
+ <%= link_to 'Start building', abs_url("/sign-up"), class: "ui-btn-secondary self-start mt-24" %>
50
+ </span>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>