@ably/ui 8.7.0-dev.6dec76a → 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.
Files changed (137) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Code/component.css +2 -0
  3. package/core/Code/component.js +739 -1
  4. package/core/Code.jsx +557 -410
  5. package/core/CompanyAutocomplete/component.css +2 -0
  6. package/core/CompanyAutocomplete/component.js +1161 -1
  7. package/core/ConnectStateWrapper/component.js +22 -1
  8. package/core/ConnectStateWrapper.jsx +29 -15
  9. package/core/ContactFooter/component.css +2 -0
  10. package/core/ContactFooter/component.js +211 -1
  11. package/core/ContactFooter.jsx +221 -144
  12. package/core/CookieMessage/component.css +2 -0
  13. package/core/CookieMessage/component.js +82 -1
  14. package/core/CookieMessage.jsx +62 -45
  15. package/core/CustomerLogos/component.js +22 -1
  16. package/core/CustomerLogos.jsx +16 -7
  17. package/core/DropdownMenu/component.js +22 -1
  18. package/core/DropdownMenu.jsx +26 -13
  19. package/core/FeatureFooter/component.css +2 -0
  20. package/core/FeatureFooter/component.js +211 -1
  21. package/core/FeaturedLink/component.css +2 -0
  22. package/core/FeaturedLink/component.js +82 -1
  23. package/core/FeaturedLink.jsx +25 -12
  24. package/core/Flash/component.css +2 -0
  25. package/core/Flash/component.js +82 -1
  26. package/core/Flash.jsx +132 -101
  27. package/core/Footer/component.css +2 -0
  28. package/core/Footer/component.js +82 -1
  29. package/core/Footer.jsx +216 -203
  30. package/core/Icon/component.js +22 -1
  31. package/core/Icon.jsx +16 -7
  32. package/core/Loader/component.js +22 -1
  33. package/core/Loader.jsx +16 -7
  34. package/core/Logo/component.js +22 -1
  35. package/core/Logo.jsx +16 -7
  36. package/core/Meganav/component.css +3 -3
  37. package/core/Meganav/component.js +992 -1
  38. package/core/Meganav/component.json +1 -1
  39. package/core/Meganav.jsx +2688 -2342
  40. package/core/MeganavBlogPostsList/component.js +1159 -1
  41. package/core/MeganavBlogPostsList.jsx +34 -17
  42. package/core/MeganavContentCompany/component.js +22 -1
  43. package/core/MeganavContentCompany.jsx +293 -216
  44. package/core/MeganavContentDevelopers/component.js +22 -1
  45. package/core/MeganavContentDevelopers.jsx +58 -20
  46. package/core/MeganavContentPlatform/component.js +1 -1
  47. package/core/MeganavContentPlatform.jsx +26 -50
  48. package/core/MeganavContentProducts/component.js +22 -0
  49. package/core/MeganavContentProducts.jsx +350 -0
  50. package/core/MeganavContentUseCases/component.js +22 -1
  51. package/core/MeganavContentUseCases.jsx +54 -31
  52. package/core/MeganavControl/component.js +241 -1
  53. package/core/MeganavControl.jsx +25 -12
  54. package/core/MeganavControlMobileDropdown/component.js +180 -1
  55. package/core/MeganavControlMobileDropdown.jsx +26 -13
  56. package/core/MeganavControlMobilePanelClose/component.js +142 -1
  57. package/core/MeganavControlMobilePanelClose.jsx +25 -12
  58. package/core/MeganavControlMobilePanelOpen/component.js +170 -1
  59. package/core/MeganavControlMobilePanelOpen.jsx +25 -12
  60. package/core/MeganavItemsDesktop/component.js +22 -1
  61. package/core/MeganavItemsDesktop.jsx +42 -22
  62. package/core/MeganavItemsMobile/component.js +22 -1
  63. package/core/MeganavItemsMobile.jsx +104 -60
  64. package/core/MeganavItemsSignedIn/component.js +22 -1
  65. package/core/MeganavItemsSignedIn.jsx +93 -52
  66. package/core/MeganavSearch/component.js +22 -1
  67. package/core/MeganavSearch.jsx +64 -35
  68. package/core/MeganavSearchAutocomplete/component.js +295 -1
  69. package/core/MeganavSearchAutocomplete.jsx +10 -4
  70. package/core/MeganavSearchPanel/component.js +22 -1
  71. package/core/MeganavSearchPanel.jsx +53 -28
  72. package/core/MeganavSearchSuggestions/component.js +258 -1
  73. package/core/MeganavSearchSuggestions.jsx +34 -17
  74. package/core/Notice/component.css +2 -0
  75. package/core/Notice/component.js +872 -1
  76. package/core/Notice.jsx +380 -307
  77. package/core/Showcase/component.css +2 -0
  78. package/core/Showcase/component.js +343 -1
  79. package/core/Showcase.jsx +4 -1
  80. package/core/SignOutLink/component.js +22 -1
  81. package/core/SignOutLink.jsx +16 -7
  82. package/core/Slider/component.css +2 -0
  83. package/core/Slider/component.js +255 -1
  84. package/core/Slider.jsx +208 -156
  85. package/core/Uptime/component.css +2 -0
  86. package/core/Uptime/component.js +82 -1
  87. package/core/Uptime.jsx +46 -23
  88. package/core/images/best-support-2023.svg +1 -0
  89. package/core/images/fastest-implementation-2023.svg +1 -0
  90. package/core/images/high-performer-2023.svg +1 -0
  91. package/core/images/highest-user-adoption-2023.svg +1 -0
  92. package/core/scripts.js +1465 -1
  93. package/core/sprites.svg +84 -0
  94. package/core/styles.css +3 -7
  95. package/package.json +5 -3
  96. package/reset/scripts.js +1 -1
  97. package/reset/styles.css +1 -11
  98. package/src/.DS_Store +0 -0
  99. package/src/core/.DS_Store +0 -0
  100. package/src/core/Footer/component.html.erb +7 -12
  101. package/src/core/Footer/component.jsx +9 -17
  102. package/src/core/Meganav/component.css +1 -1
  103. package/src/core/Meganav/component.json +1 -1
  104. package/src/core/Meganav/component.jsx +2 -2
  105. package/src/core/Meganav/component.rb +4 -4
  106. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  107. package/src/core/MeganavContentCompany/component.jsx +9 -0
  108. package/src/core/MeganavContentDevelopers/component.html.erb +18 -2
  109. package/src/core/MeganavContentDevelopers/component.jsx +20 -1
  110. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  111. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  112. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  113. package/src/core/MeganavContentUseCases/component.html.erb +21 -14
  114. package/src/core/MeganavContentUseCases/component.jsx +20 -14
  115. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  116. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  117. package/src/core/core.rb +8 -4
  118. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  119. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  120. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  121. package/src/core/icons/icon-display-events-col.svg +13 -0
  122. package/src/core/icons/icon-display-examples-col.svg +11 -0
  123. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  124. package/src/core/icons/icon-social-x.svg +3 -0
  125. package/src/core/images/best-support-2023.svg +1 -0
  126. package/src/core/images/fastest-implementation-2023.svg +1 -0
  127. package/src/core/images/high-performer-2023.svg +1 -0
  128. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  129. package/src/core/styles/text.css +1 -1
  130. package/src/core/utils/syntax-highlighter-registry.js +2 -0
  131. package/src/core/utils/syntax-highlighter.js +5 -0
  132. package/core/Meganav/component.js.LICENSE.txt +0 -7
  133. package/core/MeganavContentWhyAbly/component.js +0 -22
  134. package/core/MeganavContentWhyAbly.jsx +0 -3279
  135. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  136. package/core/Notice/component.js.LICENSE.txt +0 -9
  137. /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
package/core/Flash.jsx CHANGED
@@ -7,21 +7,25 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("dompurify"), require("prop-types"), require("redux")) : factory(root[undefined], root[undefined], root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__6357__, __WEBPACK_EXTERNAL_MODULE__3474__, __WEBPACK_EXTERNAL_MODULE__5044__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_dompurify__, __WEBPACK_EXTERNAL_MODULE_prop_types__, __WEBPACK_EXTERNAL_MODULE_redux__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 9787:
15
+ /***/ "./src/core/ConnectStateWrapper/component.jsx":
16
+ /*!****************************************************!*\
17
+ !*** ./src/core/ConnectStateWrapper/component.jsx ***!
18
+ \****************************************************/
16
19
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
20
 
21
+ __webpack_require__.r(__webpack_exports__);
18
22
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ "ConnectStateWrapper": () => (/* binding */ ConnectStateWrapper),
19
24
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
25
  /* harmony export */ });
21
- /* unused harmony export ConnectStateWrapper */
22
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
26
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
23
27
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
24
- /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3511);
28
+ /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../remote-data-store */ "./src/core/remote-data-store.js");
25
29
  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); }
26
30
 
27
31
  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; }
@@ -69,7 +73,7 @@ var ConnectStateWrapper = function ConnectStateWrapper(Component, selectors) {
69
73
  };
70
74
 
71
75
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
72
- var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__/* .getRemoteDataStore */ .cO)();
76
+ var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__.getRemoteDataStore)();
73
77
  var resolvedState = Object.keys(selectors).reduce(function (acc, key) {
74
78
  return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, selectors[key](store)));
75
79
  }, {}); // Set initial state
@@ -78,7 +82,7 @@ var ConnectStateWrapper = function ConnectStateWrapper(Component, selectors) {
78
82
  // When optimising for renders, look for wins with selectors better for your use and using connectState directly.
79
83
 
80
84
  Object.keys(selectors).forEach(function (key) {
81
- (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__/* .connectState */ .kZ)(selectors[key], setStateForKey(key));
85
+ (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__.connectState)(selectors[key], setStateForKey(key));
82
86
  });
83
87
  }, []);
84
88
 
@@ -92,15 +96,19 @@ var ConnectStateWrapper = function ConnectStateWrapper(Component, selectors) {
92
96
 
93
97
  /***/ }),
94
98
 
95
- /***/ 9008:
99
+ /***/ "./src/core/Icon/component.jsx":
100
+ /*!*************************************!*\
101
+ !*** ./src/core/Icon/component.jsx ***!
102
+ \*************************************/
96
103
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
104
 
105
+ __webpack_require__.r(__webpack_exports__);
98
106
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
99
107
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
100
108
  /* harmony export */ });
101
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
109
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
102
110
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
103
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
111
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
104
112
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
105
113
  var _excluded = ["name", "size", "color", "additionalCSS"];
106
114
 
@@ -144,15 +152,20 @@ Icon.propTypes = {
144
152
 
145
153
  /***/ }),
146
154
 
147
- /***/ 3511:
155
+ /***/ "./src/core/remote-data-store.js":
156
+ /*!***************************************!*\
157
+ !*** ./src/core/remote-data-store.js ***!
158
+ \***************************************/
148
159
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
149
160
 
161
+ __webpack_require__.r(__webpack_exports__);
150
162
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
151
- /* harmony export */ "cO": () => (/* binding */ getRemoteDataStore),
152
- /* harmony export */ "kZ": () => (/* binding */ connectState)
163
+ /* harmony export */ "attachStoreToWindow": () => (/* binding */ attachStoreToWindow),
164
+ /* harmony export */ "connectState": () => (/* binding */ connectState),
165
+ /* harmony export */ "createRemoteDataStore": () => (/* binding */ createRemoteDataStore),
166
+ /* harmony export */ "getRemoteDataStore": () => (/* binding */ getRemoteDataStore)
153
167
  /* harmony export */ });
154
- /* unused harmony exports attachStoreToWindow, createRemoteDataStore */
155
- /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5044);
168
+ /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "redux");
156
169
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
157
170
 
158
171
  var attachStoreToWindow = function attachStoreToWindow(store) {
@@ -181,36 +194,83 @@ var connectState = function connectState(selector, setState) {
181
194
  });
182
195
  };
183
196
  var createRemoteDataStore = function createRemoteDataStore(reducers) {
184
- return createStore(combineReducers(reducers));
197
+ return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)((0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducers));
185
198
  };
186
199
 
187
200
  /***/ }),
188
201
 
189
- /***/ 6357:
202
+ /***/ "dompurify":
203
+ /*!*****************************************************************!*\
204
+ !*** external {"commonjs":"dompurify","commonjs2":"dompurify"} ***!
205
+ \*****************************************************************/
190
206
  /***/ ((module) => {
191
207
 
192
- module.exports = __WEBPACK_EXTERNAL_MODULE__6357__;
208
+ module.exports = __WEBPACK_EXTERNAL_MODULE_dompurify__;
193
209
 
194
210
  /***/ }),
195
211
 
196
- /***/ 3474:
212
+ /***/ "prop-types":
213
+ /*!*******************************************************************!*\
214
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
215
+ \*******************************************************************/
197
216
  /***/ ((module) => {
198
217
 
199
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
218
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
200
219
 
201
220
  /***/ }),
202
221
 
203
- /***/ 9281:
222
+ /***/ "react":
223
+ /*!*********************************************************!*\
224
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
225
+ \*********************************************************/
204
226
  /***/ ((module) => {
205
227
 
206
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
228
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
207
229
 
208
230
  /***/ }),
209
231
 
210
- /***/ 5044:
232
+ /***/ "redux":
233
+ /*!*********************************************************!*\
234
+ !*** external {"commonjs":"redux","commonjs2":"redux"} ***!
235
+ \*********************************************************/
211
236
  /***/ ((module) => {
212
237
 
213
- module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
238
+ module.exports = __WEBPACK_EXTERNAL_MODULE_redux__;
239
+
240
+ /***/ }),
241
+
242
+ /***/ "./node_modules/nanoid/non-secure/index.js":
243
+ /*!*************************************************!*\
244
+ !*** ./node_modules/nanoid/non-secure/index.js ***!
245
+ \*************************************************/
246
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
247
+
248
+ __webpack_require__.r(__webpack_exports__);
249
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
250
+ /* harmony export */ "customAlphabet": () => (/* binding */ customAlphabet),
251
+ /* harmony export */ "nanoid": () => (/* binding */ nanoid)
252
+ /* harmony export */ });
253
+ let urlAlphabet =
254
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
255
+ let customAlphabet = (alphabet, defaultSize = 21) => {
256
+ return (size = defaultSize) => {
257
+ let id = ''
258
+ let i = size
259
+ while (i--) {
260
+ id += alphabet[(Math.random() * alphabet.length) | 0]
261
+ }
262
+ return id
263
+ }
264
+ }
265
+ let nanoid = (size = 21) => {
266
+ let id = ''
267
+ let i = size
268
+ while (i--) {
269
+ id += urlAlphabet[(Math.random() * 64) | 0]
270
+ }
271
+ return id
272
+ }
273
+
214
274
 
215
275
  /***/ })
216
276
 
@@ -285,55 +345,26 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
285
345
  var __webpack_exports__ = {};
286
346
  // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
287
347
  (() => {
288
- // ESM COMPAT FLAG
348
+ /*!**************************************!*\
349
+ !*** ./src/core/Flash/component.jsx ***!
350
+ \**************************************/
289
351
  __webpack_require__.r(__webpack_exports__);
290
-
291
- // EXPORTS
292
- __webpack_require__.d(__webpack_exports__, {
293
- "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID),
294
- "Flashes": () => (/* binding */ Flashes),
295
- "default": () => (/* binding */ Flash_component),
296
- "reducerFlashes": () => (/* binding */ reducerFlashes)
297
- });
298
-
299
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
300
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
301
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
302
- // EXTERNAL MODULE: external {"commonjs":"dompurify","commonjs2":"dompurify"}
303
- var external_commonjs_dompurify_commonjs2_dompurify_ = __webpack_require__(6357);
304
- var external_commonjs_dompurify_commonjs2_dompurify_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_dompurify_commonjs2_dompurify_);
305
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
306
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
307
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
308
- ;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
309
- let urlAlphabet =
310
- 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
311
- let customAlphabet = (alphabet, defaultSize = 21) => {
312
- return (size = defaultSize) => {
313
- let id = ''
314
- let i = size
315
- while (i--) {
316
- id += alphabet[(Math.random() * alphabet.length) | 0]
317
- }
318
- return id
319
- }
320
- }
321
- let nanoid = (size = 21) => {
322
- let id = ''
323
- let i = size
324
- while (i--) {
325
- id += urlAlphabet[(Math.random() * 64) | 0]
326
- }
327
- return id
328
- }
329
-
330
- // EXTERNAL MODULE: ./src/core/remote-data-store.js
331
- var remote_data_store = __webpack_require__(3511);
332
- // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
333
- var component = __webpack_require__(9787);
334
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
335
- var Icon_component = __webpack_require__(9008);
336
- ;// CONCATENATED MODULE: ./src/core/Flash/component.jsx
352
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
353
+ /* harmony export */ "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID),
354
+ /* harmony export */ "Flashes": () => (/* binding */ Flashes),
355
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
356
+ /* harmony export */ "reducerFlashes": () => (/* binding */ reducerFlashes)
357
+ /* harmony export */ });
358
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
359
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
360
+ /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dompurify */ "dompurify");
361
+ /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_1__);
362
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types");
363
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
364
+ /* harmony import */ var nanoid_non_secure__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! nanoid/non-secure */ "./node_modules/nanoid/non-secure/index.js");
365
+ /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../remote-data-store */ "./src/core/remote-data-store.js");
366
+ /* harmony import */ var _ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ConnectStateWrapper/component.jsx */ "./src/core/ConnectStateWrapper/component.jsx");
367
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
337
368
  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); }
338
369
 
339
370
  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; }
@@ -398,8 +429,8 @@ var selectFlashes = function selectFlashes(store) {
398
429
  };
399
430
 
400
431
  var FlashT = {
401
- type: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["error", "success", "notice", "info", "alert"]),
402
- content: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
432
+ type: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(["error", "success", "notice", "info", "alert"]),
433
+ content: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)
403
434
  };
404
435
  var FLASH_BG_COLOR = {
405
436
  error: "bg-gui-error",
@@ -419,8 +450,8 @@ var AUTO_HIDE = ["success", "info", "notice"];
419
450
  var AUTO_HIDE_TIME = 8000;
420
451
 
421
452
  var useAutoHide = function useAutoHide(type, closeFlash) {
422
- var timeoutId = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
423
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
453
+ var timeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
454
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
424
455
  if (AUTO_HIDE.includes(type)) {
425
456
  timeoutId.current = setTimeout(function () {
426
457
  closeFlash();
@@ -440,19 +471,19 @@ var Flash = function Flash(_ref) {
440
471
  type = _ref.type,
441
472
  content = _ref.content,
442
473
  removeFlash = _ref.removeFlash;
443
- var ref = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
474
+ var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
444
475
 
445
- var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(false),
476
+ var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
446
477
  _useState2 = _slicedToArray(_useState, 2),
447
478
  closed = _useState2[0],
448
479
  setClosed = _useState2[1];
449
480
 
450
- var _useState3 = (0,external_commonjs_react_commonjs2_react_.useState)(0),
481
+ var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),
451
482
  _useState4 = _slicedToArray(_useState3, 2),
452
483
  flashHeight = _useState4[0],
453
484
  setFlashHeight = _useState4[1];
454
485
 
455
- var _useState5 = (0,external_commonjs_react_commonjs2_react_.useState)(false),
486
+ var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
456
487
  _useState6 = _slicedToArray(_useState5, 2),
457
488
  triggerEntryAnimation = _useState6[0],
458
489
  setTriggerEntryAnimation = _useState6[1];
@@ -468,7 +499,7 @@ var Flash = function Flash(_ref) {
468
499
  }, 100);
469
500
  };
470
501
 
471
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
502
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
472
503
  return setTriggerEntryAnimation(true);
473
504
  }, []);
474
505
  useAutoHide(type, closeFlash);
@@ -489,7 +520,7 @@ var Flash = function Flash(_ref) {
489
520
  style = {};
490
521
  }
491
522
 
492
- var safeContent = external_commonjs_dompurify_commonjs2_dompurify_default().sanitize(content, {
523
+ var safeContent = dompurify__WEBPACK_IMPORTED_MODULE_1___default().sanitize(content, {
493
524
  ALLOWED_TAGS: ["a"],
494
525
  ALLOWED_ATTR: ["href", "data-method", "rel"]
495
526
  });
@@ -505,28 +536,28 @@ var Flash = function Flash(_ref) {
505
536
  error: "text-white",
506
537
  alert: "text-white"
507
538
  };
508
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
539
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
509
540
  className: "ui-flash-message ui-grid-px ".concat(animateEntry ? "ui-flash-message-enter" : ""),
510
541
  style: style,
511
542
  ref: ref,
512
543
  "data-id": "ui-flash"
513
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
544
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
514
545
  className: "".concat(FLASH_BG_COLOR[type], " p-32 flex align-center rounded shadow-container-subtle")
515
- }, withIcons[type] && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
546
+ }, withIcons[type] && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
516
547
  name: withIcons[type],
517
548
  color: iconColor[type],
518
549
  size: "1.5rem",
519
550
  additionalCSS: "mr-16 self-baseline"
520
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
551
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
521
552
  className: "ui-flash-text ".concat(FLASH_TEXT_COLOR[type]),
522
553
  dangerouslySetInnerHTML: {
523
554
  __html: safeContent
524
555
  }
525
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
556
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
526
557
  type: "button",
527
558
  className: "p-0 ml-auto self-start focus:outline-none",
528
559
  onClick: closeFlash
529
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
560
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
530
561
  name: "icon-gui-close",
531
562
  color: iconColor[type],
532
563
  size: "1.5rem",
@@ -539,7 +570,7 @@ Flash.propTypes = _objectSpread({}, FlashT);
539
570
  var Flashes = function Flashes(_ref2) {
540
571
  var flashes = _ref2.flashes;
541
572
 
542
- var _useState7 = (0,external_commonjs_react_commonjs2_react_.useState)([]),
573
+ var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
543
574
  _useState8 = _slicedToArray(_useState7, 2),
544
575
  flashesWithIds = _useState8[0],
545
576
  setFlashesWithIds = _useState8[1];
@@ -552,23 +583,23 @@ var Flashes = function Flashes(_ref2) {
552
583
  });
553
584
  };
554
585
 
555
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
586
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
556
587
  setFlashesWithIds(function (state) {
557
588
  return [].concat(_toConsumableArray(state), _toConsumableArray(((flashes === null || flashes === void 0 ? void 0 : flashes.items) || []).map(function (flash) {
558
589
  return _objectSpread(_objectSpread({}, flash), {}, {
559
- id: nanoid(),
590
+ id: (0,nanoid_non_secure__WEBPACK_IMPORTED_MODULE_6__.nanoid)(),
560
591
  removed: false
561
592
  });
562
593
  })));
563
594
  });
564
595
  }, [flashes]);
565
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
596
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
566
597
  className: "ui-flash",
567
598
  "data-id": FLASH_DATA_ID
568
599
  }, flashesWithIds.filter(function (item) {
569
600
  return !item.removed;
570
601
  }).map(function (flash) {
571
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
602
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Flash, _extends({
572
603
  removeFlash: removeFlash,
573
604
  key: flash.id
574
605
  }, flash));
@@ -576,14 +607,14 @@ var Flashes = function Flashes(_ref2) {
576
607
  };
577
608
 
578
609
  Flashes.propTypes = {
579
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
580
- items: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().shape(FlashT))
610
+ flashes: prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape({
611
+ items: prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape(FlashT))
581
612
  })
582
613
  };
583
614
 
584
615
  var BackendFlashes = function BackendFlashes(_ref3) {
585
616
  var flashes = _ref3.flashes;
586
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
617
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
587
618
  var transformedFlashes = flashes.map(function (flash) {
588
619
  var _flash = _slicedToArray(flash, 2),
589
620
  type = _flash[0],
@@ -596,24 +627,24 @@ var BackendFlashes = function BackendFlashes(_ref3) {
596
627
  }) || [];
597
628
 
598
629
  if (transformedFlashes.length > 0) {
599
- var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
630
+ var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_3__.getRemoteDataStore)();
600
631
  store.dispatch({
601
632
  type: "flash/push",
602
633
  payload: transformedFlashes
603
634
  });
604
635
  }
605
636
  }, []);
606
- var WrappedFlashes = (0,component.default)(Flashes, {
637
+ var WrappedFlashes = (0,_ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"])(Flashes, {
607
638
  flashes: selectFlashes
608
639
  });
609
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
640
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(WrappedFlashes, null);
610
641
  };
611
642
 
612
643
  BackendFlashes.propTypes = {
613
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf((external_commonjs_prop_types_commonjs2_prop_types_default()).string))
644
+ flashes: prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)))
614
645
  };
615
646
 
616
- /* harmony default export */ const Flash_component = (BackendFlashes);
647
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BackendFlashes);
617
648
  })();
618
649
 
619
650
  /******/ return __webpack_exports__;
@@ -32,3 +32,5 @@
32
32
  }
33
33
  }
34
34
 
35
+
36
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9Gb290ZXIvY29tcG9uZW50LmNzcyIsIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0lBQ0UsK0VBQStFO0VBQ2pGOztFQUVBO0lBQ0UsdUVBQXVFO0VBQ3pFOztFQUVBO0lBQ0Usa0VBQWtFO0VBQ3BFOztFQUVBO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFO01BQ0UsWUFBWTtJQUNkO0VBQ0Y7O0VBRUE7SUFDRTtNQUNFLGFBQWE7SUFDZjtFQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS8uL3NyYy9jb3JlL0Zvb3Rlci9jb21wb25lbnQuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBsYXllciBjb21wb25lbnRzIHtcbiAgLnVpLWZvb3Rlci1jb2wtdGl0bGUge1xuICAgIEBhcHBseSB0ZXh0LW92ZXJsaW5lMiBwLW1lbnUtcm93LXRpdGxlIGZvbnQtbm9ybWFsIHVwcGVyY2FzZSB0cmFja2luZy13aWRlbi0wLjE7XG4gIH1cblxuICAudWktZm9vdGVyLW1lbnUtcm93LWxpbmsge1xuICAgIEBhcHBseSB0ZXh0LW1lbnUzIHRleHQtY29vbC1ibGFjayBmb250LWxpZ2h0IGhvdmVyOnRleHQtZ3VpLWhvdmVyIGJsb2NrO1xuICB9XG5cbiAgLnVpLWZvb3Rlci1saW5rIHtcbiAgICBAYXBwbHkgdGV4dC1ndWktZGVmYXVsdCBob3Zlcjp0ZXh0LWd1aS1ob3ZlciB0ZXh0LW1lbnUzIGZvbnQtbGlnaHQ7XG4gIH1cblxuICAudWktZm9vdGVyLWNvbXBsaWFuY2UtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLnVpLWZvb3Rlci10aWNrLWljb24ge1xuICAgIG1pbi13aWR0aDogMS41cmVtO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAgIC51aS1mb290ZXItYm90dG9tLWxpbmtzIHtcbiAgICAgIEBhcHBseSBwYi00MDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIHtcbiAgICAudWktZm9vdGVyLWdsYXNzZG9vciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/
@@ -1 +1,82 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Footer=o())}(this,(function(){return(()=>{"use strict";var e={};return e.default})()}));
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"]["Footer"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./src/core/Footer/component.css":
16
+ /*!***************************************!*\
17
+ !*** ./src/core/Footer/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/Footer/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/Footer/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9Gb290ZXIvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQXVEO0FBQzlGLENBQUM7QUFDRCxPOzs7Ozs7Ozs7OztBQ1ZBOzs7Ozs7O1VDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0EsdURBQXVELGlCQUFpQjtXQUN4RTtXQUNBLGdEQUFnRCxhQUFhO1dBQzdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0FibHlVaS5Db3JlLy4vc3JjL2NvcmUvRm9vdGVyL2NvbXBvbmVudC5jc3M/NmQ4MiIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL0FibHlVaS5Db3JlLy4vc3JjL2NvcmUvRm9vdGVyL2NvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJBYmx5VWlcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQWJseVVpXCJdID0gcm9vdFtcIkFibHlVaVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gPSByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl1bXCJGb290ZXJcIl0gPSBmYWN0b3J5KCk7XG59KSh0aGlzLCAoKSA9PiB7XG5yZXR1cm4gIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCBcIi4vY29tcG9uZW50LmNzc1wiO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9