PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / assets / js / packages / session / session.js

session.js in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at assets/js/packages/session/session.js

130 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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?.();
130 //# sourceMappingURL=session.js.map