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 / element-manager-admin.js

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

2,574 lines 105.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(react, _wordpress_dom_ready, _elementor_ui, _wordpress_i18n, _elementor_icons, _wordpress_components) {
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 __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
15 var __copyProps = (to, from, except, desc) => {
16 if (from && typeof from === "object" || typeof from === "function") {
17 for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
18 key = keys[i];
19 if (!__hasOwnProp.call(to, key) && key !== except) {
20 __defProp(to, key, {
21 get: ((k) => from[k]).bind(null, key),
22 enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23 });
24 }
25 }
26 }
27 return to;
28 };
29 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30 value: mod,
31 enumerable: true
32 }) : target, mod));
33
34 //#endregion
35 react = __toESM(react);
36 _wordpress_dom_ready = __toESM(_wordpress_dom_ready);
37
38 //#region node_modules/react-dom/client.js
39 var require_client = /* @__PURE__ */ __commonJSMin(((exports) => {
40 var m = (globalThis.ReactDOM);
41 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
42 exports.createRoot = function(c, o) {
43 i.usingClientEntryPoint = true;
44 try {
45 return m.createRoot(c, o);
46 } finally {
47 i.usingClientEntryPoint = false;
48 }
49 };
50 }));
51
52 //#endregion
53 //#region node_modules/@wordpress/element/build-module/react-platform.js
54 /**
55 * External dependencies
56 */
57 var import_client = require_client();
58
59 //#endregion
60 //#region node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
61 function asyncGeneratorStep(n, t, e, r, o, a, c) {
62 try {
63 var i = n[a](c);
64 var u = i.value;
65 } catch (n) {
66 e(n);
67 return;
68 }
69 i.done ? t(u) : Promise.resolve(u).then(r, o);
70 }
71 function _asyncToGenerator(n) {
72 return function() {
73 var t = this;
74 var e = arguments;
75 return new Promise(function(r, o) {
76 var a = n.apply(t, e);
77 function _next(n) {
78 asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
79 }
80 function _throw(n) {
81 asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
82 }
83 _next(void 0);
84 });
85 };
86 }
87
88 //#endregion
89 //#region node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
90 function _arrayWithHoles(r) {
91 if (Array.isArray(r)) return r;
92 }
93
94 //#endregion
95 //#region node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
96 function _iterableToArrayLimit(r, l) {
97 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
98 if (null != t) {
99 var e;
100 var n;
101 var i;
102 var u;
103 var a = [];
104 var f = !0;
105 var o = !1;
106 try {
107 if (i = (t = t.call(r)).next, 0 === l) {
108 if (Object(t) !== t) return;
109 f = !1;
110 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
111 } catch (r) {
112 o = !0, n = r;
113 } finally {
114 try {
115 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
116 } finally {
117 if (o) throw n;
118 }
119 }
120 return a;
121 }
122 }
123
124 //#endregion
125 //#region node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
126 function _arrayLikeToArray(r, a) {
127 (null == a || a > r.length) && (a = r.length);
128 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
129 return n;
130 }
131
132 //#endregion
133 //#region node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
134 function _unsupportedIterableToArray(r, a) {
135 if (r) {
136 if ("string" == typeof r) return _arrayLikeToArray(r, a);
137 var t = {}.toString.call(r).slice(8, -1);
138 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
139 }
140 }
141
142 //#endregion
143 //#region node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
144 function _nonIterableRest() {
145 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
146 }
147
148 //#endregion
149 //#region node_modules/@babel/runtime/helpers/esm/slicedToArray.js
150 function _slicedToArray(r, e) {
151 return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
152 }
153
154 //#endregion
155 //#region node_modules/@babel/runtime/helpers/OverloadYield.js
156 var require_OverloadYield = /* @__PURE__ */ __commonJSMin(((exports, module) => {
157 function _OverloadYield(e, d) {
158 this.v = e, this.k = d;
159 }
160 module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
161 }));
162
163 //#endregion
164 //#region node_modules/@babel/runtime/helpers/regeneratorDefine.js
165 var require_regeneratorDefine = /* @__PURE__ */ __commonJSMin(((exports, module) => {
166 function _regeneratorDefine(e, r, n, t) {
167 var i = Object.defineProperty;
168 try {
169 i({}, "", {});
170 } catch (e) {
171 i = 0;
172 }
173 module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
174 function o(r, n) {
175 _regeneratorDefine(e, r, function(e) {
176 return this._invoke(r, n, e);
177 });
178 }
179 r ? i ? i(e, r, {
180 value: n,
181 enumerable: !t,
182 configurable: !t,
183 writable: !t
184 }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
185 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
186 }
187 module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
188 }));
189
190 //#endregion
191 //#region node_modules/@babel/runtime/helpers/regenerator.js
192 var require_regenerator$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
193 var regeneratorDefine = require_regeneratorDefine();
194 function _regenerator() {
195 /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
196 var e;
197 var t;
198 var r = "function" == typeof Symbol ? Symbol : {};
199 var n = r.iterator || "@@iterator";
200 var o = r.toStringTag || "@@toStringTag";
201 function i(r, n, o, i) {
202 var c = n && n.prototype instanceof Generator ? n : Generator;
203 var u = Object.create(c.prototype);
204 return regeneratorDefine(u, "_invoke", function(r, n, o) {
205 var i;
206 var c;
207 var u;
208 var f = 0;
209 var p = o || [];
210 var y = !1;
211 var G = {
212 p: 0,
213 n: 0,
214 v: e,
215 a: d,
216 f: d.bind(e, 4),
217 d: function d(t, r) {
218 return i = t, c = 0, u = e, G.n = r, a;
219 }
220 };
221 function d(r, n) {
222 for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
223 var o;
224 var i = p[t];
225 var d = G.p;
226 var l = i[2];
227 r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
228 }
229 if (o || r > 1) return a;
230 throw y = !0, n;
231 }
232 return function(o, p, l) {
233 if (f > 1) throw TypeError("Generator is already running");
234 for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
235 i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
236 try {
237 if (f = 2, i) {
238 if (c || (o = "next"), t = i[o]) {
239 if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
240 if (!t.done) return t;
241 u = t.value, c < 2 && (c = 0);
242 } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
243 i = e;
244 } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
245 } catch (t) {
246 i = e, c = 1, u = t;
247 } finally {
248 f = 1;
249 }
250 }
251 return {
252 value: t,
253 done: y
254 };
255 };
256 }(r, o, i), !0), u;
257 }
258 var a = {};
259 function Generator() {}
260 function GeneratorFunction() {}
261 function GeneratorFunctionPrototype() {}
262 t = Object.getPrototypeOf;
263 var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function() {
264 return this;
265 }), t);
266 var u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
267 function f(e) {
268 return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
269 }
270 return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function() {
271 return this;
272 }), regeneratorDefine(u, "toString", function() {
273 return "[object Generator]";
274 }), (module.exports = _regenerator = function _regenerator() {
275 return {
276 w: i,
277 m: f
278 };
279 }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
280 }
281 module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
282 }));
283
284 //#endregion
285 //#region node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js
286 var require_regeneratorAsyncIterator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
287 var OverloadYield = require_OverloadYield();
288 var regeneratorDefine = require_regeneratorDefine();
289 function AsyncIterator(t, e) {
290 function n(r, o, i, f) {
291 try {
292 var c = t[r](o);
293 var u = c.value;
294 return u instanceof OverloadYield ? e.resolve(u.v).then(function(t) {
295 n("next", t, i, f);
296 }, function(t) {
297 n("throw", t, i, f);
298 }) : e.resolve(u).then(function(t) {
299 c.value = t, i(c);
300 }, function(t) {
301 return n("throw", t, i, f);
302 });
303 } catch (t) {
304 f(t);
305 }
306 }
307 var r;
308 this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() {
309 return this;
310 })), regeneratorDefine(this, "_invoke", function(t, o, i) {
311 function f() {
312 return new e(function(e, r) {
313 n(t, i, e, r);
314 });
315 }
316 return r = r ? r.then(f, f) : f();
317 }, !0);
318 }
319 module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
320 }));
321
322 //#endregion
323 //#region node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js
324 var require_regeneratorAsyncGen = /* @__PURE__ */ __commonJSMin(((exports, module) => {
325 var regenerator = require_regenerator$1();
326 var regeneratorAsyncIterator = require_regeneratorAsyncIterator();
327 function _regeneratorAsyncGen(r, e, t, o, n) {
328 return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
329 }
330 module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
331 }));
332
333 //#endregion
334 //#region node_modules/@babel/runtime/helpers/regeneratorAsync.js
335 var require_regeneratorAsync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
336 var regeneratorAsyncGen = require_regeneratorAsyncGen();
337 function _regeneratorAsync(n, e, r, t, o) {
338 var a = regeneratorAsyncGen(n, e, r, t, o);
339 return a.next().then(function(n) {
340 return n.done ? n.value : a.next();
341 });
342 }
343 module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
344 }));
345
346 //#endregion
347 //#region node_modules/@babel/runtime/helpers/regeneratorKeys.js
348 var require_regeneratorKeys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
349 function _regeneratorKeys(e) {
350 var n = Object(e);
351 var r = [];
352 for (var t in n) r.unshift(t);
353 return function e() {
354 for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;
355 return e.done = !0, e;
356 };
357 }
358 module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
359 }));
360
361 //#endregion
362 //#region node_modules/@babel/runtime/helpers/typeof.js
363 var require_typeof = /* @__PURE__ */ __commonJSMin(((exports, module) => {
364 function _typeof(o) {
365 "@babel/helpers - typeof";
366 return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
367 return typeof o;
368 } : function(o) {
369 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
370 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
371 }
372 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
373 }));
374
375 //#endregion
376 //#region node_modules/@babel/runtime/helpers/regeneratorValues.js
377 var require_regeneratorValues = /* @__PURE__ */ __commonJSMin(((exports, module) => {
378 var _typeof = require_typeof()["default"];
379 function _regeneratorValues(e) {
380 if (null != e) {
381 var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"];
382 var r = 0;
383 if (t) return t.call(e);
384 if ("function" == typeof e.next) return e;
385 if (!isNaN(e.length)) return { next: function next() {
386 return e && r >= e.length && (e = void 0), {
387 value: e && e[r++],
388 done: !e
389 };
390 } };
391 }
392 throw new TypeError(_typeof(e) + " is not iterable");
393 }
394 module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
395 }));
396
397 //#endregion
398 //#region node_modules/@babel/runtime/helpers/regeneratorRuntime.js
399 var require_regeneratorRuntime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
400 var OverloadYield = require_OverloadYield();
401 var regenerator = require_regenerator$1();
402 var regeneratorAsync = require_regeneratorAsync();
403 var regeneratorAsyncGen = require_regeneratorAsyncGen();
404 var regeneratorAsyncIterator = require_regeneratorAsyncIterator();
405 var regeneratorKeys = require_regeneratorKeys();
406 var regeneratorValues = require_regeneratorValues();
407 function _regeneratorRuntime() {
408 "use strict";
409 var r = regenerator();
410 var e = r.m(_regeneratorRuntime);
411 var t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
412 function n(r) {
413 var e = "function" == typeof r && r.constructor;
414 return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
415 }
416 var o = {
417 "throw": 1,
418 "return": 2,
419 "break": 3,
420 "continue": 3
421 };
422 function a(r) {
423 var e;
424 var t;
425 return function(n) {
426 e || (e = {
427 stop: function stop() {
428 return t(n.a, 2);
429 },
430 "catch": function _catch() {
431 return n.v;
432 },
433 abrupt: function abrupt(r, e) {
434 return t(n.a, o[r], e);
435 },
436 delegateYield: function delegateYield(r, o, a) {
437 return e.resultName = o, t(n.d, regeneratorValues(r), a);
438 },
439 finish: function finish(r) {
440 return t(n.f, r);
441 }
442 }, t = function t(r, _t, o) {
443 n.p = e.prev, n.n = e.next;
444 try {
445 return r(_t, o);
446 } finally {
447 e.next = n.n;
448 }
449 }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
450 try {
451 return r.call(this, e);
452 } finally {
453 n.p = e.prev, n.n = e.next;
454 }
455 };
456 }
457 return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
458 return {
459 wrap: function wrap(e, t, n, o) {
460 return r.w(a(e), t, n, o && o.reverse());
461 },
462 isGeneratorFunction: n,
463 mark: r.m,
464 awrap: function awrap(r, e) {
465 return new OverloadYield(r, e);
466 },
467 AsyncIterator: regeneratorAsyncIterator,
468 async: function async(r, e, t, o, u) {
469 return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
470 },
471 keys: regeneratorKeys,
472 values: regeneratorValues
473 };
474 }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
475 }
476 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
477 }));
478
479 //#endregion
480 //#region node_modules/@babel/runtime/regenerator/index.js
481 var require_regenerator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
482 var runtime = require_regeneratorRuntime()();
483 module.exports = runtime;
484 try {
485 regeneratorRuntime = runtime;
486 } catch (accidentalStrictMode) {
487 if (typeof globalThis === "object") globalThis.regeneratorRuntime = runtime;
488 else Function("r", "regeneratorRuntime = r")(runtime);
489 }
490 }));
491
492 //#endregion
493 //#region node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
494 var import_regenerator = /* @__PURE__ */ __toESM(require_regenerator());
495 function _arrayWithoutHoles(r) {
496 if (Array.isArray(r)) return _arrayLikeToArray(r);
497 }
498
499 //#endregion
500 //#region node_modules/@babel/runtime/helpers/esm/iterableToArray.js
501 function _iterableToArray(r) {
502 if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
503 }
504
505 //#endregion
506 //#region node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
507 function _nonIterableSpread() {
508 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
509 }
510
511 //#endregion
512 //#region node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
513 function _toConsumableArray(r) {
514 return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
515 }
516
517 //#endregion
518 //#region node_modules/@babel/runtime/helpers/esm/typeof.js
519 function _typeof(o) {
520 "@babel/helpers - typeof";
521 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
522 return typeof o;
523 } : function(o) {
524 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
525 }, _typeof(o);
526 }
527
528 //#endregion
529 //#region node_modules/@babel/runtime/helpers/esm/toPrimitive.js
530 function toPrimitive(t, r) {
531 if ("object" != _typeof(t) || !t) return t;
532 var e = t[Symbol.toPrimitive];
533 if (void 0 !== e) {
534 var i = e.call(t, r || "default");
535 if ("object" != _typeof(i)) return i;
536 throw new TypeError("@@toPrimitive must return a primitive value.");
537 }
538 return ("string" === r ? String : Number)(t);
539 }
540
541 //#endregion
542 //#region node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
543 function toPropertyKey(t) {
544 var i = toPrimitive(t, "string");
545 return "symbol" == _typeof(i) ? i : i + "";
546 }
547
548 //#endregion
549 //#region node_modules/@babel/runtime/helpers/esm/defineProperty.js
550 function _defineProperty(e, r, t) {
551 return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
552 value: t,
553 enumerable: !0,
554 configurable: !0,
555 writable: !0
556 }) : e[r] = t, e;
557 }
558
559 //#endregion
560 //#region modules/element-manager/assets/js/api.js
561 var saveDisabledWidgets = /*#__PURE__*/ function() {
562 var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee(widgetsDisabled) {
563 var elementsRestriction;
564 var bodyData;
565 var _args = arguments;
566 var _t;
567 return import_regenerator.default.wrap(function(_context) {
568 while (1) switch (_context.prev = _context.next) {
569 case 0:
570 elementsRestriction = _args.length > 1 && _args[1] !== void 0 ? _args[1] : {};
571 _context.prev = 1;
572 bodyData = {
573 action: "elementor_element_manager_save_disabled_elements",
574 nonce: eElementManagerConfig.nonce,
575 widgets: JSON.stringify(widgetsDisabled)
576 };
577 if (null !== elementsRestriction) bodyData.elements_restriction = JSON.stringify(elementsRestriction);
578 _context.next = 2;
579 return fetch(eElementManagerConfig.ajaxurl, {
580 method: "POST",
581 headers: { "Content-Type": "application/x-www-form-urlencoded" },
582 body: new URLSearchParams(bodyData)
583 });
584 case 2:
585 _context.next = 4;
586 break;
587 case 3:
588 _context.prev = 3;
589 _t = _context["catch"](1);
590 console.error(_t);
591 case 4:
592 case "end": return _context.stop();
593 }
594 }, _callee, null, [[1, 3]]);
595 }));
596 return function saveDisabledWidgets(_x) {
597 return _ref.apply(this, arguments);
598 };
599 }();
600 var getAdminAppData = /*#__PURE__*/ function() {
601 var _ref2 = _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee2() {
602 var response;
603 var data;
604 var _t2;
605 return import_regenerator.default.wrap(function(_context2) {
606 while (1) switch (_context2.prev = _context2.next) {
607 case 0:
608 _context2.prev = 0;
609 _context2.next = 1;
610 return fetch(eElementManagerConfig.ajaxurl, {
611 method: "POST",
612 headers: { "Content-Type": "application/x-www-form-urlencoded" },
613 body: new URLSearchParams({
614 action: "elementor_element_manager_get_admin_app_data",
615 nonce: eElementManagerConfig.nonce
616 })
617 });
618 case 1:
619 response = _context2.sent;
620 _context2.next = 2;
621 return response.json();
622 case 2:
623 data = _context2.sent;
624 if (!data.success) {
625 _context2.next = 3;
626 break;
627 }
628 return _context2.abrupt("return", data.data);
629 case 3:
630 _context2.next = 5;
631 break;
632 case 4:
633 _context2.prev = 4;
634 _t2 = _context2["catch"](0);
635 console.error(_t2);
636 case 5:
637 case "end": return _context2.stop();
638 }
639 }, _callee2, null, [[0, 4]]);
640 }));
641 return function getAdminAppData() {
642 return _ref2.apply(this, arguments);
643 };
644 }();
645 var getUsageWidgets = /*#__PURE__*/ function() {
646 var _ref3 = _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee3() {
647 var response;
648 var data;
649 var _t3;
650 return import_regenerator.default.wrap(function(_context3) {
651 while (1) switch (_context3.prev = _context3.next) {
652 case 0:
653 _context3.prev = 0;
654 _context3.next = 1;
655 return fetch(eElementManagerConfig.ajaxurl, {
656 method: "POST",
657 headers: { "Content-Type": "application/x-www-form-urlencoded" },
658 body: new URLSearchParams({
659 action: "elementor_element_manager_get_widgets_usage",
660 nonce: eElementManagerConfig.nonce
661 })
662 });
663 case 1:
664 response = _context3.sent;
665 _context3.next = 2;
666 return response.json();
667 case 2:
668 data = _context3.sent;
669 if (!data.success) {
670 _context3.next = 3;
671 break;
672 }
673 return _context3.abrupt("return", data.data);
674 case 3:
675 _context3.next = 5;
676 break;
677 case 4:
678 _context3.prev = 4;
679 _t3 = _context3["catch"](0);
680 console.error(_t3);
681 case 5:
682 case "end": return _context3.stop();
683 }
684 }, _callee3, null, [[0, 4]]);
685 }));
686 return function getUsageWidgets() {
687 return _ref3.apply(this, arguments);
688 };
689 }();
690 var markNoticeViewed = /*#__PURE__*/ function() {
691 var _ref4 = _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee4(noticeId, nonce) {
692 var _t4;
693 return import_regenerator.default.wrap(function(_context4) {
694 while (1) switch (_context4.prev = _context4.next) {
695 case 0:
696 _context4.prev = 0;
697 _context4.next = 1;
698 return fetch(eElementManagerConfig.ajaxurl, {
699 method: "POST",
700 headers: { "Content-Type": "application/x-www-form-urlencoded" },
701 body: new URLSearchParams({
702 action: "elementor_set_admin_notice_viewed",
703 notice_id: noticeId,
704 _wpnonce: nonce
705 })
706 });
707 case 1:
708 _context4.next = 3;
709 break;
710 case 2:
711 _context4.prev = 2;
712 _t4 = _context4["catch"](0);
713 console.error(_t4);
714 case 3:
715 case "end": return _context4.stop();
716 }
717 }, _callee4, null, [[0, 2]]);
718 }));
719 return function markNoticeViewed(_x2, _x3) {
720 return _ref4.apply(this, arguments);
721 };
722 }();
723
724 //#endregion
725 //#region modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js
726 function ownKeys$1(e, r) {
727 var t = Object.keys(e);
728 if (Object.getOwnPropertySymbols) {
729 var o = Object.getOwnPropertySymbols(e);
730 r && (o = o.filter(function(r) {
731 return Object.getOwnPropertyDescriptor(e, r).enumerable;
732 })), t.push.apply(t, o);
733 }
734 return t;
735 }
736 __name(ownKeys$1, "ownKeys");
737 function _objectSpread$1(e) {
738 for (var r = 1; r < arguments.length; r++) {
739 var t = null != arguments[r] ? arguments[r] : {};
740 r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r) {
741 _defineProperty(e, r, t[r]);
742 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r) {
743 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
744 });
745 }
746 return e;
747 }
748 __name(_objectSpread$1, "_objectSpread");
749 var useElementManager = function useElementManager() {
750 var isInitialMount = (0, react.useRef)(true);
751 var _useState2 = _slicedToArray((0, react.useState)(true), 2);
752 var isLoading = _useState2[0];
753 var setIsLoading = _useState2[1];
754 var _useState4 = _slicedToArray((0, react.useState)([]), 2);
755 var widgets = _useState4[0];
756 var setWidgets = _useState4[1];
757 var _useState6 = _slicedToArray((0, react.useState)([]), 2);
758 var promotionWidgets = _useState6[0];
759 var setPromotionWidgets = _useState6[1];
760 var _useState8 = _slicedToArray((0, react.useState)([]), 2);
761 var plugins = _useState8[0];
762 var setPlugins = _useState8[1];
763 var _useState0 = _slicedToArray((0, react.useState)([]), 2);
764 var roles = _useState0[0];
765 var setRoles = _useState0[1];
766 var _useState10 = _slicedToArray((0, react.useState)([]), 2);
767 var widgetsDisabled = _useState10[0];
768 var setWidgetsDisabled = _useState10[1];
769 var _useState12 = _slicedToArray((0, react.useState)(null), 2);
770 var widgetsRoleRestrictions = _useState12[0];
771 var setWidgetsRoleRestrictions = _useState12[1];
772 var _useState14 = _slicedToArray((0, react.useState)([]), 2);
773 var promotionData = _useState14[0];
774 var setPromotionData = _useState14[1];
775 var _useState16 = _slicedToArray((0, react.useState)(null), 2);
776 var noticeData = _useState16[0];
777 var setNoticeData = _useState16[1];
778 var _useState18 = _slicedToArray((0, react.useState)({
779 isLoading: false,
780 data: null
781 }), 2);
782 var usageWidgets = _useState18[0];
783 var setUsageWidgets = _useState18[1];
784 var _useState20 = _slicedToArray((0, react.useState)({
785 isSaving: false,
786 isUnsavedChanges: false
787 }), 2);
788 var changeProgress = _useState20[0];
789 var setChangeProgress = _useState20[1];
790 var _useState22 = _slicedToArray((0, react.useState)(false), 2);
791 var isSnackbarOpen = _useState22[0];
792 var setIsSnackbarOpen = _useState22[1];
793 var getWidgetUsage = (0, react.useCallback)(function(widgetName) {
794 if (!usageWidgets.data || !usageWidgets.data.hasOwnProperty(widgetName)) return 0;
795 return usageWidgets.data[widgetName];
796 }, [usageWidgets.data]);
797 var scanUsageElements = (0, react.useCallback)(/*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee() {
798 var data;
799 return import_regenerator.default.wrap(function(_context) {
800 while (1) switch (_context.prev = _context.next) {
801 case 0:
802 setUsageWidgets(function(prev) {
803 return _objectSpread$1(_objectSpread$1({}, prev), {}, { isLoading: true });
804 });
805 _context.next = 1;
806 return getUsageWidgets();
807 case 1:
808 data = _context.sent;
809 setUsageWidgets({
810 data,
811 isLoading: false
812 });
813 return _context.abrupt("return", data);
814 case 2:
815 case "end": return _context.stop();
816 }
817 }, _callee);
818 })), []);
819 var saveChanges = (0, react.useCallback)(/*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee2() {
820 return import_regenerator.default.wrap(function(_context2) {
821 while (1) switch (_context2.prev = _context2.next) {
822 case 0:
823 setChangeProgress(function(prev) {
824 return _objectSpread$1(_objectSpread$1({}, prev), {}, { isSaving: true });
825 });
826 _context2.next = 1;
827 return saveDisabledWidgets(widgetsDisabled, widgetsRoleRestrictions);
828 case 1:
829 setChangeProgress({
830 isSaving: false,
831 isUnsavedChanges: false
832 });
833 setIsSnackbarOpen(true);
834 case 2:
835 case "end": return _context2.stop();
836 }
837 }, _callee2);
838 })), [widgetsDisabled, widgetsRoleRestrictions]);
839 var deactivateAllUnusedWidgets = (0, react.useCallback)(function() {
840 if (!usageWidgets.data) return;
841 setWidgetsDisabled(widgets.filter(function(widget) {
842 return !usageWidgets.data.hasOwnProperty(widget.name) || widgetsDisabled.includes(widget.name);
843 }).map(function(widget) {
844 return widget.name;
845 }));
846 }, [
847 widgets,
848 usageWidgets.data,
849 widgetsDisabled
850 ]);
851 var enableAllWidgets = (0, react.useCallback)(function() {
852 setWidgetsDisabled([]);
853 }, []);
854 var toggleWidget = (0, react.useCallback)(function(widgetName, isEnabled) {
855 if (isEnabled) setWidgetsDisabled(function(prev) {
856 return prev.filter(function(item) {
857 return item !== widgetName;
858 });
859 });
860 else setWidgetsDisabled(function(prev) {
861 return [].concat(_toConsumableArray(prev), [widgetName]);
862 });
863 }, []);
864 var dismissNotice = (0, react.useCallback)(function() {
865 if (noticeData) {
866 markNoticeViewed(noticeData.notice_id, noticeData.nonce);
867 setNoticeData(function(prev) {
868 return _objectSpread$1(_objectSpread$1({}, prev), {}, { is_viewed: true });
869 });
870 }
871 }, [noticeData]);
872 (0, react.useEffect)(function() {
873 (/* @__PURE__ */ (function() {
874 var _ref3 = _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee3() {
875 var _appData$additional_d;
876 var _appData$additional_d2;
877 var appData;
878 var pluginsData;
879 return import_regenerator.default.wrap(function(_context3) {
880 while (1) switch (_context3.prev = _context3.next) {
881 case 0:
882 _context3.next = 1;
883 return getAdminAppData();
884 case 1:
885 appData = _context3.sent;
886 setNoticeData(appData.notice_data);
887 setWidgetsDisabled(appData.disabled_elements);
888 setWidgets(appData.widgets);
889 setPromotionWidgets(appData.promotion_widgets);
890 setPromotionData(appData.promotion_data);
891 if ((_appData$additional_d = appData.additional_data) !== null && _appData$additional_d !== void 0 && _appData$additional_d.roles) setRoles(appData.additional_data.roles);
892 if ((_appData$additional_d2 = appData.additional_data) !== null && _appData$additional_d2 !== void 0 && _appData$additional_d2.role_restrictions) setWidgetsRoleRestrictions(appData.additional_data.role_restrictions);
893 pluginsData = appData.plugins.map(function(plugin) {
894 return {
895 label: plugin,
896 value: plugin
897 };
898 });
899 pluginsData.unshift({
900 label: "All Plugins",
901 value: ""
902 });
903 setPlugins(pluginsData);
904 setIsLoading(false);
905 setChangeProgress(function(prev) {
906 return _objectSpread$1(_objectSpread$1({}, prev), {}, { isUnsavedChanges: false });
907 });
908 case 2:
909 case "end": return _context3.stop();
910 }
911 }, _callee3);
912 }));
913 return function loadData() {
914 return _ref3.apply(this, arguments);
915 };
916 })())();
917 }, []);
918 (0, react.useEffect)(function() {
919 if (isLoading) return;
920 if (isInitialMount.current) {
921 isInitialMount.current = false;
922 return;
923 }
924 setChangeProgress(function(prev) {
925 return _objectSpread$1(_objectSpread$1({}, prev), {}, { isUnsavedChanges: true });
926 });
927 }, [
928 widgetsDisabled,
929 widgetsRoleRestrictions,
930 isLoading
931 ]);
932 (0, react.useEffect)(function() {
933 var handleBeforeUnload = function handleBeforeUnload(event) {
934 event.preventDefault();
935 event.returnValue = "";
936 };
937 if (changeProgress.isUnsavedChanges) window.addEventListener("beforeunload", handleBeforeUnload);
938 else window.removeEventListener("beforeunload", handleBeforeUnload);
939 return function() {
940 window.removeEventListener("beforeunload", handleBeforeUnload);
941 };
942 }, [changeProgress.isUnsavedChanges]);
943 return {
944 isLoading,
945 widgets,
946 promotionWidgets,
947 plugins,
948 roles,
949 widgetsDisabled,
950 widgetsRoleRestrictions,
951 setWidgetsRoleRestrictions,
952 promotionData,
953 noticeData,
954 usageWidgets,
955 changeProgress,
956 isSnackbarOpen,
957 setIsSnackbarOpen,
958 getWidgetUsage,
959 scanUsageElements,
960 saveChanges,
961 deactivateAllUnusedWidgets,
962 enableAllWidgets,
963 toggleWidget,
964 dismissNotice
965 };
966 };
967
968 //#endregion
969 //#region modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js
970 var useWidgetFilters = function useWidgetFilters(widgets, widgetsDisabled, getWidgetUsage) {
971 var _useState2 = _slicedToArray((0, react.useState)(""), 2);
972 var searchKeyword = _useState2[0];
973 var setSearchKeyword = _useState2[1];
974 var _useState4 = _slicedToArray((0, react.useState)("widget"), 2);
975 var sortingColumn = _useState4[0];
976 var setSortingColumn = _useState4[1];
977 var _useState6 = _slicedToArray((0, react.useState)("asc"), 2);
978 var sortingDirection = _useState6[0];
979 var setSortingDirection = _useState6[1];
980 var _useState8 = _slicedToArray((0, react.useState)(""), 2);
981 var filterByPlugin = _useState8[0];
982 var setFilterByPlugin = _useState8[1];
983 var _useState0 = _slicedToArray((0, react.useState)("all"), 2);
984 var filterByStatus = _useState0[0];
985 return {
986 searchKeyword,
987 setSearchKeyword,
988 filterByPlugin,
989 setFilterByPlugin,
990 filterByStatus,
991 setFilterByStatus: _useState0[1],
992 sortedAndFilteredWidgets: (0, react.useMemo)(function() {
993 var filteredWidgets = widgets.filter(function(widget) {
994 return widget.title.toLowerCase().includes(searchKeyword.toLowerCase());
995 });
996 if ("" !== filterByPlugin) filteredWidgets = filteredWidgets.filter(function(widget) {
997 return widget.plugin.toLowerCase() === filterByPlugin.toLowerCase();
998 });
999 if ("all" !== filterByStatus) filteredWidgets = filteredWidgets.filter(function(widget) {
1000 if ("active" === filterByStatus) return !widgetsDisabled.includes(widget.name);
1001 return widgetsDisabled.includes(widget.name);
1002 });
1003 filteredWidgets.sort(function(a, b) {
1004 var aValue;
1005 var bValue;
1006 if ("widget" === sortingColumn) {
1007 aValue = a.title;
1008 bValue = b.title;
1009 }
1010 if ("usage" === sortingColumn) {
1011 aValue = getWidgetUsage(a.name);
1012 bValue = getWidgetUsage(b.name);
1013 }
1014 if (aValue === bValue) return 0;
1015 if ("asc" === sortingDirection) return aValue < bValue ? -1 : 1;
1016 return aValue > bValue ? -1 : 1;
1017 });
1018 return filteredWidgets;
1019 }, [
1020 widgets,
1021 searchKeyword,
1022 sortingColumn,
1023 sortingDirection,
1024 filterByPlugin,
1025 filterByStatus,
1026 widgetsDisabled,
1027 getWidgetUsage
1028 ]),
1029 getSortingIndicatorClasses: (0, react.useCallback)(function(column) {
1030 if (sortingColumn !== column) return "";
1031 return "asc" === sortingDirection ? "sorted asc" : "sorted desc";
1032 }, [sortingColumn, sortingDirection]),
1033 onSortingClicked: (0, react.useCallback)(function(column) {
1034 if (sortingColumn === column) setSortingDirection(function(prev) {
1035 return "asc" === prev ? "desc" : "asc";
1036 });
1037 else {
1038 setSortingColumn(column);
1039 setSortingDirection("asc");
1040 }
1041 }, [sortingColumn]),
1042 setSortByUsage: (0, react.useCallback)(function() {
1043 setSortingColumn("usage");
1044 setSortingDirection("desc");
1045 }, [])
1046 };
1047 };
1048
1049 //#endregion
1050 //#region node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js
1051 /** @license React v16.13.1
1052 * react-is.development.js
1053 *
1054 * Copyright (c) Facebook, Inc. and its affiliates.
1055 *
1056 * This source code is licensed under the MIT license found in the
1057 * LICENSE file in the root directory of this source tree.
1058 */
1059 var require_react_is_development = /* @__PURE__ */ __commonJSMin(((exports) => {
1060 (function() {
1061 "use strict";
1062 var hasSymbol = typeof Symbol === "function" && Symbol.for;
1063 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
1064 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
1065 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
1066 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
1067 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
1068 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
1069 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
1070 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
1071 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
1072 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
1073 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
1074 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
1075 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
1076 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
1077 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
1078 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
1079 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
1080 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
1081 function isValidElementType(type) {
1082 return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
1083 }
1084 function typeOf(object) {
1085 if (typeof object === "object" && object !== null) {
1086 var $$typeof = object.$$typeof;
1087 switch ($$typeof) {
1088 case REACT_ELEMENT_TYPE:
1089 var type = object.type;
1090 switch (type) {
1091 case REACT_ASYNC_MODE_TYPE:
1092 case REACT_CONCURRENT_MODE_TYPE:
1093 case REACT_FRAGMENT_TYPE:
1094 case REACT_PROFILER_TYPE:
1095 case REACT_STRICT_MODE_TYPE:
1096 case REACT_SUSPENSE_TYPE: return type;
1097 default:
1098 var $$typeofType = type && type.$$typeof;
1099 switch ($$typeofType) {
1100 case REACT_CONTEXT_TYPE:
1101 case REACT_FORWARD_REF_TYPE:
1102 case REACT_LAZY_TYPE:
1103 case REACT_MEMO_TYPE:
1104 case REACT_PROVIDER_TYPE: return $$typeofType;
1105 default: return $$typeof;
1106 }
1107 }
1108 case REACT_PORTAL_TYPE: return $$typeof;
1109 }
1110 }
1111 }
1112 var AsyncMode = REACT_ASYNC_MODE_TYPE;
1113 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
1114 var ContextConsumer = REACT_CONTEXT_TYPE;
1115 var ContextProvider = REACT_PROVIDER_TYPE;
1116 var Element = REACT_ELEMENT_TYPE;
1117 var ForwardRef = REACT_FORWARD_REF_TYPE;
1118 var Fragment = REACT_FRAGMENT_TYPE;
1119 var Lazy = REACT_LAZY_TYPE;
1120 var Memo = REACT_MEMO_TYPE;
1121 var Portal = REACT_PORTAL_TYPE;
1122 var Profiler = REACT_PROFILER_TYPE;
1123 var StrictMode = REACT_STRICT_MODE_TYPE;
1124 var Suspense = REACT_SUSPENSE_TYPE;
1125 var hasWarnedAboutDeprecatedIsAsyncMode = false;
1126 function isAsyncMode(object) {
1127 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
1128 hasWarnedAboutDeprecatedIsAsyncMode = true;
1129 console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
1130 }
1131 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
1132 }
1133 function isConcurrentMode(object) {
1134 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
1135 }
1136 function isContextConsumer(object) {
1137 return typeOf(object) === REACT_CONTEXT_TYPE;
1138 }
1139 function isContextProvider(object) {
1140 return typeOf(object) === REACT_PROVIDER_TYPE;
1141 }
1142 function isElement(object) {
1143 return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
1144 }
1145 function isForwardRef(object) {
1146 return typeOf(object) === REACT_FORWARD_REF_TYPE;
1147 }
1148 function isFragment(object) {
1149 return typeOf(object) === REACT_FRAGMENT_TYPE;
1150 }
1151 function isLazy(object) {
1152 return typeOf(object) === REACT_LAZY_TYPE;
1153 }
1154 function isMemo(object) {
1155 return typeOf(object) === REACT_MEMO_TYPE;
1156 }
1157 function isPortal(object) {
1158 return typeOf(object) === REACT_PORTAL_TYPE;
1159 }
1160 function isProfiler(object) {
1161 return typeOf(object) === REACT_PROFILER_TYPE;
1162 }
1163 function isStrictMode(object) {
1164 return typeOf(object) === REACT_STRICT_MODE_TYPE;
1165 }
1166 function isSuspense(object) {
1167 return typeOf(object) === REACT_SUSPENSE_TYPE;
1168 }
1169 exports.AsyncMode = AsyncMode;
1170 exports.ConcurrentMode = ConcurrentMode;
1171 exports.ContextConsumer = ContextConsumer;
1172 exports.ContextProvider = ContextProvider;
1173 exports.Element = Element;
1174 exports.ForwardRef = ForwardRef;
1175 exports.Fragment = Fragment;
1176 exports.Lazy = Lazy;
1177 exports.Memo = Memo;
1178 exports.Portal = Portal;
1179 exports.Profiler = Profiler;
1180 exports.StrictMode = StrictMode;
1181 exports.Suspense = Suspense;
1182 exports.isAsyncMode = isAsyncMode;
1183 exports.isConcurrentMode = isConcurrentMode;
1184 exports.isContextConsumer = isContextConsumer;
1185 exports.isContextProvider = isContextProvider;
1186 exports.isElement = isElement;
1187 exports.isForwardRef = isForwardRef;
1188 exports.isFragment = isFragment;
1189 exports.isLazy = isLazy;
1190 exports.isMemo = isMemo;
1191 exports.isPortal = isPortal;
1192 exports.isProfiler = isProfiler;
1193 exports.isStrictMode = isStrictMode;
1194 exports.isSuspense = isSuspense;
1195 exports.isValidElementType = isValidElementType;
1196 exports.typeOf = typeOf;
1197 })();
1198 }));
1199
1200 //#endregion
1201 //#region node_modules/prop-types/node_modules/react-is/index.js
1202 var require_react_is = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1203 module.exports = require_react_is_development();
1204 }));
1205
1206 //#endregion
1207 //#region node_modules/object-assign/index.js
1208 /*
1209 object-assign
1210 (c) Sindre Sorhus
1211 @license MIT
1212 */
1213 var require_object_assign = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1214 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1215 var hasOwnProperty = Object.prototype.hasOwnProperty;
1216 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
1217 function toObject(val) {
1218 if (val === null || val === void 0) throw new TypeError("Object.assign cannot be called with null or undefined");
1219 return Object(val);
1220 }
1221 function shouldUseNative() {
1222 try {
1223 if (!Object.assign) return false;
1224 var test1 = /* @__PURE__ */ new String("abc");
1225 test1[5] = "de";
1226 if (Object.getOwnPropertyNames(test1)[0] === "5") return false;
1227 var test2 = {};
1228 for (var i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i;
1229 if (Object.getOwnPropertyNames(test2).map(function(n) {
1230 return test2[n];
1231 }).join("") !== "0123456789") return false;
1232 var test3 = {};
1233 "abcdefghijklmnopqrst".split("").forEach(function(letter) {
1234 test3[letter] = letter;
1235 });
1236 if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") return false;
1237 return true;
1238 } catch (err) {
1239 return false;
1240 }
1241 }
1242 module.exports = shouldUseNative() ? Object.assign : function(target, source) {
1243 var from;
1244 var to = toObject(target);
1245 var symbols;
1246 for (var s = 1; s < arguments.length; s++) {
1247 from = Object(arguments[s]);
1248 for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
1249 if (getOwnPropertySymbols) {
1250 symbols = getOwnPropertySymbols(from);
1251 for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
1252 }
1253 }
1254 return to;
1255 };
1256 }));
1257
1258 //#endregion
1259 //#region node_modules/prop-types/lib/ReactPropTypesSecret.js
1260 /**
1261 * Copyright (c) 2013-present, Facebook, Inc.
1262 *
1263 * This source code is licensed under the MIT license found in the
1264 * LICENSE file in the root directory of this source tree.
1265 */
1266 var require_ReactPropTypesSecret = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1267 var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
1268 module.exports = ReactPropTypesSecret;
1269 }));
1270
1271 //#endregion
1272 //#region node_modules/prop-types/lib/has.js
1273 var require_has = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1274 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
1275 }));
1276
1277 //#endregion
1278 //#region node_modules/prop-types/checkPropTypes.js
1279 /**
1280 * Copyright (c) 2013-present, Facebook, Inc.
1281 *
1282 * This source code is licensed under the MIT license found in the
1283 * LICENSE file in the root directory of this source tree.
1284 */
1285 var require_checkPropTypes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1286 var printWarning = function() {};
1287 var ReactPropTypesSecret = require_ReactPropTypesSecret();
1288 var loggedTypeFailures = {};
1289 var has = require_has();
1290 printWarning = function(text) {
1291 var message = "Warning: " + text;
1292 if (typeof console !== "undefined") console.error(message);
1293 try {
1294 throw new Error(message);
1295 } catch (x) {}
1296 };
1297 /**
1298 * Assert that the values match with the type specs.
1299 * Error messages are memorized and will only be shown once.
1300 *
1301 * @param {object} typeSpecs Map of name to a ReactPropType
1302 * @param {object} values Runtime values that need to be type-checked
1303 * @param {string} location e.g. "prop", "context", "child context"
1304 * @param {string} componentName Name of the component for error messages.
1305 * @param {?Function} getStack Returns the component stack.
1306 * @private
1307 */
1308 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
1309 for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {
1310 var error;
1311 try {
1312 if (typeof typeSpecs[typeSpecName] !== "function") {
1313 var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
1314 err.name = "Invariant Violation";
1315 throw err;
1316 }
1317 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
1318 } catch (ex) {
1319 error = ex;
1320 }
1321 if (error && !(error instanceof Error)) printWarning((componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");
1322 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
1323 loggedTypeFailures[error.message] = true;
1324 var stack = getStack ? getStack() : "";
1325 printWarning("Failed " + location + " type: " + error.message + (stack != null ? stack : ""));
1326 }
1327 }
1328 }
1329 /**
1330 * Resets warning cache when testing.
1331 *
1332 * @private
1333 */
1334 checkPropTypes.resetWarningCache = function() {
1335 loggedTypeFailures = {};
1336 };
1337 module.exports = checkPropTypes;
1338 }));
1339
1340 //#endregion
1341 //#region node_modules/prop-types/factoryWithTypeCheckers.js
1342 /**
1343 * Copyright (c) 2013-present, Facebook, Inc.
1344 *
1345 * This source code is licensed under the MIT license found in the
1346 * LICENSE file in the root directory of this source tree.
1347 */
1348 var require_factoryWithTypeCheckers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1349 var ReactIs = require_react_is();
1350 var assign = require_object_assign();
1351 var ReactPropTypesSecret = require_ReactPropTypesSecret();
1352 var has = require_has();
1353 var checkPropTypes = require_checkPropTypes();
1354 var printWarning = function() {};
1355 printWarning = function(text) {
1356 var message = "Warning: " + text;
1357 if (typeof console !== "undefined") console.error(message);
1358 try {
1359 throw new Error(message);
1360 } catch (x) {}
1361 };
1362 function emptyFunctionThatReturnsNull() {
1363 return null;
1364 }
1365 module.exports = function(isValidElement, throwOnDirectAccess) {
1366 var ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator;
1367 var FAUX_ITERATOR_SYMBOL = "@@iterator";
1368 /**
1369 * Returns the iterator method function contained on the iterable object.
1370 *
1371 * Be sure to invoke the function with the iterable as context:
1372 *
1373 * var iteratorFn = getIteratorFn(myIterable);
1374 * if (iteratorFn) {
1375 * var iterator = iteratorFn.call(myIterable);
1376 * ...
1377 * }
1378 *
1379 * @param {?object} maybeIterable
1380 * @return {?function}
1381 */
1382 function getIteratorFn(maybeIterable) {
1383 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
1384 if (typeof iteratorFn === "function") return iteratorFn;
1385 }
1386 /**
1387 * Collection of methods that allow declaration and validation of props that are
1388 * supplied to React components. Example usage:
1389 *
1390 * var Props = require('ReactPropTypes');
1391 * var MyArticle = React.createClass({
1392 * propTypes: {
1393 * // An optional string prop named "description".
1394 * description: Props.string,
1395 *
1396 * // A required enum prop named "category".
1397 * category: Props.oneOf(['News','Photos']).isRequired,
1398 *
1399 * // A prop named "dialog" that requires an instance of Dialog.
1400 * dialog: Props.instanceOf(Dialog).isRequired
1401 * },
1402 * render: function() { ... }
1403 * });
1404 *
1405 * A more formal specification of how these methods are used:
1406 *
1407 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
1408 * decl := ReactPropTypes.{type}(.isRequired)?
1409 *
1410 * Each and every declaration produces a function with the same signature. This
1411 * allows the creation of custom validation functions. For example:
1412 *
1413 * var MyLink = React.createClass({
1414 * propTypes: {
1415 * // An optional string or URI prop named "href".
1416 * href: function(props, propName, componentName) {
1417 * var propValue = props[propName];
1418 * if (propValue != null && typeof propValue !== 'string' &&
1419 * !(propValue instanceof URI)) {
1420 * return new Error(
1421 * 'Expected a string or an URI for ' + propName + ' in ' +
1422 * componentName
1423 * );
1424 * }
1425 * }
1426 * },
1427 * render: function() {...}
1428 * });
1429 *
1430 * @internal
1431 */
1432 var ANONYMOUS = "<<anonymous>>";
1433 var ReactPropTypes = {
1434 array: createPrimitiveTypeChecker("array"),
1435 bigint: createPrimitiveTypeChecker("bigint"),
1436 bool: createPrimitiveTypeChecker("boolean"),
1437 func: createPrimitiveTypeChecker("function"),
1438 number: createPrimitiveTypeChecker("number"),
1439 object: createPrimitiveTypeChecker("object"),
1440 string: createPrimitiveTypeChecker("string"),
1441 symbol: createPrimitiveTypeChecker("symbol"),
1442 any: createAnyTypeChecker(),
1443 arrayOf: createArrayOfTypeChecker,
1444 element: createElementTypeChecker(),
1445 elementType: createElementTypeTypeChecker(),
1446 instanceOf: createInstanceTypeChecker,
1447 node: createNodeChecker(),
1448 objectOf: createObjectOfTypeChecker,
1449 oneOf: createEnumTypeChecker,
1450 oneOfType: createUnionTypeChecker,
1451 shape: createShapeTypeChecker,
1452 exact: createStrictShapeTypeChecker
1453 };
1454 /**
1455 * inlined Object.is polyfill to avoid requiring consumers ship their own
1456 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
1457 */
1458 function is(x, y) {
1459 if (x === y) return x !== 0 || 1 / x === 1 / y;
1460 else return x !== x && y !== y;
1461 }
1462 /**
1463 * We use an Error-like object for backward compatibility as people may call
1464 * PropTypes directly and inspect their output. However, we don't use real
1465 * Errors anymore. We don't inspect their stack anyway, and creating them
1466 * is prohibitively expensive if they are created too often, such as what
1467 * happens in oneOfType() for any type before the one that matched.
1468 */
1469 function PropTypeError(message, data) {
1470 this.message = message;
1471 this.data = data && typeof data === "object" ? data : {};
1472 this.stack = "";
1473 }
1474 PropTypeError.prototype = Error.prototype;
1475 function createChainableTypeChecker(validate) {
1476 var manualPropTypeCallCache = {};
1477 var manualPropTypeWarningCount = 0;
1478 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
1479 componentName = componentName || ANONYMOUS;
1480 propFullName = propFullName || propName;
1481 if (secret !== ReactPropTypesSecret) {
1482 if (throwOnDirectAccess) {
1483 var err = /* @__PURE__ */ new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");
1484 err.name = "Invariant Violation";
1485 throw err;
1486 } else if (typeof console !== "undefined") {
1487 var cacheKey = componentName + ":" + propName;
1488 if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) {
1489 printWarning("You are manually calling a React.PropTypes validation function for the `" + propFullName + "` prop on `" + componentName + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.");
1490 manualPropTypeCallCache[cacheKey] = true;
1491 manualPropTypeWarningCount++;
1492 }
1493 }
1494 }
1495 if (props[propName] == null) {
1496 if (isRequired) {
1497 if (props[propName] === null) return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required " + ("in `" + componentName + "`, but its value is `null`."));
1498 return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required in " + ("`" + componentName + "`, but its value is `undefined`."));
1499 }
1500 return null;
1501 } else return validate(props, propName, componentName, location, propFullName);
1502 }
1503 var chainedCheckType = checkType.bind(null, false);
1504 chainedCheckType.isRequired = checkType.bind(null, true);
1505 return chainedCheckType;
1506 }
1507 function createPrimitiveTypeChecker(expectedType) {
1508 function validate(props, propName, componentName, location, propFullName, secret) {
1509 var propValue = props[propName];
1510 if (getPropType(propValue) !== expectedType) {
1511 var preciseType = getPreciseType(propValue);
1512 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + preciseType + "` supplied to `" + componentName + "`, expected ") + ("`" + expectedType + "`."), { expectedType });
1513 }
1514 return null;
1515 }
1516 return createChainableTypeChecker(validate);
1517 }
1518 function createAnyTypeChecker() {
1519 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
1520 }
1521 function createArrayOfTypeChecker(typeChecker) {
1522 function validate(props, propName, componentName, location, propFullName) {
1523 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf.");
1524 var propValue = props[propName];
1525 if (!Array.isArray(propValue)) {
1526 var propType = getPropType(propValue);
1527 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
1528 }
1529 for (var i = 0; i < propValue.length; i++) {
1530 var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
1531 if (error instanceof Error) return error;
1532 }
1533 return null;
1534 }
1535 return createChainableTypeChecker(validate);
1536 }
1537 function createElementTypeChecker() {
1538 function validate(props, propName, componentName, location, propFullName) {
1539 var propValue = props[propName];
1540 if (!isValidElement(propValue)) {
1541 var propType = getPropType(propValue);
1542 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement."));
1543 }
1544 return null;
1545 }
1546 return createChainableTypeChecker(validate);
1547 }
1548 function createElementTypeTypeChecker() {
1549 function validate(props, propName, componentName, location, propFullName) {
1550 var propValue = props[propName];
1551 if (!ReactIs.isValidElementType(propValue)) {
1552 var propType = getPropType(propValue);
1553 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement type."));
1554 }
1555 return null;
1556 }
1557 return createChainableTypeChecker(validate);
1558 }
1559 function createInstanceTypeChecker(expectedClass) {
1560 function validate(props, propName, componentName, location, propFullName) {
1561 if (!(props[propName] instanceof expectedClass)) {
1562 var expectedClassName = expectedClass.name || ANONYMOUS;
1563 var actualClassName = getClassName(props[propName]);
1564 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
1565 }
1566 return null;
1567 }
1568 return createChainableTypeChecker(validate);
1569 }
1570 function createEnumTypeChecker(expectedValues) {
1571 if (!Array.isArray(expectedValues)) {
1572 if (arguments.length > 1) printWarning("Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");
1573 else printWarning("Invalid argument supplied to oneOf, expected an array.");
1574 return emptyFunctionThatReturnsNull;
1575 }
1576 function validate(props, propName, componentName, location, propFullName) {
1577 var propValue = props[propName];
1578 for (var i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;
1579 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
1580 if (getPreciseType(value) === "symbol") return String(value);
1581 return value;
1582 });
1583 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + String(propValue) + "` " + ("supplied to `" + componentName + "`, expected one of " + valuesString + "."));
1584 }
1585 return createChainableTypeChecker(validate);
1586 }
1587 function createObjectOfTypeChecker(typeChecker) {
1588 function validate(props, propName, componentName, location, propFullName) {
1589 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf.");
1590 var propValue = props[propName];
1591 var propType = getPropType(propValue);
1592 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
1593 for (var key in propValue) if (has(propValue, key)) {
1594 var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
1595 if (error instanceof Error) return error;
1596 }
1597 return null;
1598 }
1599 return createChainableTypeChecker(validate);
1600 }
1601 function createUnionTypeChecker(arrayOfTypeCheckers) {
1602 if (!Array.isArray(arrayOfTypeCheckers)) {
1603 printWarning("Invalid argument supplied to oneOfType, expected an instance of array.");
1604 return emptyFunctionThatReturnsNull;
1605 }
1606 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
1607 var checker = arrayOfTypeCheckers[i];
1608 if (typeof checker !== "function") {
1609 printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + getPostfixForTypeWarning(checker) + " at index " + i + ".");
1610 return emptyFunctionThatReturnsNull;
1611 }
1612 }
1613 function validate(props, propName, componentName, location, propFullName) {
1614 var expectedTypes = [];
1615 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
1616 var checker = arrayOfTypeCheckers[i];
1617 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
1618 if (checkerResult == null) return null;
1619 if (checkerResult.data && has(checkerResult.data, "expectedType")) expectedTypes.push(checkerResult.data.expectedType);
1620 }
1621 var expectedTypesMessage = expectedTypes.length > 0 ? ", expected one of type [" + expectedTypes.join(", ") + "]" : "";
1622 return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`" + expectedTypesMessage + "."));
1623 }
1624 return createChainableTypeChecker(validate);
1625 }
1626 function createNodeChecker() {
1627 function validate(props, propName, componentName, location, propFullName) {
1628 if (!isNode(props[propName])) return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`, expected a ReactNode."));
1629 return null;
1630 }
1631 return createChainableTypeChecker(validate);
1632 }
1633 function invalidValidatorError(componentName, location, propFullName, key, type) {
1634 return new PropTypeError((componentName || "React class") + ": " + location + " type `" + propFullName + "." + key + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + type + "`.");
1635 }
1636 function createShapeTypeChecker(shapeTypes) {
1637 function validate(props, propName, componentName, location, propFullName) {
1638 var propValue = props[propName];
1639 var propType = getPropType(propValue);
1640 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
1641 for (var key in shapeTypes) {
1642 var checker = shapeTypes[key];
1643 if (typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
1644 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
1645 if (error) return error;
1646 }
1647 return null;
1648 }
1649 return createChainableTypeChecker(validate);
1650 }
1651 function createStrictShapeTypeChecker(shapeTypes) {
1652 function validate(props, propName, componentName, location, propFullName) {
1653 var propValue = props[propName];
1654 var propType = getPropType(propValue);
1655 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
1656 for (var key in assign({}, props[propName], shapeTypes)) {
1657 var checker = shapeTypes[key];
1658 if (has(shapeTypes, key) && typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
1659 if (!checker) return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, " "));
1660 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
1661 if (error) return error;
1662 }
1663 return null;
1664 }
1665 return createChainableTypeChecker(validate);
1666 }
1667 function isNode(propValue) {
1668 switch (typeof propValue) {
1669 case "number":
1670 case "string":
1671 case "undefined": return true;
1672 case "boolean": return !propValue;
1673 case "object":
1674 if (Array.isArray(propValue)) return propValue.every(isNode);
1675 if (propValue === null || isValidElement(propValue)) return true;
1676 var iteratorFn = getIteratorFn(propValue);
1677 if (iteratorFn) {
1678 var iterator = iteratorFn.call(propValue);
1679 var step;
1680 if (iteratorFn !== propValue.entries) {
1681 while (!(step = iterator.next()).done) if (!isNode(step.value)) return false;
1682 } else while (!(step = iterator.next()).done) {
1683 var entry = step.value;
1684 if (entry) {
1685 if (!isNode(entry[1])) return false;
1686 }
1687 }
1688 } else return false;
1689 return true;
1690 default: return false;
1691 }
1692 }
1693 function isSymbol(propType, propValue) {
1694 if (propType === "symbol") return true;
1695 if (!propValue) return false;
1696 if (propValue["@@toStringTag"] === "Symbol") return true;
1697 if (typeof Symbol === "function" && propValue instanceof Symbol) return true;
1698 return false;
1699 }
1700 function getPropType(propValue) {
1701 var propType = typeof propValue;
1702 if (Array.isArray(propValue)) return "array";
1703 if (propValue instanceof RegExp) return "object";
1704 if (isSymbol(propType, propValue)) return "symbol";
1705 return propType;
1706 }
1707 function getPreciseType(propValue) {
1708 if (typeof propValue === "undefined" || propValue === null) return "" + propValue;
1709 var propType = getPropType(propValue);
1710 if (propType === "object") {
1711 if (propValue instanceof Date) return "date";
1712 else if (propValue instanceof RegExp) return "regexp";
1713 }
1714 return propType;
1715 }
1716 function getPostfixForTypeWarning(value) {
1717 var type = getPreciseType(value);
1718 switch (type) {
1719 case "array":
1720 case "object": return "an " + type;
1721 case "boolean":
1722 case "date":
1723 case "regexp": return "a " + type;
1724 default: return type;
1725 }
1726 }
1727 function getClassName(propValue) {
1728 if (!propValue.constructor || !propValue.constructor.name) return ANONYMOUS;
1729 return propValue.constructor.name;
1730 }
1731 ReactPropTypes.checkPropTypes = checkPropTypes;
1732 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
1733 ReactPropTypes.PropTypes = ReactPropTypes;
1734 return ReactPropTypes;
1735 };
1736 }));
1737
1738 //#endregion
1739 //#region node_modules/prop-types/index.js
1740 var require_prop_types = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1741 var ReactIs = require_react_is();
1742 var throwOnDirectAccess = true;
1743 module.exports = require_factoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
1744 }));
1745
1746 //#endregion
1747 //#region modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js
1748 var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types());
1749 var UsageTimesColumn = function UsageTimesColumn(_ref) {
1750 var widgetName = _ref.widgetName;
1751 var usageData = _ref.usageData;
1752 var isLoading = _ref.isLoading;
1753 var getWidgetUsage = _ref.getWidgetUsage;
1754 var onScanClick = _ref.onScanClick;
1755 if (null !== usageData) return /*#__PURE__*/ react.default.createElement(react.default.Fragment, null, getWidgetUsage(widgetName), " ", (0, _wordpress_i18n.__)("times", "elementor"));
1756 if (isLoading) return /*#__PURE__*/ react.default.createElement(_elementor_ui.CircularProgress, {
1757 color: "secondary",
1758 size: 20
1759 });
1760 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
1761 onClick: onScanClick,
1762 size: "small",
1763 variant: "outlined",
1764 color: "secondary",
1765 className: "e-id-elementor-element-manager-button-show-usage",
1766 sx: {
1767 minWidth: function minWidth(theme) {
1768 return theme.spacing(6);
1769 },
1770 height: 26
1771 }
1772 }, (0, _wordpress_i18n.__)("Show", "elementor"));
1773 };
1774 UsageTimesColumn.propTypes = {
1775 widgetName: import_prop_types.default.string.isRequired,
1776 usageData: import_prop_types.default.object,
1777 isLoading: import_prop_types.default.bool,
1778 getWidgetUsage: import_prop_types.default.func.isRequired,
1779 onScanClick: import_prop_types.default.func.isRequired
1780 };
1781
1782 //#endregion
1783 //#region modules/element-manager/assets/js/app-editor-one/components/NoticeAlert.js
1784 var NoticeAlert = function NoticeAlert(_ref) {
1785 var onDismiss = _ref.onDismiss;
1786 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: { mb: 2 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Alert, {
1787 severity: "warning",
1788 onClose: onDismiss
1789 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
1790 component: "strong",
1791 variant: "body2",
1792 sx: { fontWeight: 700 }
1793 }, (0, _wordpress_i18n.__)("Before you continue:", "elementor")), " ", (0, _wordpress_i18n.__)("Deactivating widgets here will remove them from both the Elementor Editor and your website, which can cause changes to your overall layout, design and what visitors see.", "elementor")));
1794 };
1795 NoticeAlert.propTypes = { onDismiss: import_prop_types.default.func.isRequired };
1796
1797 //#endregion
1798 //#region modules/element-manager/assets/js/app-editor-one/components/ConfirmDialog.js
1799 var ConfirmDialog = function ConfirmDialog(_ref) {
1800 var isOpen = _ref.isOpen;
1801 var onClose = _ref.onClose;
1802 var onConfirm = _ref.onConfirm;
1803 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Dialog, {
1804 open: isOpen,
1805 onClose,
1806 maxWidth: "sm"
1807 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.DialogTitle, null, (0, _wordpress_i18n.__)("Sure you want to save these changes?", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.DialogContent, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.DialogContentText, null, (0, _wordpress_i18n.__)("Turning widgets off will hide them from the editor panel, and can potentially affect your layout or front-end.", "elementor"), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
1808 component: "span",
1809 sx: {
1810 display: "block",
1811 mt: 2.5
1812 }
1813 }, (0, _wordpress_i18n.__)("If you're adding widgets back in, enjoy them!", "elementor")))), /*#__PURE__*/ react.default.createElement(_elementor_ui.DialogActions, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
1814 direction: "row",
1815 gap: 2,
1816 justifyContent: "flex-end"
1817 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
1818 variant: "outlined",
1819 color: "secondary",
1820 onClick: onClose,
1821 className: "e-id-elementor-element-manager-modal-button-cancel"
1822 }, (0, _wordpress_i18n.__)("Cancel", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
1823 variant: "contained",
1824 onClick: onConfirm,
1825 className: "e-id-elementor-element-manager-modal-button-save"
1826 }, (0, _wordpress_i18n.__)("Save", "elementor")))));
1827 };
1828 ConfirmDialog.propTypes = {
1829 isOpen: import_prop_types.default.bool.isRequired,
1830 onClose: import_prop_types.default.func.isRequired,
1831 onConfirm: import_prop_types.default.func.isRequired
1832 };
1833
1834 //#endregion
1835 //#region modules/element-manager/assets/js/app-editor-one/components/SearchFilters.js
1836 var FIELD_HEIGHT = 28;
1837 var FONT_SIZE = 12;
1838 var ICON_SIZE = 16;
1839 var StyledTextField = (0, _elementor_ui.styled)(_elementor_ui.TextField)({ "& .MuiInputBase-root": {
1840 height: FIELD_HEIGHT,
1841 fontSize: FONT_SIZE
1842 } });
1843 var StyledFormControl = (0, _elementor_ui.styled)(_elementor_ui.FormControl)({
1844 "& .MuiInputBase-root": {
1845 height: FIELD_HEIGHT,
1846 fontSize: FONT_SIZE
1847 },
1848 "& .MuiSelect-icon": {
1849 width: ICON_SIZE,
1850 height: ICON_SIZE,
1851 top: "calc(50% - 8px)"
1852 }
1853 });
1854 var StyledButton = (0, _elementor_ui.styled)(_elementor_ui.Button)({
1855 height: FIELD_HEIGHT,
1856 fontSize: FONT_SIZE,
1857 minWidth: "auto",
1858 whiteSpace: "nowrap"
1859 });
1860 var SearchFilters = function SearchFilters(_ref) {
1861 var searchKeyword = _ref.searchKeyword;
1862 var onSearchChange = _ref.onSearchChange;
1863 var filterByPlugin = _ref.filterByPlugin;
1864 var onPluginFilterChange = _ref.onPluginFilterChange;
1865 var filterByStatus = _ref.filterByStatus;
1866 var onStatusFilterChange = _ref.onStatusFilterChange;
1867 var plugins = _ref.plugins;
1868 var usageIsLoading = _ref.usageIsLoading;
1869 var usageData = _ref.usageData;
1870 var widgetsDisabledCount = _ref.widgetsDisabledCount;
1871 var onScanUsage = _ref.onScanUsage;
1872 var onDeactivateUnused = _ref.onDeactivateUnused;
1873 var onEnableAll = _ref.onEnableAll;
1874 var onSaveChanges = _ref.onSaveChanges;
1875 var isSaving = _ref.isSaving;
1876 var hasUnsavedChanges = _ref.hasUnsavedChanges;
1877 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
1878 direction: {
1879 xs: "column",
1880 sm: "row"
1881 },
1882 alignItems: {
1883 xs: "stretch",
1884 sm: "flex-start"
1885 },
1886 gap: 1.5,
1887 sx: function sx(theme) {
1888 return {
1889 position: "sticky",
1890 top: 0,
1891 "@media screen and (max-width: 782px)": { top: "calc(var(--e-admin-bar-height, 0px) + var(--e-top-bar-header-height, 0px))" },
1892 backgroundColor: "var(--e-one-palette-background-default)",
1893 zIndex: 10,
1894 paddingBlock: 2,
1895 paddingInline: 2,
1896 boxShadow: "rgba(0, 0, 0, 0.15) 0 5px 10px 0",
1897 marginBottom: theme.spacing(1)
1898 };
1899 }
1900 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
1901 direction: "row",
1902 alignItems: "center",
1903 flexWrap: "wrap",
1904 gap: 1.5,
1905 sx: { flex: 1 }
1906 }, /*#__PURE__*/ react.default.createElement(StyledTextField, {
1907 color: "secondary",
1908 value: searchKeyword,
1909 size: "small",
1910 placeholder: (0, _wordpress_i18n.__)("Search", "elementor"),
1911 onChange: function onChange(e) {
1912 return onSearchChange(e.target.value);
1913 },
1914 sx: function sx(theme) {
1915 return { minWidth: theme.spacing(14) };
1916 }
1917 }), /*#__PURE__*/ react.default.createElement(StyledFormControl, {
1918 size: "small",
1919 sx: function sx(theme) {
1920 return { width: theme.spacing(20) };
1921 },
1922 color: "secondary"
1923 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Select, {
1924 placeholder: (0, _wordpress_i18n.__)("Plugin", "elementor"),
1925 value: filterByPlugin,
1926 onChange: function onChange(event) {
1927 return onPluginFilterChange(event.target.value);
1928 },
1929 "data-id": "elementor-element-manager-select-filter-by-plugin",
1930 displayEmpty: true,
1931 renderValue: function renderValue(value) {
1932 if ("" === value) return (0, _wordpress_i18n.__)("All Plugins", "elementor");
1933 var selectedPlugin = plugins.find(function(p) {
1934 return p.value === value;
1935 });
1936 return selectedPlugin ? selectedPlugin.label : value;
1937 }
1938 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, { value: "" }, (0, _wordpress_i18n.__)("All Plugins", "elementor")), plugins.map(function(plugin) {
1939 return /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, {
1940 key: plugin.value,
1941 value: plugin.value
1942 }, plugin.label);
1943 }))), /*#__PURE__*/ react.default.createElement(StyledFormControl, {
1944 size: "small",
1945 sx: function sx(theme) {
1946 return { width: theme.spacing(20) };
1947 },
1948 color: "secondary"
1949 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Select, {
1950 value: filterByStatus,
1951 onChange: function onChange(event) {
1952 return onStatusFilterChange(event.target.value);
1953 },
1954 "data-id": "elementor-element-manager-select-filter-by-status",
1955 placeholder: (0, _wordpress_i18n.__)("Status", "elementor")
1956 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, { value: "all" }, (0, _wordpress_i18n.__)("All Statuses", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, { value: "active" }, (0, _wordpress_i18n.__)("Active", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, { value: "inactive" }, (0, _wordpress_i18n.__)("Inactive", "elementor")))), /*#__PURE__*/ react.default.createElement(_elementor_ui.Divider, {
1957 orientation: "vertical",
1958 flexItem: true,
1959 sx: {
1960 height: FIELD_HEIGHT,
1961 marginBlock: 0,
1962 marginInline: .5,
1963 alignSelf: "center",
1964 display: {
1965 xs: "none",
1966 md: "block"
1967 }
1968 }
1969 }), /*#__PURE__*/ react.default.createElement(StyledButton, {
1970 variant: "outlined",
1971 color: "secondary",
1972 size: "small",
1973 disabled: usageIsLoading,
1974 onClick: onScanUsage,
1975 "data-id": "e-id-elementor-element-manager-button-scan-element-usage",
1976 loading: usageIsLoading
1977 }, (0, _wordpress_i18n.__)("Scan Element Usage", "elementor")), /*#__PURE__*/ react.default.createElement(StyledButton, {
1978 variant: "outlined",
1979 color: "secondary",
1980 size: "small",
1981 onClick: onDeactivateUnused,
1982 disabled: null === usageData,
1983 "data-id": "e-id-elementor-element-manager-button-deactivate-unused-elements"
1984 }, (0, _wordpress_i18n.__)("Deactivate Unused Elements", "elementor")), /*#__PURE__*/ react.default.createElement(StyledButton, {
1985 variant: "outlined",
1986 color: "secondary",
1987 size: "small",
1988 disabled: !widgetsDisabledCount,
1989 onClick: onEnableAll,
1990 "data-id": "e-id-elementor-element-manager-button-enable-all"
1991 }, (0, _wordpress_i18n.__)("Enable All", "elementor"))), /*#__PURE__*/ react.default.createElement(StyledButton, {
1992 variant: "contained",
1993 size: "small",
1994 disabled: isSaving || !hasUnsavedChanges,
1995 onClick: onSaveChanges,
1996 "data-id": "e-id-elementor-element-manager-button-save-changes",
1997 loading: isSaving,
1998 sx: { alignSelf: "flex-start" }
1999 }, (0, _wordpress_i18n.__)("Save Changes", "elementor")));
2000 };
2001 SearchFilters.propTypes = {
2002 searchKeyword: import_prop_types.default.string.isRequired,
2003 onSearchChange: import_prop_types.default.func.isRequired,
2004 filterByPlugin: import_prop_types.default.string.isRequired,
2005 onPluginFilterChange: import_prop_types.default.func.isRequired,
2006 filterByStatus: import_prop_types.default.string.isRequired,
2007 onStatusFilterChange: import_prop_types.default.func.isRequired,
2008 plugins: import_prop_types.default.arrayOf(import_prop_types.default.shape({
2009 label: import_prop_types.default.string.isRequired,
2010 value: import_prop_types.default.string.isRequired
2011 })).isRequired,
2012 usageIsLoading: import_prop_types.default.bool,
2013 usageData: import_prop_types.default.object,
2014 widgetsDisabledCount: import_prop_types.default.number.isRequired,
2015 onScanUsage: import_prop_types.default.func.isRequired,
2016 onDeactivateUnused: import_prop_types.default.func.isRequired,
2017 onEnableAll: import_prop_types.default.func.isRequired,
2018 onSaveChanges: import_prop_types.default.func.isRequired,
2019 isSaving: import_prop_types.default.bool,
2020 hasUnsavedChanges: import_prop_types.default.bool
2021 };
2022
2023 //#endregion
2024 //#region node_modules/@babel/runtime/helpers/esm/extends.js
2025 function _extends() {
2026 return _extends = Object.assign ? Object.assign.bind() : function(n) {
2027 for (var e = 1; e < arguments.length; e++) {
2028 var t = arguments[e];
2029 for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
2030 }
2031 return n;
2032 }, _extends.apply(null, arguments);
2033 }
2034
2035 //#endregion
2036 //#region modules/element-manager/assets/js/upgrade-button.js
2037 var UpgradeButton = function UpgradeButton(props) {
2038 var trackingClass = props.className || "e-id-elementor-element-manager-button-upgrade";
2039 return /*#__PURE__*/ react.default.createElement(_wordpress_components.Button, _extends({}, props, {
2040 variant: "primary",
2041 target: "_blank",
2042 rel: "noreferrer",
2043 style: { background: "var(--e-a-btn-bg-accent, #93003f)" },
2044 className: trackingClass
2045 }));
2046 };
2047 UpgradeButton.propTypes = { className: import_prop_types.default.string };
2048
2049 //#endregion
2050 //#region modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js
2051 function ownKeys(e, r) {
2052 var t = Object.keys(e);
2053 if (Object.getOwnPropertySymbols) {
2054 var o = Object.getOwnPropertySymbols(e);
2055 r && (o = o.filter(function(r) {
2056 return Object.getOwnPropertyDescriptor(e, r).enumerable;
2057 })), t.push.apply(t, o);
2058 }
2059 return t;
2060 }
2061 function _objectSpread(e) {
2062 for (var r = 1; r < arguments.length; r++) {
2063 var t = null != arguments[r] ? arguments[r] : {};
2064 r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
2065 _defineProperty(e, r, t[r]);
2066 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
2067 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
2068 });
2069 }
2070 return e;
2071 }
2072 var toggleRoleRestrictions = function toggleRoleRestrictions(widgetName, roleId, widgetsRoleRestrictions, setWidgetsRoleRestrictions) {
2073 var widgetRoleRestrictions = _toConsumableArray(widgetsRoleRestrictions[widgetName] || []);
2074 if (widgetRoleRestrictions.includes(roleId)) widgetRoleRestrictions.splice(widgetRoleRestrictions.indexOf(roleId), 1);
2075 else widgetRoleRestrictions.push(roleId);
2076 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, _defineProperty({}, widgetName, widgetRoleRestrictions)));
2077 };
2078 var RolesList = function RolesList(_ref) {
2079 var roles = _ref.roles;
2080 var widgetRoleRestrictions = _ref.widgetRoleRestrictions;
2081 var rolesEnabled = roles.filter(function(role) {
2082 return !widgetRoleRestrictions.includes(role.id);
2083 });
2084 if (!rolesEnabled.length) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2085 component: "span",
2086 variant: "body2",
2087 color: "text.primary"
2088 }, "(", (0, _wordpress_i18n.__)("Admin", "elementor"), ")");
2089 if (rolesEnabled.length === roles.length) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2090 component: "span",
2091 variant: "body2",
2092 color: "text.primary"
2093 }, "(", (0, _wordpress_i18n.__)("All Roles", "elementor"), ")");
2094 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2095 component: "span",
2096 variant: "body2",
2097 color: "text.primary"
2098 }, "(", rolesEnabled.map(function(role) {
2099 return role.name;
2100 }).join(", "), ")");
2101 };
2102 RolesList.propTypes = {
2103 roles: import_prop_types.default.arrayOf(import_prop_types.default.shape({
2104 id: import_prop_types.default.string.isRequired,
2105 name: import_prop_types.default.string.isRequired
2106 })).isRequired,
2107 widgetRoleRestrictions: import_prop_types.default.arrayOf(import_prop_types.default.string).isRequired
2108 };
2109 var RolePermissions = function RolePermissions(_ref2) {
2110 var roles = _ref2.roles;
2111 var widgetName = _ref2.widgetName;
2112 var widgetsRoleRestrictions = _ref2.widgetsRoleRestrictions;
2113 var setWidgetsRoleRestrictions = _ref2.setWidgetsRoleRestrictions;
2114 var _useState2 = _slicedToArray((0, react.useState)(null), 2);
2115 var anchorEl = _useState2[0];
2116 var setAnchorEl = _useState2[1];
2117 var isOpen = Boolean(anchorEl);
2118 var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
2119 var handleClick = (0, react.useCallback)(function(event) {
2120 setAnchorEl(event.currentTarget);
2121 }, []);
2122 var handleClose = (0, react.useCallback)(function() {
2123 setAnchorEl(null);
2124 }, []);
2125 var isAllChecked = roles.every(function(role) {
2126 return !widgetRoleRestrictions.includes(role.id);
2127 });
2128 var isIndeterminate = !isAllChecked && roles.some(function(role) {
2129 return !widgetRoleRestrictions.includes(role.id);
2130 });
2131 var handleAllChange = (0, react.useCallback)(function(event) {
2132 if (event.target.checked) setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, _defineProperty({}, widgetName, [])));
2133 else setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, _defineProperty({}, widgetName, roles.map(function(role) {
2134 return role.id;
2135 }))));
2136 }, [
2137 widgetName,
2138 widgetsRoleRestrictions,
2139 setWidgetsRoleRestrictions,
2140 roles
2141 ]);
2142 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
2143 display: "inline-flex",
2144 alignItems: "center",
2145 gap: .5
2146 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
2147 variant: "text",
2148 color: "secondary",
2149 size: "small",
2150 onClick: handleClick,
2151 "aria-expanded": isOpen,
2152 "aria-haspopup": "true",
2153 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
2154 }, (0, _wordpress_i18n.__)("Edit", "elementor")), /*#__PURE__*/ react.default.createElement(RolesList, {
2155 roles,
2156 widgetRoleRestrictions
2157 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Menu, {
2158 anchorEl,
2159 open: isOpen,
2160 onClose: handleClose,
2161 anchorOrigin: {
2162 vertical: "bottom",
2163 horizontal: "left"
2164 },
2165 transformOrigin: {
2166 vertical: "top",
2167 horizontal: "left"
2168 }
2169 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, { sx: { py: .5 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.FormControlLabel, {
2170 control: /*#__PURE__*/ react.default.createElement(_elementor_ui.Checkbox, {
2171 checked: isAllChecked,
2172 indeterminate: isIndeterminate,
2173 onChange: handleAllChange,
2174 size: "small",
2175 color: "secondary"
2176 }),
2177 label: (0, _wordpress_i18n.__)("All", "elementor")
2178 })), roles.map(function(role) {
2179 return /*#__PURE__*/ react.default.createElement(_elementor_ui.MenuItem, {
2180 key: role.id,
2181 sx: { py: .5 }
2182 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.FormControlLabel, {
2183 control: /*#__PURE__*/ react.default.createElement(_elementor_ui.Checkbox, {
2184 color: "secondary",
2185 checked: !widgetRoleRestrictions.includes(role.id),
2186 onChange: function onChange() {
2187 toggleRoleRestrictions(widgetName, role.id, widgetsRoleRestrictions, setWidgetsRoleRestrictions);
2188 },
2189 size: "small"
2190 }),
2191 label: role.name
2192 }));
2193 })));
2194 };
2195 RolePermissions.propTypes = {
2196 roles: import_prop_types.default.arrayOf(import_prop_types.default.shape({
2197 id: import_prop_types.default.string.isRequired,
2198 name: import_prop_types.default.string.isRequired
2199 })).isRequired,
2200 widgetName: import_prop_types.default.string.isRequired,
2201 widgetsRoleRestrictions: import_prop_types.default.oneOfType([import_prop_types.default.object, import_prop_types.default.array]).isRequired,
2202 setWidgetsRoleRestrictions: import_prop_types.default.func.isRequired
2203 };
2204 var EditButtonDisabled = function EditButtonDisabled(_ref3) {
2205 var _ref3$widgetName = _ref3.widgetName;
2206 var widgetName = _ref3$widgetName === void 0 ? "unknown" : _ref3$widgetName;
2207 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
2208 variant: "text",
2209 color: "secondary",
2210 size: "small",
2211 disabled: true,
2212 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
2213 }, (0, _wordpress_i18n.__)("Edit", "elementor"));
2214 };
2215 EditButtonDisabled.propTypes = { widgetName: import_prop_types.default.string };
2216
2217 //#endregion
2218 //#region modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js
2219 var StyledSwitch = (0, _elementor_ui.styled)(_elementor_ui.Switch)({
2220 "& .MuiSwitch-track": { backgroundColor: "rgba(0, 0, 0, 0.12);" },
2221 "& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track": { backgroundColor: "#000" },
2222 "& .MuiSwitch-switchBase:not(.Mui-checked) .MuiSwitch-thumb": { backgroundColor: "#D5D8DC" },
2223 "& .MuiSwitch-switchBase.Mui-checked .MuiSwitch-thumb": { backgroundColor: "#fff" }
2224 });
2225 var WidgetsTable = function WidgetsTable(_ref) {
2226 var widgets = _ref.widgets;
2227 var widgetsDisabled = _ref.widgetsDisabled;
2228 var widgetsRoleRestrictions = _ref.widgetsRoleRestrictions;
2229 var setWidgetsRoleRestrictions = _ref.setWidgetsRoleRestrictions;
2230 var roles = _ref.roles;
2231 var promotionWidgets = _ref.promotionWidgets;
2232 var promotionData = _ref.promotionData;
2233 var usageWidgets = _ref.usageWidgets;
2234 var getWidgetUsage = _ref.getWidgetUsage;
2235 var onScanUsage = _ref.onScanUsage;
2236 var onToggleWidget = _ref.onToggleWidget;
2237 var getSortingIndicatorClasses = _ref.getSortingIndicatorClasses;
2238 var onSortingClicked = _ref.onSortingClicked;
2239 var managerPermissions = promotionData.manager_permissions;
2240 var sortingClasses = getSortingIndicatorClasses("widget");
2241 var isWidgetSorted = sortingClasses.includes("sorted");
2242 var widgetSortDirection = sortingClasses.includes("asc") ? "asc" : "desc";
2243 var usageSortingClasses = getSortingIndicatorClasses("usage");
2244 var isUsageSorted = usageSortingClasses.includes("sorted");
2245 var usageSortDirection = usageSortingClasses.includes("asc") ? "asc" : "desc";
2246 if (!widgets.length) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { color: "text.secondary" }, (0, _wordpress_i18n.__)("No elements found.", "elementor"));
2247 return /*#__PURE__*/ react.default.createElement(_elementor_ui.TableContainer, {
2248 component: _elementor_ui.Paper,
2249 variant: "outlined"
2250 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Table, { size: "small" }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableHead, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableRow, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, { sx: function sx(theme) {
2251 return { width: theme.spacing(25) };
2252 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableSortLabel, {
2253 active: isWidgetSorted,
2254 direction: isWidgetSorted ? widgetSortDirection : "asc",
2255 onClick: function onClick() {
2256 return onSortingClicked("widget");
2257 },
2258 "data-id": "e-id-elementor-element-manager-button-sort-by-element"
2259 }, (0, _wordpress_i18n.__)("Element", "elementor"))), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, { sx: function sx(theme) {
2260 return { width: theme.spacing(10) };
2261 } }, (0, _wordpress_i18n.__)("Status", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableSortLabel, {
2262 active: isUsageSorted,
2263 direction: isUsageSorted ? usageSortDirection : "asc",
2264 onClick: function onClick() {
2265 return onSortingClicked("usage");
2266 },
2267 "data-id": "e-id-elementor-element-manager-button-sort-by-usage"
2268 }, (0, _wordpress_i18n.__)("Usage", "elementor"))), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, (0, _wordpress_i18n.__)("Plugin", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2269 direction: "row",
2270 justifyContent: "flex-start",
2271 alignItems: "center",
2272 gap: 1
2273 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, (0, _wordpress_i18n.__)("Permission", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Tooltip, {
2274 placement: "top",
2275 title: (0, _wordpress_i18n.__)("Choose which users will have access to each widget.", "elementor")
2276 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.IconButton, { size: "small" }, /*#__PURE__*/ react.default.createElement(_elementor_icons.HelpIcon, { fontSize: "small" })))), null === widgetsRoleRestrictions && /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: { marginInlineStart: 1 } }, /*#__PURE__*/ react.default.createElement(UpgradeButton, {
2277 href: promotionWidgets.length ? managerPermissions.pro.url : managerPermissions.advanced.url,
2278 size: "small",
2279 text: promotionWidgets.length ? managerPermissions.pro.text : managerPermissions.advanced.text,
2280 className: "go-pro",
2281 "data-id": "e-id-elementor-element-manager-button-upgrade-permissions"
2282 })))))), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableBody, null, widgets.map(function(widget) {
2283 return /*#__PURE__*/ react.default.createElement(_elementor_ui.TableRow, {
2284 key: widget.name,
2285 "data-key-id": widget.name,
2286 hover: true
2287 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
2288 display: "flex",
2289 alignItems: "center"
2290 } }, /*#__PURE__*/ react.default.createElement("i", {
2291 style: {
2292 marginInlineEnd: 8,
2293 marginInlineStart: 0,
2294 display: "inline-block"
2295 },
2296 className: widget.icon
2297 }), widget.title)), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(StyledSwitch, {
2298 color: "secondary",
2299 checked: !widgetsDisabled.includes(widget.name),
2300 onChange: function onChange(event, checked) {
2301 return onToggleWidget(widget.name, checked);
2302 },
2303 size: "small",
2304 "data-id": "e-id-elementor-element-manager-toggle-".concat(widget.name)
2305 })), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(UsageTimesColumn, {
2306 widgetName: widget.name,
2307 usageData: usageWidgets.data,
2308 isLoading: usageWidgets.isLoading,
2309 getWidgetUsage,
2310 onScanClick: onScanUsage
2311 })), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, widget.plugin), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, null !== widgetsRoleRestrictions && !widgetsDisabled.includes(widget.name) ? /*#__PURE__*/ react.default.createElement(RolePermissions, {
2312 widgetName: widget.name,
2313 roles,
2314 widgetsRoleRestrictions,
2315 setWidgetsRoleRestrictions
2316 }) : /*#__PURE__*/ react.default.createElement(EditButtonDisabled, null)));
2317 }))));
2318 };
2319 var widgetShape = import_prop_types.default.shape({
2320 name: import_prop_types.default.string.isRequired,
2321 title: import_prop_types.default.string.isRequired,
2322 icon: import_prop_types.default.string,
2323 plugin: import_prop_types.default.string
2324 });
2325 WidgetsTable.propTypes = {
2326 widgets: import_prop_types.default.arrayOf(widgetShape).isRequired,
2327 widgetsDisabled: import_prop_types.default.arrayOf(import_prop_types.default.string).isRequired,
2328 widgetsRoleRestrictions: import_prop_types.default.oneOfType([import_prop_types.default.object, import_prop_types.default.array]),
2329 setWidgetsRoleRestrictions: import_prop_types.default.func.isRequired,
2330 roles: import_prop_types.default.array.isRequired,
2331 promotionWidgets: import_prop_types.default.arrayOf(widgetShape).isRequired,
2332 promotionData: import_prop_types.default.shape({ manager_permissions: import_prop_types.default.shape({
2333 pro: import_prop_types.default.shape({
2334 url: import_prop_types.default.string,
2335 text: import_prop_types.default.string
2336 }),
2337 advanced: import_prop_types.default.shape({
2338 url: import_prop_types.default.string,
2339 text: import_prop_types.default.string
2340 })
2341 }) }).isRequired,
2342 usageWidgets: import_prop_types.default.shape({
2343 isLoading: import_prop_types.default.bool,
2344 data: import_prop_types.default.object
2345 }).isRequired,
2346 getWidgetUsage: import_prop_types.default.func.isRequired,
2347 onScanUsage: import_prop_types.default.func.isRequired,
2348 onToggleWidget: import_prop_types.default.func.isRequired,
2349 getSortingIndicatorClasses: import_prop_types.default.func.isRequired,
2350 onSortingClicked: import_prop_types.default.func.isRequired
2351 };
2352
2353 //#endregion
2354 //#region modules/element-manager/assets/js/app-editor-one/components/PromotionWidgetsTable.js
2355 var PromotionWidgetsTable = function PromotionWidgetsTable(_ref) {
2356 var widgets = _ref.widgets;
2357 var elementManager = _ref.promotionData.element_manager;
2358 if (!widgets.length) return null;
2359 return /*#__PURE__*/ react.default.createElement(react.default.Fragment, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
2360 mt: 5,
2361 mb: 2.5
2362 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2363 direction: "row",
2364 justifyContent: "space-between",
2365 alignItems: "center"
2366 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2367 variant: "h6",
2368 component: "h3"
2369 }, (0, _wordpress_i18n.__)("Elementor Pro Elements", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2370 variant: "body2",
2371 component: "p"
2372 }, (0, _wordpress_i18n.__)("Unleash the full power of Elementor's features and web creation tools.", "elementor"))), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(UpgradeButton, {
2373 href: elementManager.url,
2374 text: elementManager.text,
2375 className: "e-id-elementor-element-manager-button-upgrade-pro-elements"
2376 })))), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableContainer, {
2377 component: _elementor_ui.Paper,
2378 variant: "outlined"
2379 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Table, { size: "small" }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableHead, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableRow, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, { sx: function sx(theme) {
2380 return { width: theme.spacing(25) };
2381 } }, (0, _wordpress_i18n.__)("Element", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, { sx: function sx(theme) {
2382 return { width: theme.spacing(10) };
2383 } }, (0, _wordpress_i18n.__)("Status", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, (0, _wordpress_i18n.__)("Usage", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, (0, _wordpress_i18n.__)("Plugin", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2384 direction: "row",
2385 justifyContent: "flex-start",
2386 alignItems: "center",
2387 gap: 1
2388 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, (0, _wordpress_i18n.__)("Permission", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Tooltip, {
2389 placement: "top",
2390 title: (0, _wordpress_i18n.__)("Choose which role will have access to a specific widget.", "elementor")
2391 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.IconButton, { size: "small" }, /*#__PURE__*/ react.default.createElement(_elementor_icons.HelpIcon, { fontSize: "small" })))))))), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableBody, null, widgets.map(function(widget) {
2392 return /*#__PURE__*/ react.default.createElement(_elementor_ui.TableRow, {
2393 key: widget.name,
2394 hover: true
2395 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
2396 display: "flex",
2397 alignItems: "center"
2398 } }, /*#__PURE__*/ react.default.createElement("i", {
2399 style: { marginInlineEnd: 8 },
2400 className: widget.icon
2401 }), widget.title)), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Switch, {
2402 checked: false,
2403 disabled: true,
2404 size: "small",
2405 "data-id": "e-id-elementor-element-manager-toggle-".concat(widget.name)
2406 })), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, (0, _wordpress_i18n.__)("Elementor Pro", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui.TableCell, null, /*#__PURE__*/ react.default.createElement(EditButtonDisabled, { widgetName: widget.name })));
2407 })))));
2408 };
2409 PromotionWidgetsTable.propTypes = {
2410 widgets: import_prop_types.default.arrayOf(import_prop_types.default.shape({
2411 name: import_prop_types.default.string.isRequired,
2412 title: import_prop_types.default.string.isRequired,
2413 icon: import_prop_types.default.string
2414 })).isRequired,
2415 promotionData: import_prop_types.default.shape({ element_manager: import_prop_types.default.shape({
2416 url: import_prop_types.default.string,
2417 text: import_prop_types.default.string
2418 }) }).isRequired
2419 };
2420
2421 //#endregion
2422 //#region modules/element-manager/assets/js/app-editor-one/App.js
2423 var App = function App() {
2424 var _useState2 = _slicedToArray((0, react.useState)(false), 2);
2425 var isConfirmDialogOpen = _useState2[0];
2426 var setIsConfirmDialogOpen = _useState2[1];
2427 var _useElementManager = useElementManager();
2428 var isLoading = _useElementManager.isLoading;
2429 var widgets = _useElementManager.widgets;
2430 var promotionWidgets = _useElementManager.promotionWidgets;
2431 var plugins = _useElementManager.plugins;
2432 var roles = _useElementManager.roles;
2433 var widgetsDisabled = _useElementManager.widgetsDisabled;
2434 var widgetsRoleRestrictions = _useElementManager.widgetsRoleRestrictions;
2435 var setWidgetsRoleRestrictions = _useElementManager.setWidgetsRoleRestrictions;
2436 var promotionData = _useElementManager.promotionData;
2437 var noticeData = _useElementManager.noticeData;
2438 var usageWidgets = _useElementManager.usageWidgets;
2439 var changeProgress = _useElementManager.changeProgress;
2440 var isSnackbarOpen = _useElementManager.isSnackbarOpen;
2441 var setIsSnackbarOpen = _useElementManager.setIsSnackbarOpen;
2442 var getWidgetUsage = _useElementManager.getWidgetUsage;
2443 var scanUsageElements = _useElementManager.scanUsageElements;
2444 var saveChanges = _useElementManager.saveChanges;
2445 var deactivateAllUnusedWidgets = _useElementManager.deactivateAllUnusedWidgets;
2446 var enableAllWidgets = _useElementManager.enableAllWidgets;
2447 var toggleWidget = _useElementManager.toggleWidget;
2448 var dismissNotice = _useElementManager.dismissNotice;
2449 var _useWidgetFilters = useWidgetFilters(widgets, widgetsDisabled, getWidgetUsage);
2450 var searchKeyword = _useWidgetFilters.searchKeyword;
2451 var setSearchKeyword = _useWidgetFilters.setSearchKeyword;
2452 var filterByPlugin = _useWidgetFilters.filterByPlugin;
2453 var setFilterByPlugin = _useWidgetFilters.setFilterByPlugin;
2454 var filterByStatus = _useWidgetFilters.filterByStatus;
2455 var setFilterByStatus = _useWidgetFilters.setFilterByStatus;
2456 var sortedAndFilteredWidgets = _useWidgetFilters.sortedAndFilteredWidgets;
2457 var getSortingIndicatorClasses = _useWidgetFilters.getSortingIndicatorClasses;
2458 var onSortingClicked = _useWidgetFilters.onSortingClicked;
2459 var setSortByUsage = _useWidgetFilters.setSortByUsage;
2460 var handleScanUsage = (0, react.useCallback)(/*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee() {
2461 return import_regenerator.default.wrap(function(_context) {
2462 while (1) switch (_context.prev = _context.next) {
2463 case 0:
2464 _context.next = 1;
2465 return scanUsageElements();
2466 case 1: setSortByUsage();
2467 case 2:
2468 case "end": return _context.stop();
2469 }
2470 }, _callee);
2471 })), [scanUsageElements, setSortByUsage]);
2472 var handleSaveClick = (0, react.useCallback)(/*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee2() {
2473 return import_regenerator.default.wrap(function(_context2) {
2474 while (1) switch (_context2.prev = _context2.next) {
2475 case 0:
2476 setIsConfirmDialogOpen(false);
2477 _context2.next = 1;
2478 return saveChanges();
2479 case 1:
2480 case "end": return _context2.stop();
2481 }
2482 }, _callee2);
2483 })), [saveChanges]);
2484 if (isLoading) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2485 justifyContent: "center",
2486 sx: { margin: 12 }
2487 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.CircularProgress, { size: 80 }));
2488 return /*#__PURE__*/ react.default.createElement(react.default.Fragment, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2489 variant: "body2",
2490 color: "text.secondary",
2491 sx: {
2492 marginBlockEnd: 2.5,
2493 maxWidth: 800
2494 }
2495 }, (0, _wordpress_i18n.__)("Here's where you can fine-tune Elementor to your workflow. Disable elements you don't use for a cleaner interface, more focused creative experience, and improved performance.", "elementor"), " ", /*#__PURE__*/ react.default.createElement(_elementor_ui.Link, {
2496 href: "https://go.elementor.com/wp-dash-element-manager/",
2497 rel: "noreferrer",
2498 target: "_blank",
2499 color: "info.light"
2500 }, (0, _wordpress_i18n.__)("Learn More", "elementor"))), noticeData && !noticeData.is_viewed && /*#__PURE__*/ react.default.createElement(NoticeAlert, { onDismiss: dismissNotice }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(SearchFilters, {
2501 searchKeyword,
2502 onSearchChange: setSearchKeyword,
2503 filterByPlugin,
2504 onPluginFilterChange: setFilterByPlugin,
2505 filterByStatus,
2506 onStatusFilterChange: setFilterByStatus,
2507 plugins,
2508 usageIsLoading: usageWidgets.isLoading,
2509 usageData: usageWidgets.data,
2510 widgetsDisabledCount: widgetsDisabled.length,
2511 onScanUsage: handleScanUsage,
2512 onDeactivateUnused: deactivateAllUnusedWidgets,
2513 onEnableAll: enableAllWidgets,
2514 onSaveChanges: function onSaveChanges() {
2515 return setIsConfirmDialogOpen(true);
2516 },
2517 isSaving: changeProgress.isSaving,
2518 hasUnsavedChanges: changeProgress.isUnsavedChanges
2519 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(WidgetsTable, {
2520 widgets: sortedAndFilteredWidgets,
2521 widgetsDisabled,
2522 widgetsRoleRestrictions,
2523 setWidgetsRoleRestrictions,
2524 roles,
2525 promotionWidgets,
2526 promotionData,
2527 usageWidgets,
2528 getWidgetUsage,
2529 onScanUsage: handleScanUsage,
2530 onToggleWidget: toggleWidget,
2531 getSortingIndicatorClasses,
2532 onSortingClicked
2533 })), /*#__PURE__*/ react.default.createElement(PromotionWidgetsTable, {
2534 widgets: promotionWidgets,
2535 promotionData
2536 })), /*#__PURE__*/ react.default.createElement(ConfirmDialog, {
2537 isOpen: isConfirmDialogOpen,
2538 onClose: function onClose() {
2539 return setIsConfirmDialogOpen(false);
2540 },
2541 onConfirm: handleSaveClick
2542 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Snackbar, {
2543 open: isSnackbarOpen,
2544 autoHideDuration: 6e3,
2545 onClose: function onClose() {
2546 return setIsSnackbarOpen(false);
2547 },
2548 message: (0, _wordpress_i18n.__)("We saved your changes.", "elementor"),
2549 anchorOrigin: {
2550 vertical: "bottom",
2551 horizontal: "center"
2552 }
2553 }));
2554 };
2555
2556 //#endregion
2557 //#region modules/element-manager/assets/js/app-editor-one/index.js
2558 var AppModern = function AppModern() {
2559 var _elementorCommon$conf;
2560 var isRTL = typeof elementorCommon !== "undefined" && (_elementorCommon$conf = elementorCommon.config) !== null && _elementorCommon$conf !== void 0 && _elementorCommon$conf.isRTL ? elementorCommon.config.isRTL : "rtl" === document.documentElement.dir || document.body.classList.contains("rtl");
2561 return /*#__PURE__*/ react.default.createElement(_elementor_ui.DirectionProvider, { rtl: isRTL }, /*#__PURE__*/ react.default.createElement(_elementor_ui.ThemeProvider, { colorScheme: "light" }, /*#__PURE__*/ react.default.createElement(App, null)));
2562 };
2563
2564 //#endregion
2565 //#region modules/element-manager/assets/js/admin.js
2566 (0, _wordpress_dom_ready.default)(function() {
2567 var htmlOutput = document.getElementById("elementor-element-manager-wrap");
2568 if (!htmlOutput) return;
2569 (0, import_client.createRoot)(htmlOutput).render(/*#__PURE__*/ react.default.createElement(AppModern, null));
2570 });
2571
2572 //#endregion
2573 })(React, wp.domReady, elementorV2.ui, wp.i18n, elementorV2.icons, wp.components);
2574 //# sourceMappingURL=element-manager-admin.js.map