@ably/ui 8.7.0-dev.7021bee → 8.7.0-dev.7072b07

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +15 -4
  2. package/core/.DS_Store +0 -0
  3. package/core/Code/component.css +2 -0
  4. package/core/Code/component.js +739 -1
  5. package/core/Code.jsx +557 -410
  6. package/core/CompanyAutocomplete/component.css +2 -0
  7. package/core/CompanyAutocomplete/component.js +1161 -1
  8. package/core/ConnectStateWrapper/component.js +22 -1
  9. package/core/ConnectStateWrapper.jsx +29 -15
  10. package/core/ContactFooter/component.css +2 -0
  11. package/core/ContactFooter/component.js +211 -1
  12. package/core/ContactFooter.jsx +221 -144
  13. package/core/CookieMessage/component.css +2 -0
  14. package/core/CookieMessage/component.js +82 -1
  15. package/core/CookieMessage.jsx +62 -45
  16. package/core/CustomerLogos/component.js +22 -1
  17. package/core/CustomerLogos.jsx +16 -7
  18. package/core/DropdownMenu/component.js +22 -1
  19. package/core/DropdownMenu.jsx +26 -13
  20. package/core/FeatureFooter/component.css +2 -0
  21. package/core/FeatureFooter/component.js +211 -1
  22. package/core/FeaturedLink/component.css +2 -0
  23. package/core/FeaturedLink/component.js +82 -1
  24. package/core/FeaturedLink.jsx +25 -12
  25. package/core/Flash/component.css +2 -0
  26. package/core/Flash/component.js +82 -1
  27. package/core/Flash.jsx +132 -104
  28. package/core/Footer/component.css +23 -1
  29. package/core/Footer/component.js +82 -1
  30. package/core/Footer.jsx +307 -203
  31. package/core/Icon/component.js +22 -1
  32. package/core/Icon.jsx +16 -7
  33. package/core/Loader/component.js +22 -1
  34. package/core/Loader.jsx +16 -7
  35. package/core/Logo/component.js +22 -1
  36. package/core/Logo.jsx +16 -7
  37. package/core/Meganav/component.css +3 -3
  38. package/core/Meganav/component.js +992 -1
  39. package/core/Meganav/component.json +2 -2
  40. package/core/Meganav.jsx +2702 -2361
  41. package/core/MeganavBlogPostsList/component.js +1159 -1
  42. package/core/MeganavBlogPostsList.jsx +34 -17
  43. package/core/MeganavContentCompany/component.js +22 -1
  44. package/core/MeganavContentCompany.jsx +293 -216
  45. package/core/MeganavContentDevelopers/component.js +22 -1
  46. package/core/MeganavContentDevelopers.jsx +68 -30
  47. package/core/MeganavContentPlatform/component.js +1 -1
  48. package/core/MeganavContentPlatform.jsx +26 -50
  49. package/core/MeganavContentProducts/component.js +22 -0
  50. package/core/MeganavContentProducts.jsx +350 -0
  51. package/core/MeganavContentUseCases/component.js +22 -1
  52. package/core/MeganavContentUseCases.jsx +77 -56
  53. package/core/MeganavControl/component.js +241 -1
  54. package/core/MeganavControl.jsx +25 -12
  55. package/core/MeganavControlMobileDropdown/component.js +180 -1
  56. package/core/MeganavControlMobileDropdown.jsx +26 -13
  57. package/core/MeganavControlMobilePanelClose/component.js +142 -1
  58. package/core/MeganavControlMobilePanelClose.jsx +25 -12
  59. package/core/MeganavControlMobilePanelOpen/component.js +170 -1
  60. package/core/MeganavControlMobilePanelOpen.jsx +25 -12
  61. package/core/MeganavItemsDesktop/component.js +22 -1
  62. package/core/MeganavItemsDesktop.jsx +42 -22
  63. package/core/MeganavItemsMobile/component.js +22 -1
  64. package/core/MeganavItemsMobile.jsx +104 -60
  65. package/core/MeganavItemsSignedIn/component.js +22 -1
  66. package/core/MeganavItemsSignedIn.jsx +93 -52
  67. package/core/MeganavSearch/component.js +22 -1
  68. package/core/MeganavSearch.jsx +64 -35
  69. package/core/MeganavSearchAutocomplete/component.js +295 -1
  70. package/core/MeganavSearchAutocomplete.jsx +10 -4
  71. package/core/MeganavSearchPanel/component.js +22 -1
  72. package/core/MeganavSearchPanel.jsx +53 -28
  73. package/core/MeganavSearchSuggestions/component.js +258 -1
  74. package/core/MeganavSearchSuggestions.jsx +34 -17
  75. package/core/Notice/component.css +2 -0
  76. package/core/Notice/component.js +872 -1
  77. package/core/Notice.jsx +380 -310
  78. package/core/Showcase/component.css +2 -0
  79. package/core/Showcase/component.js +343 -1
  80. package/core/Showcase.jsx +4 -1
  81. package/core/SignOutLink/component.js +22 -1
  82. package/core/SignOutLink.jsx +16 -7
  83. package/core/Slider/component.css +2 -0
  84. package/core/Slider/component.js +255 -1
  85. package/core/Slider.jsx +208 -156
  86. package/core/Uptime/component.css +2 -0
  87. package/core/Uptime/component.js +82 -1
  88. package/core/Uptime.jsx +46 -23
  89. package/core/images/best-support-2023.svg +1 -0
  90. package/core/images/fastest-implementation-2023.svg +1 -0
  91. package/core/images/high-performer-2022.png +0 -0
  92. package/core/images/high-performer-2023.svg +1 -0
  93. package/core/images/highest-user-adoption-2022.png +0 -0
  94. package/core/images/highest-user-adoption-2023.svg +1 -0
  95. package/core/images/users-love-us-2022.png +0 -0
  96. package/core/scripts.js +1465 -1
  97. package/core/sprites.svg +99 -0
  98. package/core/styles.css +3 -7
  99. package/package.json +5 -3
  100. package/reset/scripts.js +1 -1
  101. package/reset/styles.css +1 -11
  102. package/src/.DS_Store +0 -0
  103. package/src/core/.DS_Store +0 -0
  104. package/src/core/Flash/component.jsx +0 -2
  105. package/src/core/Footer/component.css +21 -1
  106. package/src/core/Footer/component.html.erb +120 -63
  107. package/src/core/Footer/component.jsx +128 -61
  108. package/src/core/Meganav/component.css +1 -1
  109. package/src/core/Meganav/component.json +2 -2
  110. package/src/core/Meganav/component.jsx +2 -2
  111. package/src/core/Meganav/component.rb +6 -6
  112. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  113. package/src/core/MeganavContentCompany/component.jsx +9 -0
  114. package/src/core/MeganavContentDevelopers/component.html.erb +30 -14
  115. package/src/core/MeganavContentDevelopers/component.jsx +32 -13
  116. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  117. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  118. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  119. package/src/core/MeganavContentUseCases/component.html.erb +42 -38
  120. package/src/core/MeganavContentUseCases/component.jsx +41 -38
  121. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  122. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  123. package/src/core/core.rb +12 -4
  124. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  125. package/src/core/icons/icon-display-chat-col.svg +4 -0
  126. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  127. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  128. package/src/core/icons/icon-display-events-col.svg +13 -0
  129. package/src/core/icons/icon-display-examples-col.svg +11 -0
  130. package/src/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  131. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  132. package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  133. package/src/core/icons/icon-social-x.svg +3 -0
  134. package/src/core/icons/icon-tech-apachekafka.svg +3 -0
  135. package/src/core/images/best-support-2023.svg +1 -0
  136. package/src/core/images/fastest-implementation-2023.svg +1 -0
  137. package/src/core/images/high-performer-2022.png +0 -0
  138. package/src/core/images/high-performer-2023.svg +1 -0
  139. package/src/core/images/highest-user-adoption-2022.png +0 -0
  140. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  141. package/src/core/images/users-love-us-2022.png +0 -0
  142. package/src/core/styles/text.css +1 -1
  143. package/src/core/utils/syntax-highlighter-registry.js +2 -0
  144. package/src/core/utils/syntax-highlighter.js +5 -0
  145. package/tailwind.config.js +1 -0
  146. package/core/Meganav/component.js.LICENSE.txt +0 -7
  147. package/core/MeganavContentWhyAbly/component.js +0 -6
  148. package/core/MeganavContentWhyAbly.jsx +0 -6
  149. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  150. package/core/Notice/component.js.LICENSE.txt +0 -9
  151. package/core/fonts/.DS_Store +0 -0
  152. package/core/images/.DS_Store +0 -0
  153. package/core/scripts.js.LICENSE.txt +0 -32
  154. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep +0 -0
  155. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
  156. package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
  157. package/src/core/fonts/.DS_Store +0 -0
  158. package/src/core/images/.DS_Store +0 -0
  159. package/src/reset/.DS_Store +0 -0
  160. /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,26 +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
- console.log({
373
- flashesWithIds: flashesWithIds
374
- });
375
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
351
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
376
352
  className: "ui-flash",
377
353
  "data-id": FLASH_DATA_ID
378
354
  }, flashesWithIds.filter(function (item) {
379
355
  return !item.removed;
380
356
  }).map(function (flash) {
381
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
357
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Flash, _extends({
382
358
  removeFlash: removeFlash,
383
359
  key: flash.id
384
360
  }, flash));
@@ -386,14 +362,14 @@ var Flashes = function Flashes(_ref2) {
386
362
  };
387
363
 
388
364
  Flashes.propTypes = {
389
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
390
- 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))
391
367
  })
392
368
  };
393
369
 
394
370
  var BackendFlashes = function BackendFlashes(_ref3) {
395
371
  var flashes = _ref3.flashes;
396
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
372
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
397
373
  var transformedFlashes = flashes.map(function (flash) {
398
374
  var _flash = _slicedToArray(flash, 2),
399
375
  type = _flash[0],
@@ -406,36 +382,41 @@ var BackendFlashes = function BackendFlashes(_ref3) {
406
382
  }) || [];
407
383
 
408
384
  if (transformedFlashes.length > 0) {
409
- var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
385
+ var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_3__.getRemoteDataStore)();
410
386
  store.dispatch({
411
387
  type: "flash/push",
412
388
  payload: transformedFlashes
413
389
  });
414
390
  }
415
391
  }, []);
416
- var WrappedFlashes = (0,component.default)(Flashes, {
392
+ var WrappedFlashes = (0,_ConnectStateWrapper_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"])(Flashes, {
417
393
  flashes: selectFlashes
418
394
  });
419
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
395
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(WrappedFlashes, null);
420
396
  };
421
397
 
422
398
  BackendFlashes.propTypes = {
423
- 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)))
424
400
  };
425
401
 
426
- /* harmony default export */ const Flash_component = ((/* unused pure expression or super */ null && (BackendFlashes)));
402
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BackendFlashes);
427
403
 
428
404
  /***/ }),
429
405
 
430
- /***/ 9008:
406
+ /***/ "./src/core/Icon/component.jsx":
407
+ /*!*************************************!*\
408
+ !*** ./src/core/Icon/component.jsx ***!
409
+ \*************************************/
431
410
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
432
411
 
412
+ "use strict";
413
+ __webpack_require__.r(__webpack_exports__);
433
414
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
434
415
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
435
416
  /* harmony export */ });
436
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
417
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
437
418
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
438
- /* 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");
439
420
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
440
421
  var _excluded = ["name", "size", "color", "additionalCSS"];
441
422
 
@@ -479,13 +460,183 @@ Icon.propTypes = {
479
460
 
480
461
  /***/ }),
481
462
 
482
- /***/ 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
+ \*******************************/
483
632
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
484
633
 
634
+ "use strict";
635
+ __webpack_require__.r(__webpack_exports__);
485
636
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
486
- /* harmony export */ "A": () => (/* binding */ queryId)
637
+ /* harmony export */ "queryId": () => (/* binding */ queryId),
638
+ /* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
487
639
  /* harmony export */ });
488
- /* unused harmony export queryIdAll */
489
640
  var queryId = function queryId(val) {
490
641
  var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
491
642
  return root.querySelector("[data-id=".concat(val, "]"));
@@ -497,15 +648,21 @@ var queryIdAll = function queryIdAll(val) {
497
648
 
498
649
  /***/ }),
499
650
 
500
- /***/ 3511:
651
+ /***/ "./src/core/remote-data-store.js":
652
+ /*!***************************************!*\
653
+ !*** ./src/core/remote-data-store.js ***!
654
+ \***************************************/
501
655
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
502
656
 
657
+ "use strict";
658
+ __webpack_require__.r(__webpack_exports__);
503
659
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
504
- /* harmony export */ "cO": () => (/* binding */ getRemoteDataStore),
505
- /* 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)
506
664
  /* harmony export */ });
507
- /* unused harmony exports attachStoreToWindow, createRemoteDataStore */
508
- /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5044);
665
+ /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "redux");
509
666
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
510
667
 
511
668
  var attachStoreToWindow = function attachStoreToWindow(store) {
@@ -534,50 +691,120 @@ var connectState = function connectState(selector, setState) {
534
691
  });
535
692
  };
536
693
  var createRemoteDataStore = function createRemoteDataStore(reducers) {
537
- return createStore(combineReducers(reducers));
694
+ return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)((0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducers));
538
695
  };
539
696
 
540
697
  /***/ }),
541
698
 
542
- /***/ 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
+ \*****************************************************************/
543
713
  /***/ ((module) => {
544
714
 
545
- module.exports = __WEBPACK_EXTERNAL_MODULE__6357__;
715
+ "use strict";
716
+ module.exports = __WEBPACK_EXTERNAL_MODULE_dompurify__;
546
717
 
547
718
  /***/ }),
548
719
 
549
- /***/ 9349:
720
+ /***/ "js-cookie":
721
+ /*!*****************************************************************!*\
722
+ !*** external {"commonjs":"js-cookie","commonjs2":"js-cookie"} ***!
723
+ \*****************************************************************/
550
724
  /***/ ((module) => {
551
725
 
552
- module.exports = __WEBPACK_EXTERNAL_MODULE__9349__;
726
+ "use strict";
727
+ module.exports = __WEBPACK_EXTERNAL_MODULE_js_cookie__;
553
728
 
554
729
  /***/ }),
555
730
 
556
- /***/ 2040:
731
+ /***/ "lodash.throttle":
732
+ /*!*****************************************************************************!*\
733
+ !*** external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"} ***!
734
+ \*****************************************************************************/
557
735
  /***/ ((module) => {
558
736
 
559
- module.exports = __WEBPACK_EXTERNAL_MODULE__2040__;
737
+ "use strict";
738
+ module.exports = __WEBPACK_EXTERNAL_MODULE_lodash_throttle__;
560
739
 
561
740
  /***/ }),
562
741
 
563
- /***/ 3474:
742
+ /***/ "prop-types":
743
+ /*!*******************************************************************!*\
744
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
745
+ \*******************************************************************/
564
746
  /***/ ((module) => {
565
747
 
566
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
748
+ "use strict";
749
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
567
750
 
568
751
  /***/ }),
569
752
 
570
- /***/ 9281:
753
+ /***/ "react":
754
+ /*!*********************************************************!*\
755
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
756
+ \*********************************************************/
571
757
  /***/ ((module) => {
572
758
 
573
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
759
+ "use strict";
760
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
574
761
 
575
762
  /***/ }),
576
763
 
577
- /***/ 5044:
764
+ /***/ "redux":
765
+ /*!*********************************************************!*\
766
+ !*** external {"commonjs":"redux","commonjs2":"redux"} ***!
767
+ \*********************************************************/
578
768
  /***/ ((module) => {
579
769
 
580
- 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
+
581
808
 
582
809
  /***/ })
583
810
 
@@ -650,179 +877,22 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
650
877
  /******/
651
878
  /************************************************************************/
652
879
  var __webpack_exports__ = {};
653
- // 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.
654
881
  (() => {
655
- // ESM COMPAT FLAG
882
+ "use strict";
883
+ /*!***************************************!*\
884
+ !*** ./src/core/Notice/component.jsx ***!
885
+ \***************************************/
656
886
  __webpack_require__.r(__webpack_exports__);
657
-
658
- // EXPORTS
659
- __webpack_require__.d(__webpack_exports__, {
660
- "default": () => (/* binding */ core_Notice_component)
661
- });
662
-
663
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
664
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
665
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
666
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
667
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
668
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
669
- // EXTERNAL MODULE: external {"commonjs":"js-cookie","commonjs2":"js-cookie"}
670
- var external_commonjs_js_cookie_commonjs2_js_cookie_ = __webpack_require__(9349);
671
- var external_commonjs_js_cookie_commonjs2_js_cookie_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_js_cookie_commonjs2_js_cookie_);
672
- // EXTERNAL MODULE: external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"}
673
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_require__(2040);
674
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
675
- // EXTERNAL MODULE: ./src/core/dom-query.js
676
- var dom_query = __webpack_require__(9581);
677
- // EXTERNAL MODULE: ./src/core/Flash/component.jsx + 1 modules
678
- var component = __webpack_require__(8696);
679
- ;// CONCATENATED MODULE: ./src/core/Notice/component.js
680
- 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; }
681
-
682
- 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; }
683
-
684
- 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; }
685
-
686
-
687
-
688
-
689
-
690
-
691
- var COOKIE_EXPIRY = 90;
692
- var COLLAPSE_TRIGGER_DISTANCE = 5;
693
- var SCROLL_LISTENER_THROTTLE = 100;
694
- var RESIZE_LISTENER_THROTTLE = 100;
695
-
696
- var isMdViewport = function isMdViewport() {
697
- return !window.matchMedia("(min-width: 65rem)").matches;
698
- };
699
-
700
- var adjustFlashMargin = function adjustFlashMargin(open) {
701
- // HACK ALERT
702
- // Add margin to flashes when opening the notice.
703
- // Flashes are react components and this notice needs to work as a view-component and react component.
704
- // We could do this with redux but then we potentially update state on every scroll event, which
705
- // even with debounce will deplate our frame budget.
706
- var flash = (0,dom_query/* queryId */.A)(component.FLASH_DATA_ID);
707
-
708
- if (flash) {
709
- flash.style.marginTop = open ? "4rem" : null;
710
- }
711
- };
712
-
713
- var hideOnMobile = function hideOnMobile(bannerContainer) {
714
- if (isMdViewport()) {
715
- bannerContainer.style.display = "none";
716
- } else {
717
- bannerContainer.style.display = null;
718
- }
719
- };
720
-
721
- var hideNotice = function hideNotice(bannerContainer) {
722
- bannerContainer.style.maxHeight = 0;
723
- bannerContainer.style.overflow = "hidden";
724
- adjustFlashMargin(false);
725
- };
726
-
727
- var showNotice = function showNotice(bannerContainer) {
728
- bannerContainer.style.maxHeight = null;
729
- bannerContainer.style.overflow = null;
730
- adjustFlashMargin(true);
731
- };
732
-
733
- var setupRememberClosed = function setupRememberClosed(cookieId, noticeId) {
734
- var cookie = external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "";
735
- external_commonjs_js_cookie_commonjs2_js_cookie_default().set(cookieId, "".concat(cookie.replace("".concat(noticeId, ","), "") + noticeId, ","), {
736
- expires: COOKIE_EXPIRY
737
- });
738
- };
739
-
740
- var hasBeenClosedBefore = function hasBeenClosedBefore(cookieId, noticeId) {
741
- return (external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "").includes(noticeId);
742
- };
743
-
744
- var setupNoticeCollapse = function setupNoticeCollapse(bannerContainer) {
745
- var scrollTop = window.scrollY;
746
-
747
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
748
- hideNotice(bannerContainer);
749
- }
750
-
751
- var listener = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
752
- var scrollTop = window.scrollY;
753
-
754
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
755
- hideNotice(bannerContainer);
756
- } else if (bannerContainer.style.overflow) {
757
- showNotice(bannerContainer);
758
- }
759
- }, SCROLL_LISTENER_THROTTLE);
760
- document.addEventListener("scroll", listener);
761
- return function () {
762
- return document.removeEventListener("scroll", listener);
763
- };
764
- };
765
-
766
- var setupCloseBtn = function setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners) {
767
- var closeBtn = bannerContainer.querySelector("button");
768
- if (!closeBtn) return function () {};
769
-
770
- var listener = function listener() {
771
- if (cookieId && noticeId) setupRememberClosed(cookieId, noticeId);
772
- hideNotice(bannerContainer);
773
- collapseUnmountListeners();
774
- };
775
-
776
- closeBtn.addEventListener("click", listener);
777
- return function () {
778
- return document.removeEventListener("click", listener);
779
- };
780
- };
781
-
782
- var resizeHandler = function resizeHandler(bannerContainer) {
783
- var handler = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
784
- hideOnMobile(bannerContainer);
785
- }, RESIZE_LISTENER_THROTTLE);
786
- window.addEventListener("resize", handler);
787
- return function () {
788
- return window.removeEventListener("resize", handler);
789
- };
790
- };
791
-
792
- var Notice = function Notice(_ref) {
793
- var bannerContainer = _ref.bannerContainer,
794
- cookieId = _ref.cookieId,
795
- noticeId = _ref.noticeId,
796
- options = _ref.options;
797
- if (typeof window === "undefined") return function () {};
798
-
799
- if (!bannerContainer) {
800
- console.warn("A Notice component was initited but no notice container was found.");
801
- return function () {};
802
- }
803
-
804
- if (hasBeenClosedBefore(cookieId, noticeId)) return function () {};
805
- hideOnMobile(bannerContainer);
806
- showNotice(bannerContainer);
807
-
808
- var opts = _objectSpread({
809
- collapse: true
810
- }, options);
811
-
812
- var collapseUnmountListeners = opts.collapse ? setupNoticeCollapse(bannerContainer) : function () {};
813
- var closeBtnUnmountListeners = setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners);
814
- var resizeUnmountListener = resizeHandler(bannerContainer);
815
- return function () {
816
- [closeBtnUnmountListeners, collapseUnmountListeners, resizeUnmountListener].forEach(function (unmount) {
817
- return unmount();
818
- });
819
- };
820
- };
821
-
822
- /* harmony default export */ const Notice_component = (Notice);
823
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
824
- var Icon_component = __webpack_require__(9008);
825
- ;// 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");
826
896
 
827
897
 
828
898
  var contentWrapperClasses = "font-light w-full pr-8 text-p3 self-center";
@@ -832,20 +902,20 @@ var contentWrapperClasses = "font-light w-full pr-8 text-p3 self-center";
832
902
  var ContentWrapper = function ContentWrapper(_ref) {
833
903
  var buttonLink = _ref.buttonLink,
834
904
  children = _ref.children;
835
- return buttonLink ? /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
905
+ return buttonLink ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
836
906
  href: buttonLink,
837
907
  className: contentWrapperClasses
838
- }, children) : /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
908
+ }, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
839
909
  className: contentWrapperClasses
840
910
  }, children);
841
911
  };
842
912
 
843
913
  ContentWrapper.propTypes = {
844
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
845
- 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)
846
916
  };
847
917
 
848
- var component_Notice = function Notice(_ref2) {
918
+ var Notice = function Notice(_ref2) {
849
919
  var buttonLink = _ref2.buttonLink,
850
920
  buttonLabel = _ref2.buttonLabel,
851
921
  bodyText = _ref2.bodyText,
@@ -856,8 +926,8 @@ var component_Notice = function Notice(_ref2) {
856
926
  bgColor = _ref2$bgColor === void 0 ? "bg-gradient-active-orange" : _ref2$bgColor,
857
927
  _ref2$textColor = _ref2.textColor,
858
928
  textColor = _ref2$textColor === void 0 ? "text-white" : _ref2$textColor;
859
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
860
- Notice_component({
929
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
930
+ (0,_component_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
861
931
  bannerContainer: document.querySelector('[data-id="ui-notice"]'),
862
932
  cookieId: config.cookieId,
863
933
  noticeId: config.noticeId,
@@ -867,48 +937,48 @@ var component_Notice = function Notice(_ref2) {
867
937
  });
868
938
  }, []);
869
939
  var wrapperClasses = ["ui-announcement", bgColor, textColor].join(" ");
870
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
940
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
871
941
  className: wrapperClasses,
872
942
  "data-id": "ui-notice",
873
943
  style: {
874
944
  maxHeight: 0,
875
945
  overflow: "hidden"
876
946
  }
877
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
947
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
878
948
  className: "ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"
879
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(ContentWrapper, {
949
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(ContentWrapper, {
880
950
  buttonLink: buttonLink
881
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("strong", {
951
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", {
882
952
  className: "font-medium whitespace-nowrap pr-4"
883
- }, title), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
953
+ }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
884
954
  className: "pr-4"
885
- }, bodyText), buttonLabel && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
955
+ }, bodyText), buttonLabel && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
886
956
  className: "underline cursor-pointer whitespace-nowrap"
887
- }, buttonLabel)), closeBtn && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
957
+ }, buttonLabel)), closeBtn && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
888
958
  type: "button",
889
959
  className: "ml-auto h-20 w-20 border-none bg-none self-baseline"
890
- }, /*#__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"], {
891
961
  name: "icon-gui-close",
892
962
  size: "1.25rem",
893
963
  color: "text-white"
894
964
  }))));
895
965
  };
896
966
 
897
- component_Notice.propTypes = {
898
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
899
- buttonLabel: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
900
- bodyText: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
901
- title: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
902
- closeBtn: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
903
- config: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
904
- collapse: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
905
- noticeId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
906
- 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)
907
977
  }),
908
- bgColor: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
909
- 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)
910
980
  };
911
- /* harmony default export */ const core_Notice_component = (component_Notice);
981
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Notice);
912
982
  })();
913
983
 
914
984
  /******/ return __webpack_exports__;