| @@ -1,237 +1,3 @@ | ||
| 1 | -/******/ (function() { // webpackBootstrap | |
| 2 | -/******/ "use strict"; | |
| 3 | -/******/ var __webpack_modules__ = ({ | |
| 4 | - | |
| 5 | -/***/ "./packages/packages/libs/session/src/session-storage-context.tsx": | |
| 6 | -/*!************************************************************************!*\ | |
| 7 | - !*** ./packages/packages/libs/session/src/session-storage-context.tsx ***! | |
| 8 | - \************************************************************************/ | |
| 9 | -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { | |
| 10 | - | |
| 11 | -__webpack_require__.r(__webpack_exports__); | |
| 12 | -/* harmony export */ __webpack_require__.d(__webpack_exports__, { | |
| 13 | -/* harmony export */ Context: function() { return /* binding */ Context; }, | |
| 14 | -/* harmony export */ SessionStorageProvider: function() { return /* binding */ SessionStorageProvider; } | |
| 15 | -/* harmony export */ }); | |
| 16 | -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | |
| 17 | -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | |
| 18 | - | |
| 19 | - | |
| 20 | -const Context = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null); | |
| 21 | -function SessionStorageProvider({ | |
| 22 | - children, | |
| 23 | - prefix | |
| 24 | -}) { | |
| 25 | - const contextPrefix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context)?.prefix ?? ''; | |
| 26 | - const chainedPrefix = contextPrefix ? `${contextPrefix}/${prefix}` : prefix; | |
| 27 | - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Context.Provider, { | |
| 28 | - value: { | |
| 29 | - prefix: chainedPrefix | |
| 30 | - } | |
| 31 | - }, children); | |
| 32 | -} | |
| 33 | - | |
| 34 | -/***/ }), | |
| 35 | - | |
| 36 | -/***/ "./packages/packages/libs/session/src/session-storage.ts": | |
| 37 | -/*!***************************************************************!*\ | |
| 38 | - !*** ./packages/packages/libs/session/src/session-storage.ts ***! | |
| 39 | - \***************************************************************/ | |
| 40 | -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { | |
| 41 | - | |
| 42 | -__webpack_require__.r(__webpack_exports__); | |
| 43 | -/* harmony export */ __webpack_require__.d(__webpack_exports__, { | |
| 44 | -/* harmony export */ getSessionStorageItem: function() { return /* binding */ getSessionStorageItem; }, | |
| 45 | -/* harmony export */ removeSessionStorageItem: function() { return /* binding */ removeSessionStorageItem; }, | |
| 46 | -/* harmony export */ setSessionStorageItem: function() { return /* binding */ setSessionStorageItem; } | |
| 47 | -/* harmony export */ }); | |
| 48 | -const getSessionStorageItem = key => { | |
| 49 | - return JSON.parse(sessionStorage.getItem(key) || '{}')?.item; | |
| 50 | -}; | |
| 51 | -const setSessionStorageItem = (key, item) => { | |
| 52 | - sessionStorage.setItem(key, JSON.stringify({ | |
| 53 | - item | |
| 54 | - })); | |
| 55 | - | |
| 56 | - // The browser doesn't dispatch the `storage` event for the current tab, | |
| 57 | - // so we need to dispatch it manually. | |
| 58 | - // | |
| 59 | - // https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event | |
| 60 | - window.dispatchEvent(new StorageEvent('storage', { | |
| 61 | - key, | |
| 62 | - storageArea: sessionStorage | |
| 63 | - })); | |
| 64 | -}; | |
| 65 | -const removeSessionStorageItem = key => { | |
| 66 | - sessionStorage.removeItem(key); | |
| 67 | - | |
| 68 | - // The browser doesn't dispatch the `storage` event for the current tab, | |
| 69 | - // so we need to dispatch it manually. | |
| 70 | - // | |
| 71 | - // https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event | |
| 72 | - window.dispatchEvent(new StorageEvent('storage', { | |
| 73 | - key, | |
| 74 | - storageArea: sessionStorage | |
| 75 | - })); | |
| 76 | -}; | |
| 77 | - | |
| 78 | -/***/ }), | |
| 79 | - | |
| 80 | -/***/ "./packages/packages/libs/session/src/use-session-storage.ts": | |
| 81 | -/*!*******************************************************************!*\ | |
| 82 | - !*** ./packages/packages/libs/session/src/use-session-storage.ts ***! | |
| 83 | - \*******************************************************************/ | |
| 84 | -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { | |
| 85 | - | |
| 86 | -__webpack_require__.r(__webpack_exports__); | |
| 87 | -/* harmony export */ __webpack_require__.d(__webpack_exports__, { | |
| 88 | -/* harmony export */ useSessionStorage: function() { return /* binding */ useSessionStorage; } | |
| 89 | -/* harmony export */ }); | |
| 90 | -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | |
| 91 | -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | |
| 92 | -/* harmony import */ var _session_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./session-storage */ "./packages/packages/libs/session/src/session-storage.ts"); | |
| 93 | -/* harmony import */ var _session_storage_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./session-storage-context */ "./packages/packages/libs/session/src/session-storage-context.tsx"); | |
| 94 | - | |
| 95 | - | |
| 96 | - | |
| 97 | -const useSessionStorage = (key, customPrefix) => { | |
| 98 | - const contextPrefix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_session_storage_context__WEBPACK_IMPORTED_MODULE_2__.Context)?.prefix ?? ''; | |
| 99 | - const prefix = customPrefix ? customPrefix : contextPrefix; | |
| 100 | - const prefixedKey = `${prefix}/${key}`; | |
| 101 | - const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(); | |
| 102 | - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { | |
| 103 | - return subscribeToSessionStorage(prefixedKey, newValue => { | |
| 104 | - setValue(newValue ?? null); | |
| 105 | - }); | |
| 106 | - }, [prefixedKey]); | |
| 107 | - const saveValue = newValue => { | |
| 108 | - (0,_session_storage__WEBPACK_IMPORTED_MODULE_1__.setSessionStorageItem)(prefixedKey, newValue); | |
| 109 | - }; | |
| 110 | - const removeValue = () => { | |
| 111 | - (0,_session_storage__WEBPACK_IMPORTED_MODULE_1__.removeSessionStorageItem)(prefixedKey); | |
| 112 | - }; | |
| 113 | - return [value, saveValue, removeValue]; | |
| 114 | -}; | |
| 115 | -const subscribeToSessionStorage = (key, subscriber) => { | |
| 116 | - subscriber((0,_session_storage__WEBPACK_IMPORTED_MODULE_1__.getSessionStorageItem)(key)); | |
| 117 | - const abortController = new AbortController(); | |
| 118 | - window.addEventListener('storage', e => { | |
| 119 | - if (e.key !== key || e.storageArea !== sessionStorage) { | |
| 120 | - return; | |
| 121 | - } | |
| 122 | - subscriber((0,_session_storage__WEBPACK_IMPORTED_MODULE_1__.getSessionStorageItem)(key)); | |
| 123 | - }, { | |
| 124 | - signal: abortController.signal | |
| 125 | - }); | |
| 126 | - return () => { | |
| 127 | - abortController.abort(); | |
| 128 | - }; | |
| 129 | -}; | |
| 130 | - | |
| 131 | -/***/ }), | |
| 132 | - | |
| 133 | -/***/ "react": | |
| 134 | -/*!**************************!*\ | |
| 135 | - !*** external ["React"] ***! | |
| 136 | - \**************************/ | |
| 137 | -/***/ (function(module) { | |
| 138 | - | |
| 139 | -module.exports = window["React"]; | |
| 140 | - | |
| 141 | -/***/ }) | |
| 142 | - | |
| 143 | -/******/ }); | |
| 144 | -/************************************************************************/ | |
| 145 | -/******/ // The module cache | |
| 146 | -/******/ var __webpack_module_cache__ = {}; | |
| 147 | -/******/ | |
| 148 | -/******/ // The require function | |
| 149 | -/******/ function __webpack_require__(moduleId) { | |
| 150 | -/******/ // Check if module is in cache | |
| 151 | -/******/ var cachedModule = __webpack_module_cache__[moduleId]; | |
| 152 | -/******/ if (cachedModule !== undefined) { | |
| 153 | -/******/ return cachedModule.exports; | |
| 154 | -/******/ } | |
| 155 | -/******/ // Create a new module (and put it into the cache) | |
| 156 | -/******/ var module = __webpack_module_cache__[moduleId] = { | |
| 157 | -/******/ // no module.id needed | |
| 158 | -/******/ // no module.loaded needed | |
| 159 | -/******/ exports: {} | |
| 160 | -/******/ }; | |
| 161 | -/******/ | |
| 162 | -/******/ // Execute the module function | |
| 163 | -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); | |
| 164 | -/******/ | |
| 165 | -/******/ // Return the exports of the module | |
| 166 | -/******/ return module.exports; | |
| 167 | -/******/ } | |
| 168 | -/******/ | |
| 169 | -/************************************************************************/ | |
| 170 | -/******/ /* webpack/runtime/compat get default export */ | |
| 171 | -/******/ !function() { | |
| 172 | -/******/ // getDefaultExport function for compatibility with non-harmony modules | |
| 173 | -/******/ __webpack_require__.n = function(module) { | |
| 174 | -/******/ var getter = module && module.__esModule ? | |
| 175 | -/******/ function() { return module['default']; } : | |
| 176 | -/******/ function() { return module; }; | |
| 177 | -/******/ __webpack_require__.d(getter, { a: getter }); | |
| 178 | -/******/ return getter; | |
| 179 | -/******/ }; | |
| 180 | -/******/ }(); | |
| 181 | -/******/ | |
| 182 | -/******/ /* webpack/runtime/define property getters */ | |
| 183 | -/******/ !function() { | |
| 184 | -/******/ // define getter functions for harmony exports | |
| 185 | -/******/ __webpack_require__.d = function(exports, definition) { | |
| 186 | -/******/ for(var key in definition) { | |
| 187 | -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { | |
| 188 | -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); | |
| 189 | -/******/ } | |
| 190 | -/******/ } | |
| 191 | -/******/ }; | |
| 192 | -/******/ }(); | |
| 193 | -/******/ | |
| 194 | -/******/ /* webpack/runtime/hasOwnProperty shorthand */ | |
| 195 | -/******/ !function() { | |
| 196 | -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } | |
| 197 | -/******/ }(); | |
| 198 | -/******/ | |
| 199 | -/******/ /* webpack/runtime/make namespace object */ | |
| 200 | -/******/ !function() { | |
| 201 | -/******/ // define __esModule on exports | |
| 202 | -/******/ __webpack_require__.r = function(exports) { | |
| 203 | -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | |
| 204 | -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | |
| 205 | -/******/ } | |
| 206 | -/******/ Object.defineProperty(exports, '__esModule', { value: true }); | |
| 207 | -/******/ }; | |
| 208 | -/******/ }(); | |
| 209 | -/******/ | |
| 210 | -/************************************************************************/ | |
| 211 | -var __webpack_exports__ = {}; | |
| 212 | -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. | |
| 213 | -!function() { | |
| 214 | -/*!*****************************************************!*\ | |
| 215 | - !*** ./packages/packages/libs/session/src/index.ts ***! | |
| 216 | - \*****************************************************/ | |
| 217 | -__webpack_require__.r(__webpack_exports__); | |
| 218 | -/* harmony export */ __webpack_require__.d(__webpack_exports__, { | |
| 219 | -/* harmony export */ Context: function() { return /* reexport safe */ _session_storage_context__WEBPACK_IMPORTED_MODULE_2__.Context; }, | |
| 220 | -/* harmony export */ SessionStorageProvider: function() { return /* reexport safe */ _session_storage_context__WEBPACK_IMPORTED_MODULE_2__.SessionStorageProvider; }, | |
| 221 | -/* harmony export */ getSessionStorageItem: function() { return /* reexport safe */ _session_storage__WEBPACK_IMPORTED_MODULE_0__.getSessionStorageItem; }, | |
| 222 | -/* harmony export */ removeSessionStorageItem: function() { return /* reexport safe */ _session_storage__WEBPACK_IMPORTED_MODULE_0__.removeSessionStorageItem; }, | |
| 223 | -/* harmony export */ setSessionStorageItem: function() { return /* reexport safe */ _session_storage__WEBPACK_IMPORTED_MODULE_0__.setSessionStorageItem; }, | |
| 224 | -/* harmony export */ useSessionStorage: function() { return /* reexport safe */ _use_session_storage__WEBPACK_IMPORTED_MODULE_1__.useSessionStorage; } | |
| 225 | -/* harmony export */ }); | |
| 226 | -/* harmony import */ var _session_storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./session-storage */ "./packages/packages/libs/session/src/session-storage.ts"); | |
| 227 | -/* harmony import */ var _use_session_storage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-session-storage */ "./packages/packages/libs/session/src/use-session-storage.ts"); | |
| 228 | -/* harmony import */ var _session_storage_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./session-storage-context */ "./packages/packages/libs/session/src/session-storage-context.tsx"); | |
| 229 | - | |
| 230 | - | |
| 231 | - | |
| 232 | -}(); | |
| 233 | -(window.elementorV2 = window.elementorV2 || {}).session = __webpack_exports__; | |
| 234 | -/******/ })() | |
| 235 | -; | |
| 236 | -window.elementorV2.session?.init?.(); | |
| 1 | +/*! For license information please see session.js.LICENSE.txt */ | |
| 2 | +!function(){"use strict";var e={"./packages/packages/libs/session/src/session-storage-context.tsx":function(e,s,t){t.r(s),t.d(s,{Context:function(){return o},SessionStorageProvider:function(){return SessionStorageProvider}});var r=t("react");const o=(0,r.createContext)(null);function SessionStorageProvider({children:e,prefix:s}){const t=(0,r.useContext)(o)?.prefix??"",n=t?`${t}/${s}`:s;return r.createElement(o.Provider,{value:{prefix:n}},e)}},"./packages/packages/libs/session/src/session-storage.ts":function(e,s,t){t.r(s),t.d(s,{getSessionStorageItem:function(){return getSessionStorageItem},removeSessionStorageItem:function(){return removeSessionStorageItem},setSessionStorageItem:function(){return setSessionStorageItem}});const getSessionStorageItem=e=>JSON.parse(sessionStorage.getItem(e)||"{}")?.item,setSessionStorageItem=(e,s)=>{sessionStorage.setItem(e,JSON.stringify({item:s})),window.dispatchEvent(new StorageEvent("storage",{key:e,storageArea:sessionStorage}))},removeSessionStorageItem=e=>{sessionStorage.removeItem(e),window.dispatchEvent(new StorageEvent("storage",{key:e,storageArea:sessionStorage}))}},"./packages/packages/libs/session/src/use-session-storage.ts":function(e,s,t){t.r(s),t.d(s,{useSessionStorage:function(){return useSessionStorage}});var r=t("react"),o=t("./packages/packages/libs/session/src/session-storage.ts"),n=t("./packages/packages/libs/session/src/session-storage-context.tsx");const useSessionStorage=(e,s)=>{const t=(0,r.useContext)(n.Context)?.prefix??"",i=`${s||t}/${e}`,[a,c]=(0,r.useState)();(0,r.useEffect)(()=>subscribeToSessionStorage(i,e=>{c(e??null)}),[i]);return[a,e=>{(0,o.setSessionStorageItem)(i,e)},()=>{(0,o.removeSessionStorageItem)(i)}]},subscribeToSessionStorage=(e,s)=>{s((0,o.getSessionStorageItem)(e));const t=new AbortController;return window.addEventListener("storage",t=>{t.key===e&&t.storageArea===sessionStorage&&s((0,o.getSessionStorageItem)(e))},{signal:t.signal}),()=>{t.abort()}}},react:function(e){e.exports=window.React}},s={};function __webpack_require__(t){var r=s[t];if(void 0!==r)return r.exports;var o=s[t]={exports:{}};return e[t](o,o.exports,__webpack_require__),o.exports}__webpack_require__.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(s,{a:s}),s},__webpack_require__.d=function(e,s){for(var t in s)__webpack_require__.o(s,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:s[t]})},__webpack_require__.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};!function(){__webpack_require__.r(t),__webpack_require__.d(t,{Context:function(){return r.Context},SessionStorageProvider:function(){return r.SessionStorageProvider},getSessionStorageItem:function(){return e.getSessionStorageItem},removeSessionStorageItem:function(){return e.removeSessionStorageItem},setSessionStorageItem:function(){return e.setSessionStorageItem},useSessionStorage:function(){return s.useSessionStorage}});var e=__webpack_require__("./packages/packages/libs/session/src/session-storage.ts"),s=__webpack_require__("./packages/packages/libs/session/src/use-session-storage.ts"),r=__webpack_require__("./packages/packages/libs/session/src/session-storage-context.tsx")}(),(window.elementorV2=window.elementorV2||{}).session=t}(),window.elementorV2.session?.init?.(); | |
| 237 | 3 | //# sourceMappingURL=session.js.map |