@ably/ui 8.7.0-dev.7021bee → 8.7.0-dev.7072b07
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -4
- package/core/.DS_Store +0 -0
- package/core/Code/component.css +2 -0
- package/core/Code/component.js +739 -1
- package/core/Code.jsx +557 -410
- package/core/CompanyAutocomplete/component.css +2 -0
- package/core/CompanyAutocomplete/component.js +1161 -1
- package/core/ConnectStateWrapper/component.js +22 -1
- package/core/ConnectStateWrapper.jsx +29 -15
- package/core/ContactFooter/component.css +2 -0
- package/core/ContactFooter/component.js +211 -1
- package/core/ContactFooter.jsx +221 -144
- package/core/CookieMessage/component.css +2 -0
- package/core/CookieMessage/component.js +82 -1
- package/core/CookieMessage.jsx +62 -45
- package/core/CustomerLogos/component.js +22 -1
- package/core/CustomerLogos.jsx +16 -7
- package/core/DropdownMenu/component.js +22 -1
- package/core/DropdownMenu.jsx +26 -13
- package/core/FeatureFooter/component.css +2 -0
- package/core/FeatureFooter/component.js +211 -1
- package/core/FeaturedLink/component.css +2 -0
- package/core/FeaturedLink/component.js +82 -1
- package/core/FeaturedLink.jsx +25 -12
- package/core/Flash/component.css +2 -0
- package/core/Flash/component.js +82 -1
- package/core/Flash.jsx +132 -104
- package/core/Footer/component.css +23 -1
- package/core/Footer/component.js +82 -1
- package/core/Footer.jsx +307 -203
- package/core/Icon/component.js +22 -1
- package/core/Icon.jsx +16 -7
- package/core/Loader/component.js +22 -1
- package/core/Loader.jsx +16 -7
- package/core/Logo/component.js +22 -1
- package/core/Logo.jsx +16 -7
- package/core/Meganav/component.css +3 -3
- package/core/Meganav/component.js +992 -1
- package/core/Meganav/component.json +2 -2
- package/core/Meganav.jsx +2702 -2361
- package/core/MeganavBlogPostsList/component.js +1159 -1
- package/core/MeganavBlogPostsList.jsx +34 -17
- package/core/MeganavContentCompany/component.js +22 -1
- package/core/MeganavContentCompany.jsx +293 -216
- package/core/MeganavContentDevelopers/component.js +22 -1
- package/core/MeganavContentDevelopers.jsx +68 -30
- package/core/MeganavContentPlatform/component.js +1 -1
- package/core/MeganavContentPlatform.jsx +26 -50
- package/core/MeganavContentProducts/component.js +22 -0
- package/core/MeganavContentProducts.jsx +350 -0
- package/core/MeganavContentUseCases/component.js +22 -1
- package/core/MeganavContentUseCases.jsx +77 -56
- package/core/MeganavControl/component.js +241 -1
- package/core/MeganavControl.jsx +25 -12
- package/core/MeganavControlMobileDropdown/component.js +180 -1
- package/core/MeganavControlMobileDropdown.jsx +26 -13
- package/core/MeganavControlMobilePanelClose/component.js +142 -1
- package/core/MeganavControlMobilePanelClose.jsx +25 -12
- package/core/MeganavControlMobilePanelOpen/component.js +170 -1
- package/core/MeganavControlMobilePanelOpen.jsx +25 -12
- package/core/MeganavItemsDesktop/component.js +22 -1
- package/core/MeganavItemsDesktop.jsx +42 -22
- package/core/MeganavItemsMobile/component.js +22 -1
- package/core/MeganavItemsMobile.jsx +104 -60
- package/core/MeganavItemsSignedIn/component.js +22 -1
- package/core/MeganavItemsSignedIn.jsx +93 -52
- package/core/MeganavSearch/component.js +22 -1
- package/core/MeganavSearch.jsx +64 -35
- package/core/MeganavSearchAutocomplete/component.js +295 -1
- package/core/MeganavSearchAutocomplete.jsx +10 -4
- package/core/MeganavSearchPanel/component.js +22 -1
- package/core/MeganavSearchPanel.jsx +53 -28
- package/core/MeganavSearchSuggestions/component.js +258 -1
- package/core/MeganavSearchSuggestions.jsx +34 -17
- package/core/Notice/component.css +2 -0
- package/core/Notice/component.js +872 -1
- package/core/Notice.jsx +380 -310
- package/core/Showcase/component.css +2 -0
- package/core/Showcase/component.js +343 -1
- package/core/Showcase.jsx +4 -1
- package/core/SignOutLink/component.js +22 -1
- package/core/SignOutLink.jsx +16 -7
- package/core/Slider/component.css +2 -0
- package/core/Slider/component.js +255 -1
- package/core/Slider.jsx +208 -156
- package/core/Uptime/component.css +2 -0
- package/core/Uptime/component.js +82 -1
- package/core/Uptime.jsx +46 -23
- package/core/images/best-support-2023.svg +1 -0
- package/core/images/fastest-implementation-2023.svg +1 -0
- package/core/images/high-performer-2022.png +0 -0
- package/core/images/high-performer-2023.svg +1 -0
- package/core/images/highest-user-adoption-2022.png +0 -0
- package/core/images/highest-user-adoption-2023.svg +1 -0
- package/core/images/users-love-us-2022.png +0 -0
- package/core/scripts.js +1465 -1
- package/core/sprites.svg +99 -0
- package/core/styles.css +3 -7
- package/package.json +5 -3
- package/reset/scripts.js +1 -1
- package/reset/styles.css +1 -11
- package/src/.DS_Store +0 -0
- package/src/core/.DS_Store +0 -0
- package/src/core/Flash/component.jsx +0 -2
- package/src/core/Footer/component.css +21 -1
- package/src/core/Footer/component.html.erb +120 -63
- package/src/core/Footer/component.jsx +128 -61
- package/src/core/Meganav/component.css +1 -1
- package/src/core/Meganav/component.json +2 -2
- package/src/core/Meganav/component.jsx +2 -2
- package/src/core/Meganav/component.rb +6 -6
- package/src/core/MeganavContentCompany/component.html.erb +9 -0
- package/src/core/MeganavContentCompany/component.jsx +9 -0
- package/src/core/MeganavContentDevelopers/component.html.erb +30 -14
- package/src/core/MeganavContentDevelopers/component.jsx +32 -13
- package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
- package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
- package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
- package/src/core/MeganavContentUseCases/component.html.erb +42 -38
- package/src/core/MeganavContentUseCases/component.jsx +41 -38
- package/src/core/MeganavItemsDesktop/component.jsx +1 -1
- package/src/core/MeganavItemsDesktop/component.rb +1 -1
- package/src/core/core.rb +12 -4
- package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
- package/src/core/icons/icon-display-chat-col.svg +4 -0
- package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
- package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
- package/src/core/icons/icon-display-events-col.svg +13 -0
- package/src/core/icons/icon-display-examples-col.svg +11 -0
- package/src/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
- package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
- package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
- package/src/core/icons/icon-social-x.svg +3 -0
- package/src/core/icons/icon-tech-apachekafka.svg +3 -0
- package/src/core/images/best-support-2023.svg +1 -0
- package/src/core/images/fastest-implementation-2023.svg +1 -0
- package/src/core/images/high-performer-2022.png +0 -0
- package/src/core/images/high-performer-2023.svg +1 -0
- package/src/core/images/highest-user-adoption-2022.png +0 -0
- package/src/core/images/highest-user-adoption-2023.svg +1 -0
- package/src/core/images/users-love-us-2022.png +0 -0
- package/src/core/styles/text.css +1 -1
- package/src/core/utils/syntax-highlighter-registry.js +2 -0
- package/src/core/utils/syntax-highlighter.js +5 -0
- package/tailwind.config.js +1 -0
- package/core/Meganav/component.js.LICENSE.txt +0 -7
- package/core/MeganavContentWhyAbly/component.js +0 -6
- package/core/MeganavContentWhyAbly.jsx +0 -6
- package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
- package/core/Notice/component.js.LICENSE.txt +0 -9
- package/core/fonts/.DS_Store +0 -0
- package/core/images/.DS_Store +0 -0
- package/core/scripts.js.LICENSE.txt +0 -32
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
- package/src/core/fonts/.DS_Store +0 -0
- package/src/core/images/.DS_Store +0 -0
- package/src/reset/.DS_Store +0 -0
- /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
package/core/ContactFooter.jsx
CHANGED
|
@@ -7,20 +7,48 @@
|
|
|
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,
|
|
10
|
+
})(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
|
-
/******/ "use strict";
|
|
13
12
|
/******/ var __webpack_modules__ = ({
|
|
14
13
|
|
|
15
|
-
/***/
|
|
14
|
+
/***/ "./src/core/ContactFooter/component.js":
|
|
15
|
+
/*!*********************************************!*\
|
|
16
|
+
!*** ./src/core/ContactFooter/component.js ***!
|
|
17
|
+
\*********************************************/
|
|
16
18
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
17
19
|
|
|
20
|
+
"use strict";
|
|
21
|
+
__webpack_require__.r(__webpack_exports__);
|
|
18
22
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
19
23
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
20
24
|
/* harmony export */ });
|
|
21
|
-
/* harmony import */ var
|
|
25
|
+
/* harmony import */ var _component_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component.css */ "./src/core/ContactFooter/component.css");
|
|
26
|
+
/* harmony import */ var _component_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_component_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
27
|
+
/* harmony import */ var _hubspot_chat_toggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hubspot-chat-toggle */ "./src/core/hubspot-chat-toggle.js");
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function () {
|
|
31
|
+
return (0,_hubspot_chat_toggle__WEBPACK_IMPORTED_MODULE_1__["default"])({
|
|
32
|
+
dataId: "contact-footer"
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
/***/ }),
|
|
37
|
+
|
|
38
|
+
/***/ "./src/core/Icon/component.jsx":
|
|
39
|
+
/*!*************************************!*\
|
|
40
|
+
!*** ./src/core/Icon/component.jsx ***!
|
|
41
|
+
\*************************************/
|
|
42
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
43
|
+
|
|
44
|
+
"use strict";
|
|
45
|
+
__webpack_require__.r(__webpack_exports__);
|
|
46
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
47
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
48
|
+
/* harmony export */ });
|
|
49
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
22
50
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
23
|
-
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
51
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
24
52
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
25
53
|
var _excluded = ["name", "size", "color", "additionalCSS"];
|
|
26
54
|
|
|
@@ -64,17 +92,161 @@ Icon.propTypes = {
|
|
|
64
92
|
|
|
65
93
|
/***/ }),
|
|
66
94
|
|
|
67
|
-
/***/
|
|
95
|
+
/***/ "./src/core/dom-query.js":
|
|
96
|
+
/*!*******************************!*\
|
|
97
|
+
!*** ./src/core/dom-query.js ***!
|
|
98
|
+
\*******************************/
|
|
99
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
100
|
+
|
|
101
|
+
"use strict";
|
|
102
|
+
__webpack_require__.r(__webpack_exports__);
|
|
103
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
104
|
+
/* harmony export */ "queryId": () => (/* binding */ queryId),
|
|
105
|
+
/* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
|
|
106
|
+
/* harmony export */ });
|
|
107
|
+
var queryId = function queryId(val) {
|
|
108
|
+
var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
109
|
+
return root.querySelector("[data-id=".concat(val, "]"));
|
|
110
|
+
};
|
|
111
|
+
var queryIdAll = function queryIdAll(val) {
|
|
112
|
+
var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
113
|
+
return root.querySelectorAll("[data-id=".concat(val, "]"));
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/***/ }),
|
|
117
|
+
|
|
118
|
+
/***/ "./src/core/hubspot-chat-toggle.js":
|
|
119
|
+
/*!*****************************************!*\
|
|
120
|
+
!*** ./src/core/hubspot-chat-toggle.js ***!
|
|
121
|
+
\*****************************************/
|
|
122
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
123
|
+
|
|
124
|
+
"use strict";
|
|
125
|
+
__webpack_require__.r(__webpack_exports__);
|
|
126
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
127
|
+
/* harmony export */ "default": () => (/* binding */ toggleChatWidget)
|
|
128
|
+
/* harmony export */ });
|
|
129
|
+
/* harmony import */ var _dom_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-query */ "./src/core/dom-query.js");
|
|
130
|
+
|
|
131
|
+
/*
|
|
132
|
+
A method to enable/disable a CTA that
|
|
133
|
+
is used to open the HubSpot chat widget
|
|
134
|
+
|
|
135
|
+
If the Chat widget is unavailable this script
|
|
136
|
+
will apply a disabled property and change
|
|
137
|
+
the text on the button, to warn the user.
|
|
138
|
+
|
|
139
|
+
Params:
|
|
140
|
+
- dataId the parent container data-id
|
|
141
|
+
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
function enableBtn(el, text) {
|
|
145
|
+
el.disabled = false;
|
|
146
|
+
el.innerText = text;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function disableBtn(el, text) {
|
|
150
|
+
el.disabled = true;
|
|
151
|
+
el.innerText = text;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var WAIT_BETWEEN_RETRIES_MS = 100;
|
|
155
|
+
var MAX_RETRY_COUNT = 30;
|
|
156
|
+
function toggleChatWidget() {
|
|
157
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
158
|
+
var dataId = params.dataId;
|
|
159
|
+
var container = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)(dataId);
|
|
160
|
+
var chatButton = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("open-chat-widget", container);
|
|
161
|
+
var textEnabled = chatButton.dataset.enabledLabel;
|
|
162
|
+
var textDisabled = chatButton.dataset.disabledLabel;
|
|
163
|
+
if (!dataId || !container) return;
|
|
164
|
+
var trigger = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("open-chat-widget", container);
|
|
165
|
+
var clickHandler;
|
|
166
|
+
|
|
167
|
+
var waitForScript = function waitForScript(delay) {
|
|
168
|
+
var _window, _window$HubSpotConver;
|
|
169
|
+
|
|
170
|
+
var widget = (_window = window) === null || _window === void 0 ? void 0 : (_window$HubSpotConver = _window.HubSpotConversations) === null || _window$HubSpotConver === void 0 ? void 0 : _window$HubSpotConver.widget; // If the chat is set to be hidden out of hours this will return null
|
|
171
|
+
|
|
172
|
+
var iframe = document.querySelector("#hubspot-messages-iframe-container");
|
|
173
|
+
|
|
174
|
+
clickHandler = function clickHandler(e) {
|
|
175
|
+
e.preventDefault();
|
|
176
|
+
widget.open();
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
if (widget && iframe) {
|
|
180
|
+
trigger.addEventListener("click", clickHandler);
|
|
181
|
+
enableBtn(trigger, textEnabled);
|
|
182
|
+
} else if (--MAX_RETRY_COUNT) {
|
|
183
|
+
setTimeout(function () {
|
|
184
|
+
return waitForScript(WAIT_BETWEEN_RETRIES_MS);
|
|
185
|
+
}, delay);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
disableBtn(trigger, textDisabled);
|
|
190
|
+
waitForScript(0);
|
|
191
|
+
return function () {
|
|
192
|
+
disableBtn(trigger, textDisabled);
|
|
193
|
+
trigger.removeEventListener("click", clickHandler);
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/***/ }),
|
|
198
|
+
|
|
199
|
+
/***/ "./src/core/url-base.js":
|
|
200
|
+
/*!******************************!*\
|
|
201
|
+
!*** ./src/core/url-base.js ***!
|
|
202
|
+
\******************************/
|
|
203
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
204
|
+
|
|
205
|
+
"use strict";
|
|
206
|
+
__webpack_require__.r(__webpack_exports__);
|
|
207
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
208
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
209
|
+
/* harmony export */ });
|
|
210
|
+
var DEFAULT_URL_BASE = "";
|
|
211
|
+
|
|
212
|
+
var absUrl = function absUrl(path) {
|
|
213
|
+
var urlBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_URL_BASE;
|
|
214
|
+
return "".concat(urlBase).concat(path);
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (absUrl);
|
|
218
|
+
|
|
219
|
+
/***/ }),
|
|
220
|
+
|
|
221
|
+
/***/ "./src/core/ContactFooter/component.css":
|
|
222
|
+
/*!**********************************************!*\
|
|
223
|
+
!*** ./src/core/ContactFooter/component.css ***!
|
|
224
|
+
\**********************************************/
|
|
225
|
+
/***/ (() => {
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
/***/ }),
|
|
230
|
+
|
|
231
|
+
/***/ "prop-types":
|
|
232
|
+
/*!*******************************************************************!*\
|
|
233
|
+
!*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
|
|
234
|
+
\*******************************************************************/
|
|
68
235
|
/***/ ((module) => {
|
|
69
236
|
|
|
70
|
-
|
|
237
|
+
"use strict";
|
|
238
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
|
|
71
239
|
|
|
72
240
|
/***/ }),
|
|
73
241
|
|
|
74
|
-
/***/
|
|
242
|
+
/***/ "react":
|
|
243
|
+
/*!*********************************************************!*\
|
|
244
|
+
!*** external {"commonjs":"react","commonjs2":"react"} ***!
|
|
245
|
+
\*********************************************************/
|
|
75
246
|
/***/ ((module) => {
|
|
76
247
|
|
|
77
|
-
|
|
248
|
+
"use strict";
|
|
249
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
|
|
78
250
|
|
|
79
251
|
/***/ })
|
|
80
252
|
|
|
@@ -147,118 +319,23 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
|
|
|
147
319
|
/******/
|
|
148
320
|
/************************************************************************/
|
|
149
321
|
var __webpack_exports__ = {};
|
|
150
|
-
// This entry need to be wrapped in an IIFE because it need to be
|
|
322
|
+
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
151
323
|
(() => {
|
|
152
|
-
|
|
324
|
+
"use strict";
|
|
325
|
+
/*!**********************************************!*\
|
|
326
|
+
!*** ./src/core/ContactFooter/component.jsx ***!
|
|
327
|
+
\**********************************************/
|
|
153
328
|
__webpack_require__.r(__webpack_exports__);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
|
|
164
|
-
var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
|
|
165
|
-
var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
|
|
166
|
-
// EXTERNAL MODULE: ./src/core/Icon/component.jsx
|
|
167
|
-
var component = __webpack_require__(9008);
|
|
168
|
-
;// CONCATENATED MODULE: ./src/core/url-base.js
|
|
169
|
-
var DEFAULT_URL_BASE = "";
|
|
170
|
-
|
|
171
|
-
var absUrl = function absUrl(path) {
|
|
172
|
-
var urlBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_URL_BASE;
|
|
173
|
-
return "".concat(urlBase).concat(path);
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
/* harmony default export */ const url_base = (absUrl);
|
|
177
|
-
;// CONCATENATED MODULE: ./src/core/dom-query.js
|
|
178
|
-
var queryId = function queryId(val) {
|
|
179
|
-
var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
180
|
-
return root.querySelector("[data-id=".concat(val, "]"));
|
|
181
|
-
};
|
|
182
|
-
var queryIdAll = function queryIdAll(val) {
|
|
183
|
-
var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
184
|
-
return root.querySelectorAll("[data-id=".concat(val, "]"));
|
|
185
|
-
};
|
|
186
|
-
;// CONCATENATED MODULE: ./src/core/hubspot-chat-toggle.js
|
|
187
|
-
|
|
188
|
-
/*
|
|
189
|
-
A method to enable/disable a CTA that
|
|
190
|
-
is used to open the HubSpot chat widget
|
|
191
|
-
|
|
192
|
-
If the Chat widget is unavailable this script
|
|
193
|
-
will apply a disabled property and change
|
|
194
|
-
the text on the button, to warn the user.
|
|
195
|
-
|
|
196
|
-
Params:
|
|
197
|
-
- dataId the parent container data-id
|
|
198
|
-
|
|
199
|
-
*/
|
|
200
|
-
|
|
201
|
-
function enableBtn(el, text) {
|
|
202
|
-
el.disabled = false;
|
|
203
|
-
el.innerText = text;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
function disableBtn(el, text) {
|
|
207
|
-
el.disabled = true;
|
|
208
|
-
el.innerText = text;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
var WAIT_BETWEEN_RETRIES_MS = 100;
|
|
212
|
-
var MAX_RETRY_COUNT = 30;
|
|
213
|
-
function toggleChatWidget() {
|
|
214
|
-
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
215
|
-
var dataId = params.dataId;
|
|
216
|
-
var container = queryId(dataId);
|
|
217
|
-
var chatButton = queryId("open-chat-widget", container);
|
|
218
|
-
var textEnabled = chatButton.dataset.enabledLabel;
|
|
219
|
-
var textDisabled = chatButton.dataset.disabledLabel;
|
|
220
|
-
if (!dataId || !container) return;
|
|
221
|
-
var trigger = queryId("open-chat-widget", container);
|
|
222
|
-
var clickHandler;
|
|
223
|
-
|
|
224
|
-
var waitForScript = function waitForScript(delay) {
|
|
225
|
-
var _window, _window$HubSpotConver;
|
|
226
|
-
|
|
227
|
-
var widget = (_window = window) === null || _window === void 0 ? void 0 : (_window$HubSpotConver = _window.HubSpotConversations) === null || _window$HubSpotConver === void 0 ? void 0 : _window$HubSpotConver.widget; // If the chat is set to be hidden out of hours this will return null
|
|
228
|
-
|
|
229
|
-
var iframe = document.querySelector("#hubspot-messages-iframe-container");
|
|
230
|
-
|
|
231
|
-
clickHandler = function clickHandler(e) {
|
|
232
|
-
e.preventDefault();
|
|
233
|
-
widget.open();
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
if (widget && iframe) {
|
|
237
|
-
trigger.addEventListener("click", clickHandler);
|
|
238
|
-
enableBtn(trigger, textEnabled);
|
|
239
|
-
} else if (--MAX_RETRY_COUNT) {
|
|
240
|
-
setTimeout(function () {
|
|
241
|
-
return waitForScript(WAIT_BETWEEN_RETRIES_MS);
|
|
242
|
-
}, delay);
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
disableBtn(trigger, textDisabled);
|
|
247
|
-
waitForScript(0);
|
|
248
|
-
return function () {
|
|
249
|
-
disableBtn(trigger, textDisabled);
|
|
250
|
-
trigger.removeEventListener("click", clickHandler);
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
;// CONCATENATED MODULE: ./src/core/ContactFooter/component.js
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
/* harmony default export */ const ContactFooter_component = (function () {
|
|
257
|
-
return toggleChatWidget({
|
|
258
|
-
dataId: "contact-footer"
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
;// CONCATENATED MODULE: ./src/core/ContactFooter/component.jsx
|
|
329
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
330
|
+
/* harmony export */ "default": () => (/* binding */ ContactFooter)
|
|
331
|
+
/* harmony export */ });
|
|
332
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
333
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
334
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
|
|
335
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
336
|
+
/* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
|
|
337
|
+
/* harmony import */ var _url_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../url-base */ "./src/core/url-base.js");
|
|
338
|
+
/* harmony import */ var _component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./component.js */ "./src/core/ContactFooter/component.js");
|
|
262
339
|
|
|
263
340
|
|
|
264
341
|
|
|
@@ -266,73 +343,73 @@ function toggleChatWidget() {
|
|
|
266
343
|
|
|
267
344
|
function ContactFooter(_ref) {
|
|
268
345
|
var urlBase = _ref.urlBase;
|
|
269
|
-
(0,
|
|
270
|
-
return
|
|
346
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
347
|
+
return (0,_component_js__WEBPACK_IMPORTED_MODULE_4__["default"])();
|
|
271
348
|
}, []);
|
|
272
349
|
|
|
273
350
|
var absUrl = function absUrl(path) {
|
|
274
|
-
return
|
|
351
|
+
return (0,_url_base__WEBPACK_IMPORTED_MODULE_3__["default"])(path, urlBase);
|
|
275
352
|
};
|
|
276
353
|
|
|
277
|
-
return /*#__PURE__*/
|
|
354
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
278
355
|
className: "ui-contact-footer font-sans antialiased",
|
|
279
356
|
"data-id": "contact-footer"
|
|
280
|
-
}, /*#__PURE__*/
|
|
357
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
281
358
|
className: "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"
|
|
282
|
-
}, /*#__PURE__*/
|
|
359
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
283
360
|
className: "ui-contact-footer-box"
|
|
284
|
-
}, /*#__PURE__*/
|
|
361
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
|
285
362
|
name: "icon-display-live-chat",
|
|
286
363
|
size: "3rem",
|
|
287
364
|
additionalCSS: "block mb-16"
|
|
288
|
-
}), /*#__PURE__*/
|
|
365
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
289
366
|
className: "text-h3 mb-24"
|
|
290
|
-
}, "Live Chat"), /*#__PURE__*/
|
|
367
|
+
}, "Live Chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
291
368
|
className: "text-p1 font-light"
|
|
292
|
-
}, "Reach out team of experts over chat powered by Ably.")), /*#__PURE__*/
|
|
369
|
+
}, "Reach out team of experts over chat powered by Ably.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
293
370
|
type: "button",
|
|
294
371
|
className: "ui-btn-secondary self-start mt-16",
|
|
295
372
|
disabled: true,
|
|
296
373
|
"data-id": "open-chat-widget",
|
|
297
374
|
"data-enabled-label": "Start a live chat",
|
|
298
375
|
"data-disabled-label": "Live chat unavailable"
|
|
299
|
-
}, "Live chat unavailable")), /*#__PURE__*/
|
|
376
|
+
}, "Live chat unavailable")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
300
377
|
className: "ui-contact-footer-box"
|
|
301
|
-
}, /*#__PURE__*/
|
|
378
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
|
302
379
|
name: "icon-display-call-mobile",
|
|
303
380
|
size: "3rem",
|
|
304
381
|
additionalCSS: "block mb-16"
|
|
305
|
-
}), /*#__PURE__*/
|
|
382
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
306
383
|
className: "flex-grow"
|
|
307
|
-
}, /*#__PURE__*/
|
|
384
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
308
385
|
className: "text-h3 mb-24"
|
|
309
|
-
}, "Call us"), /*#__PURE__*/
|
|
386
|
+
}, "Call us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
310
387
|
className: "text-p1 font-light"
|
|
311
|
-
}, /*#__PURE__*/
|
|
388
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
312
389
|
className: "block"
|
|
313
|
-
}, /*#__PURE__*/
|
|
390
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", {
|
|
314
391
|
className: "text-p1 font-medium"
|
|
315
|
-
}, "+1 877 434 5287"), " (USA, toll free)"), /*#__PURE__*/
|
|
392
|
+
}, "+1 877 434 5287"), " (USA, toll free)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
316
393
|
className: "block"
|
|
317
|
-
}, /*#__PURE__*/
|
|
394
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", {
|
|
318
395
|
className: "text-p1 font-medium"
|
|
319
|
-
}, "+44 20 3318 4689"), " (UK)")))), /*#__PURE__*/
|
|
396
|
+
}, "+44 20 3318 4689"), " (UK)")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
320
397
|
className: "ui-contact-footer-box"
|
|
321
|
-
}, /*#__PURE__*/
|
|
398
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
|
322
399
|
name: "icon-display-tech-account-comms",
|
|
323
400
|
size: "3rem",
|
|
324
401
|
additionalCSS: "block mb-16"
|
|
325
|
-
}), /*#__PURE__*/
|
|
402
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
326
403
|
className: "text-h3 mb-24"
|
|
327
|
-
}, "Technical and account support"), /*#__PURE__*/
|
|
404
|
+
}, "Technical and account support"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
328
405
|
className: "text-p1 font-light"
|
|
329
|
-
}, "We're standing by to help with any questions or code.")), /*#__PURE__*/
|
|
406
|
+
}, "We're standing by to help with any questions or code.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
330
407
|
className: "ui-btn-secondary self-start p-btn mt-16",
|
|
331
408
|
href: absUrl("/support")
|
|
332
409
|
}, "Get support now"))));
|
|
333
410
|
}
|
|
334
411
|
ContactFooter.propTypes = {
|
|
335
|
-
urlBase: (
|
|
412
|
+
urlBase: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
336
413
|
};
|
|
337
414
|
})();
|
|
338
415
|
|
|
@@ -12,3 +12,5 @@
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9Db29raWVNZXNzYWdlL2NvbXBvbmVudC5jc3MiLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtJQUNFLG9DQUFvQztJQUNwQyxtQ0FBbUM7SUFDbkMsOENBQThDO0lBQzlDLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsdUNBQXVDO0lBQ3ZDLHVDQUF1QztJQUN2QyxvREFBb0Q7SUFDcEQseURBQXlEO0VBQzNEO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL0Nvb2tpZU1lc3NhZ2UvY29tcG9uZW50LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgY29tcG9uZW50cyB7XG4gIC51aS1jb29raWUtbWVzc2FnZSB7XG4gICAgQGFwcGx5IHJvdW5kZWQtbGcgYmctd2hpdGUgZm9udC1zYW5zO1xuICAgIEBhcHBseSBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyO1xuICAgIEBhcHBseSBvcGFjaXR5LTEwMCB6LTUwIGJvdHRvbS0wIGZpeGVkIHNtOmZsZXg7XG4gICAgQGFwcGx5IHAtMTYgbWItMTYgbWwtMTY7XG4gICAgbWF4LXdpZHRoOiA3MHZ3O1xuICAgIGJveC1zaGFkb3c6IDBweCAyNHB4IDMycHggMHB4ICMwMDAwMDAwZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1taWQtZ3JleSk7XG4gICAgYm9yZGVyLWxlZnQ6IDAuNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1lbGVjdHJpYy1jeWFuKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMjUwbXMgZWFzZS1vdXQsIG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/
|
|
@@ -1 +1,82 @@
|
|
|
1
|
-
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if(typeof define === 'function' && define.amd)
|
|
5
|
+
define([], factory);
|
|
6
|
+
else if(typeof exports === 'object')
|
|
7
|
+
exports["AblyUi"] = factory();
|
|
8
|
+
else
|
|
9
|
+
root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["CookieMessage"] = factory();
|
|
10
|
+
})(this, () => {
|
|
11
|
+
return /******/ (() => { // webpackBootstrap
|
|
12
|
+
/******/ "use strict";
|
|
13
|
+
/******/ var __webpack_modules__ = ({
|
|
14
|
+
|
|
15
|
+
/***/ "./src/core/CookieMessage/component.css":
|
|
16
|
+
/*!**********************************************!*\
|
|
17
|
+
!*** ./src/core/CookieMessage/component.css ***!
|
|
18
|
+
\**********************************************/
|
|
19
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
20
|
+
|
|
21
|
+
__webpack_require__.r(__webpack_exports__);
|
|
22
|
+
// extracted by mini-css-extract-plugin
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/***/ })
|
|
26
|
+
|
|
27
|
+
/******/ });
|
|
28
|
+
/************************************************************************/
|
|
29
|
+
/******/ // The module cache
|
|
30
|
+
/******/ var __webpack_module_cache__ = {};
|
|
31
|
+
/******/
|
|
32
|
+
/******/ // The require function
|
|
33
|
+
/******/ function __webpack_require__(moduleId) {
|
|
34
|
+
/******/ // Check if module is in cache
|
|
35
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
36
|
+
/******/ if (cachedModule !== undefined) {
|
|
37
|
+
/******/ return cachedModule.exports;
|
|
38
|
+
/******/ }
|
|
39
|
+
/******/ // Create a new module (and put it into the cache)
|
|
40
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
41
|
+
/******/ // no module.id needed
|
|
42
|
+
/******/ // no module.loaded needed
|
|
43
|
+
/******/ exports: {}
|
|
44
|
+
/******/ };
|
|
45
|
+
/******/
|
|
46
|
+
/******/ // Execute the module function
|
|
47
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
48
|
+
/******/
|
|
49
|
+
/******/ // Return the exports of the module
|
|
50
|
+
/******/ return module.exports;
|
|
51
|
+
/******/ }
|
|
52
|
+
/******/
|
|
53
|
+
/************************************************************************/
|
|
54
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
55
|
+
/******/ (() => {
|
|
56
|
+
/******/ // define __esModule on exports
|
|
57
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
58
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
59
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
60
|
+
/******/ }
|
|
61
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
62
|
+
/******/ };
|
|
63
|
+
/******/ })();
|
|
64
|
+
/******/
|
|
65
|
+
/************************************************************************/
|
|
66
|
+
var __webpack_exports__ = {};
|
|
67
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
68
|
+
(() => {
|
|
69
|
+
/*!*********************************************!*\
|
|
70
|
+
!*** ./src/core/CookieMessage/component.js ***!
|
|
71
|
+
\*********************************************/
|
|
72
|
+
__webpack_require__.r(__webpack_exports__);
|
|
73
|
+
/* harmony import */ var _component_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component.css */ "./src/core/CookieMessage/component.css");
|
|
74
|
+
|
|
75
|
+
})();
|
|
76
|
+
|
|
77
|
+
__webpack_exports__ = __webpack_exports__["default"];
|
|
78
|
+
/******/ return __webpack_exports__;
|
|
79
|
+
/******/ })()
|
|
80
|
+
;
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9Db29raWVNZXNzYWdlL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTzs7Ozs7Ozs7Ozs7QUNWQTs7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7O1dDdEJBO1dBQ0E7V0FDQTtXQUNBLHVEQUF1RCxpQkFBaUI7V0FDeEU7V0FDQSxnREFBZ0QsYUFBYTtXQUM3RCIsInNvdXJjZXMiOlsid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL0Nvb2tpZU1lc3NhZ2UvY29tcG9uZW50LmNzcz9jNmE3Iiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvLi9zcmMvY29yZS9Db29raWVNZXNzYWdlL2NvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJBYmx5VWlcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQWJseVVpXCJdID0gcm9vdFtcIkFibHlVaVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gPSByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl1bXCJDb29raWVNZXNzYWdlXCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgKCkgPT4ge1xucmV0dXJuICIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuZXhwb3J0IHt9OyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJpbXBvcnQgXCIuL2NvbXBvbmVudC5jc3NcIjtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==
|