@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/Notice.jsx CHANGED
@@ -7,21 +7,25 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types"), require("js-cookie"), require("lodash.throttle"), require("dompurify"), require("redux")) : factory(root[undefined], root[undefined], 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__3474__, __WEBPACK_EXTERNAL_MODULE__9349__, __WEBPACK_EXTERNAL_MODULE__2040__, __WEBPACK_EXTERNAL_MODULE__6357__, __WEBPACK_EXTERNAL_MODULE__5044__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__, __WEBPACK_EXTERNAL_MODULE_js_cookie__, __WEBPACK_EXTERNAL_MODULE_lodash_throttle__, __WEBPACK_EXTERNAL_MODULE_dompurify__, __WEBPACK_EXTERNAL_MODULE_redux__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
- /******/ "use strict";
13
12
  /******/ var __webpack_modules__ = ({
14
13
 
15
- /***/ 9787:
14
+ /***/ "./src/core/ConnectStateWrapper/component.jsx":
15
+ /*!****************************************************!*\
16
+ !*** ./src/core/ConnectStateWrapper/component.jsx ***!
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__, {
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,55 +96,30 @@ var ConnectStateWrapper = function ConnectStateWrapper(Component, selectors) {
92
96
 
93
97
  /***/ }),
94
98
 
95
- /***/ 8696:
99
+ /***/ "./src/core/Flash/component.jsx":
100
+ /*!**************************************!*\
101
+ !*** ./src/core/Flash/component.jsx ***!
102
+ \**************************************/
96
103
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
104
 
98
-
99
- // EXPORTS
100
- __webpack_require__.d(__webpack_exports__, {
101
- "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID)
102
- });
103
-
104
- // UNUSED EXPORTS: Flashes, default, reducerFlashes
105
-
106
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
107
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
108
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
109
- // EXTERNAL MODULE: external {"commonjs":"dompurify","commonjs2":"dompurify"}
110
- var external_commonjs_dompurify_commonjs2_dompurify_ = __webpack_require__(6357);
111
- var external_commonjs_dompurify_commonjs2_dompurify_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_dompurify_commonjs2_dompurify_);
112
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
113
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
114
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
115
- ;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
116
- let urlAlphabet =
117
- 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
118
- let customAlphabet = (alphabet, defaultSize = 21) => {
119
- return (size = defaultSize) => {
120
- let id = ''
121
- let i = size
122
- while (i--) {
123
- id += alphabet[(Math.random() * alphabet.length) | 0]
124
- }
125
- return id
126
- }
127
- }
128
- let nanoid = (size = 21) => {
129
- let id = ''
130
- let i = size
131
- while (i--) {
132
- id += urlAlphabet[(Math.random() * 64) | 0]
133
- }
134
- return id
135
- }
136
-
137
- // EXTERNAL MODULE: ./src/core/remote-data-store.js
138
- var remote_data_store = __webpack_require__(3511);
139
- // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
140
- var component = __webpack_require__(9787);
141
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
142
- var Icon_component = __webpack_require__(9008);
143
- ;// CONCATENATED MODULE: ./src/core/Flash/component.jsx
105
+ "use strict";
106
+ __webpack_require__.r(__webpack_exports__);
107
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
108
+ /* harmony export */ "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID),
109
+ /* harmony export */ "Flashes": () => (/* binding */ Flashes),
110
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
111
+ /* harmony export */ "reducerFlashes": () => (/* binding */ reducerFlashes)
112
+ /* harmony export */ });
113
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
114
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
115
+ /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dompurify */ "dompurify");
116
+ /* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dompurify__WEBPACK_IMPORTED_MODULE_1__);
117
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types");
118
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
119
+ /* harmony import */ var nanoid_non_secure__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! nanoid/non-secure */ "./node_modules/nanoid/non-secure/index.js");
120
+ /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../remote-data-store */ "./src/core/remote-data-store.js");
121
+ /* harmony import */ var _ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ConnectStateWrapper/component.jsx */ "./src/core/ConnectStateWrapper/component.jsx");
122
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
144
123
  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); }
145
124
 
146
125
  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; }
@@ -205,8 +184,8 @@ var selectFlashes = function selectFlashes(store) {
205
184
  };
206
185
 
207
186
  var FlashT = {
208
- type: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["error", "success", "notice", "info", "alert"]),
209
- content: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
187
+ type: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(["error", "success", "notice", "info", "alert"]),
188
+ content: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)
210
189
  };
211
190
  var FLASH_BG_COLOR = {
212
191
  error: "bg-gui-error",
@@ -226,8 +205,8 @@ var AUTO_HIDE = ["success", "info", "notice"];
226
205
  var AUTO_HIDE_TIME = 8000;
227
206
 
228
207
  var useAutoHide = function useAutoHide(type, closeFlash) {
229
- var timeoutId = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
230
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
208
+ var timeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
209
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
231
210
  if (AUTO_HIDE.includes(type)) {
232
211
  timeoutId.current = setTimeout(function () {
233
212
  closeFlash();
@@ -247,19 +226,19 @@ var Flash = function Flash(_ref) {
247
226
  type = _ref.type,
248
227
  content = _ref.content,
249
228
  removeFlash = _ref.removeFlash;
250
- var ref = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
229
+ var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
251
230
 
252
- var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(false),
231
+ var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
253
232
  _useState2 = _slicedToArray(_useState, 2),
254
233
  closed = _useState2[0],
255
234
  setClosed = _useState2[1];
256
235
 
257
- var _useState3 = (0,external_commonjs_react_commonjs2_react_.useState)(0),
236
+ var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),
258
237
  _useState4 = _slicedToArray(_useState3, 2),
259
238
  flashHeight = _useState4[0],
260
239
  setFlashHeight = _useState4[1];
261
240
 
262
- var _useState5 = (0,external_commonjs_react_commonjs2_react_.useState)(false),
241
+ var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
263
242
  _useState6 = _slicedToArray(_useState5, 2),
264
243
  triggerEntryAnimation = _useState6[0],
265
244
  setTriggerEntryAnimation = _useState6[1];
@@ -275,7 +254,7 @@ var Flash = function Flash(_ref) {
275
254
  }, 100);
276
255
  };
277
256
 
278
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
257
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
279
258
  return setTriggerEntryAnimation(true);
280
259
  }, []);
281
260
  useAutoHide(type, closeFlash);
@@ -296,7 +275,7 @@ var Flash = function Flash(_ref) {
296
275
  style = {};
297
276
  }
298
277
 
299
- var safeContent = external_commonjs_dompurify_commonjs2_dompurify_default().sanitize(content, {
278
+ var safeContent = dompurify__WEBPACK_IMPORTED_MODULE_1___default().sanitize(content, {
300
279
  ALLOWED_TAGS: ["a"],
301
280
  ALLOWED_ATTR: ["href", "data-method", "rel"]
302
281
  });
@@ -312,28 +291,28 @@ var Flash = function Flash(_ref) {
312
291
  error: "text-white",
313
292
  alert: "text-white"
314
293
  };
315
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
294
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
316
295
  className: "ui-flash-message ui-grid-px ".concat(animateEntry ? "ui-flash-message-enter" : ""),
317
296
  style: style,
318
297
  ref: ref,
319
298
  "data-id": "ui-flash"
320
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
299
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
321
300
  className: "".concat(FLASH_BG_COLOR[type], " p-32 flex align-center rounded shadow-container-subtle")
322
- }, withIcons[type] && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
301
+ }, withIcons[type] && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
323
302
  name: withIcons[type],
324
303
  color: iconColor[type],
325
304
  size: "1.5rem",
326
305
  additionalCSS: "mr-16 self-baseline"
327
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
306
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
328
307
  className: "ui-flash-text ".concat(FLASH_TEXT_COLOR[type]),
329
308
  dangerouslySetInnerHTML: {
330
309
  __html: safeContent
331
310
  }
332
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
311
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
333
312
  type: "button",
334
313
  className: "p-0 ml-auto self-start focus:outline-none",
335
314
  onClick: closeFlash
336
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
315
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
337
316
  name: "icon-gui-close",
338
317
  color: iconColor[type],
339
318
  size: "1.5rem",
@@ -346,7 +325,7 @@ Flash.propTypes = _objectSpread({}, FlashT);
346
325
  var Flashes = function Flashes(_ref2) {
347
326
  var flashes = _ref2.flashes;
348
327
 
349
- var _useState7 = (0,external_commonjs_react_commonjs2_react_.useState)([]),
328
+ var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
350
329
  _useState8 = _slicedToArray(_useState7, 2),
351
330
  flashesWithIds = _useState8[0],
352
331
  setFlashesWithIds = _useState8[1];
@@ -359,23 +338,23 @@ var Flashes = function Flashes(_ref2) {
359
338
  });
360
339
  };
361
340
 
362
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
341
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
363
342
  setFlashesWithIds(function (state) {
364
343
  return [].concat(_toConsumableArray(state), _toConsumableArray(((flashes === null || flashes === void 0 ? void 0 : flashes.items) || []).map(function (flash) {
365
344
  return _objectSpread(_objectSpread({}, flash), {}, {
366
- id: nanoid(),
345
+ id: (0,nanoid_non_secure__WEBPACK_IMPORTED_MODULE_6__.nanoid)(),
367
346
  removed: false
368
347
  });
369
348
  })));
370
349
  });
371
350
  }, [flashes]);
372
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
351
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
373
352
  className: "ui-flash",
374
353
  "data-id": FLASH_DATA_ID
375
354
  }, flashesWithIds.filter(function (item) {
376
355
  return !item.removed;
377
356
  }).map(function (flash) {
378
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
357
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Flash, _extends({
379
358
  removeFlash: removeFlash,
380
359
  key: flash.id
381
360
  }, flash));
@@ -383,14 +362,14 @@ var Flashes = function Flashes(_ref2) {
383
362
  };
384
363
 
385
364
  Flashes.propTypes = {
386
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
387
- items: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().shape(FlashT))
365
+ flashes: prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape({
366
+ items: prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_2___default().shape(FlashT))
388
367
  })
389
368
  };
390
369
 
391
370
  var BackendFlashes = function BackendFlashes(_ref3) {
392
371
  var flashes = _ref3.flashes;
393
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
372
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
394
373
  var transformedFlashes = flashes.map(function (flash) {
395
374
  var _flash = _slicedToArray(flash, 2),
396
375
  type = _flash[0],
@@ -403,36 +382,41 @@ var BackendFlashes = function BackendFlashes(_ref3) {
403
382
  }) || [];
404
383
 
405
384
  if (transformedFlashes.length > 0) {
406
- var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
385
+ var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_3__.getRemoteDataStore)();
407
386
  store.dispatch({
408
387
  type: "flash/push",
409
388
  payload: transformedFlashes
410
389
  });
411
390
  }
412
391
  }, []);
413
- var WrappedFlashes = (0,component.default)(Flashes, {
392
+ var WrappedFlashes = (0,_ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"])(Flashes, {
414
393
  flashes: selectFlashes
415
394
  });
416
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
395
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(WrappedFlashes, null);
417
396
  };
418
397
 
419
398
  BackendFlashes.propTypes = {
420
- 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))
399
+ 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)))
421
400
  };
422
401
 
423
- /* harmony default export */ const Flash_component = ((/* unused pure expression or super */ null && (BackendFlashes)));
402
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BackendFlashes);
424
403
 
425
404
  /***/ }),
426
405
 
427
- /***/ 9008:
406
+ /***/ "./src/core/Icon/component.jsx":
407
+ /*!*************************************!*\
408
+ !*** ./src/core/Icon/component.jsx ***!
409
+ \*************************************/
428
410
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
429
411
 
412
+ "use strict";
413
+ __webpack_require__.r(__webpack_exports__);
430
414
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
431
415
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
432
416
  /* harmony export */ });
433
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
417
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
434
418
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
435
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
419
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
436
420
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
437
421
  var _excluded = ["name", "size", "color", "additionalCSS"];
438
422
 
@@ -476,13 +460,183 @@ Icon.propTypes = {
476
460
 
477
461
  /***/ }),
478
462
 
479
- /***/ 9581:
463
+ /***/ "./src/core/Notice/component.js":
464
+ /*!**************************************!*\
465
+ !*** ./src/core/Notice/component.js ***!
466
+ \**************************************/
467
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
468
+
469
+ "use strict";
470
+ __webpack_require__.r(__webpack_exports__);
471
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
472
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
473
+ /* harmony export */ });
474
+ /* harmony import */ var _component_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component.css */ "./src/core/Notice/component.css");
475
+ /* harmony import */ var _component_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_component_css__WEBPACK_IMPORTED_MODULE_0__);
476
+ /* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! js-cookie */ "js-cookie");
477
+ /* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(js_cookie__WEBPACK_IMPORTED_MODULE_1__);
478
+ /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.throttle */ "lodash.throttle");
479
+ /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_2__);
480
+ /* harmony import */ var _dom_query__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-query */ "./src/core/dom-query.js");
481
+ /* harmony import */ var _Flash_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Flash/component.jsx */ "./src/core/Flash/component.jsx");
482
+ 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; }
483
+
484
+ 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; }
485
+
486
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
487
+
488
+
489
+
490
+
491
+
492
+
493
+ var COOKIE_EXPIRY = 90;
494
+ var COLLAPSE_TRIGGER_DISTANCE = 5;
495
+ var SCROLL_LISTENER_THROTTLE = 100;
496
+ var RESIZE_LISTENER_THROTTLE = 100;
497
+
498
+ var isMdViewport = function isMdViewport() {
499
+ return !window.matchMedia("(min-width: 65rem)").matches;
500
+ };
501
+
502
+ var adjustFlashMargin = function adjustFlashMargin(open) {
503
+ // HACK ALERT
504
+ // Add margin to flashes when opening the notice.
505
+ // Flashes are react components and this notice needs to work as a view-component and react component.
506
+ // We could do this with redux but then we potentially update state on every scroll event, which
507
+ // even with debounce will deplate our frame budget.
508
+ var flash = (0,_dom_query__WEBPACK_IMPORTED_MODULE_3__.queryId)(_Flash_component_jsx__WEBPACK_IMPORTED_MODULE_4__.FLASH_DATA_ID);
509
+
510
+ if (flash) {
511
+ flash.style.marginTop = open ? "4rem" : null;
512
+ }
513
+ };
514
+
515
+ var hideOnMobile = function hideOnMobile(bannerContainer) {
516
+ if (isMdViewport()) {
517
+ bannerContainer.style.display = "none";
518
+ } else {
519
+ bannerContainer.style.display = null;
520
+ }
521
+ };
522
+
523
+ var hideNotice = function hideNotice(bannerContainer) {
524
+ bannerContainer.style.maxHeight = 0;
525
+ bannerContainer.style.overflow = "hidden";
526
+ adjustFlashMargin(false);
527
+ };
528
+
529
+ var showNotice = function showNotice(bannerContainer) {
530
+ bannerContainer.style.maxHeight = null;
531
+ bannerContainer.style.overflow = null;
532
+ adjustFlashMargin(true);
533
+ };
534
+
535
+ var setupRememberClosed = function setupRememberClosed(cookieId, noticeId) {
536
+ var cookie = js_cookie__WEBPACK_IMPORTED_MODULE_1___default().get(cookieId) || "";
537
+ js_cookie__WEBPACK_IMPORTED_MODULE_1___default().set(cookieId, "".concat(cookie.replace("".concat(noticeId, ","), "") + noticeId, ","), {
538
+ expires: COOKIE_EXPIRY
539
+ });
540
+ };
541
+
542
+ var hasBeenClosedBefore = function hasBeenClosedBefore(cookieId, noticeId) {
543
+ return (js_cookie__WEBPACK_IMPORTED_MODULE_1___default().get(cookieId) || "").includes(noticeId);
544
+ };
545
+
546
+ var setupNoticeCollapse = function setupNoticeCollapse(bannerContainer) {
547
+ var scrollTop = window.scrollY;
548
+
549
+ if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
550
+ hideNotice(bannerContainer);
551
+ }
552
+
553
+ var listener = lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default()(function () {
554
+ var scrollTop = window.scrollY;
555
+
556
+ if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
557
+ hideNotice(bannerContainer);
558
+ } else if (bannerContainer.style.overflow) {
559
+ showNotice(bannerContainer);
560
+ }
561
+ }, SCROLL_LISTENER_THROTTLE);
562
+ document.addEventListener("scroll", listener);
563
+ return function () {
564
+ return document.removeEventListener("scroll", listener);
565
+ };
566
+ };
567
+
568
+ var setupCloseBtn = function setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners) {
569
+ var closeBtn = bannerContainer.querySelector("button");
570
+ if (!closeBtn) return function () {};
571
+
572
+ var listener = function listener() {
573
+ if (cookieId && noticeId) setupRememberClosed(cookieId, noticeId);
574
+ hideNotice(bannerContainer);
575
+ collapseUnmountListeners();
576
+ };
577
+
578
+ closeBtn.addEventListener("click", listener);
579
+ return function () {
580
+ return document.removeEventListener("click", listener);
581
+ };
582
+ };
583
+
584
+ var resizeHandler = function resizeHandler(bannerContainer) {
585
+ var handler = lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default()(function () {
586
+ hideOnMobile(bannerContainer);
587
+ }, RESIZE_LISTENER_THROTTLE);
588
+ window.addEventListener("resize", handler);
589
+ return function () {
590
+ return window.removeEventListener("resize", handler);
591
+ };
592
+ };
593
+
594
+ var Notice = function Notice(_ref) {
595
+ var bannerContainer = _ref.bannerContainer,
596
+ cookieId = _ref.cookieId,
597
+ noticeId = _ref.noticeId,
598
+ options = _ref.options;
599
+ if (typeof window === "undefined") return function () {};
600
+
601
+ if (!bannerContainer) {
602
+ console.warn("A Notice component was initited but no notice container was found.");
603
+ return function () {};
604
+ }
605
+
606
+ if (hasBeenClosedBefore(cookieId, noticeId)) return function () {};
607
+ hideOnMobile(bannerContainer);
608
+ showNotice(bannerContainer);
609
+
610
+ var opts = _objectSpread({
611
+ collapse: true
612
+ }, options);
613
+
614
+ var collapseUnmountListeners = opts.collapse ? setupNoticeCollapse(bannerContainer) : function () {};
615
+ var closeBtnUnmountListeners = setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners);
616
+ var resizeUnmountListener = resizeHandler(bannerContainer);
617
+ return function () {
618
+ [closeBtnUnmountListeners, collapseUnmountListeners, resizeUnmountListener].forEach(function (unmount) {
619
+ return unmount();
620
+ });
621
+ };
622
+ };
623
+
624
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Notice);
625
+
626
+ /***/ }),
627
+
628
+ /***/ "./src/core/dom-query.js":
629
+ /*!*******************************!*\
630
+ !*** ./src/core/dom-query.js ***!
631
+ \*******************************/
480
632
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
481
633
 
634
+ "use strict";
635
+ __webpack_require__.r(__webpack_exports__);
482
636
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
483
- /* harmony export */ "A": () => (/* binding */ queryId)
637
+ /* harmony export */ "queryId": () => (/* binding */ queryId),
638
+ /* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
484
639
  /* harmony export */ });
485
- /* unused harmony export queryIdAll */
486
640
  var queryId = function queryId(val) {
487
641
  var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
488
642
  return root.querySelector("[data-id=".concat(val, "]"));
@@ -494,15 +648,21 @@ var queryIdAll = function queryIdAll(val) {
494
648
 
495
649
  /***/ }),
496
650
 
497
- /***/ 3511:
651
+ /***/ "./src/core/remote-data-store.js":
652
+ /*!***************************************!*\
653
+ !*** ./src/core/remote-data-store.js ***!
654
+ \***************************************/
498
655
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
499
656
 
657
+ "use strict";
658
+ __webpack_require__.r(__webpack_exports__);
500
659
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
501
- /* harmony export */ "cO": () => (/* binding */ getRemoteDataStore),
502
- /* harmony export */ "kZ": () => (/* binding */ connectState)
660
+ /* harmony export */ "attachStoreToWindow": () => (/* binding */ attachStoreToWindow),
661
+ /* harmony export */ "connectState": () => (/* binding */ connectState),
662
+ /* harmony export */ "createRemoteDataStore": () => (/* binding */ createRemoteDataStore),
663
+ /* harmony export */ "getRemoteDataStore": () => (/* binding */ getRemoteDataStore)
503
664
  /* harmony export */ });
504
- /* unused harmony exports attachStoreToWindow, createRemoteDataStore */
505
- /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5044);
665
+ /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "redux");
506
666
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
507
667
 
508
668
  var attachStoreToWindow = function attachStoreToWindow(store) {
@@ -531,50 +691,120 @@ var connectState = function connectState(selector, setState) {
531
691
  });
532
692
  };
533
693
  var createRemoteDataStore = function createRemoteDataStore(reducers) {
534
- return createStore(combineReducers(reducers));
694
+ return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)((0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducers));
535
695
  };
536
696
 
537
697
  /***/ }),
538
698
 
539
- /***/ 6357:
699
+ /***/ "./src/core/Notice/component.css":
700
+ /*!***************************************!*\
701
+ !*** ./src/core/Notice/component.css ***!
702
+ \***************************************/
703
+ /***/ (() => {
704
+
705
+
706
+
707
+ /***/ }),
708
+
709
+ /***/ "dompurify":
710
+ /*!*****************************************************************!*\
711
+ !*** external {"commonjs":"dompurify","commonjs2":"dompurify"} ***!
712
+ \*****************************************************************/
540
713
  /***/ ((module) => {
541
714
 
542
- module.exports = __WEBPACK_EXTERNAL_MODULE__6357__;
715
+ "use strict";
716
+ module.exports = __WEBPACK_EXTERNAL_MODULE_dompurify__;
543
717
 
544
718
  /***/ }),
545
719
 
546
- /***/ 9349:
720
+ /***/ "js-cookie":
721
+ /*!*****************************************************************!*\
722
+ !*** external {"commonjs":"js-cookie","commonjs2":"js-cookie"} ***!
723
+ \*****************************************************************/
547
724
  /***/ ((module) => {
548
725
 
549
- module.exports = __WEBPACK_EXTERNAL_MODULE__9349__;
726
+ "use strict";
727
+ module.exports = __WEBPACK_EXTERNAL_MODULE_js_cookie__;
550
728
 
551
729
  /***/ }),
552
730
 
553
- /***/ 2040:
731
+ /***/ "lodash.throttle":
732
+ /*!*****************************************************************************!*\
733
+ !*** external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"} ***!
734
+ \*****************************************************************************/
554
735
  /***/ ((module) => {
555
736
 
556
- module.exports = __WEBPACK_EXTERNAL_MODULE__2040__;
737
+ "use strict";
738
+ module.exports = __WEBPACK_EXTERNAL_MODULE_lodash_throttle__;
557
739
 
558
740
  /***/ }),
559
741
 
560
- /***/ 3474:
742
+ /***/ "prop-types":
743
+ /*!*******************************************************************!*\
744
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
745
+ \*******************************************************************/
561
746
  /***/ ((module) => {
562
747
 
563
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
748
+ "use strict";
749
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
564
750
 
565
751
  /***/ }),
566
752
 
567
- /***/ 9281:
753
+ /***/ "react":
754
+ /*!*********************************************************!*\
755
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
756
+ \*********************************************************/
568
757
  /***/ ((module) => {
569
758
 
570
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
759
+ "use strict";
760
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
571
761
 
572
762
  /***/ }),
573
763
 
574
- /***/ 5044:
764
+ /***/ "redux":
765
+ /*!*********************************************************!*\
766
+ !*** external {"commonjs":"redux","commonjs2":"redux"} ***!
767
+ \*********************************************************/
575
768
  /***/ ((module) => {
576
769
 
577
- module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
770
+ "use strict";
771
+ module.exports = __WEBPACK_EXTERNAL_MODULE_redux__;
772
+
773
+ /***/ }),
774
+
775
+ /***/ "./node_modules/nanoid/non-secure/index.js":
776
+ /*!*************************************************!*\
777
+ !*** ./node_modules/nanoid/non-secure/index.js ***!
778
+ \*************************************************/
779
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
780
+
781
+ "use strict";
782
+ __webpack_require__.r(__webpack_exports__);
783
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
784
+ /* harmony export */ "customAlphabet": () => (/* binding */ customAlphabet),
785
+ /* harmony export */ "nanoid": () => (/* binding */ nanoid)
786
+ /* harmony export */ });
787
+ let urlAlphabet =
788
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
789
+ let customAlphabet = (alphabet, defaultSize = 21) => {
790
+ return (size = defaultSize) => {
791
+ let id = ''
792
+ let i = size
793
+ while (i--) {
794
+ id += alphabet[(Math.random() * alphabet.length) | 0]
795
+ }
796
+ return id
797
+ }
798
+ }
799
+ let nanoid = (size = 21) => {
800
+ let id = ''
801
+ let i = size
802
+ while (i--) {
803
+ id += urlAlphabet[(Math.random() * 64) | 0]
804
+ }
805
+ return id
806
+ }
807
+
578
808
 
579
809
  /***/ })
580
810
 
@@ -647,179 +877,22 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
647
877
  /******/
648
878
  /************************************************************************/
649
879
  var __webpack_exports__ = {};
650
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
880
+ // This entry need to be wrapped in an IIFE because it need to be in strict mode.
651
881
  (() => {
652
- // ESM COMPAT FLAG
882
+ "use strict";
883
+ /*!***************************************!*\
884
+ !*** ./src/core/Notice/component.jsx ***!
885
+ \***************************************/
653
886
  __webpack_require__.r(__webpack_exports__);
654
-
655
- // EXPORTS
656
- __webpack_require__.d(__webpack_exports__, {
657
- "default": () => (/* binding */ core_Notice_component)
658
- });
659
-
660
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
661
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
662
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
663
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
664
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
665
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
666
- // EXTERNAL MODULE: external {"commonjs":"js-cookie","commonjs2":"js-cookie"}
667
- var external_commonjs_js_cookie_commonjs2_js_cookie_ = __webpack_require__(9349);
668
- var external_commonjs_js_cookie_commonjs2_js_cookie_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_js_cookie_commonjs2_js_cookie_);
669
- // EXTERNAL MODULE: external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"}
670
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_require__(2040);
671
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
672
- // EXTERNAL MODULE: ./src/core/dom-query.js
673
- var dom_query = __webpack_require__(9581);
674
- // EXTERNAL MODULE: ./src/core/Flash/component.jsx + 1 modules
675
- var component = __webpack_require__(8696);
676
- ;// CONCATENATED MODULE: ./src/core/Notice/component.js
677
- 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; }
678
-
679
- 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; }
680
-
681
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
682
-
683
-
684
-
685
-
686
-
687
-
688
- var COOKIE_EXPIRY = 90;
689
- var COLLAPSE_TRIGGER_DISTANCE = 5;
690
- var SCROLL_LISTENER_THROTTLE = 100;
691
- var RESIZE_LISTENER_THROTTLE = 100;
692
-
693
- var isMdViewport = function isMdViewport() {
694
- return !window.matchMedia("(min-width: 65rem)").matches;
695
- };
696
-
697
- var adjustFlashMargin = function adjustFlashMargin(open) {
698
- // HACK ALERT
699
- // Add margin to flashes when opening the notice.
700
- // Flashes are react components and this notice needs to work as a view-component and react component.
701
- // We could do this with redux but then we potentially update state on every scroll event, which
702
- // even with debounce will deplate our frame budget.
703
- var flash = (0,dom_query/* queryId */.A)(component.FLASH_DATA_ID);
704
-
705
- if (flash) {
706
- flash.style.marginTop = open ? "4rem" : null;
707
- }
708
- };
709
-
710
- var hideOnMobile = function hideOnMobile(bannerContainer) {
711
- if (isMdViewport()) {
712
- bannerContainer.style.display = "none";
713
- } else {
714
- bannerContainer.style.display = null;
715
- }
716
- };
717
-
718
- var hideNotice = function hideNotice(bannerContainer) {
719
- bannerContainer.style.maxHeight = 0;
720
- bannerContainer.style.overflow = "hidden";
721
- adjustFlashMargin(false);
722
- };
723
-
724
- var showNotice = function showNotice(bannerContainer) {
725
- bannerContainer.style.maxHeight = null;
726
- bannerContainer.style.overflow = null;
727
- adjustFlashMargin(true);
728
- };
729
-
730
- var setupRememberClosed = function setupRememberClosed(cookieId, noticeId) {
731
- var cookie = external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "";
732
- external_commonjs_js_cookie_commonjs2_js_cookie_default().set(cookieId, "".concat(cookie.replace("".concat(noticeId, ","), "") + noticeId, ","), {
733
- expires: COOKIE_EXPIRY
734
- });
735
- };
736
-
737
- var hasBeenClosedBefore = function hasBeenClosedBefore(cookieId, noticeId) {
738
- return (external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "").includes(noticeId);
739
- };
740
-
741
- var setupNoticeCollapse = function setupNoticeCollapse(bannerContainer) {
742
- var scrollTop = window.scrollY;
743
-
744
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
745
- hideNotice(bannerContainer);
746
- }
747
-
748
- var listener = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
749
- var scrollTop = window.scrollY;
750
-
751
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
752
- hideNotice(bannerContainer);
753
- } else if (bannerContainer.style.overflow) {
754
- showNotice(bannerContainer);
755
- }
756
- }, SCROLL_LISTENER_THROTTLE);
757
- document.addEventListener("scroll", listener);
758
- return function () {
759
- return document.removeEventListener("scroll", listener);
760
- };
761
- };
762
-
763
- var setupCloseBtn = function setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners) {
764
- var closeBtn = bannerContainer.querySelector("button");
765
- if (!closeBtn) return function () {};
766
-
767
- var listener = function listener() {
768
- if (cookieId && noticeId) setupRememberClosed(cookieId, noticeId);
769
- hideNotice(bannerContainer);
770
- collapseUnmountListeners();
771
- };
772
-
773
- closeBtn.addEventListener("click", listener);
774
- return function () {
775
- return document.removeEventListener("click", listener);
776
- };
777
- };
778
-
779
- var resizeHandler = function resizeHandler(bannerContainer) {
780
- var handler = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
781
- hideOnMobile(bannerContainer);
782
- }, RESIZE_LISTENER_THROTTLE);
783
- window.addEventListener("resize", handler);
784
- return function () {
785
- return window.removeEventListener("resize", handler);
786
- };
787
- };
788
-
789
- var Notice = function Notice(_ref) {
790
- var bannerContainer = _ref.bannerContainer,
791
- cookieId = _ref.cookieId,
792
- noticeId = _ref.noticeId,
793
- options = _ref.options;
794
- if (typeof window === "undefined") return function () {};
795
-
796
- if (!bannerContainer) {
797
- console.warn("A Notice component was initited but no notice container was found.");
798
- return function () {};
799
- }
800
-
801
- if (hasBeenClosedBefore(cookieId, noticeId)) return function () {};
802
- hideOnMobile(bannerContainer);
803
- showNotice(bannerContainer);
804
-
805
- var opts = _objectSpread({
806
- collapse: true
807
- }, options);
808
-
809
- var collapseUnmountListeners = opts.collapse ? setupNoticeCollapse(bannerContainer) : function () {};
810
- var closeBtnUnmountListeners = setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners);
811
- var resizeUnmountListener = resizeHandler(bannerContainer);
812
- return function () {
813
- [closeBtnUnmountListeners, collapseUnmountListeners, resizeUnmountListener].forEach(function (unmount) {
814
- return unmount();
815
- });
816
- };
817
- };
818
-
819
- /* harmony default export */ const Notice_component = (Notice);
820
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
821
- var Icon_component = __webpack_require__(9008);
822
- ;// CONCATENATED MODULE: ./src/core/Notice/component.jsx
887
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
888
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
889
+ /* harmony export */ });
890
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
891
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
892
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
893
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
894
+ /* harmony import */ var _component_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component.js */ "./src/core/Notice/component.js");
895
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
823
896
 
824
897
 
825
898
  var contentWrapperClasses = "font-light w-full pr-8 text-p3 self-center";
@@ -829,20 +902,20 @@ var contentWrapperClasses = "font-light w-full pr-8 text-p3 self-center";
829
902
  var ContentWrapper = function ContentWrapper(_ref) {
830
903
  var buttonLink = _ref.buttonLink,
831
904
  children = _ref.children;
832
- return buttonLink ? /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
905
+ return buttonLink ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
833
906
  href: buttonLink,
834
907
  className: contentWrapperClasses
835
- }, children) : /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
908
+ }, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
836
909
  className: contentWrapperClasses
837
910
  }, children);
838
911
  };
839
912
 
840
913
  ContentWrapper.propTypes = {
841
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
842
- children: (external_commonjs_prop_types_commonjs2_prop_types_default()).node
914
+ buttonLink: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
915
+ children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
843
916
  };
844
917
 
845
- var component_Notice = function Notice(_ref2) {
918
+ var Notice = function Notice(_ref2) {
846
919
  var buttonLink = _ref2.buttonLink,
847
920
  buttonLabel = _ref2.buttonLabel,
848
921
  bodyText = _ref2.bodyText,
@@ -853,8 +926,8 @@ var component_Notice = function Notice(_ref2) {
853
926
  bgColor = _ref2$bgColor === void 0 ? "bg-gradient-active-orange" : _ref2$bgColor,
854
927
  _ref2$textColor = _ref2.textColor,
855
928
  textColor = _ref2$textColor === void 0 ? "text-white" : _ref2$textColor;
856
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
857
- Notice_component({
929
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
930
+ (0,_component_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
858
931
  bannerContainer: document.querySelector('[data-id="ui-notice"]'),
859
932
  cookieId: config.cookieId,
860
933
  noticeId: config.noticeId,
@@ -864,48 +937,48 @@ var component_Notice = function Notice(_ref2) {
864
937
  });
865
938
  }, []);
866
939
  var wrapperClasses = ["ui-announcement", bgColor, textColor].join(" ");
867
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
940
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
868
941
  className: wrapperClasses,
869
942
  "data-id": "ui-notice",
870
943
  style: {
871
944
  maxHeight: 0,
872
945
  overflow: "hidden"
873
946
  }
874
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
947
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
875
948
  className: "ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"
876
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(ContentWrapper, {
949
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(ContentWrapper, {
877
950
  buttonLink: buttonLink
878
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("strong", {
951
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", {
879
952
  className: "font-medium whitespace-nowrap pr-4"
880
- }, title), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
953
+ }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
881
954
  className: "pr-4"
882
- }, bodyText), buttonLabel && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
955
+ }, bodyText), buttonLabel && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
883
956
  className: "underline cursor-pointer whitespace-nowrap"
884
- }, buttonLabel)), closeBtn && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
957
+ }, buttonLabel)), closeBtn && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
885
958
  type: "button",
886
959
  className: "ml-auto h-20 w-20 border-none bg-none self-baseline"
887
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
960
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
888
961
  name: "icon-gui-close",
889
962
  size: "1.25rem",
890
963
  color: "text-white"
891
964
  }))));
892
965
  };
893
966
 
894
- component_Notice.propTypes = {
895
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
896
- buttonLabel: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
897
- bodyText: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
898
- title: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
899
- closeBtn: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
900
- config: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
901
- collapse: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
902
- noticeId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
903
- cookieId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
967
+ Notice.propTypes = {
968
+ buttonLink: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
969
+ buttonLabel: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
970
+ bodyText: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
971
+ title: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
972
+ closeBtn: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
973
+ config: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
974
+ collapse: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
975
+ noticeId: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
976
+ cookieId: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
904
977
  }),
905
- bgColor: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
906
- textColor: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
978
+ bgColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
979
+ textColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
907
980
  };
908
- /* harmony default export */ const core_Notice_component = (component_Notice);
981
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Notice);
909
982
  })();
910
983
 
911
984
  /******/ return __webpack_exports__;