| @@ -1,3 +1,130 @@ | ||
| 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?.(); | |
| 1 | +(function(react) { | |
| 2 | + | |
| 3 | +//#region \0rolldown/runtime.js | |
| 4 | + var __create = Object.create; | |
| 5 | + var __defProp = Object.defineProperty; | |
| 6 | + var __name = (target, value) => __defProp(target, "name", { | |
| 7 | + value, | |
| 8 | + configurable: true | |
| 9 | + }); | |
| 10 | + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | |
| 11 | + var __getOwnPropNames = Object.getOwnPropertyNames; | |
| 12 | + var __getProtoOf = Object.getPrototypeOf; | |
| 13 | + var __hasOwnProp = Object.prototype.hasOwnProperty; | |
| 14 | + var __exportAll = (all, no_symbols) => { | |
| 15 | + let target = {}; | |
| 16 | + for (var name in all) { | |
| 17 | + __defProp(target, name, { | |
| 18 | + get: all[name], | |
| 19 | + enumerable: true | |
| 20 | + }); | |
| 21 | + } | |
| 22 | + if (!no_symbols) { | |
| 23 | + __defProp(target, Symbol.toStringTag, { value: "Module" }); | |
| 24 | + } | |
| 25 | + return target; | |
| 26 | + }; | |
| 27 | + var __copyProps = (to, from, except, desc) => { | |
| 28 | + if (from && typeof from === "object" || typeof from === "function") { | |
| 29 | + for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { | |
| 30 | + key = keys[i]; | |
| 31 | + if (!__hasOwnProp.call(to, key) && key !== except) { | |
| 32 | + __defProp(to, key, { | |
| 33 | + get: ((k) => from[k]).bind(null, key), | |
| 34 | + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable | |
| 35 | + }); | |
| 36 | + } | |
| 37 | + } | |
| 38 | + } | |
| 39 | + return to; | |
| 40 | + }; | |
| 41 | + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { | |
| 42 | + value: mod, | |
| 43 | + enumerable: true | |
| 44 | + }) : target, mod)); | |
| 45 | + | |
| 46 | +//#endregion | |
| 47 | +react = __toESM(react); | |
| 48 | + | |
| 49 | +//#region packages/packages/libs/session/src/session-storage.ts | |
| 50 | + var getSessionStorageItem = (key) => { | |
| 51 | + return JSON.parse(sessionStorage.getItem(key) || "{}")?.item; | |
| 52 | + }; | |
| 53 | + var setSessionStorageItem = (key, item) => { | |
| 54 | + sessionStorage.setItem(key, JSON.stringify({ item })); | |
| 55 | + window.dispatchEvent(new StorageEvent("storage", { | |
| 56 | + key, | |
| 57 | + storageArea: sessionStorage | |
| 58 | + })); | |
| 59 | + }; | |
| 60 | + var removeSessionStorageItem = (key) => { | |
| 61 | + sessionStorage.removeItem(key); | |
| 62 | + window.dispatchEvent(new StorageEvent("storage", { | |
| 63 | + key, | |
| 64 | + storageArea: sessionStorage | |
| 65 | + })); | |
| 66 | + }; | |
| 67 | + | |
| 68 | +//#endregion | |
| 69 | +//#region packages/packages/libs/session/src/session-storage-context.tsx | |
| 70 | + var Context = (0, react.createContext)(null); | |
| 71 | + function SessionStorageProvider({ children, prefix }) { | |
| 72 | + const contextPrefix = (0, react.useContext)(Context)?.prefix ?? ""; | |
| 73 | + const chainedPrefix = contextPrefix ? `${contextPrefix}/${prefix}` : prefix; | |
| 74 | + return /* @__PURE__ */ react.createElement(Context.Provider, { value: { prefix: chainedPrefix } }, children); | |
| 75 | + } | |
| 76 | + | |
| 77 | +//#endregion | |
| 78 | +//#region packages/packages/libs/session/src/use-session-storage.ts | |
| 79 | + var useSessionStorage = (key, customPrefix) => { | |
| 80 | + const contextPrefix = (0, react.useContext)(Context)?.prefix ?? ""; | |
| 81 | + const prefixedKey = `${customPrefix ? customPrefix : contextPrefix}/${key}`; | |
| 82 | + const [value, setValue] = (0, react.useState)(); | |
| 83 | + (0, react.useEffect)(() => { | |
| 84 | + return subscribeToSessionStorage(prefixedKey, (newValue) => { | |
| 85 | + setValue(newValue ?? null); | |
| 86 | + }); | |
| 87 | + }, [prefixedKey]); | |
| 88 | + const saveValue = (newValue) => { | |
| 89 | + setSessionStorageItem(prefixedKey, newValue); | |
| 90 | + }; | |
| 91 | + const removeValue = () => { | |
| 92 | + removeSessionStorageItem(prefixedKey); | |
| 93 | + }; | |
| 94 | + return [ | |
| 95 | + value, | |
| 96 | + saveValue, | |
| 97 | + removeValue | |
| 98 | + ]; | |
| 99 | + }; | |
| 100 | + var subscribeToSessionStorage = (key, subscriber) => { | |
| 101 | + subscriber(getSessionStorageItem(key)); | |
| 102 | + const abortController = new AbortController(); | |
| 103 | + window.addEventListener("storage", (e) => { | |
| 104 | + if (e.key !== key || e.storageArea !== sessionStorage) return; | |
| 105 | + subscriber(getSessionStorageItem(key)); | |
| 106 | + }, { signal: abortController.signal }); | |
| 107 | + return () => { | |
| 108 | + abortController.abort(); | |
| 109 | + }; | |
| 110 | + }; | |
| 111 | + | |
| 112 | +//#endregion | |
| 113 | +//#region packages/packages/libs/session/src/index.ts | |
| 114 | + var src_exports = /* @__PURE__ */ __exportAll({ | |
| 115 | + Context: () => Context, | |
| 116 | + SessionStorageProvider: () => SessionStorageProvider, | |
| 117 | + getSessionStorageItem: () => getSessionStorageItem, | |
| 118 | + removeSessionStorageItem: () => removeSessionStorageItem, | |
| 119 | + setSessionStorageItem: () => setSessionStorageItem, | |
| 120 | + useSessionStorage: () => useSessionStorage | |
| 121 | + }); | |
| 122 | + | |
| 123 | +//#endregion | |
| 124 | +//#region \0elementor-package-library-entry | |
| 125 | + (window.elementorV2 = window.elementorV2 || {}).session = src_exports; | |
| 126 | + | |
| 127 | +//#endregion | |
| 128 | +})(React); | |
| 129 | +window.elementorV2.session?.init?.(); | |
| 3 | 130 | //# sourceMappingURL=session.js.map |