PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.0-dev3
Elementor Website Builder – more than just a page builder v3.35.0-dev3
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 4.0.7 All 451 releases
elementor / assets / js / element-manager-admin.js

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

6,840 lines 279.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /******/ (() => { // webpackBootstrap
2 /******/ var __webpack_modules__ = ({
3
4 /***/ "../modules/element-manager/assets/js/api.js":
5 /*!***************************************************!*\
6 !*** ../modules/element-manager/assets/js/api.js ***!
7 \***************************************************/
8 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9
10 "use strict";
11
12
13 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
14 Object.defineProperty(exports, "__esModule", ({
15 value: true
16 }));
17 exports.saveDisabledWidgets = exports.markNoticeViewed = exports.getUsageWidgets = exports.getAdminAppData = void 0;
18 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
19 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
20 var saveDisabledWidgets = exports.saveDisabledWidgets = /*#__PURE__*/function () {
21 var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(widgetsDisabled) {
22 var elementsRestriction,
23 bodyData,
24 _args = arguments,
25 _t;
26 return _regenerator.default.wrap(function (_context) {
27 while (1) switch (_context.prev = _context.next) {
28 case 0:
29 elementsRestriction = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
30 _context.prev = 1;
31 bodyData = {
32 action: 'elementor_element_manager_save_disabled_elements',
33 nonce: eElementManagerConfig.nonce,
34 widgets: JSON.stringify(widgetsDisabled)
35 };
36 if (null !== elementsRestriction) {
37 bodyData.elements_restriction = JSON.stringify(elementsRestriction);
38 }
39 _context.next = 2;
40 return fetch(eElementManagerConfig.ajaxurl, {
41 method: 'POST',
42 headers: {
43 'Content-Type': 'application/x-www-form-urlencoded'
44 },
45 body: new URLSearchParams(bodyData)
46 });
47 case 2:
48 _context.next = 4;
49 break;
50 case 3:
51 _context.prev = 3;
52 _t = _context["catch"](1);
53 console.error(_t); // eslint-disable-line no-console
54 case 4:
55 case "end":
56 return _context.stop();
57 }
58 }, _callee, null, [[1, 3]]);
59 }));
60 return function saveDisabledWidgets(_x) {
61 return _ref.apply(this, arguments);
62 };
63 }();
64 var getAdminAppData = exports.getAdminAppData = /*#__PURE__*/function () {
65 var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
66 var response, data, _t2;
67 return _regenerator.default.wrap(function (_context2) {
68 while (1) switch (_context2.prev = _context2.next) {
69 case 0:
70 _context2.prev = 0;
71 _context2.next = 1;
72 return fetch(eElementManagerConfig.ajaxurl, {
73 method: 'POST',
74 headers: {
75 'Content-Type': 'application/x-www-form-urlencoded'
76 },
77 body: new URLSearchParams({
78 action: 'elementor_element_manager_get_admin_app_data',
79 nonce: eElementManagerConfig.nonce
80 })
81 });
82 case 1:
83 response = _context2.sent;
84 _context2.next = 2;
85 return response.json();
86 case 2:
87 data = _context2.sent;
88 if (!data.success) {
89 _context2.next = 3;
90 break;
91 }
92 return _context2.abrupt("return", data.data);
93 case 3:
94 _context2.next = 5;
95 break;
96 case 4:
97 _context2.prev = 4;
98 _t2 = _context2["catch"](0);
99 console.error(_t2); // eslint-disable-line no-console
100 case 5:
101 case "end":
102 return _context2.stop();
103 }
104 }, _callee2, null, [[0, 4]]);
105 }));
106 return function getAdminAppData() {
107 return _ref2.apply(this, arguments);
108 };
109 }();
110 var getUsageWidgets = exports.getUsageWidgets = /*#__PURE__*/function () {
111 var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
112 var response, data, _t3;
113 return _regenerator.default.wrap(function (_context3) {
114 while (1) switch (_context3.prev = _context3.next) {
115 case 0:
116 _context3.prev = 0;
117 _context3.next = 1;
118 return fetch(eElementManagerConfig.ajaxurl, {
119 method: 'POST',
120 headers: {
121 'Content-Type': 'application/x-www-form-urlencoded'
122 },
123 body: new URLSearchParams({
124 action: 'elementor_element_manager_get_widgets_usage',
125 nonce: eElementManagerConfig.nonce
126 })
127 });
128 case 1:
129 response = _context3.sent;
130 _context3.next = 2;
131 return response.json();
132 case 2:
133 data = _context3.sent;
134 if (!data.success) {
135 _context3.next = 3;
136 break;
137 }
138 return _context3.abrupt("return", data.data);
139 case 3:
140 _context3.next = 5;
141 break;
142 case 4:
143 _context3.prev = 4;
144 _t3 = _context3["catch"](0);
145 console.error(_t3); // eslint-disable-line no-console
146 case 5:
147 case "end":
148 return _context3.stop();
149 }
150 }, _callee3, null, [[0, 4]]);
151 }));
152 return function getUsageWidgets() {
153 return _ref3.apply(this, arguments);
154 };
155 }();
156 var markNoticeViewed = exports.markNoticeViewed = /*#__PURE__*/function () {
157 var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(noticeId, nonce) {
158 var _t4;
159 return _regenerator.default.wrap(function (_context4) {
160 while (1) switch (_context4.prev = _context4.next) {
161 case 0:
162 _context4.prev = 0;
163 _context4.next = 1;
164 return fetch(eElementManagerConfig.ajaxurl, {
165 method: 'POST',
166 headers: {
167 'Content-Type': 'application/x-www-form-urlencoded'
168 },
169 body: new URLSearchParams({
170 action: 'elementor_set_admin_notice_viewed',
171 notice_id: noticeId,
172 _wpnonce: nonce
173 })
174 });
175 case 1:
176 _context4.next = 3;
177 break;
178 case 2:
179 _context4.prev = 2;
180 _t4 = _context4["catch"](0);
181 console.error(_t4); // eslint-disable-line no-console
182 case 3:
183 case "end":
184 return _context4.stop();
185 }
186 }, _callee4, null, [[0, 2]]);
187 }));
188 return function markNoticeViewed(_x2, _x3) {
189 return _ref4.apply(this, arguments);
190 };
191 }();
192
193 /***/ }),
194
195 /***/ "../modules/element-manager/assets/js/app-editor-one/App.js":
196 /*!******************************************************************!*\
197 !*** ../modules/element-manager/assets/js/app-editor-one/App.js ***!
198 \******************************************************************/
199 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
200
201 "use strict";
202
203
204 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
205 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
206 Object.defineProperty(exports, "__esModule", ({
207 value: true
208 }));
209 exports.App = void 0;
210 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
211 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
212 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
213 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
214 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
215 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
216 var _hooks = __webpack_require__(/*! ./hooks */ "../modules/element-manager/assets/js/app-editor-one/hooks/index.js");
217 var _components = __webpack_require__(/*! ./components */ "../modules/element-manager/assets/js/app-editor-one/components/index.js");
218 function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
219 var App = exports.App = function App() {
220 var _useState = (0, _react.useState)(false),
221 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
222 isConfirmDialogOpen = _useState2[0],
223 setIsConfirmDialogOpen = _useState2[1];
224 var _useElementManager = (0, _hooks.useElementManager)(),
225 isLoading = _useElementManager.isLoading,
226 widgets = _useElementManager.widgets,
227 promotionWidgets = _useElementManager.promotionWidgets,
228 plugins = _useElementManager.plugins,
229 roles = _useElementManager.roles,
230 widgetsDisabled = _useElementManager.widgetsDisabled,
231 widgetsRoleRestrictions = _useElementManager.widgetsRoleRestrictions,
232 setWidgetsRoleRestrictions = _useElementManager.setWidgetsRoleRestrictions,
233 promotionData = _useElementManager.promotionData,
234 noticeData = _useElementManager.noticeData,
235 usageWidgets = _useElementManager.usageWidgets,
236 changeProgress = _useElementManager.changeProgress,
237 isSnackbarOpen = _useElementManager.isSnackbarOpen,
238 setIsSnackbarOpen = _useElementManager.setIsSnackbarOpen,
239 getWidgetUsage = _useElementManager.getWidgetUsage,
240 scanUsageElements = _useElementManager.scanUsageElements,
241 saveChanges = _useElementManager.saveChanges,
242 deactivateAllUnusedWidgets = _useElementManager.deactivateAllUnusedWidgets,
243 enableAllWidgets = _useElementManager.enableAllWidgets,
244 toggleWidget = _useElementManager.toggleWidget,
245 dismissNotice = _useElementManager.dismissNotice;
246 var _useWidgetFilters = (0, _hooks.useWidgetFilters)(widgets, widgetsDisabled, getWidgetUsage),
247 searchKeyword = _useWidgetFilters.searchKeyword,
248 setSearchKeyword = _useWidgetFilters.setSearchKeyword,
249 filterByPlugin = _useWidgetFilters.filterByPlugin,
250 setFilterByPlugin = _useWidgetFilters.setFilterByPlugin,
251 filterByStatus = _useWidgetFilters.filterByStatus,
252 setFilterByStatus = _useWidgetFilters.setFilterByStatus,
253 sortedAndFilteredWidgets = _useWidgetFilters.sortedAndFilteredWidgets,
254 getSortingIndicatorClasses = _useWidgetFilters.getSortingIndicatorClasses,
255 onSortingClicked = _useWidgetFilters.onSortingClicked,
256 setSortByUsage = _useWidgetFilters.setSortByUsage;
257 var handleScanUsage = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
258 return _regenerator.default.wrap(function (_context) {
259 while (1) switch (_context.prev = _context.next) {
260 case 0:
261 _context.next = 1;
262 return scanUsageElements();
263 case 1:
264 setSortByUsage();
265 case 2:
266 case "end":
267 return _context.stop();
268 }
269 }, _callee);
270 })), [scanUsageElements, setSortByUsage]);
271 var handleSaveClick = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
272 return _regenerator.default.wrap(function (_context2) {
273 while (1) switch (_context2.prev = _context2.next) {
274 case 0:
275 setIsConfirmDialogOpen(false);
276 _context2.next = 1;
277 return saveChanges();
278 case 1:
279 case "end":
280 return _context2.stop();
281 }
282 }, _callee2);
283 })), [saveChanges]);
284 if (isLoading) {
285 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
286 justifyContent: "center",
287 sx: {
288 margin: 12
289 }
290 }, /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
291 size: 80
292 }));
293 }
294 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
295 variant: "body2",
296 color: "text.secondary",
297 sx: {
298 marginBlockEnd: 2.5,
299 maxWidth: 800
300 }
301 }, (0, _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(_ui.Link, {
302 href: "https://go.elementor.com/wp-dash-element-manager/",
303 rel: "noreferrer",
304 target: "_blank",
305 color: "info.light"
306 }, (0, _i18n.__)('Learn More', 'elementor'))), noticeData && !noticeData.is_viewed && /*#__PURE__*/_react.default.createElement(_components.NoticeAlert, {
307 onDismiss: dismissNotice
308 }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_components.SearchFilters, {
309 searchKeyword: searchKeyword,
310 onSearchChange: setSearchKeyword,
311 filterByPlugin: filterByPlugin,
312 onPluginFilterChange: setFilterByPlugin,
313 filterByStatus: filterByStatus,
314 onStatusFilterChange: setFilterByStatus,
315 plugins: plugins,
316 usageIsLoading: usageWidgets.isLoading,
317 usageData: usageWidgets.data,
318 widgetsDisabledCount: widgetsDisabled.length,
319 onScanUsage: handleScanUsage,
320 onDeactivateUnused: deactivateAllUnusedWidgets,
321 onEnableAll: enableAllWidgets,
322 onSaveChanges: function onSaveChanges() {
323 return setIsConfirmDialogOpen(true);
324 },
325 isSaving: changeProgress.isSaving,
326 hasUnsavedChanges: changeProgress.isUnsavedChanges
327 }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_components.WidgetsTable, {
328 widgets: sortedAndFilteredWidgets,
329 widgetsDisabled: widgetsDisabled,
330 widgetsRoleRestrictions: widgetsRoleRestrictions,
331 setWidgetsRoleRestrictions: setWidgetsRoleRestrictions,
332 roles: roles,
333 promotionWidgets: promotionWidgets,
334 promotionData: promotionData,
335 usageWidgets: usageWidgets,
336 getWidgetUsage: getWidgetUsage,
337 onScanUsage: handleScanUsage,
338 onToggleWidget: toggleWidget,
339 getSortingIndicatorClasses: getSortingIndicatorClasses,
340 onSortingClicked: onSortingClicked
341 })), /*#__PURE__*/_react.default.createElement(_components.PromotionWidgetsTable, {
342 widgets: promotionWidgets,
343 promotionData: promotionData
344 })), /*#__PURE__*/_react.default.createElement(_components.ConfirmDialog, {
345 isOpen: isConfirmDialogOpen,
346 onClose: function onClose() {
347 return setIsConfirmDialogOpen(false);
348 },
349 onConfirm: handleSaveClick
350 }), /*#__PURE__*/_react.default.createElement(_ui.Snackbar, {
351 open: isSnackbarOpen,
352 autoHideDuration: 6000,
353 onClose: function onClose() {
354 return setIsSnackbarOpen(false);
355 },
356 message: (0, _i18n.__)('We saved your changes.', 'elementor'),
357 anchorOrigin: {
358 vertical: 'bottom',
359 horizontal: 'center'
360 }
361 }));
362 };
363
364 /***/ }),
365
366 /***/ "../modules/element-manager/assets/js/app-editor-one/components/ConfirmDialog.js":
367 /*!***************************************************************************************!*\
368 !*** ../modules/element-manager/assets/js/app-editor-one/components/ConfirmDialog.js ***!
369 \***************************************************************************************/
370 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
371
372 "use strict";
373
374
375 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
376 Object.defineProperty(exports, "__esModule", ({
377 value: true
378 }));
379 exports.ConfirmDialog = void 0;
380 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
381 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
382 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
383 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
384 var ConfirmDialog = exports.ConfirmDialog = function ConfirmDialog(_ref) {
385 var isOpen = _ref.isOpen,
386 onClose = _ref.onClose,
387 onConfirm = _ref.onConfirm;
388 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
389 open: isOpen,
390 onClose: onClose,
391 maxWidth: "sm"
392 }, /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, null, (0, _i18n.__)('Sure you want to save these changes?', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, null, (0, _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(_ui.Box, {
393 component: "span",
394 sx: {
395 display: 'block',
396 mt: 2.5
397 }
398 }, (0, _i18n.__)('If you\'re adding widgets back in, enjoy them!', 'elementor')))), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
399 direction: "row",
400 gap: 2,
401 justifyContent: "flex-end"
402 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
403 variant: "outlined",
404 color: "secondary",
405 onClick: onClose,
406 className: "e-id-elementor-element-manager-modal-button-cancel"
407 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
408 variant: "contained",
409 onClick: onConfirm,
410 className: "e-id-elementor-element-manager-modal-button-save"
411 }, (0, _i18n.__)('Save', 'elementor')))));
412 };
413 ConfirmDialog.propTypes = {
414 isOpen: _propTypes.default.bool.isRequired,
415 onClose: _propTypes.default.func.isRequired,
416 onConfirm: _propTypes.default.func.isRequired
417 };
418
419 /***/ }),
420
421 /***/ "../modules/element-manager/assets/js/app-editor-one/components/NoticeAlert.js":
422 /*!*************************************************************************************!*\
423 !*** ../modules/element-manager/assets/js/app-editor-one/components/NoticeAlert.js ***!
424 \*************************************************************************************/
425 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
426
427 "use strict";
428
429
430 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
431 Object.defineProperty(exports, "__esModule", ({
432 value: true
433 }));
434 exports.NoticeAlert = void 0;
435 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
436 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
437 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
438 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
439 var NoticeAlert = exports.NoticeAlert = function NoticeAlert(_ref) {
440 var onDismiss = _ref.onDismiss;
441 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
442 sx: {
443 mb: 2
444 }
445 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
446 severity: "warning",
447 onClose: onDismiss
448 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
449 component: "strong",
450 variant: "body2",
451 sx: {
452 fontWeight: 700
453 }
454 }, (0, _i18n.__)('Before you continue:', 'elementor')), ' ', (0, _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')));
455 };
456 NoticeAlert.propTypes = {
457 onDismiss: _propTypes.default.func.isRequired
458 };
459
460 /***/ }),
461
462 /***/ "../modules/element-manager/assets/js/app-editor-one/components/PromotionWidgetsTable.js":
463 /*!***********************************************************************************************!*\
464 !*** ../modules/element-manager/assets/js/app-editor-one/components/PromotionWidgetsTable.js ***!
465 \***********************************************************************************************/
466 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
467
468 "use strict";
469
470
471 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
472 Object.defineProperty(exports, "__esModule", ({
473 value: true
474 }));
475 exports.PromotionWidgetsTable = void 0;
476 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
477 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
478 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
479 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
480 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
481 var _upgradeButton = __webpack_require__(/*! ../../upgrade-button */ "../modules/element-manager/assets/js/upgrade-button.js");
482 var _RolePermissions = __webpack_require__(/*! ./RolePermissions */ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js");
483 var PromotionWidgetsTable = exports.PromotionWidgetsTable = function PromotionWidgetsTable(_ref) {
484 var widgets = _ref.widgets,
485 promotionData = _ref.promotionData;
486 var elementManager = promotionData.element_manager;
487 if (!widgets.length) {
488 return null;
489 }
490 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
491 sx: {
492 mt: 5,
493 mb: 2.5
494 }
495 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
496 direction: "row",
497 justifyContent: "space-between",
498 alignItems: "center"
499 }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
500 variant: "h6",
501 component: "h3"
502 }, (0, _i18n.__)('Elementor Pro Elements', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
503 variant: "body2",
504 component: "p"
505 }, (0, _i18n.__)('Unleash the full power of Elementor\'s features and web creation tools.', 'elementor'))), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
506 href: elementManager.url,
507 text: elementManager.text,
508 className: "e-id-elementor-element-manager-button-upgrade-pro-elements"
509 })))), /*#__PURE__*/_react.default.createElement(_ui.TableContainer, {
510 component: _ui.Paper,
511 variant: "outlined"
512 }, /*#__PURE__*/_react.default.createElement(_ui.Table, {
513 size: "small"
514 }, /*#__PURE__*/_react.default.createElement(_ui.TableHead, null, /*#__PURE__*/_react.default.createElement(_ui.TableRow, null, /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
515 sx: function sx(theme) {
516 return {
517 width: theme.spacing(25)
518 };
519 }
520 }, (0, _i18n.__)('Element', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
521 sx: function sx(theme) {
522 return {
523 width: theme.spacing(10)
524 };
525 }
526 }, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, (0, _i18n.__)('Usage', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, (0, _i18n.__)('Plugin', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
527 direction: "row",
528 justifyContent: "flex-start",
529 alignItems: "center",
530 gap: 1
531 }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
532 placement: "top",
533 title: (0, _i18n.__)('Choose which role will have access to a specific widget.', 'elementor')
534 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
535 size: "small"
536 }, /*#__PURE__*/_react.default.createElement(_icons.HelpIcon, {
537 fontSize: "small"
538 })))))))), /*#__PURE__*/_react.default.createElement(_ui.TableBody, null, widgets.map(function (widget) {
539 return /*#__PURE__*/_react.default.createElement(_ui.TableRow, {
540 key: widget.name,
541 hover: true
542 }, /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
543 sx: {
544 display: 'flex',
545 alignItems: 'center'
546 }
547 }, /*#__PURE__*/_react.default.createElement("i", {
548 style: {
549 marginInlineEnd: 8
550 },
551 className: widget.icon
552 }), widget.title)), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Switch, {
553 checked: false,
554 disabled: true,
555 size: "small",
556 "data-id": "e-id-elementor-element-manager-toggle-".concat(widget.name)
557 })), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, (0, _i18n.__)('Elementor Pro', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_RolePermissions.EditButtonDisabled, {
558 widgetName: widget.name
559 })));
560 })))));
561 };
562 PromotionWidgetsTable.propTypes = {
563 widgets: _propTypes.default.arrayOf(_propTypes.default.shape({
564 name: _propTypes.default.string.isRequired,
565 title: _propTypes.default.string.isRequired,
566 icon: _propTypes.default.string
567 })).isRequired,
568 promotionData: _propTypes.default.shape({
569 element_manager: _propTypes.default.shape({
570 url: _propTypes.default.string,
571 text: _propTypes.default.string
572 })
573 }).isRequired
574 };
575
576 /***/ }),
577
578 /***/ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js":
579 /*!*****************************************************************************************!*\
580 !*** ../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js ***!
581 \*****************************************************************************************/
582 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
583
584 "use strict";
585
586
587 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
588 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
589 Object.defineProperty(exports, "__esModule", ({
590 value: true
591 }));
592 exports.RolePermissions = exports.EditButtonDisabled = void 0;
593 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
594 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
595 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
596 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
597 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
598 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
599 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
600 function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
601 function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
602 function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
603 var toggleRoleRestrictions = function toggleRoleRestrictions(widgetName, roleId, widgetsRoleRestrictions, setWidgetsRoleRestrictions) {
604 var widgetRoleRestrictions = (0, _toConsumableArray2.default)(widgetsRoleRestrictions[widgetName] || []);
605 if (widgetRoleRestrictions.includes(roleId)) {
606 widgetRoleRestrictions.splice(widgetRoleRestrictions.indexOf(roleId), 1);
607 } else {
608 widgetRoleRestrictions.push(roleId);
609 }
610 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, widgetRoleRestrictions)));
611 };
612 var RolesList = function RolesList(_ref) {
613 var roles = _ref.roles,
614 widgetRoleRestrictions = _ref.widgetRoleRestrictions;
615 var rolesEnabled = roles.filter(function (role) {
616 return !widgetRoleRestrictions.includes(role.id);
617 });
618 if (!rolesEnabled.length) {
619 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
620 component: "span",
621 variant: "body2",
622 color: "text.primary"
623 }, "(", (0, _i18n.__)('Admin', 'elementor'), ")");
624 }
625 if (rolesEnabled.length === roles.length) {
626 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
627 component: "span",
628 variant: "body2",
629 color: "text.primary"
630 }, "(", (0, _i18n.__)('All Roles', 'elementor'), ")");
631 }
632 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
633 component: "span",
634 variant: "body2",
635 color: "text.primary"
636 }, "(", rolesEnabled.map(function (role) {
637 return role.name;
638 }).join(', '), ")");
639 };
640 RolesList.propTypes = {
641 roles: _propTypes.default.arrayOf(_propTypes.default.shape({
642 id: _propTypes.default.string.isRequired,
643 name: _propTypes.default.string.isRequired
644 })).isRequired,
645 widgetRoleRestrictions: _propTypes.default.arrayOf(_propTypes.default.string).isRequired
646 };
647 var RolePermissions = exports.RolePermissions = function RolePermissions(_ref2) {
648 var roles = _ref2.roles,
649 widgetName = _ref2.widgetName,
650 widgetsRoleRestrictions = _ref2.widgetsRoleRestrictions,
651 setWidgetsRoleRestrictions = _ref2.setWidgetsRoleRestrictions;
652 var _useState = (0, _react.useState)(null),
653 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
654 anchorEl = _useState2[0],
655 setAnchorEl = _useState2[1];
656 var isOpen = Boolean(anchorEl);
657 var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
658 var handleClick = (0, _react.useCallback)(function (event) {
659 setAnchorEl(event.currentTarget);
660 }, []);
661 var handleClose = (0, _react.useCallback)(function () {
662 setAnchorEl(null);
663 }, []);
664 var isAllChecked = roles.every(function (role) {
665 return !widgetRoleRestrictions.includes(role.id);
666 });
667 var isIndeterminate = !isAllChecked && roles.some(function (role) {
668 return !widgetRoleRestrictions.includes(role.id);
669 });
670 var handleAllChange = (0, _react.useCallback)(function (event) {
671 if (event.target.checked) {
672 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, [])));
673 } else {
674 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, roles.map(function (role) {
675 return role.id;
676 }))));
677 }
678 }, [widgetName, widgetsRoleRestrictions, setWidgetsRoleRestrictions, roles]);
679 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
680 sx: {
681 display: 'inline-flex',
682 alignItems: 'center',
683 gap: 0.5
684 }
685 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
686 variant: "text",
687 color: "secondary",
688 size: "small",
689 onClick: handleClick,
690 "aria-expanded": isOpen,
691 "aria-haspopup": "true",
692 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
693 }, (0, _i18n.__)('Edit', 'elementor')), /*#__PURE__*/_react.default.createElement(RolesList, {
694 roles: roles,
695 widgetRoleRestrictions: widgetRoleRestrictions
696 }), /*#__PURE__*/_react.default.createElement(_ui.Menu, {
697 anchorEl: anchorEl,
698 open: isOpen,
699 onClose: handleClose,
700 anchorOrigin: {
701 vertical: 'bottom',
702 horizontal: 'left'
703 },
704 transformOrigin: {
705 vertical: 'top',
706 horizontal: 'left'
707 }
708 }, /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
709 sx: {
710 py: 0.5
711 }
712 }, /*#__PURE__*/_react.default.createElement(_ui.FormControlLabel, {
713 control: /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
714 checked: isAllChecked,
715 indeterminate: isIndeterminate,
716 onChange: handleAllChange,
717 size: "small",
718 color: "secondary"
719 }),
720 label: (0, _i18n.__)('All', 'elementor')
721 })), roles.map(function (role) {
722 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
723 key: role.id,
724 sx: {
725 py: 0.5
726 }
727 }, /*#__PURE__*/_react.default.createElement(_ui.FormControlLabel, {
728 control: /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
729 color: "secondary",
730 checked: !widgetRoleRestrictions.includes(role.id),
731 onChange: function onChange() {
732 toggleRoleRestrictions(widgetName, role.id, widgetsRoleRestrictions, setWidgetsRoleRestrictions);
733 },
734 size: "small"
735 }),
736 label: role.name
737 }));
738 })));
739 };
740 RolePermissions.propTypes = {
741 roles: _propTypes.default.arrayOf(_propTypes.default.shape({
742 id: _propTypes.default.string.isRequired,
743 name: _propTypes.default.string.isRequired
744 })).isRequired,
745 widgetName: _propTypes.default.string.isRequired,
746 widgetsRoleRestrictions: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]).isRequired,
747 setWidgetsRoleRestrictions: _propTypes.default.func.isRequired
748 };
749 var EditButtonDisabled = exports.EditButtonDisabled = function EditButtonDisabled(_ref3) {
750 var _ref3$widgetName = _ref3.widgetName,
751 widgetName = _ref3$widgetName === void 0 ? 'unknown' : _ref3$widgetName;
752 return /*#__PURE__*/_react.default.createElement(_ui.Button, {
753 variant: "text",
754 color: "secondary",
755 size: "small",
756 disabled: true,
757 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
758 }, (0, _i18n.__)('Edit', 'elementor'));
759 };
760 EditButtonDisabled.propTypes = {
761 widgetName: _propTypes.default.string
762 };
763
764 /***/ }),
765
766 /***/ "../modules/element-manager/assets/js/app-editor-one/components/SearchFilters.js":
767 /*!***************************************************************************************!*\
768 !*** ../modules/element-manager/assets/js/app-editor-one/components/SearchFilters.js ***!
769 \***************************************************************************************/
770 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
771
772 "use strict";
773
774
775 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
776 Object.defineProperty(exports, "__esModule", ({
777 value: true
778 }));
779 exports.SearchFilters = void 0;
780 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
781 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
782 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
783 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
784 var FIELD_HEIGHT = 28;
785 var FONT_SIZE = 12;
786 var ICON_SIZE = 16;
787 var StyledTextField = (0, _ui.styled)(_ui.TextField)({
788 '& .MuiInputBase-root': {
789 height: FIELD_HEIGHT,
790 fontSize: FONT_SIZE
791 }
792 });
793 var StyledFormControl = (0, _ui.styled)(_ui.FormControl)({
794 '& .MuiInputBase-root': {
795 height: FIELD_HEIGHT,
796 fontSize: FONT_SIZE
797 },
798 '& .MuiSelect-icon': {
799 width: ICON_SIZE,
800 height: ICON_SIZE,
801 top: 'calc(50% - 8px)'
802 }
803 });
804 var StyledButton = (0, _ui.styled)(_ui.Button)({
805 height: FIELD_HEIGHT,
806 fontSize: FONT_SIZE,
807 minWidth: 'auto',
808 whiteSpace: 'nowrap'
809 });
810 var SearchFilters = exports.SearchFilters = function SearchFilters(_ref) {
811 var searchKeyword = _ref.searchKeyword,
812 onSearchChange = _ref.onSearchChange,
813 filterByPlugin = _ref.filterByPlugin,
814 onPluginFilterChange = _ref.onPluginFilterChange,
815 filterByStatus = _ref.filterByStatus,
816 onStatusFilterChange = _ref.onStatusFilterChange,
817 plugins = _ref.plugins,
818 usageIsLoading = _ref.usageIsLoading,
819 usageData = _ref.usageData,
820 widgetsDisabledCount = _ref.widgetsDisabledCount,
821 onScanUsage = _ref.onScanUsage,
822 onDeactivateUnused = _ref.onDeactivateUnused,
823 onEnableAll = _ref.onEnableAll,
824 onSaveChanges = _ref.onSaveChanges,
825 isSaving = _ref.isSaving,
826 hasUnsavedChanges = _ref.hasUnsavedChanges;
827 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
828 direction: {
829 xs: 'column',
830 sm: 'row'
831 },
832 alignItems: {
833 xs: 'stretch',
834 sm: 'flex-start'
835 },
836 gap: 1.5,
837 sx: function sx(theme) {
838 return {
839 position: 'sticky',
840 top: theme.spacing(10),
841 backgroundColor: 'var(--e-one-palette-background-default)',
842 zIndex: 10,
843 paddingBlock: 2,
844 paddingInline: 2,
845 boxShadow: 'rgba(0, 0, 0, 0.15) 0 5px 10px 0',
846 marginBottom: theme.spacing(1)
847 };
848 }
849 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
850 direction: "row",
851 alignItems: "center",
852 flexWrap: "wrap",
853 gap: 1.5,
854 sx: {
855 flex: 1
856 }
857 }, /*#__PURE__*/_react.default.createElement(StyledTextField, {
858 color: "secondary",
859 value: searchKeyword,
860 size: "small",
861 placeholder: (0, _i18n.__)('Search', 'elementor'),
862 onChange: function onChange(e) {
863 return onSearchChange(e.target.value);
864 },
865 sx: function sx(theme) {
866 return {
867 minWidth: theme.spacing(14)
868 };
869 }
870 }), /*#__PURE__*/_react.default.createElement(StyledFormControl, {
871 size: "small",
872 sx: function sx(theme) {
873 return {
874 width: theme.spacing(20)
875 };
876 },
877 color: "secondary"
878 }, /*#__PURE__*/_react.default.createElement(_ui.Select, {
879 placeholder: (0, _i18n.__)('Plugin', 'elementor'),
880 value: filterByPlugin,
881 onChange: function onChange(event) {
882 return onPluginFilterChange(event.target.value);
883 },
884 "data-id": "elementor-element-manager-select-filter-by-plugin",
885 displayEmpty: true,
886 renderValue: function renderValue(value) {
887 if ('' === value) {
888 return (0, _i18n.__)('All Plugins', 'elementor');
889 }
890 var selectedPlugin = plugins.find(function (p) {
891 return p.value === value;
892 });
893 return selectedPlugin ? selectedPlugin.label : value;
894 }
895 }, /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
896 value: ""
897 }, (0, _i18n.__)('All Plugins', 'elementor')), plugins.map(function (plugin) {
898 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
899 key: plugin.value,
900 value: plugin.value
901 }, plugin.label);
902 }))), /*#__PURE__*/_react.default.createElement(StyledFormControl, {
903 size: "small",
904 sx: function sx(theme) {
905 return {
906 width: theme.spacing(20)
907 };
908 },
909 color: "secondary"
910 }, /*#__PURE__*/_react.default.createElement(_ui.Select, {
911 value: filterByStatus,
912 onChange: function onChange(event) {
913 return onStatusFilterChange(event.target.value);
914 },
915 "data-id": "elementor-element-manager-select-filter-by-status",
916 placeholder: (0, _i18n.__)('Status', 'elementor')
917 }, /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
918 value: "all"
919 }, (0, _i18n.__)('All Statuses', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
920 value: "active"
921 }, (0, _i18n.__)('Active', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
922 value: "inactive"
923 }, (0, _i18n.__)('Inactive', 'elementor')))), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
924 orientation: "vertical",
925 flexItem: true,
926 sx: {
927 height: FIELD_HEIGHT,
928 marginBlock: 0,
929 marginInline: 0.5,
930 alignSelf: 'center',
931 display: {
932 xs: 'none',
933 md: 'block'
934 }
935 }
936 }), /*#__PURE__*/_react.default.createElement(StyledButton, {
937 variant: "outlined",
938 color: "secondary",
939 size: "small",
940 disabled: usageIsLoading,
941 onClick: onScanUsage,
942 "data-id": "e-id-elementor-element-manager-button-scan-element-usage",
943 loading: usageIsLoading
944 }, (0, _i18n.__)('Scan Element Usage', 'elementor')), /*#__PURE__*/_react.default.createElement(StyledButton, {
945 variant: "outlined",
946 color: "secondary",
947 size: "small",
948 onClick: onDeactivateUnused,
949 disabled: null === usageData,
950 "data-id": "e-id-elementor-element-manager-button-deactivate-unused-elements"
951 }, (0, _i18n.__)('Deactivate Unused Elements', 'elementor')), /*#__PURE__*/_react.default.createElement(StyledButton, {
952 variant: "outlined",
953 color: "secondary",
954 size: "small",
955 disabled: !widgetsDisabledCount,
956 onClick: onEnableAll,
957 "data-id": "e-id-elementor-element-manager-button-enable-all"
958 }, (0, _i18n.__)('Enable All', 'elementor'))), /*#__PURE__*/_react.default.createElement(StyledButton, {
959 variant: "contained",
960 size: "small",
961 disabled: isSaving || !hasUnsavedChanges,
962 onClick: onSaveChanges,
963 "data-id": "e-id-elementor-element-manager-button-save-changes",
964 loading: isSaving,
965 sx: {
966 alignSelf: 'flex-start'
967 }
968 }, (0, _i18n.__)('Save Changes', 'elementor')));
969 };
970 SearchFilters.propTypes = {
971 searchKeyword: _propTypes.default.string.isRequired,
972 onSearchChange: _propTypes.default.func.isRequired,
973 filterByPlugin: _propTypes.default.string.isRequired,
974 onPluginFilterChange: _propTypes.default.func.isRequired,
975 filterByStatus: _propTypes.default.string.isRequired,
976 onStatusFilterChange: _propTypes.default.func.isRequired,
977 plugins: _propTypes.default.arrayOf(_propTypes.default.shape({
978 label: _propTypes.default.string.isRequired,
979 value: _propTypes.default.string.isRequired
980 })).isRequired,
981 usageIsLoading: _propTypes.default.bool,
982 usageData: _propTypes.default.object,
983 widgetsDisabledCount: _propTypes.default.number.isRequired,
984 onScanUsage: _propTypes.default.func.isRequired,
985 onDeactivateUnused: _propTypes.default.func.isRequired,
986 onEnableAll: _propTypes.default.func.isRequired,
987 onSaveChanges: _propTypes.default.func.isRequired,
988 isSaving: _propTypes.default.bool,
989 hasUnsavedChanges: _propTypes.default.bool
990 };
991
992 /***/ }),
993
994 /***/ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js":
995 /*!******************************************************************************************!*\
996 !*** ../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js ***!
997 \******************************************************************************************/
998 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
999
1000 "use strict";
1001
1002
1003 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1004 Object.defineProperty(exports, "__esModule", ({
1005 value: true
1006 }));
1007 exports.UsageTimesColumn = void 0;
1008 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1009 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1010 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1011 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1012 var UsageTimesColumn = exports.UsageTimesColumn = function UsageTimesColumn(_ref) {
1013 var widgetName = _ref.widgetName,
1014 usageData = _ref.usageData,
1015 isLoading = _ref.isLoading,
1016 getWidgetUsage = _ref.getWidgetUsage,
1017 onScanClick = _ref.onScanClick;
1018 if (null !== usageData) {
1019 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getWidgetUsage(widgetName), " ", (0, _i18n.__)('times', 'elementor'));
1020 }
1021 if (isLoading) {
1022 return /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
1023 color: "secondary",
1024 size: 20
1025 });
1026 }
1027 return /*#__PURE__*/_react.default.createElement(_ui.Button, {
1028 onClick: onScanClick,
1029 size: "small",
1030 variant: "outlined",
1031 color: "secondary",
1032 className: "e-id-elementor-element-manager-button-show-usage",
1033 sx: {
1034 minWidth: function minWidth(theme) {
1035 return theme.spacing(6);
1036 },
1037 height: 26
1038 }
1039 }, (0, _i18n.__)('Show', 'elementor'));
1040 };
1041 UsageTimesColumn.propTypes = {
1042 widgetName: _propTypes.default.string.isRequired,
1043 usageData: _propTypes.default.object,
1044 isLoading: _propTypes.default.bool,
1045 getWidgetUsage: _propTypes.default.func.isRequired,
1046 onScanClick: _propTypes.default.func.isRequired
1047 };
1048
1049 /***/ }),
1050
1051 /***/ "../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js":
1052 /*!**************************************************************************************!*\
1053 !*** ../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js ***!
1054 \**************************************************************************************/
1055 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1056
1057 "use strict";
1058
1059
1060 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1061 Object.defineProperty(exports, "__esModule", ({
1062 value: true
1063 }));
1064 exports.WidgetsTable = void 0;
1065 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1066 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1067 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1068 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1069 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1070 var _upgradeButton = __webpack_require__(/*! ../../upgrade-button */ "../modules/element-manager/assets/js/upgrade-button.js");
1071 var _RolePermissions = __webpack_require__(/*! ./RolePermissions */ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js");
1072 var _UsageTimesColumn = __webpack_require__(/*! ./UsageTimesColumn */ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js");
1073 var StyledSwitch = (0, _ui.styled)(_ui.Switch)({
1074 '& .MuiSwitch-track': {
1075 backgroundColor: 'rgba(0, 0, 0, 0.12);'
1076 },
1077 '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {
1078 backgroundColor: '#000'
1079 },
1080 '& .MuiSwitch-switchBase:not(.Mui-checked) .MuiSwitch-thumb': {
1081 backgroundColor: '#D5D8DC'
1082 },
1083 '& .MuiSwitch-switchBase.Mui-checked .MuiSwitch-thumb': {
1084 backgroundColor: '#fff'
1085 }
1086 });
1087 var WidgetsTable = exports.WidgetsTable = function WidgetsTable(_ref) {
1088 var widgets = _ref.widgets,
1089 widgetsDisabled = _ref.widgetsDisabled,
1090 widgetsRoleRestrictions = _ref.widgetsRoleRestrictions,
1091 setWidgetsRoleRestrictions = _ref.setWidgetsRoleRestrictions,
1092 roles = _ref.roles,
1093 promotionWidgets = _ref.promotionWidgets,
1094 promotionData = _ref.promotionData,
1095 usageWidgets = _ref.usageWidgets,
1096 getWidgetUsage = _ref.getWidgetUsage,
1097 onScanUsage = _ref.onScanUsage,
1098 onToggleWidget = _ref.onToggleWidget,
1099 getSortingIndicatorClasses = _ref.getSortingIndicatorClasses,
1100 onSortingClicked = _ref.onSortingClicked;
1101 var managerPermissions = promotionData.manager_permissions;
1102 var sortingClasses = getSortingIndicatorClasses('widget');
1103 var isWidgetSorted = sortingClasses.includes('sorted');
1104 var widgetSortDirection = sortingClasses.includes('asc') ? 'asc' : 'desc';
1105 var usageSortingClasses = getSortingIndicatorClasses('usage');
1106 var isUsageSorted = usageSortingClasses.includes('sorted');
1107 var usageSortDirection = usageSortingClasses.includes('asc') ? 'asc' : 'desc';
1108 if (!widgets.length) {
1109 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1110 color: "text.secondary"
1111 }, (0, _i18n.__)('No elements found.', 'elementor'));
1112 }
1113 return /*#__PURE__*/_react.default.createElement(_ui.TableContainer, {
1114 component: _ui.Paper,
1115 variant: "outlined"
1116 }, /*#__PURE__*/_react.default.createElement(_ui.Table, {
1117 size: "small"
1118 }, /*#__PURE__*/_react.default.createElement(_ui.TableHead, null, /*#__PURE__*/_react.default.createElement(_ui.TableRow, null, /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
1119 sx: function sx(theme) {
1120 return {
1121 width: theme.spacing(25)
1122 };
1123 }
1124 }, /*#__PURE__*/_react.default.createElement(_ui.TableSortLabel, {
1125 active: isWidgetSorted,
1126 direction: isWidgetSorted ? widgetSortDirection : 'asc',
1127 onClick: function onClick() {
1128 return onSortingClicked('widget');
1129 },
1130 "data-id": "e-id-elementor-element-manager-button-sort-by-element"
1131 }, (0, _i18n.__)('Element', 'elementor'))), /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
1132 sx: function sx(theme) {
1133 return {
1134 width: theme.spacing(10)
1135 };
1136 }
1137 }, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.TableSortLabel, {
1138 active: isUsageSorted,
1139 direction: isUsageSorted ? usageSortDirection : 'asc',
1140 onClick: function onClick() {
1141 return onSortingClicked('usage');
1142 },
1143 "data-id": "e-id-elementor-element-manager-button-sort-by-usage"
1144 }, (0, _i18n.__)('Usage', 'elementor'))), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, (0, _i18n.__)('Plugin', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1145 direction: "row",
1146 justifyContent: "flex-start",
1147 alignItems: "center",
1148 gap: 1
1149 }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
1150 placement: "top",
1151 title: (0, _i18n.__)('Choose which users will have access to each widget.', 'elementor')
1152 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1153 size: "small"
1154 }, /*#__PURE__*/_react.default.createElement(_icons.HelpIcon, {
1155 fontSize: "small"
1156 })))), null === widgetsRoleRestrictions && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1157 sx: {
1158 marginInlineStart: 1
1159 }
1160 }, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
1161 href: promotionWidgets.length ? managerPermissions.pro.url : managerPermissions.advanced.url,
1162 size: "small",
1163 text: promotionWidgets.length ? managerPermissions.pro.text : managerPermissions.advanced.text,
1164 className: "go-pro",
1165 "data-id": "e-id-elementor-element-manager-button-upgrade-permissions"
1166 })))))), /*#__PURE__*/_react.default.createElement(_ui.TableBody, null, widgets.map(function (widget) {
1167 return /*#__PURE__*/_react.default.createElement(_ui.TableRow, {
1168 key: widget.name,
1169 "data-key-id": widget.name,
1170 hover: true
1171 }, /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
1172 sx: {
1173 display: 'flex',
1174 alignItems: 'center'
1175 }
1176 }, /*#__PURE__*/_react.default.createElement("i", {
1177 style: {
1178 marginInlineEnd: 8,
1179 marginInlineStart: 0,
1180 display: 'inline-block'
1181 },
1182 className: widget.icon
1183 }), widget.title)), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(StyledSwitch, {
1184 color: "secondary",
1185 checked: !widgetsDisabled.includes(widget.name),
1186 onChange: function onChange(event, checked) {
1187 return onToggleWidget(widget.name, checked);
1188 },
1189 size: "small",
1190 "data-id": "e-id-elementor-element-manager-toggle-".concat(widget.name)
1191 })), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_UsageTimesColumn.UsageTimesColumn, {
1192 widgetName: widget.name,
1193 usageData: usageWidgets.data,
1194 isLoading: usageWidgets.isLoading,
1195 getWidgetUsage: getWidgetUsage,
1196 onScanClick: onScanUsage
1197 })), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, widget.plugin), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, null !== widgetsRoleRestrictions && !widgetsDisabled.includes(widget.name) ? /*#__PURE__*/_react.default.createElement(_RolePermissions.RolePermissions, {
1198 widgetName: widget.name,
1199 roles: roles,
1200 widgetsRoleRestrictions: widgetsRoleRestrictions,
1201 setWidgetsRoleRestrictions: setWidgetsRoleRestrictions
1202 }) : /*#__PURE__*/_react.default.createElement(_RolePermissions.EditButtonDisabled, null)));
1203 }))));
1204 };
1205 var widgetShape = _propTypes.default.shape({
1206 name: _propTypes.default.string.isRequired,
1207 title: _propTypes.default.string.isRequired,
1208 icon: _propTypes.default.string,
1209 plugin: _propTypes.default.string
1210 });
1211 WidgetsTable.propTypes = {
1212 widgets: _propTypes.default.arrayOf(widgetShape).isRequired,
1213 widgetsDisabled: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
1214 widgetsRoleRestrictions: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
1215 setWidgetsRoleRestrictions: _propTypes.default.func.isRequired,
1216 roles: _propTypes.default.array.isRequired,
1217 promotionWidgets: _propTypes.default.arrayOf(widgetShape).isRequired,
1218 promotionData: _propTypes.default.shape({
1219 manager_permissions: _propTypes.default.shape({
1220 pro: _propTypes.default.shape({
1221 url: _propTypes.default.string,
1222 text: _propTypes.default.string
1223 }),
1224 advanced: _propTypes.default.shape({
1225 url: _propTypes.default.string,
1226 text: _propTypes.default.string
1227 })
1228 })
1229 }).isRequired,
1230 usageWidgets: _propTypes.default.shape({
1231 isLoading: _propTypes.default.bool,
1232 data: _propTypes.default.object
1233 }).isRequired,
1234 getWidgetUsage: _propTypes.default.func.isRequired,
1235 onScanUsage: _propTypes.default.func.isRequired,
1236 onToggleWidget: _propTypes.default.func.isRequired,
1237 getSortingIndicatorClasses: _propTypes.default.func.isRequired,
1238 onSortingClicked: _propTypes.default.func.isRequired
1239 };
1240
1241 /***/ }),
1242
1243 /***/ "../modules/element-manager/assets/js/app-editor-one/components/index.js":
1244 /*!*******************************************************************************!*\
1245 !*** ../modules/element-manager/assets/js/app-editor-one/components/index.js ***!
1246 \*******************************************************************************/
1247 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1248
1249 "use strict";
1250
1251
1252 Object.defineProperty(exports, "__esModule", ({
1253 value: true
1254 }));
1255 Object.defineProperty(exports, "ConfirmDialog", ({
1256 enumerable: true,
1257 get: function get() {
1258 return _ConfirmDialog.ConfirmDialog;
1259 }
1260 }));
1261 Object.defineProperty(exports, "EditButtonDisabled", ({
1262 enumerable: true,
1263 get: function get() {
1264 return _RolePermissions.EditButtonDisabled;
1265 }
1266 }));
1267 Object.defineProperty(exports, "NoticeAlert", ({
1268 enumerable: true,
1269 get: function get() {
1270 return _NoticeAlert.NoticeAlert;
1271 }
1272 }));
1273 Object.defineProperty(exports, "PromotionWidgetsTable", ({
1274 enumerable: true,
1275 get: function get() {
1276 return _PromotionWidgetsTable.PromotionWidgetsTable;
1277 }
1278 }));
1279 Object.defineProperty(exports, "RolePermissions", ({
1280 enumerable: true,
1281 get: function get() {
1282 return _RolePermissions.RolePermissions;
1283 }
1284 }));
1285 Object.defineProperty(exports, "SearchFilters", ({
1286 enumerable: true,
1287 get: function get() {
1288 return _SearchFilters.SearchFilters;
1289 }
1290 }));
1291 Object.defineProperty(exports, "UsageTimesColumn", ({
1292 enumerable: true,
1293 get: function get() {
1294 return _UsageTimesColumn.UsageTimesColumn;
1295 }
1296 }));
1297 Object.defineProperty(exports, "WidgetsTable", ({
1298 enumerable: true,
1299 get: function get() {
1300 return _WidgetsTable.WidgetsTable;
1301 }
1302 }));
1303 var _UsageTimesColumn = __webpack_require__(/*! ./UsageTimesColumn */ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js");
1304 var _NoticeAlert = __webpack_require__(/*! ./NoticeAlert */ "../modules/element-manager/assets/js/app-editor-one/components/NoticeAlert.js");
1305 var _ConfirmDialog = __webpack_require__(/*! ./ConfirmDialog */ "../modules/element-manager/assets/js/app-editor-one/components/ConfirmDialog.js");
1306 var _SearchFilters = __webpack_require__(/*! ./SearchFilters */ "../modules/element-manager/assets/js/app-editor-one/components/SearchFilters.js");
1307 var _WidgetsTable = __webpack_require__(/*! ./WidgetsTable */ "../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js");
1308 var _PromotionWidgetsTable = __webpack_require__(/*! ./PromotionWidgetsTable */ "../modules/element-manager/assets/js/app-editor-one/components/PromotionWidgetsTable.js");
1309 var _RolePermissions = __webpack_require__(/*! ./RolePermissions */ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js");
1310
1311 /***/ }),
1312
1313 /***/ "../modules/element-manager/assets/js/app-editor-one/hooks/index.js":
1314 /*!**************************************************************************!*\
1315 !*** ../modules/element-manager/assets/js/app-editor-one/hooks/index.js ***!
1316 \**************************************************************************/
1317 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1318
1319 "use strict";
1320
1321
1322 Object.defineProperty(exports, "__esModule", ({
1323 value: true
1324 }));
1325 Object.defineProperty(exports, "useElementManager", ({
1326 enumerable: true,
1327 get: function get() {
1328 return _useElementManager.useElementManager;
1329 }
1330 }));
1331 Object.defineProperty(exports, "useWidgetFilters", ({
1332 enumerable: true,
1333 get: function get() {
1334 return _useWidgetFilters.useWidgetFilters;
1335 }
1336 }));
1337 var _useElementManager = __webpack_require__(/*! ./useElementManager */ "../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js");
1338 var _useWidgetFilters = __webpack_require__(/*! ./useWidgetFilters */ "../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js");
1339
1340 /***/ }),
1341
1342 /***/ "../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js":
1343 /*!**************************************************************************************!*\
1344 !*** ../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js ***!
1345 \**************************************************************************************/
1346 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1347
1348 "use strict";
1349
1350
1351 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1352 Object.defineProperty(exports, "__esModule", ({
1353 value: true
1354 }));
1355 exports.useElementManager = void 0;
1356 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1357 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1358 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1359 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1360 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1361 var _react = __webpack_require__(/*! react */ "react");
1362 var _api = __webpack_require__(/*! ../../api */ "../modules/element-manager/assets/js/api.js");
1363 function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1364 function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1365 var useElementManager = exports.useElementManager = function useElementManager() {
1366 var isInitialMount = (0, _react.useRef)(true);
1367 var _useState = (0, _react.useState)(true),
1368 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1369 isLoading = _useState2[0],
1370 setIsLoading = _useState2[1];
1371 var _useState3 = (0, _react.useState)([]),
1372 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1373 widgets = _useState4[0],
1374 setWidgets = _useState4[1];
1375 var _useState5 = (0, _react.useState)([]),
1376 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1377 promotionWidgets = _useState6[0],
1378 setPromotionWidgets = _useState6[1];
1379 var _useState7 = (0, _react.useState)([]),
1380 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
1381 plugins = _useState8[0],
1382 setPlugins = _useState8[1];
1383 var _useState9 = (0, _react.useState)([]),
1384 _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
1385 roles = _useState0[0],
1386 setRoles = _useState0[1];
1387 var _useState1 = (0, _react.useState)([]),
1388 _useState10 = (0, _slicedToArray2.default)(_useState1, 2),
1389 widgetsDisabled = _useState10[0],
1390 setWidgetsDisabled = _useState10[1];
1391 var _useState11 = (0, _react.useState)(null),
1392 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
1393 widgetsRoleRestrictions = _useState12[0],
1394 setWidgetsRoleRestrictions = _useState12[1];
1395 var _useState13 = (0, _react.useState)([]),
1396 _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
1397 promotionData = _useState14[0],
1398 setPromotionData = _useState14[1];
1399 var _useState15 = (0, _react.useState)(null),
1400 _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
1401 noticeData = _useState16[0],
1402 setNoticeData = _useState16[1];
1403 var _useState17 = (0, _react.useState)({
1404 isLoading: false,
1405 data: null
1406 }),
1407 _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
1408 usageWidgets = _useState18[0],
1409 setUsageWidgets = _useState18[1];
1410 var _useState19 = (0, _react.useState)({
1411 isSaving: false,
1412 isUnsavedChanges: false
1413 }),
1414 _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
1415 changeProgress = _useState20[0],
1416 setChangeProgress = _useState20[1];
1417 var _useState21 = (0, _react.useState)(false),
1418 _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
1419 isSnackbarOpen = _useState22[0],
1420 setIsSnackbarOpen = _useState22[1];
1421 var getWidgetUsage = (0, _react.useCallback)(function (widgetName) {
1422 if (!usageWidgets.data || !usageWidgets.data.hasOwnProperty(widgetName)) {
1423 return 0;
1424 }
1425 return usageWidgets.data[widgetName];
1426 }, [usageWidgets.data]);
1427 var scanUsageElements = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1428 var data;
1429 return _regenerator.default.wrap(function (_context) {
1430 while (1) switch (_context.prev = _context.next) {
1431 case 0:
1432 setUsageWidgets(function (prev) {
1433 return _objectSpread(_objectSpread({}, prev), {}, {
1434 isLoading: true
1435 });
1436 });
1437 _context.next = 1;
1438 return (0, _api.getUsageWidgets)();
1439 case 1:
1440 data = _context.sent;
1441 setUsageWidgets({
1442 data: data,
1443 isLoading: false
1444 });
1445 return _context.abrupt("return", data);
1446 case 2:
1447 case "end":
1448 return _context.stop();
1449 }
1450 }, _callee);
1451 })), []);
1452 var saveChanges = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
1453 return _regenerator.default.wrap(function (_context2) {
1454 while (1) switch (_context2.prev = _context2.next) {
1455 case 0:
1456 setChangeProgress(function (prev) {
1457 return _objectSpread(_objectSpread({}, prev), {}, {
1458 isSaving: true
1459 });
1460 });
1461 _context2.next = 1;
1462 return (0, _api.saveDisabledWidgets)(widgetsDisabled, widgetsRoleRestrictions);
1463 case 1:
1464 setChangeProgress({
1465 isSaving: false,
1466 isUnsavedChanges: false
1467 });
1468 setIsSnackbarOpen(true);
1469 case 2:
1470 case "end":
1471 return _context2.stop();
1472 }
1473 }, _callee2);
1474 })), [widgetsDisabled, widgetsRoleRestrictions]);
1475 var deactivateAllUnusedWidgets = (0, _react.useCallback)(function () {
1476 if (!usageWidgets.data) {
1477 return;
1478 }
1479 var widgetsToDeactivate = widgets.filter(function (widget) {
1480 return !usageWidgets.data.hasOwnProperty(widget.name) || widgetsDisabled.includes(widget.name);
1481 });
1482 setWidgetsDisabled(widgetsToDeactivate.map(function (widget) {
1483 return widget.name;
1484 }));
1485 }, [widgets, usageWidgets.data, widgetsDisabled]);
1486 var enableAllWidgets = (0, _react.useCallback)(function () {
1487 setWidgetsDisabled([]);
1488 }, []);
1489 var toggleWidget = (0, _react.useCallback)(function (widgetName, isEnabled) {
1490 if (isEnabled) {
1491 setWidgetsDisabled(function (prev) {
1492 return prev.filter(function (item) {
1493 return item !== widgetName;
1494 });
1495 });
1496 } else {
1497 setWidgetsDisabled(function (prev) {
1498 return [].concat((0, _toConsumableArray2.default)(prev), [widgetName]);
1499 });
1500 }
1501 }, []);
1502 var dismissNotice = (0, _react.useCallback)(function () {
1503 if (noticeData) {
1504 (0, _api.markNoticeViewed)(noticeData.notice_id, noticeData.nonce);
1505 setNoticeData(function (prev) {
1506 return _objectSpread(_objectSpread({}, prev), {}, {
1507 is_viewed: true
1508 });
1509 });
1510 }
1511 }, [noticeData]);
1512 (0, _react.useEffect)(function () {
1513 var loadData = /*#__PURE__*/function () {
1514 var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
1515 var _appData$additional_d, _appData$additional_d2;
1516 var appData, pluginsData;
1517 return _regenerator.default.wrap(function (_context3) {
1518 while (1) switch (_context3.prev = _context3.next) {
1519 case 0:
1520 _context3.next = 1;
1521 return (0, _api.getAdminAppData)();
1522 case 1:
1523 appData = _context3.sent;
1524 setNoticeData(appData.notice_data);
1525 setWidgetsDisabled(appData.disabled_elements);
1526 setWidgets(appData.widgets);
1527 setPromotionWidgets(appData.promotion_widgets);
1528 setPromotionData(appData.promotion_data);
1529 if ((_appData$additional_d = appData.additional_data) !== null && _appData$additional_d !== void 0 && _appData$additional_d.roles) {
1530 setRoles(appData.additional_data.roles);
1531 }
1532 if ((_appData$additional_d2 = appData.additional_data) !== null && _appData$additional_d2 !== void 0 && _appData$additional_d2.role_restrictions) {
1533 setWidgetsRoleRestrictions(appData.additional_data.role_restrictions);
1534 }
1535 pluginsData = appData.plugins.map(function (plugin) {
1536 return {
1537 label: plugin,
1538 value: plugin
1539 };
1540 });
1541 pluginsData.unshift({
1542 label: 'All Plugins',
1543 value: ''
1544 });
1545 setPlugins(pluginsData);
1546 setIsLoading(false);
1547 setChangeProgress(function (prev) {
1548 return _objectSpread(_objectSpread({}, prev), {}, {
1549 isUnsavedChanges: false
1550 });
1551 });
1552 case 2:
1553 case "end":
1554 return _context3.stop();
1555 }
1556 }, _callee3);
1557 }));
1558 return function loadData() {
1559 return _ref3.apply(this, arguments);
1560 };
1561 }();
1562 loadData();
1563 }, []);
1564 (0, _react.useEffect)(function () {
1565 if (isLoading) {
1566 return;
1567 }
1568 if (isInitialMount.current) {
1569 isInitialMount.current = false;
1570 return;
1571 }
1572 setChangeProgress(function (prev) {
1573 return _objectSpread(_objectSpread({}, prev), {}, {
1574 isUnsavedChanges: true
1575 });
1576 });
1577 }, [widgetsDisabled, widgetsRoleRestrictions, isLoading]);
1578 (0, _react.useEffect)(function () {
1579 var handleBeforeUnload = function handleBeforeUnload(event) {
1580 event.preventDefault();
1581 event.returnValue = '';
1582 };
1583 if (changeProgress.isUnsavedChanges) {
1584 window.addEventListener('beforeunload', handleBeforeUnload);
1585 } else {
1586 window.removeEventListener('beforeunload', handleBeforeUnload);
1587 }
1588 return function () {
1589 window.removeEventListener('beforeunload', handleBeforeUnload);
1590 };
1591 }, [changeProgress.isUnsavedChanges]);
1592 return {
1593 isLoading: isLoading,
1594 widgets: widgets,
1595 promotionWidgets: promotionWidgets,
1596 plugins: plugins,
1597 roles: roles,
1598 widgetsDisabled: widgetsDisabled,
1599 widgetsRoleRestrictions: widgetsRoleRestrictions,
1600 setWidgetsRoleRestrictions: setWidgetsRoleRestrictions,
1601 promotionData: promotionData,
1602 noticeData: noticeData,
1603 usageWidgets: usageWidgets,
1604 changeProgress: changeProgress,
1605 isSnackbarOpen: isSnackbarOpen,
1606 setIsSnackbarOpen: setIsSnackbarOpen,
1607 getWidgetUsage: getWidgetUsage,
1608 scanUsageElements: scanUsageElements,
1609 saveChanges: saveChanges,
1610 deactivateAllUnusedWidgets: deactivateAllUnusedWidgets,
1611 enableAllWidgets: enableAllWidgets,
1612 toggleWidget: toggleWidget,
1613 dismissNotice: dismissNotice
1614 };
1615 };
1616
1617 /***/ }),
1618
1619 /***/ "../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js":
1620 /*!*************************************************************************************!*\
1621 !*** ../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js ***!
1622 \*************************************************************************************/
1623 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1624
1625 "use strict";
1626
1627
1628 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1629 Object.defineProperty(exports, "__esModule", ({
1630 value: true
1631 }));
1632 exports.useWidgetFilters = void 0;
1633 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1634 var _react = __webpack_require__(/*! react */ "react");
1635 var useWidgetFilters = exports.useWidgetFilters = function useWidgetFilters(widgets, widgetsDisabled, getWidgetUsage) {
1636 var _useState = (0, _react.useState)(''),
1637 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1638 searchKeyword = _useState2[0],
1639 setSearchKeyword = _useState2[1];
1640 var _useState3 = (0, _react.useState)('widget'),
1641 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1642 sortingColumn = _useState4[0],
1643 setSortingColumn = _useState4[1];
1644 var _useState5 = (0, _react.useState)('asc'),
1645 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1646 sortingDirection = _useState6[0],
1647 setSortingDirection = _useState6[1];
1648 var _useState7 = (0, _react.useState)(''),
1649 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
1650 filterByPlugin = _useState8[0],
1651 setFilterByPlugin = _useState8[1];
1652 var _useState9 = (0, _react.useState)('all'),
1653 _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
1654 filterByStatus = _useState0[0],
1655 setFilterByStatus = _useState0[1];
1656 var sortedAndFilteredWidgets = (0, _react.useMemo)(function () {
1657 var filteredWidgets = widgets.filter(function (widget) {
1658 return widget.title.toLowerCase().includes(searchKeyword.toLowerCase());
1659 });
1660 if ('' !== filterByPlugin) {
1661 filteredWidgets = filteredWidgets.filter(function (widget) {
1662 return widget.plugin.toLowerCase() === filterByPlugin.toLowerCase();
1663 });
1664 }
1665 if ('all' !== filterByStatus) {
1666 filteredWidgets = filteredWidgets.filter(function (widget) {
1667 if ('active' === filterByStatus) {
1668 return !widgetsDisabled.includes(widget.name);
1669 }
1670 return widgetsDisabled.includes(widget.name);
1671 });
1672 }
1673 filteredWidgets.sort(function (a, b) {
1674 var aValue;
1675 var bValue;
1676 if ('widget' === sortingColumn) {
1677 aValue = a.title;
1678 bValue = b.title;
1679 }
1680 if ('usage' === sortingColumn) {
1681 aValue = getWidgetUsage(a.name);
1682 bValue = getWidgetUsage(b.name);
1683 }
1684 if (aValue === bValue) {
1685 return 0;
1686 }
1687 if ('asc' === sortingDirection) {
1688 return aValue < bValue ? -1 : 1;
1689 }
1690 return aValue > bValue ? -1 : 1;
1691 });
1692 return filteredWidgets;
1693 }, [widgets, searchKeyword, sortingColumn, sortingDirection, filterByPlugin, filterByStatus, widgetsDisabled, getWidgetUsage]);
1694 var getSortingIndicatorClasses = (0, _react.useCallback)(function (column) {
1695 if (sortingColumn !== column) {
1696 return '';
1697 }
1698 return 'asc' === sortingDirection ? 'sorted asc' : 'sorted desc';
1699 }, [sortingColumn, sortingDirection]);
1700 var onSortingClicked = (0, _react.useCallback)(function (column) {
1701 if (sortingColumn === column) {
1702 setSortingDirection(function (prev) {
1703 return 'asc' === prev ? 'desc' : 'asc';
1704 });
1705 } else {
1706 setSortingColumn(column);
1707 setSortingDirection('asc');
1708 }
1709 }, [sortingColumn]);
1710 var setSortByUsage = (0, _react.useCallback)(function () {
1711 setSortingColumn('usage');
1712 setSortingDirection('desc');
1713 }, []);
1714 return {
1715 searchKeyword: searchKeyword,
1716 setSearchKeyword: setSearchKeyword,
1717 filterByPlugin: filterByPlugin,
1718 setFilterByPlugin: setFilterByPlugin,
1719 filterByStatus: filterByStatus,
1720 setFilterByStatus: setFilterByStatus,
1721 sortedAndFilteredWidgets: sortedAndFilteredWidgets,
1722 getSortingIndicatorClasses: getSortingIndicatorClasses,
1723 onSortingClicked: onSortingClicked,
1724 setSortByUsage: setSortByUsage
1725 };
1726 };
1727
1728 /***/ }),
1729
1730 /***/ "../modules/element-manager/assets/js/app-editor-one/index.js":
1731 /*!********************************************************************!*\
1732 !*** ../modules/element-manager/assets/js/app-editor-one/index.js ***!
1733 \********************************************************************/
1734 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1735
1736 "use strict";
1737
1738
1739 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1740 Object.defineProperty(exports, "__esModule", ({
1741 value: true
1742 }));
1743 exports.AppModern = void 0;
1744 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1745 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1746 var _App = __webpack_require__(/*! ./App */ "../modules/element-manager/assets/js/app-editor-one/App.js");
1747 var AppModern = exports.AppModern = function AppModern() {
1748 var _elementorCommon$conf;
1749 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');
1750 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
1751 rtl: isRTL
1752 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
1753 colorScheme: "light"
1754 }, /*#__PURE__*/_react.default.createElement(_App.App, null)));
1755 };
1756
1757 /***/ }),
1758
1759 /***/ "../modules/element-manager/assets/js/app.js":
1760 /*!***************************************************!*\
1761 !*** ../modules/element-manager/assets/js/app.js ***!
1762 \***************************************************/
1763 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1764
1765 "use strict";
1766
1767
1768 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1769 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1770 Object.defineProperty(exports, "__esModule", ({
1771 value: true
1772 }));
1773 exports.AppLegacy = void 0;
1774 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1775 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1776 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1777 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1778 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1779 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1780 var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1781 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1782 var _upgradeButton = __webpack_require__(/*! ./upgrade-button */ "../modules/element-manager/assets/js/upgrade-button.js");
1783 var _api = __webpack_require__(/*! ./api */ "../modules/element-manager/assets/js/api.js");
1784 var _rolePermissions = __webpack_require__(/*! ./role-permissions */ "../modules/element-manager/assets/js/role-permissions.js");
1785 function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
1786 function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1787 function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable react/prop-types */
1788 var AppLegacy = exports.AppLegacy = function AppLegacy() {
1789 var _useState = (0, _react.useState)(true),
1790 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1791 isLoading = _useState2[0],
1792 setIsLoading = _useState2[1];
1793 var _useState3 = (0, _react.useState)(''),
1794 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1795 searchKeyword = _useState4[0],
1796 setSearchKeyword = _useState4[1];
1797 var _useState5 = (0, _react.useState)([]),
1798 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1799 widgets = _useState6[0],
1800 setWidgets = _useState6[1];
1801 var _useState7 = (0, _react.useState)([]),
1802 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
1803 promotionWidgets = _useState8[0],
1804 setPromotionWidgets = _useState8[1];
1805 var _useState9 = (0, _react.useState)([]),
1806 _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
1807 plugins = _useState0[0],
1808 setPlugins = _useState0[1];
1809 var _useState1 = (0, _react.useState)([]),
1810 _useState10 = (0, _slicedToArray2.default)(_useState1, 2),
1811 roles = _useState10[0],
1812 setRoles = _useState10[1];
1813 var _useState11 = (0, _react.useState)({
1814 isLoading: false,
1815 data: null
1816 }),
1817 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
1818 usageWidgets = _useState12[0],
1819 setUsageWidgets = _useState12[1];
1820 var _useState13 = (0, _react.useState)([]),
1821 _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
1822 widgetsDisabled = _useState14[0],
1823 setWidgetsDisabled = _useState14[1];
1824 var _useState15 = (0, _react.useState)('widget'),
1825 _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
1826 sortingColumn = _useState16[0],
1827 setSortingColumn = _useState16[1];
1828 var _useState17 = (0, _react.useState)('asc'),
1829 _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
1830 sortingDirection = _useState18[0],
1831 setSortingDirection = _useState18[1];
1832 var _useState19 = (0, _react.useState)(''),
1833 _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
1834 filterByPlugin = _useState20[0],
1835 setFilterByPlugin = _useState20[1];
1836 var _useState21 = (0, _react.useState)('all'),
1837 _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
1838 filterByStatus = _useState22[0],
1839 setFilterByStatus = _useState22[1];
1840 var _useState23 = (0, _react.useState)({
1841 isSaving: false,
1842 isUnsavedChanges: false
1843 }),
1844 _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
1845 changeProgress = _useState24[0],
1846 setChangeProgress = _useState24[1];
1847 var _useState25 = (0, _react.useState)(false),
1848 _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
1849 isConfirmDialogOpen = _useState26[0],
1850 setIsConfirmDialogOpen = _useState26[1];
1851 var _useState27 = (0, _react.useState)(false),
1852 _useState28 = (0, _slicedToArray2.default)(_useState27, 2),
1853 isSnackbarOpen = _useState28[0],
1854 setIsSnackbarOpen = _useState28[1];
1855 var _useState29 = (0, _react.useState)(null),
1856 _useState30 = (0, _slicedToArray2.default)(_useState29, 2),
1857 noticeData = _useState30[0],
1858 setNoticeData = _useState30[1];
1859 var _useState31 = (0, _react.useState)(null),
1860 _useState32 = (0, _slicedToArray2.default)(_useState31, 2),
1861 widgetsRoleRestrictions = _useState32[0],
1862 setWidgetsRoleRestrictions = _useState32[1];
1863 var _useState33 = (0, _react.useState)([]),
1864 _useState34 = (0, _slicedToArray2.default)(_useState33, 2),
1865 promotionData = _useState34[0],
1866 setPromotionData = _useState34[1];
1867 var managerPermissions = promotionData.manager_permissions,
1868 elementManager = promotionData.element_manager;
1869 var getWidgetUsage = function getWidgetUsage(widgetName) {
1870 if (!usageWidgets.data || !usageWidgets.data.hasOwnProperty(widgetName)) {
1871 return 0;
1872 }
1873 return usageWidgets.data[widgetName];
1874 };
1875 var sortedAndFilteredWidgets = (0, _react.useMemo)(function () {
1876 var filteredWidgets = widgets.filter(function (widget) {
1877 return widget.title.toLowerCase().includes(searchKeyword.toLowerCase());
1878 });
1879 if ('' !== filterByPlugin) {
1880 filteredWidgets = filteredWidgets.filter(function (widget) {
1881 return widget.plugin.toLowerCase() === filterByPlugin.toLowerCase();
1882 });
1883 }
1884 if ('all' !== filterByStatus) {
1885 filteredWidgets = filteredWidgets.filter(function (widget) {
1886 if ('active' === filterByStatus) {
1887 return !widgetsDisabled.includes(widget.name);
1888 }
1889 return widgetsDisabled.includes(widget.name);
1890 });
1891 }
1892 filteredWidgets.sort(function (a, b) {
1893 var aValue;
1894 var bValue;
1895 if ('widget' === sortingColumn) {
1896 aValue = a.title;
1897 bValue = b.title;
1898 }
1899 if ('usage' === sortingColumn) {
1900 aValue = getWidgetUsage(a.name);
1901 bValue = getWidgetUsage(b.name);
1902 }
1903 if (aValue === bValue) {
1904 return 0;
1905 }
1906 if ('asc' === sortingDirection) {
1907 return aValue < bValue ? -1 : 1;
1908 }
1909 return aValue > bValue ? -1 : 1;
1910 });
1911 return filteredWidgets;
1912 }, [widgets, searchKeyword, sortingColumn, sortingDirection, filterByPlugin, usageWidgets, filterByStatus, widgetsDisabled]);
1913 var getSortingIndicatorClasses = function getSortingIndicatorClasses(column) {
1914 if (sortingColumn !== column) {
1915 return '';
1916 }
1917 if ('asc' === sortingDirection) {
1918 return 'sorted asc';
1919 }
1920 return 'sorted desc';
1921 };
1922 var onSortingClicked = function onSortingClicked(column) {
1923 if (sortingColumn === column) {
1924 if ('asc' === sortingDirection) {
1925 setSortingDirection('desc');
1926 } else {
1927 setSortingDirection('asc');
1928 }
1929 } else {
1930 setSortingColumn(column);
1931 setSortingDirection('asc');
1932 }
1933 };
1934 var onSaveClicked = /*#__PURE__*/function () {
1935 var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1936 return _regenerator.default.wrap(function (_context) {
1937 while (1) switch (_context.prev = _context.next) {
1938 case 0:
1939 setIsConfirmDialogOpen(false);
1940 setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
1941 isSaving: true
1942 }));
1943 _context.next = 1;
1944 return (0, _api.saveDisabledWidgets)(widgetsDisabled, widgetsRoleRestrictions);
1945 case 1:
1946 setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
1947 isSaving: false,
1948 isUnsavedChanges: false
1949 }));
1950 setIsSnackbarOpen(true);
1951 case 2:
1952 case "end":
1953 return _context.stop();
1954 }
1955 }, _callee);
1956 }));
1957 return function onSaveClicked() {
1958 return _ref.apply(this, arguments);
1959 };
1960 }();
1961 var deactivateAllUnusedWidgets = function deactivateAllUnusedWidgets() {
1962 var widgetsToDeactivate = widgets.filter(function (widget) {
1963 return !usageWidgets.data.hasOwnProperty(widget.name) || widgetsDisabled.includes(widget.name);
1964 });
1965 setWidgetsDisabled(widgetsToDeactivate.map(function (widget) {
1966 return widget.name;
1967 }));
1968 };
1969 var enableAllWidgets = function enableAllWidgets() {
1970 setWidgetsDisabled([]);
1971 };
1972 var onScanUsageElementsClicked = /*#__PURE__*/function () {
1973 var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
1974 var data;
1975 return _regenerator.default.wrap(function (_context2) {
1976 while (1) switch (_context2.prev = _context2.next) {
1977 case 0:
1978 setUsageWidgets(_objectSpread(_objectSpread({}, usageWidgets), {}, {
1979 isLoading: true
1980 }));
1981 _context2.next = 1;
1982 return (0, _api.getUsageWidgets)();
1983 case 1:
1984 data = _context2.sent;
1985 setUsageWidgets({
1986 data: data,
1987 isLoading: false
1988 });
1989 setSortingColumn('usage');
1990 setSortingDirection('desc');
1991 case 2:
1992 case "end":
1993 return _context2.stop();
1994 }
1995 }, _callee2);
1996 }));
1997 return function onScanUsageElementsClicked() {
1998 return _ref2.apply(this, arguments);
1999 };
2000 }();
2001 var UsageTimesColumn = function UsageTimesColumn(_ref3) {
2002 var widgetName = _ref3.widgetName;
2003 if (null !== usageWidgets.data) {
2004 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getWidgetUsage(widgetName), " ", (0, _i18n.__)('times', 'elementor'));
2005 }
2006 if (usageWidgets.isLoading) {
2007 return /*#__PURE__*/_react.default.createElement(_components.Spinner, null);
2008 }
2009 return /*#__PURE__*/_react.default.createElement(_components.Button, {
2010 onClick: onScanUsageElementsClicked,
2011 size: 'small',
2012 variant: 'secondary',
2013 className: "e-id-elementor-element-manager-button-show-usage"
2014 }, (0, _i18n.__)('Show', 'elementor'));
2015 };
2016 (0, _react.useEffect)(function () {
2017 var onLoading = /*#__PURE__*/function () {
2018 var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
2019 var _appData$additional_d, _appData$additional_d2;
2020 var appData, pluginsData;
2021 return _regenerator.default.wrap(function (_context3) {
2022 while (1) switch (_context3.prev = _context3.next) {
2023 case 0:
2024 _context3.next = 1;
2025 return (0, _api.getAdminAppData)();
2026 case 1:
2027 appData = _context3.sent;
2028 setNoticeData(appData.notice_data);
2029 setWidgetsDisabled(appData.disabled_elements);
2030 setWidgets(appData.widgets);
2031 setPromotionWidgets(appData.promotion_widgets);
2032 setPromotionData(appData.promotion_data);
2033 if ((_appData$additional_d = appData.additional_data) !== null && _appData$additional_d !== void 0 && _appData$additional_d.roles) {
2034 setRoles(appData.additional_data.roles);
2035 }
2036 if ((_appData$additional_d2 = appData.additional_data) !== null && _appData$additional_d2 !== void 0 && _appData$additional_d2.role_restrictions) {
2037 setWidgetsRoleRestrictions(appData.additional_data.role_restrictions);
2038 }
2039 pluginsData = appData.plugins.map(function (plugin) {
2040 return {
2041 label: plugin,
2042 value: plugin
2043 };
2044 });
2045 pluginsData.unshift({
2046 label: (0, _i18n.__)('All Plugins', 'elementor'),
2047 value: ''
2048 });
2049 setPlugins(pluginsData);
2050 setIsLoading(false);
2051 case 2:
2052 case "end":
2053 return _context3.stop();
2054 }
2055 }, _callee3);
2056 }));
2057 return function onLoading() {
2058 return _ref4.apply(this, arguments);
2059 };
2060 }();
2061 onLoading();
2062 }, []);
2063 (0, _react.useEffect)(function () {
2064 if (isLoading) {
2065 return;
2066 }
2067 setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
2068 isUnsavedChanges: true
2069 }));
2070 }, [widgetsDisabled, widgetsRoleRestrictions]);
2071 (0, _react.useEffect)(function () {
2072 var handleBeforeUnload = function handleBeforeUnload(event) {
2073 event.preventDefault();
2074 event.returnValue = '';
2075 };
2076 if (changeProgress.isUnsavedChanges) {
2077 window.addEventListener('beforeunload', handleBeforeUnload);
2078 } else {
2079 window.removeEventListener('beforeunload', handleBeforeUnload);
2080 }
2081 return function () {
2082 window.removeEventListener('beforeunload', handleBeforeUnload);
2083 };
2084 }, [changeProgress.isUnsavedChanges]);
2085 if (isLoading) {
2086 return /*#__PURE__*/_react.default.createElement(_components.Flex, {
2087 justify: 'center',
2088 style: {
2089 margin: '100px'
2090 }
2091 }, /*#__PURE__*/_react.default.createElement(_components.Spinner, {
2092 style: {
2093 height: 'calc(4px * 20)',
2094 width: 'calc(4px * 20)'
2095 }
2096 }));
2097 }
2098 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
2099 style: {
2100 marginBottom: '20px',
2101 maxWidth: '800px'
2102 }
2103 }, (0, _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("a", {
2104 href: "https://go.elementor.com/wp-dash-element-manager/",
2105 rel: 'noreferrer',
2106 target: '_blank'
2107 }, (0, _i18n.__)('Learn More', 'elementor'))), !noticeData.is_viewed && /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement(_components.Notice, {
2108 onRemove: function onRemove() {
2109 (0, _api.markNoticeViewed)(noticeData.notice_id, noticeData.nonce);
2110 setNoticeData(_objectSpread(_objectSpread({}, noticeData), {}, {
2111 is_viewed: true
2112 }));
2113 },
2114 status: "warning"
2115 }, /*#__PURE__*/_react.default.createElement("strong", null, (0, _i18n.__)('Before you continue:', 'elementor')), " ", (0, _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'))), /*#__PURE__*/_react.default.createElement(_components.Panel, null, /*#__PURE__*/_react.default.createElement(_components.PanelBody, null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
2116 style: {
2117 position: 'sticky',
2118 top: '32px',
2119 background: 'rgb(255, 255, 255)',
2120 zIndex: 10,
2121 padding: '20px 16px',
2122 boxShadow: 'rgba(0, 0, 0, 0.15) 0 5px 10px 0',
2123 margin: '-16px -16px 24px'
2124 }
2125 }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
2126 align: 'center'
2127 }, /*#__PURE__*/_react.default.createElement(_components.SearchControl, {
2128 label: (0, _i18n.__)('Search widgets', 'elementor'),
2129 value: searchKeyword,
2130 size: 'compact',
2131 style: {
2132 height: '40px',
2133 border: '1px solid rgba(30, 30, 30, 0.5)',
2134 background: 'transparent'
2135 },
2136 __nextHasNoMarginBottom: true,
2137 onChange: setSearchKeyword
2138 }), /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
2139 style: {
2140 maxWidth: '130px'
2141 }
2142 }, /*#__PURE__*/_react.default.createElement(_components.SelectControl, {
2143 onChange: setFilterByPlugin,
2144 size: '__unstable-large',
2145 __nextHasNoMarginBottom: true,
2146 options: plugins,
2147 name: "elementor-element-manager-select-filter-by-plugin"
2148 })), /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
2149 style: {
2150 maxWidth: '130px'
2151 }
2152 }, /*#__PURE__*/_react.default.createElement(_components.SelectControl, {
2153 onChange: setFilterByStatus,
2154 size: '__unstable-large',
2155 __nextHasNoMarginBottom: true,
2156 name: "elementor-element-manager-select-filter-by-status",
2157 options: [{
2158 label: (0, _i18n.__)('All Statuses', 'elementor'),
2159 value: 'all'
2160 }, {
2161 label: (0, _i18n.__)('Active', 'elementor'),
2162 value: 'active'
2163 }, {
2164 label: (0, _i18n.__)('Inactive', 'elementor'),
2165 value: 'inactive'
2166 }]
2167 })), /*#__PURE__*/_react.default.createElement("hr", {
2168 style: {
2169 height: '30px',
2170 margin: '0 5px',
2171 borderWidth: '0 1px 0 0',
2172 borderStyle: 'solid',
2173 borderColor: 'rgba(30, 30, 30, 0.5)'
2174 }
2175 }), /*#__PURE__*/_react.default.createElement(_components.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
2176 variant: 'secondary',
2177 style: {
2178 marginInlineEnd: '10px'
2179 },
2180 disabled: usageWidgets.isLoading,
2181 isBusy: usageWidgets.isLoading,
2182 onClick: onScanUsageElementsClicked,
2183 className: "e-id-elementor-element-manager-button-scan-element-usage"
2184 }, (0, _i18n.__)('Scan Element Usage', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
2185 variant: 'secondary',
2186 style: {
2187 marginInlineEnd: '10px'
2188 },
2189 onClick: deactivateAllUnusedWidgets,
2190 disabled: null === usageWidgets.data,
2191 className: "e-id-elementor-element-manager-button-deactivate-unused-elements"
2192 }, (0, _i18n.__)('Deactivate Unused Elements', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
2193 variant: 'secondary',
2194 disabled: !widgetsDisabled.length,
2195 style: {
2196 marginInlineEnd: '10px'
2197 },
2198 onClick: enableAllWidgets,
2199 className: "e-id-elementor-element-manager-button-enable-all"
2200 }, (0, _i18n.__)('Enable All', 'elementor'))))), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
2201 variant: "primary",
2202 disabled: changeProgress.isSaving || !changeProgress.isUnsavedChanges,
2203 isBusy: changeProgress.isSaving,
2204 onClick: function onClick() {
2205 setIsConfirmDialogOpen(true);
2206 },
2207 className: "e-id-elementor-element-manager-button-save-changes"
2208 }, (0, _i18n.__)('Save Changes', 'elementor')))), /*#__PURE__*/_react.default.createElement(_components.PanelRow, null, !sortedAndFilteredWidgets.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('No elements found.', 'elementor')) : /*#__PURE__*/_react.default.createElement("table", {
2209 className: 'wp-list-table widefat fixed striped table-view-list'
2210 }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
2211 className: "manage-column sortable ".concat(getSortingIndicatorClasses('widget'))
2212 }, /*#__PURE__*/_react.default.createElement(_components.Button, {
2213 href: '#',
2214 onClick: function onClick(event) {
2215 event.preventDefault();
2216 onSortingClicked('widget');
2217 },
2218 className: "e-id-elementor-element-manager-button-sort-by-element"
2219 }, /*#__PURE__*/_react.default.createElement("span", null, (0, _i18n.__)('Element', 'elementor')), /*#__PURE__*/_react.default.createElement("span", {
2220 className: "sorting-indicators"
2221 }, /*#__PURE__*/_react.default.createElement("span", {
2222 className: "sorting-indicator asc",
2223 "aria-hidden": "true"
2224 }), /*#__PURE__*/_react.default.createElement("span", {
2225 className: "sorting-indicator desc",
2226 "aria-hidden": "true"
2227 })))), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement("th", {
2228 className: "manage-column sortable ".concat(getSortingIndicatorClasses('usage'))
2229 }, /*#__PURE__*/_react.default.createElement(_components.Button, {
2230 href: '#',
2231 onClick: function onClick(event) {
2232 event.preventDefault();
2233 onSortingClicked('usage');
2234 },
2235 className: "e-id-elementor-element-manager-button-sort-by-usage"
2236 }, /*#__PURE__*/_react.default.createElement("span", null, (0, _i18n.__)('Usage', 'elementor')), /*#__PURE__*/_react.default.createElement("span", {
2237 className: "sorting-indicators"
2238 }, /*#__PURE__*/_react.default.createElement("span", {
2239 className: "sorting-indicator asc",
2240 "aria-hidden": "true"
2241 }), /*#__PURE__*/_react.default.createElement("span", {
2242 className: "sorting-indicator desc",
2243 "aria-hidden": "true"
2244 })))), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Plugin', 'elementor')), /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
2245 justify: 'flex-start',
2246 gap: 0
2247 }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Tooltip, {
2248 placement: 'top',
2249 delay: 100,
2250 text: (0, _i18n.__)('Choose which users will have access to each widget.', 'elementor')
2251 }, /*#__PURE__*/_react.default.createElement(_components.Button, {
2252 icon: 'info-outline',
2253 iconSize: 16
2254 }))), null === widgetsRoleRestrictions && /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
2255 style: {
2256 marginInlineStart: '10px'
2257 }
2258 }, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
2259 href: promotionWidgets.length ? managerPermissions.pro.url : managerPermissions.advanced.url,
2260 size: 'small',
2261 text: promotionWidgets.length ? managerPermissions.pro.text : managerPermissions.advanced.text,
2262 className: ['e-id-elementor-element-manager-button-upgrade-permissions', 'go-pro'].join(' ')
2263 })))))), /*#__PURE__*/_react.default.createElement("tbody", null, sortedAndFilteredWidgets.map(function (widget) {
2264 return /*#__PURE__*/_react.default.createElement("tr", {
2265 key: widget.name,
2266 "data-key-id": widget.name
2267 }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("i", {
2268 style: {
2269 marginInlineEnd: '5px',
2270 marginInlineStart: '0',
2271 display: 'inline-block'
2272 },
2273 className: "".concat(widget.icon)
2274 }), " ", widget.title), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_components.ToggleControl, {
2275 checked: !widgetsDisabled.includes(widget.name),
2276 __nextHasNoMarginBottom: true,
2277 onChange: function onChange() {
2278 if (widgetsDisabled.includes(widget.name)) {
2279 setWidgetsDisabled(widgetsDisabled.filter(function (item) {
2280 return item !== widget.name;
2281 }));
2282 } else {
2283 setWidgetsDisabled([].concat((0, _toConsumableArray2.default)(widgetsDisabled), [widget.name]));
2284 }
2285 },
2286 className: "e-id-elementor-element-manager-toggle-".concat(widget.name)
2287 })), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(UsageTimesColumn, {
2288 widgetName: widget.name
2289 })), /*#__PURE__*/_react.default.createElement("td", null, widget.plugin), /*#__PURE__*/_react.default.createElement("td", null, null !== widgetsRoleRestrictions && !widgetsDisabled.includes(widget.name) ? /*#__PURE__*/_react.default.createElement(_rolePermissions.RolePermissions, {
2290 widgetName: widget.name,
2291 roles: roles,
2292 widgetsRoleRestrictions: widgetsRoleRestrictions,
2293 setWidgetsRoleRestrictions: setWidgetsRoleRestrictions
2294 }) : /*#__PURE__*/_react.default.createElement(_rolePermissions.EditButtonDisabled, null)));
2295 })))), promotionWidgets.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.PanelRow, null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
2296 style: {
2297 marginTop: '40px',
2298 marginBottom: '20px'
2299 }
2300 }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement("h3", null, (0, _i18n.__)('Elementor Pro Elements', 'elementor')), /*#__PURE__*/_react.default.createElement("p", null, (0, _i18n.__)('Unleash the full power of Elementor\'s features and web creation tools.', 'elementor'))), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
2301 href: elementManager.url,
2302 text: elementManager.text,
2303 className: "e-id-elementor-element-manager-button-upgrade-pro-elements"
2304 })))), /*#__PURE__*/_react.default.createElement(_components.PanelRow, null, /*#__PURE__*/_react.default.createElement("table", {
2305 className: 'wp-list-table widefat fixed striped table-view-list'
2306 }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
2307 className: "manage-column"
2308 }, /*#__PURE__*/_react.default.createElement("span", null, (0, _i18n.__)('Element', 'elementor'))), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Usage', 'elementor')), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Plugin', 'elementor')), /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
2309 justify: 'flex-start'
2310 }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Tooltip, {
2311 placement: 'top',
2312 delay: 100,
2313 text: (0, _i18n.__)('Choose which role will have access to a specific widget.', 'elementor')
2314 }, /*#__PURE__*/_react.default.createElement(_components.Button, {
2315 icon: 'info-outline'
2316 }))))))), /*#__PURE__*/_react.default.createElement("tbody", null, promotionWidgets.map(function (widget) {
2317 return /*#__PURE__*/_react.default.createElement("tr", {
2318 key: widget.name
2319 }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("i", {
2320 style: {
2321 marginInlineEnd: '5px'
2322 },
2323 className: "".concat(widget.icon)
2324 }), " ", widget.title), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_components.ToggleControl, {
2325 __nextHasNoMarginBottom: true,
2326 checked: false,
2327 disabled: true,
2328 className: "e-id-elementor-element-manager-toggle-".concat(widget.name)
2329 })), /*#__PURE__*/_react.default.createElement("td", null), /*#__PURE__*/_react.default.createElement("td", null, (0, _i18n.__)('Elementor Pro', 'elementor')), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_rolePermissions.EditButtonDisabled, {
2330 widgetName: widget.name
2331 })));
2332 }))))))), isConfirmDialogOpen && /*#__PURE__*/_react.default.createElement(_components.Modal, {
2333 title: (0, _i18n.__)('Sure you want to save these changes?', 'elementor'),
2334 size: 'small',
2335 isDismissible: false,
2336 onRequestClose: function onRequestClose() {
2337 setIsConfirmDialogOpen(false);
2338 }
2339 }, /*#__PURE__*/_react.default.createElement("p", {
2340 style: {
2341 maxWidth: '400px',
2342 marginBlockEnd: '30px',
2343 marginBlockStart: '0'
2344 }
2345 }, (0, _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("span", {
2346 style: {
2347 display: 'block',
2348 marginTop: '20px'
2349 }
2350 }, (0, _i18n.__)('If you’re adding widgets back in, enjoy them!', 'elementor'))), /*#__PURE__*/_react.default.createElement(_components.ButtonGroup, {
2351 style: {
2352 display: 'flex',
2353 justifyContent: 'flex-end',
2354 gap: '30px'
2355 }
2356 }, /*#__PURE__*/_react.default.createElement(_components.Button, {
2357 variant: 'link',
2358 onClick: function onClick() {
2359 setIsConfirmDialogOpen(false);
2360 },
2361 className: "e-id-elementor-element-manager-modal-button-cancel"
2362 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
2363 variant: 'primary',
2364 onClick: onSaveClicked,
2365 className: "e-id-elementor-element-manager-modal-button-save"
2366 }, (0, _i18n.__)('Save', 'elementor')))), /*#__PURE__*/_react.default.createElement("div", {
2367 style: {
2368 position: 'fixed',
2369 bottom: '40px',
2370 left: '50%',
2371 transform: 'translateX(-50%)',
2372 display: isSnackbarOpen ? 'block' : 'none'
2373 }
2374 }, /*#__PURE__*/_react.default.createElement(_components.Snackbar, {
2375 isDismissible: true,
2376 status: 'success',
2377 onRemove: function onRemove() {
2378 return setIsSnackbarOpen(false);
2379 }
2380 }, (0, _i18n.__)('We saved your changes.', 'elementor'))));
2381 };
2382
2383 /***/ }),
2384
2385 /***/ "../modules/element-manager/assets/js/role-permissions.js":
2386 /*!****************************************************************!*\
2387 !*** ../modules/element-manager/assets/js/role-permissions.js ***!
2388 \****************************************************************/
2389 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2390
2391 "use strict";
2392
2393
2394 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2395 Object.defineProperty(exports, "__esModule", ({
2396 value: true
2397 }));
2398 exports.RolePermissions = exports.EditButtonDisabled = void 0;
2399 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2400 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2401 var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
2402 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2403 function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2404 function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable react/prop-types */
2405 var toggleRoleRestrictions = function toggleRoleRestrictions(widgetName, roleId, widgetsRoleRestrictions, setWidgetsRoleRestrictions) {
2406 var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
2407 if (widgetRoleRestrictions.includes(roleId)) {
2408 widgetRoleRestrictions.splice(widgetRoleRestrictions.indexOf(roleId), 1);
2409 } else {
2410 widgetRoleRestrictions.push(roleId);
2411 }
2412
2413 // TODO: Remove the object from the state if it's empty
2414 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, widgetRoleRestrictions)));
2415 };
2416 var RolesList = function RolesList(props) {
2417 var roles = props.roles,
2418 widgetRoleRestrictions = props.widgetRoleRestrictions;
2419 var rolesEnables = roles.filter(function (role) {
2420 return !widgetRoleRestrictions.includes(role.id);
2421 });
2422 if (!rolesEnables.length) {
2423 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", (0, _i18n.__)('Admin', 'elementor'), ")");
2424 }
2425 if (rolesEnables.length === roles.length) {
2426 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", (0, _i18n.__)('All Roles', 'elementor'), ")");
2427 }
2428 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", rolesEnables.map(function (role) {
2429 return role.name;
2430 }).join(', '), ")");
2431 };
2432 var RolePermissions = exports.RolePermissions = function RolePermissions(props) {
2433 var roles = props.roles,
2434 widgetName = props.widgetName,
2435 widgetsRoleRestrictions = props.widgetsRoleRestrictions,
2436 setWidgetsRoleRestrictions = props.setWidgetsRoleRestrictions;
2437 var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
2438 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Dropdown, {
2439 className: 'my-container-class-name',
2440 contentClassName: 'my-dropdown-content-classname',
2441 popoverProps: {
2442 placement: 'bottom-start'
2443 },
2444 renderToggle: function renderToggle(_ref) {
2445 var isOpen = _ref.isOpen,
2446 onToggle = _ref.onToggle;
2447 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
2448 variant: 'link',
2449 onClick: onToggle,
2450 "aria-expanded": isOpen,
2451 style: {
2452 textDecoration: 'none'
2453 },
2454 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
2455 }, (0, _i18n.__)('Edit', 'elementor')), ' ', /*#__PURE__*/_react.default.createElement("span", {
2456 style: {
2457 color: 'var(--e-a-color-txt-muted)'
2458 }
2459 }, /*#__PURE__*/_react.default.createElement(RolesList, {
2460 roles: roles,
2461 widgetRoleRestrictions: widgetRoleRestrictions
2462 })));
2463 },
2464 renderContent: function renderContent() {
2465 var isAllChecked = roles.every(function (role) {
2466 return !widgetRoleRestrictions.includes(role.id);
2467 });
2468 var isIndeterminate = !isAllChecked && roles.some(function (role) {
2469 return !widgetRoleRestrictions.includes(role.id);
2470 });
2471 return /*#__PURE__*/_react.default.createElement("div", {
2472 style: {
2473 minWidth: '150px',
2474 paddingInline: '10px',
2475 paddingBlockStart: '10px'
2476 }
2477 }, /*#__PURE__*/_react.default.createElement(_components.CheckboxControl, {
2478 checked: isAllChecked,
2479 indeterminate: isIndeterminate,
2480 label: 'All',
2481 onChange: function onChange(value) {
2482 if (value) {
2483 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, [])));
2484 } else {
2485 setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, roles.map(function (role) {
2486 return role.id;
2487 }))));
2488 }
2489 }
2490 }), roles.map(function (role) {
2491 return /*#__PURE__*/_react.default.createElement("div", {
2492 key: role.id
2493 }, /*#__PURE__*/_react.default.createElement(_components.CheckboxControl, {
2494 checked: !widgetRoleRestrictions.includes(role.id),
2495 label: role.name,
2496 onChange: function onChange() {
2497 toggleRoleRestrictions(widgetName, role.id, widgetsRoleRestrictions, setWidgetsRoleRestrictions);
2498 }
2499 }));
2500 }));
2501 }
2502 }));
2503 };
2504 var EditButtonDisabled = exports.EditButtonDisabled = function EditButtonDisabled(props) {
2505 var widgetName = props.widgetName || 'unknown';
2506 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
2507 variant: "link",
2508 disabled: true,
2509 style: {
2510 textDecoration: 'none'
2511 },
2512 className: "e-id-elementor-element-manager-button-edit-permissions-".concat(widgetName)
2513 }, (0, _i18n.__)('Edit', 'elementor')));
2514 };
2515
2516 /***/ }),
2517
2518 /***/ "../modules/element-manager/assets/js/upgrade-button.js":
2519 /*!**************************************************************!*\
2520 !*** ../modules/element-manager/assets/js/upgrade-button.js ***!
2521 \**************************************************************/
2522 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2523
2524 "use strict";
2525
2526
2527 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2528 Object.defineProperty(exports, "__esModule", ({
2529 value: true
2530 }));
2531 exports.UpgradeButton = void 0;
2532 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2533 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2534 var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
2535 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2536 var UpgradeButton = exports.UpgradeButton = function UpgradeButton(props) {
2537 var trackingClass = props.className || 'e-id-elementor-element-manager-button-upgrade';
2538 return /*#__PURE__*/_react.default.createElement(_components.Button, (0, _extends2.default)({}, props, {
2539 variant: "primary",
2540 target: "_blank",
2541 rel: 'noreferrer',
2542 style: {
2543 background: 'var(--e-a-btn-bg-accent, #93003f)'
2544 },
2545 className: trackingClass
2546 }));
2547 };
2548 UpgradeButton.propTypes = {
2549 className: _propTypes.default.string
2550 };
2551
2552 /***/ }),
2553
2554 /***/ "../node_modules/@babel/runtime/helpers/OverloadYield.js":
2555 /*!***************************************************************!*\
2556 !*** ../node_modules/@babel/runtime/helpers/OverloadYield.js ***!
2557 \***************************************************************/
2558 /***/ ((module) => {
2559
2560 function _OverloadYield(e, d) {
2561 this.v = e, this.k = d;
2562 }
2563 module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
2564
2565 /***/ }),
2566
2567 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
2568 /*!******************************************************************!*\
2569 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
2570 \******************************************************************/
2571 /***/ ((module) => {
2572
2573 function _arrayLikeToArray(r, a) {
2574 (null == a || a > r.length) && (a = r.length);
2575 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
2576 return n;
2577 }
2578 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
2579
2580 /***/ }),
2581
2582 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
2583 /*!****************************************************************!*\
2584 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
2585 \****************************************************************/
2586 /***/ ((module) => {
2587
2588 function _arrayWithHoles(r) {
2589 if (Array.isArray(r)) return r;
2590 }
2591 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
2592
2593 /***/ }),
2594
2595 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
2596 /*!*******************************************************************!*\
2597 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
2598 \*******************************************************************/
2599 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2600
2601 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
2602 function _arrayWithoutHoles(r) {
2603 if (Array.isArray(r)) return arrayLikeToArray(r);
2604 }
2605 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
2606
2607 /***/ }),
2608
2609 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
2610 /*!******************************************************************!*\
2611 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
2612 \******************************************************************/
2613 /***/ ((module) => {
2614
2615 function asyncGeneratorStep(n, t, e, r, o, a, c) {
2616 try {
2617 var i = n[a](c),
2618 u = i.value;
2619 } catch (n) {
2620 return void e(n);
2621 }
2622 i.done ? t(u) : Promise.resolve(u).then(r, o);
2623 }
2624 function _asyncToGenerator(n) {
2625 return function () {
2626 var t = this,
2627 e = arguments;
2628 return new Promise(function (r, o) {
2629 var a = n.apply(t, e);
2630 function _next(n) {
2631 asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
2632 }
2633 function _throw(n) {
2634 asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
2635 }
2636 _next(void 0);
2637 });
2638 };
2639 }
2640 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2641
2642 /***/ }),
2643
2644 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
2645 /*!****************************************************************!*\
2646 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
2647 \****************************************************************/
2648 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2649
2650 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
2651 function _defineProperty(e, r, t) {
2652 return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
2653 value: t,
2654 enumerable: !0,
2655 configurable: !0,
2656 writable: !0
2657 }) : e[r] = t, e;
2658 }
2659 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
2660
2661 /***/ }),
2662
2663 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
2664 /*!*********************************************************!*\
2665 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
2666 \*********************************************************/
2667 /***/ ((module) => {
2668
2669 function _extends() {
2670 return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {
2671 for (var e = 1; e < arguments.length; e++) {
2672 var t = arguments[e];
2673 for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
2674 }
2675 return n;
2676 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments);
2677 }
2678 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
2679
2680 /***/ }),
2681
2682 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
2683 /*!***********************************************************************!*\
2684 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
2685 \***********************************************************************/
2686 /***/ ((module) => {
2687
2688 function _interopRequireDefault(e) {
2689 return e && e.__esModule ? e : {
2690 "default": e
2691 };
2692 }
2693 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
2694
2695 /***/ }),
2696
2697 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
2698 /*!*****************************************************************!*\
2699 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
2700 \*****************************************************************/
2701 /***/ ((module) => {
2702
2703 function _iterableToArray(r) {
2704 if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
2705 }
2706 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
2707
2708 /***/ }),
2709
2710 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
2711 /*!**********************************************************************!*\
2712 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
2713 \**********************************************************************/
2714 /***/ ((module) => {
2715
2716 function _iterableToArrayLimit(r, l) {
2717 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
2718 if (null != t) {
2719 var e,
2720 n,
2721 i,
2722 u,
2723 a = [],
2724 f = !0,
2725 o = !1;
2726 try {
2727 if (i = (t = t.call(r)).next, 0 === l) {
2728 if (Object(t) !== t) return;
2729 f = !1;
2730 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
2731 } catch (r) {
2732 o = !0, n = r;
2733 } finally {
2734 try {
2735 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
2736 } finally {
2737 if (o) throw n;
2738 }
2739 }
2740 return a;
2741 }
2742 }
2743 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
2744
2745 /***/ }),
2746
2747 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
2748 /*!*****************************************************************!*\
2749 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
2750 \*****************************************************************/
2751 /***/ ((module) => {
2752
2753 function _nonIterableRest() {
2754 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2755 }
2756 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
2757
2758 /***/ }),
2759
2760 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
2761 /*!*******************************************************************!*\
2762 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
2763 \*******************************************************************/
2764 /***/ ((module) => {
2765
2766 function _nonIterableSpread() {
2767 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2768 }
2769 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
2770
2771 /***/ }),
2772
2773 /***/ "../node_modules/@babel/runtime/helpers/regenerator.js":
2774 /*!*************************************************************!*\
2775 !*** ../node_modules/@babel/runtime/helpers/regenerator.js ***!
2776 \*************************************************************/
2777 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2778
2779 var regeneratorDefine = __webpack_require__(/*! ./regeneratorDefine.js */ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js");
2780 function _regenerator() {
2781 /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
2782 var e,
2783 t,
2784 r = "function" == typeof Symbol ? Symbol : {},
2785 n = r.iterator || "@@iterator",
2786 o = r.toStringTag || "@@toStringTag";
2787 function i(r, n, o, i) {
2788 var c = n && n.prototype instanceof Generator ? n : Generator,
2789 u = Object.create(c.prototype);
2790 return regeneratorDefine(u, "_invoke", function (r, n, o) {
2791 var i,
2792 c,
2793 u,
2794 f = 0,
2795 p = o || [],
2796 y = !1,
2797 G = {
2798 p: 0,
2799 n: 0,
2800 v: e,
2801 a: d,
2802 f: d.bind(e, 4),
2803 d: function d(t, r) {
2804 return i = t, c = 0, u = e, G.n = r, a;
2805 }
2806 };
2807 function d(r, n) {
2808 for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
2809 var o,
2810 i = p[t],
2811 d = G.p,
2812 l = i[2];
2813 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));
2814 }
2815 if (o || r > 1) return a;
2816 throw y = !0, n;
2817 }
2818 return function (o, p, l) {
2819 if (f > 1) throw TypeError("Generator is already running");
2820 for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
2821 i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
2822 try {
2823 if (f = 2, i) {
2824 if (c || (o = "next"), t = i[o]) {
2825 if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
2826 if (!t.done) return t;
2827 u = t.value, c < 2 && (c = 0);
2828 } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
2829 i = e;
2830 } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
2831 } catch (t) {
2832 i = e, c = 1, u = t;
2833 } finally {
2834 f = 1;
2835 }
2836 }
2837 return {
2838 value: t,
2839 done: y
2840 };
2841 };
2842 }(r, o, i), !0), u;
2843 }
2844 var a = {};
2845 function Generator() {}
2846 function GeneratorFunction() {}
2847 function GeneratorFunctionPrototype() {}
2848 t = Object.getPrototypeOf;
2849 var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {
2850 return this;
2851 }), t),
2852 u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
2853 function f(e) {
2854 return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
2855 }
2856 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 () {
2857 return this;
2858 }), regeneratorDefine(u, "toString", function () {
2859 return "[object Generator]";
2860 }), (module.exports = _regenerator = function _regenerator() {
2861 return {
2862 w: i,
2863 m: f
2864 };
2865 }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
2866 }
2867 module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2868
2869 /***/ }),
2870
2871 /***/ "../node_modules/@babel/runtime/helpers/regeneratorAsync.js":
2872 /*!******************************************************************!*\
2873 !*** ../node_modules/@babel/runtime/helpers/regeneratorAsync.js ***!
2874 \******************************************************************/
2875 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2876
2877 var regeneratorAsyncGen = __webpack_require__(/*! ./regeneratorAsyncGen.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js");
2878 function _regeneratorAsync(n, e, r, t, o) {
2879 var a = regeneratorAsyncGen(n, e, r, t, o);
2880 return a.next().then(function (n) {
2881 return n.done ? n.value : a.next();
2882 });
2883 }
2884 module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
2885
2886 /***/ }),
2887
2888 /***/ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js":
2889 /*!*********************************************************************!*\
2890 !*** ../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js ***!
2891 \*********************************************************************/
2892 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2893
2894 var regenerator = __webpack_require__(/*! ./regenerator.js */ "../node_modules/@babel/runtime/helpers/regenerator.js");
2895 var regeneratorAsyncIterator = __webpack_require__(/*! ./regeneratorAsyncIterator.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js");
2896 function _regeneratorAsyncGen(r, e, t, o, n) {
2897 return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
2898 }
2899 module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
2900
2901 /***/ }),
2902
2903 /***/ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js":
2904 /*!**************************************************************************!*\
2905 !*** ../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js ***!
2906 \**************************************************************************/
2907 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2908
2909 var OverloadYield = __webpack_require__(/*! ./OverloadYield.js */ "../node_modules/@babel/runtime/helpers/OverloadYield.js");
2910 var regeneratorDefine = __webpack_require__(/*! ./regeneratorDefine.js */ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js");
2911 function AsyncIterator(t, e) {
2912 function n(r, o, i, f) {
2913 try {
2914 var c = t[r](o),
2915 u = c.value;
2916 return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {
2917 n("next", t, i, f);
2918 }, function (t) {
2919 n("throw", t, i, f);
2920 }) : e.resolve(u).then(function (t) {
2921 c.value = t, i(c);
2922 }, function (t) {
2923 return n("throw", t, i, f);
2924 });
2925 } catch (t) {
2926 f(t);
2927 }
2928 }
2929 var r;
2930 this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () {
2931 return this;
2932 })), regeneratorDefine(this, "_invoke", function (t, o, i) {
2933 function f() {
2934 return new e(function (e, r) {
2935 n(t, i, e, r);
2936 });
2937 }
2938 return r = r ? r.then(f, f) : f();
2939 }, !0);
2940 }
2941 module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2942
2943 /***/ }),
2944
2945 /***/ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js":
2946 /*!*******************************************************************!*\
2947 !*** ../node_modules/@babel/runtime/helpers/regeneratorDefine.js ***!
2948 \*******************************************************************/
2949 /***/ ((module) => {
2950
2951 function _regeneratorDefine(e, r, n, t) {
2952 var i = Object.defineProperty;
2953 try {
2954 i({}, "", {});
2955 } catch (e) {
2956 i = 0;
2957 }
2958 module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
2959 function o(r, n) {
2960 _regeneratorDefine(e, r, function (e) {
2961 return this._invoke(r, n, e);
2962 });
2963 }
2964 r ? i ? i(e, r, {
2965 value: n,
2966 enumerable: !t,
2967 configurable: !t,
2968 writable: !t
2969 }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
2970 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
2971 }
2972 module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
2973
2974 /***/ }),
2975
2976 /***/ "../node_modules/@babel/runtime/helpers/regeneratorKeys.js":
2977 /*!*****************************************************************!*\
2978 !*** ../node_modules/@babel/runtime/helpers/regeneratorKeys.js ***!
2979 \*****************************************************************/
2980 /***/ ((module) => {
2981
2982 function _regeneratorKeys(e) {
2983 var n = Object(e),
2984 r = [];
2985 for (var t in n) r.unshift(t);
2986 return function e() {
2987 for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;
2988 return e.done = !0, e;
2989 };
2990 }
2991 module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
2992
2993 /***/ }),
2994
2995 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
2996 /*!********************************************************************!*\
2997 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
2998 \********************************************************************/
2999 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3000
3001 var OverloadYield = __webpack_require__(/*! ./OverloadYield.js */ "../node_modules/@babel/runtime/helpers/OverloadYield.js");
3002 var regenerator = __webpack_require__(/*! ./regenerator.js */ "../node_modules/@babel/runtime/helpers/regenerator.js");
3003 var regeneratorAsync = __webpack_require__(/*! ./regeneratorAsync.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsync.js");
3004 var regeneratorAsyncGen = __webpack_require__(/*! ./regeneratorAsyncGen.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js");
3005 var regeneratorAsyncIterator = __webpack_require__(/*! ./regeneratorAsyncIterator.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js");
3006 var regeneratorKeys = __webpack_require__(/*! ./regeneratorKeys.js */ "../node_modules/@babel/runtime/helpers/regeneratorKeys.js");
3007 var regeneratorValues = __webpack_require__(/*! ./regeneratorValues.js */ "../node_modules/@babel/runtime/helpers/regeneratorValues.js");
3008 function _regeneratorRuntime() {
3009 "use strict";
3010
3011 var r = regenerator(),
3012 e = r.m(_regeneratorRuntime),
3013 t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
3014 function n(r) {
3015 var e = "function" == typeof r && r.constructor;
3016 return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
3017 }
3018 var o = {
3019 "throw": 1,
3020 "return": 2,
3021 "break": 3,
3022 "continue": 3
3023 };
3024 function a(r) {
3025 var e, t;
3026 return function (n) {
3027 e || (e = {
3028 stop: function stop() {
3029 return t(n.a, 2);
3030 },
3031 "catch": function _catch() {
3032 return n.v;
3033 },
3034 abrupt: function abrupt(r, e) {
3035 return t(n.a, o[r], e);
3036 },
3037 delegateYield: function delegateYield(r, o, a) {
3038 return e.resultName = o, t(n.d, regeneratorValues(r), a);
3039 },
3040 finish: function finish(r) {
3041 return t(n.f, r);
3042 }
3043 }, t = function t(r, _t, o) {
3044 n.p = e.prev, n.n = e.next;
3045 try {
3046 return r(_t, o);
3047 } finally {
3048 e.next = n.n;
3049 }
3050 }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
3051 try {
3052 return r.call(this, e);
3053 } finally {
3054 n.p = e.prev, n.n = e.next;
3055 }
3056 };
3057 }
3058 return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
3059 return {
3060 wrap: function wrap(e, t, n, o) {
3061 return r.w(a(e), t, n, o && o.reverse());
3062 },
3063 isGeneratorFunction: n,
3064 mark: r.m,
3065 awrap: function awrap(r, e) {
3066 return new OverloadYield(r, e);
3067 },
3068 AsyncIterator: regeneratorAsyncIterator,
3069 async: function async(r, e, t, o, u) {
3070 return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
3071 },
3072 keys: regeneratorKeys,
3073 values: regeneratorValues
3074 };
3075 }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
3076 }
3077 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
3078
3079 /***/ }),
3080
3081 /***/ "../node_modules/@babel/runtime/helpers/regeneratorValues.js":
3082 /*!*******************************************************************!*\
3083 !*** ../node_modules/@babel/runtime/helpers/regeneratorValues.js ***!
3084 \*******************************************************************/
3085 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3086
3087 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
3088 function _regeneratorValues(e) {
3089 if (null != e) {
3090 var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"],
3091 r = 0;
3092 if (t) return t.call(e);
3093 if ("function" == typeof e.next) return e;
3094 if (!isNaN(e.length)) return {
3095 next: function next() {
3096 return e && r >= e.length && (e = void 0), {
3097 value: e && e[r++],
3098 done: !e
3099 };
3100 }
3101 };
3102 }
3103 throw new TypeError(_typeof(e) + " is not iterable");
3104 }
3105 module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
3106
3107 /***/ }),
3108
3109 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
3110 /*!***************************************************************!*\
3111 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
3112 \***************************************************************/
3113 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3114
3115 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
3116 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
3117 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
3118 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
3119 function _slicedToArray(r, e) {
3120 return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();
3121 }
3122 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
3123
3124 /***/ }),
3125
3126 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
3127 /*!*******************************************************************!*\
3128 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
3129 \*******************************************************************/
3130 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3131
3132 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
3133 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
3134 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
3135 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
3136 function _toConsumableArray(r) {
3137 return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();
3138 }
3139 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
3140
3141 /***/ }),
3142
3143 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
3144 /*!*************************************************************!*\
3145 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
3146 \*************************************************************/
3147 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3148
3149 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
3150 function toPrimitive(t, r) {
3151 if ("object" != _typeof(t) || !t) return t;
3152 var e = t[Symbol.toPrimitive];
3153 if (void 0 !== e) {
3154 var i = e.call(t, r || "default");
3155 if ("object" != _typeof(i)) return i;
3156 throw new TypeError("@@toPrimitive must return a primitive value.");
3157 }
3158 return ("string" === r ? String : Number)(t);
3159 }
3160 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
3161
3162 /***/ }),
3163
3164 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
3165 /*!***************************************************************!*\
3166 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
3167 \***************************************************************/
3168 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3169
3170 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
3171 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
3172 function toPropertyKey(t) {
3173 var i = toPrimitive(t, "string");
3174 return "symbol" == _typeof(i) ? i : i + "";
3175 }
3176 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
3177
3178 /***/ }),
3179
3180 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
3181 /*!********************************************************!*\
3182 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
3183 \********************************************************/
3184 /***/ ((module) => {
3185
3186 function _typeof(o) {
3187 "@babel/helpers - typeof";
3188
3189 return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
3190 return typeof o;
3191 } : function (o) {
3192 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
3193 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
3194 }
3195 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
3196
3197 /***/ }),
3198
3199 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
3200 /*!****************************************************************************!*\
3201 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
3202 \****************************************************************************/
3203 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3204
3205 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
3206 function _unsupportedIterableToArray(r, a) {
3207 if (r) {
3208 if ("string" == typeof r) return arrayLikeToArray(r, a);
3209 var t = {}.toString.call(r).slice(8, -1);
3210 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;
3211 }
3212 }
3213 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
3214
3215 /***/ }),
3216
3217 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
3218 /*!***********************************************************!*\
3219 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
3220 \***********************************************************/
3221 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3222
3223 // TODO(Babel 8): Remove this file.
3224
3225 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
3226 module.exports = runtime;
3227
3228 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
3229 try {
3230 regeneratorRuntime = runtime;
3231 } catch (accidentalStrictMode) {
3232 if (typeof globalThis === "object") {
3233 globalThis.regeneratorRuntime = runtime;
3234 } else {
3235 Function("r", "regeneratorRuntime = r")(runtime);
3236 }
3237 }
3238
3239
3240 /***/ }),
3241
3242 /***/ "../node_modules/@wordpress/element/build-module/create-interpolate-element.js":
3243 /*!*************************************************************************************!*\
3244 !*** ../node_modules/@wordpress/element/build-module/create-interpolate-element.js ***!
3245 \*************************************************************************************/
3246 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3247
3248 "use strict";
3249 __webpack_require__.r(__webpack_exports__);
3250 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3251 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3252 /* harmony export */ });
3253 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./react */ "react");
3254 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_0__);
3255 /**
3256 * Internal dependencies
3257 */
3258
3259
3260 /**
3261 * Object containing a React element.
3262 *
3263 * @typedef {import('react').ReactElement} Element
3264 */
3265
3266 let indoc, offset, output, stack;
3267
3268 /**
3269 * Matches tags in the localized string
3270 *
3271 * This is used for extracting the tag pattern groups for parsing the localized
3272 * string and along with the map converting it to a react element.
3273 *
3274 * There are four references extracted using this tokenizer:
3275 *
3276 * match: Full match of the tag (i.e. <strong>, </strong>, <br/>)
3277 * isClosing: The closing slash, if it exists.
3278 * name: The name portion of the tag (strong, br) (if )
3279 * isSelfClosed: The slash on a self closing tag, if it exists.
3280 *
3281 * @type {RegExp}
3282 */
3283 const tokenizer = /<(\/)?(\w+)\s*(\/)?>/g;
3284
3285 /**
3286 * The stack frame tracking parse progress.
3287 *
3288 * @typedef Frame
3289 *
3290 * @property {Element} element A parent element which may still have
3291 * @property {number} tokenStart Offset at which parent element first
3292 * appears.
3293 * @property {number} tokenLength Length of string marking start of parent
3294 * element.
3295 * @property {number} [prevOffset] Running offset at which parsing should
3296 * continue.
3297 * @property {number} [leadingTextStart] Offset at which last closing element
3298 * finished, used for finding text between
3299 * elements.
3300 * @property {Element[]} children Children.
3301 */
3302
3303 /**
3304 * Tracks recursive-descent parse state.
3305 *
3306 * This is a Stack frame holding parent elements until all children have been
3307 * parsed.
3308 *
3309 * @private
3310 * @param {Element} element A parent element which may still have
3311 * nested children not yet parsed.
3312 * @param {number} tokenStart Offset at which parent element first
3313 * appears.
3314 * @param {number} tokenLength Length of string marking start of parent
3315 * element.
3316 * @param {number} [prevOffset] Running offset at which parsing should
3317 * continue.
3318 * @param {number} [leadingTextStart] Offset at which last closing element
3319 * finished, used for finding text between
3320 * elements.
3321 *
3322 * @return {Frame} The stack frame tracking parse progress.
3323 */
3324 function createFrame(element, tokenStart, tokenLength, prevOffset, leadingTextStart) {
3325 return {
3326 element,
3327 tokenStart,
3328 tokenLength,
3329 prevOffset,
3330 leadingTextStart,
3331 children: []
3332 };
3333 }
3334
3335 /**
3336 * This function creates an interpolated element from a passed in string with
3337 * specific tags matching how the string should be converted to an element via
3338 * the conversion map value.
3339 *
3340 * @example
3341 * For example, for the given string:
3342 *
3343 * "This is a <span>string</span> with <a>a link</a> and a self-closing
3344 * <CustomComponentB/> tag"
3345 *
3346 * You would have something like this as the conversionMap value:
3347 *
3348 * ```js
3349 * {
3350 * span: <span />,
3351 * a: <a href={ 'https://github.com' } />,
3352 * CustomComponentB: <CustomComponent />,
3353 * }
3354 * ```
3355 *
3356 * @param {string} interpolatedString The interpolation string to be parsed.
3357 * @param {Record<string, Element>} conversionMap The map used to convert the string to
3358 * a react element.
3359 * @throws {TypeError}
3360 * @return {Element} A wp element.
3361 */
3362 const createInterpolateElement = (interpolatedString, conversionMap) => {
3363 indoc = interpolatedString;
3364 offset = 0;
3365 output = [];
3366 stack = [];
3367 tokenizer.lastIndex = 0;
3368 if (!isValidConversionMap(conversionMap)) {
3369 throw new TypeError('The conversionMap provided is not valid. It must be an object with values that are React Elements');
3370 }
3371 do {
3372 // twiddle our thumbs
3373 } while (proceed(conversionMap));
3374 return (0,_react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, ...output);
3375 };
3376
3377 /**
3378 * Validate conversion map.
3379 *
3380 * A map is considered valid if it's an object and every value in the object
3381 * is a React Element
3382 *
3383 * @private
3384 *
3385 * @param {Object} conversionMap The map being validated.
3386 *
3387 * @return {boolean} True means the map is valid.
3388 */
3389 const isValidConversionMap = conversionMap => {
3390 const isObject = typeof conversionMap === 'object';
3391 const values = isObject && Object.values(conversionMap);
3392 return isObject && values.length && values.every(element => (0,_react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(element));
3393 };
3394
3395 /**
3396 * This is the iterator over the matches in the string.
3397 *
3398 * @private
3399 *
3400 * @param {Object} conversionMap The conversion map for the string.
3401 *
3402 * @return {boolean} true for continuing to iterate, false for finished.
3403 */
3404 function proceed(conversionMap) {
3405 const next = nextToken();
3406 const [tokenType, name, startOffset, tokenLength] = next;
3407 const stackDepth = stack.length;
3408 const leadingTextStart = startOffset > offset ? offset : null;
3409 if (!conversionMap[name]) {
3410 addText();
3411 return false;
3412 }
3413 switch (tokenType) {
3414 case 'no-more-tokens':
3415 if (stackDepth !== 0) {
3416 const {
3417 leadingTextStart: stackLeadingText,
3418 tokenStart
3419 } = stack.pop();
3420 output.push(indoc.substr(stackLeadingText, tokenStart));
3421 }
3422 addText();
3423 return false;
3424 case 'self-closed':
3425 if (0 === stackDepth) {
3426 if (null !== leadingTextStart) {
3427 output.push(indoc.substr(leadingTextStart, startOffset - leadingTextStart));
3428 }
3429 output.push(conversionMap[name]);
3430 offset = startOffset + tokenLength;
3431 return true;
3432 }
3433
3434 // Otherwise we found an inner element.
3435 addChild(createFrame(conversionMap[name], startOffset, tokenLength));
3436 offset = startOffset + tokenLength;
3437 return true;
3438 case 'opener':
3439 stack.push(createFrame(conversionMap[name], startOffset, tokenLength, startOffset + tokenLength, leadingTextStart));
3440 offset = startOffset + tokenLength;
3441 return true;
3442 case 'closer':
3443 // If we're not nesting then this is easy - close the block.
3444 if (1 === stackDepth) {
3445 closeOuterElement(startOffset);
3446 offset = startOffset + tokenLength;
3447 return true;
3448 }
3449
3450 // Otherwise we're nested and we have to close out the current
3451 // block and add it as a innerBlock to the parent.
3452 const stackTop = stack.pop();
3453 const text = indoc.substr(stackTop.prevOffset, startOffset - stackTop.prevOffset);
3454 stackTop.children.push(text);
3455 stackTop.prevOffset = startOffset + tokenLength;
3456 const frame = createFrame(stackTop.element, stackTop.tokenStart, stackTop.tokenLength, startOffset + tokenLength);
3457 frame.children = stackTop.children;
3458 addChild(frame);
3459 offset = startOffset + tokenLength;
3460 return true;
3461 default:
3462 addText();
3463 return false;
3464 }
3465 }
3466
3467 /**
3468 * Grabs the next token match in the string and returns it's details.
3469 *
3470 * @private
3471 *
3472 * @return {Array} An array of details for the token matched.
3473 */
3474 function nextToken() {
3475 const matches = tokenizer.exec(indoc);
3476 // We have no more tokens.
3477 if (null === matches) {
3478 return ['no-more-tokens'];
3479 }
3480 const startedAt = matches.index;
3481 const [match, isClosing, name, isSelfClosed] = matches;
3482 const length = match.length;
3483 if (isSelfClosed) {
3484 return ['self-closed', name, startedAt, length];
3485 }
3486 if (isClosing) {
3487 return ['closer', name, startedAt, length];
3488 }
3489 return ['opener', name, startedAt, length];
3490 }
3491
3492 /**
3493 * Pushes text extracted from the indoc string to the output stack given the
3494 * current rawLength value and offset (if rawLength is provided ) or the
3495 * indoc.length and offset.
3496 *
3497 * @private
3498 */
3499 function addText() {
3500 const length = indoc.length - offset;
3501 if (0 === length) {
3502 return;
3503 }
3504 output.push(indoc.substr(offset, length));
3505 }
3506
3507 /**
3508 * Pushes a child element to the associated parent element's children for the
3509 * parent currently active in the stack.
3510 *
3511 * @private
3512 *
3513 * @param {Frame} frame The Frame containing the child element and it's
3514 * token information.
3515 */
3516 function addChild(frame) {
3517 const {
3518 element,
3519 tokenStart,
3520 tokenLength,
3521 prevOffset,
3522 children
3523 } = frame;
3524 const parent = stack[stack.length - 1];
3525 const text = indoc.substr(parent.prevOffset, tokenStart - parent.prevOffset);
3526 if (text) {
3527 parent.children.push(text);
3528 }
3529 parent.children.push((0,_react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(element, null, ...children));
3530 parent.prevOffset = prevOffset ? prevOffset : tokenStart + tokenLength;
3531 }
3532
3533 /**
3534 * This is called for closing tags. It creates the element currently active in
3535 * the stack.
3536 *
3537 * @private
3538 *
3539 * @param {number} endOffset Offset at which the closing tag for the element
3540 * begins in the string. If this is greater than the
3541 * prevOffset attached to the element, then this
3542 * helps capture any remaining nested text nodes in
3543 * the element.
3544 */
3545 function closeOuterElement(endOffset) {
3546 const {
3547 element,
3548 leadingTextStart,
3549 prevOffset,
3550 tokenStart,
3551 children
3552 } = stack.pop();
3553 const text = endOffset ? indoc.substr(prevOffset, endOffset - prevOffset) : indoc.substr(prevOffset);
3554 if (text) {
3555 children.push(text);
3556 }
3557 if (null !== leadingTextStart) {
3558 output.push(indoc.substr(leadingTextStart, tokenStart - leadingTextStart));
3559 }
3560 output.push((0,_react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(element, null, ...children));
3561 }
3562 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createInterpolateElement);
3563 //# sourceMappingURL=create-interpolate-element.js.map
3564
3565 /***/ }),
3566
3567 /***/ "../node_modules/@wordpress/element/build-module/index.js":
3568 /*!****************************************************************!*\
3569 !*** ../node_modules/@wordpress/element/build-module/index.js ***!
3570 \****************************************************************/
3571 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3572
3573 "use strict";
3574 __webpack_require__.r(__webpack_exports__);
3575 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3576 /* harmony export */ Children: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Children),
3577 /* harmony export */ Component: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Component),
3578 /* harmony export */ Fragment: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Fragment),
3579 /* harmony export */ Platform: () => (/* reexport safe */ _platform__WEBPACK_IMPORTED_MODULE_4__["default"]),
3580 /* harmony export */ PureComponent: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.PureComponent),
3581 /* harmony export */ RawHTML: () => (/* reexport safe */ _raw_html__WEBPACK_IMPORTED_MODULE_6__["default"]),
3582 /* harmony export */ StrictMode: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.StrictMode),
3583 /* harmony export */ Suspense: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Suspense),
3584 /* harmony export */ cloneElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.cloneElement),
3585 /* harmony export */ concatChildren: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.concatChildren),
3586 /* harmony export */ createContext: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createContext),
3587 /* harmony export */ createElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createElement),
3588 /* harmony export */ createInterpolateElement: () => (/* reexport safe */ _create_interpolate_element__WEBPACK_IMPORTED_MODULE_0__["default"]),
3589 /* harmony export */ createPortal: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.createPortal),
3590 /* harmony export */ createRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createRef),
3591 /* harmony export */ createRoot: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.createRoot),
3592 /* harmony export */ findDOMNode: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.findDOMNode),
3593 /* harmony export */ flushSync: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.flushSync),
3594 /* harmony export */ forwardRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.forwardRef),
3595 /* harmony export */ hydrate: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.hydrate),
3596 /* harmony export */ hydrateRoot: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.hydrateRoot),
3597 /* harmony export */ isEmptyElement: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.isEmptyElement),
3598 /* harmony export */ isValidElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.isValidElement),
3599 /* harmony export */ lazy: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.lazy),
3600 /* harmony export */ memo: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.memo),
3601 /* harmony export */ render: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.render),
3602 /* harmony export */ renderToString: () => (/* reexport safe */ _serialize__WEBPACK_IMPORTED_MODULE_5__["default"]),
3603 /* harmony export */ startTransition: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.startTransition),
3604 /* harmony export */ switchChildrenNodeName: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.switchChildrenNodeName),
3605 /* harmony export */ unmountComponentAtNode: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.unmountComponentAtNode),
3606 /* harmony export */ useCallback: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useCallback),
3607 /* harmony export */ useContext: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useContext),
3608 /* harmony export */ useDebugValue: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useDebugValue),
3609 /* harmony export */ useDeferredValue: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useDeferredValue),
3610 /* harmony export */ useEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useEffect),
3611 /* harmony export */ useId: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useId),
3612 /* harmony export */ useImperativeHandle: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle),
3613 /* harmony export */ useInsertionEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useInsertionEffect),
3614 /* harmony export */ useLayoutEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect),
3615 /* harmony export */ useMemo: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useMemo),
3616 /* harmony export */ useReducer: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useReducer),
3617 /* harmony export */ useRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useRef),
3618 /* harmony export */ useState: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useState),
3619 /* harmony export */ useSyncExternalStore: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useSyncExternalStore),
3620 /* harmony export */ useTransition: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useTransition)
3621 /* harmony export */ });
3622 /* harmony import */ var _create_interpolate_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-interpolate-element */ "../node_modules/@wordpress/element/build-module/create-interpolate-element.js");
3623 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./react */ "../node_modules/@wordpress/element/build-module/react.js");
3624 /* harmony import */ var _react_platform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./react-platform */ "../node_modules/@wordpress/element/build-module/react-platform.js");
3625 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "../node_modules/@wordpress/element/build-module/utils.js");
3626 /* harmony import */ var _platform__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform */ "../node_modules/@wordpress/element/build-module/platform.js");
3627 /* harmony import */ var _serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./serialize */ "../node_modules/@wordpress/element/build-module/serialize.js");
3628 /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./raw-html */ "../node_modules/@wordpress/element/build-module/raw-html.js");
3629
3630
3631
3632
3633
3634
3635
3636 //# sourceMappingURL=index.js.map
3637
3638 /***/ }),
3639
3640 /***/ "../node_modules/@wordpress/element/build-module/platform.js":
3641 /*!*******************************************************************!*\
3642 !*** ../node_modules/@wordpress/element/build-module/platform.js ***!
3643 \*******************************************************************/
3644 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3645
3646 "use strict";
3647 __webpack_require__.r(__webpack_exports__);
3648 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3649 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3650 /* harmony export */ });
3651 /**
3652 * Parts of this source were derived and modified from react-native-web,
3653 * released under the MIT license.
3654 *
3655 * Copyright (c) 2016-present, Nicolas Gallagher.
3656 * Copyright (c) 2015-present, Facebook, Inc.
3657 *
3658 */
3659 const Platform = {
3660 OS: 'web',
3661 select: spec => 'web' in spec ? spec.web : spec.default,
3662 isWeb: true
3663 };
3664 /**
3665 * Component used to detect the current Platform being used.
3666 * Use Platform.OS === 'web' to detect if running on web enviroment.
3667 *
3668 * This is the same concept as the React Native implementation.
3669 *
3670 * @see https://reactnative.dev/docs/platform-specific-code#platform-module
3671 *
3672 * Here is an example of how to use the select method:
3673 * @example
3674 * ```js
3675 * import { Platform } from '@wordpress/element';
3676 *
3677 * const placeholderLabel = Platform.select( {
3678 * native: __( 'Add media' ),
3679 * web: __( 'Drag images, upload new ones or select files from your library.' ),
3680 * } );
3681 * ```
3682 */
3683 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Platform);
3684 //# sourceMappingURL=platform.js.map
3685
3686 /***/ }),
3687
3688 /***/ "../node_modules/@wordpress/element/build-module/raw-html.js":
3689 /*!*******************************************************************!*\
3690 !*** ../node_modules/@wordpress/element/build-module/raw-html.js ***!
3691 \*******************************************************************/
3692 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3693
3694 "use strict";
3695 __webpack_require__.r(__webpack_exports__);
3696 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3697 /* harmony export */ "default": () => (/* binding */ RawHTML)
3698 /* harmony export */ });
3699 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./react */ "react");
3700 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_0__);
3701 /**
3702 * Internal dependencies
3703 */
3704
3705
3706 /** @typedef {{children: string} & import('react').ComponentPropsWithoutRef<'div'>} RawHTMLProps */
3707
3708 /**
3709 * Component used as equivalent of Fragment with unescaped HTML, in cases where
3710 * it is desirable to render dangerous HTML without needing a wrapper element.
3711 * To preserve additional props, a `div` wrapper _will_ be created if any props
3712 * aside from `children` are passed.
3713 *
3714 * @param {RawHTMLProps} props Children should be a string of HTML or an array
3715 * of strings. Other props will be passed through
3716 * to the div wrapper.
3717 *
3718 * @return {JSX.Element} Dangerously-rendering component.
3719 */
3720 function RawHTML({
3721 children,
3722 ...props
3723 }) {
3724 let rawHtml = '';
3725
3726 // Cast children as an array, and concatenate each element if it is a string.
3727 _react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children).forEach(child => {
3728 if (typeof child === 'string' && child.trim() !== '') {
3729 rawHtml += child;
3730 }
3731 });
3732
3733 // The `div` wrapper will be stripped by the `renderElement` serializer in
3734 // `./serialize.js` unless there are non-children props present.
3735 return (0,_react__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', {
3736 dangerouslySetInnerHTML: {
3737 __html: rawHtml
3738 },
3739 ...props
3740 });
3741 }
3742 //# sourceMappingURL=raw-html.js.map
3743
3744 /***/ }),
3745
3746 /***/ "../node_modules/@wordpress/element/build-module/react-platform.js":
3747 /*!*************************************************************************!*\
3748 !*** ../node_modules/@wordpress/element/build-module/react-platform.js ***!
3749 \*************************************************************************/
3750 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3751
3752 "use strict";
3753 __webpack_require__.r(__webpack_exports__);
3754 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3755 /* harmony export */ createPortal: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.createPortal),
3756 /* harmony export */ createRoot: () => (/* reexport safe */ react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot),
3757 /* harmony export */ findDOMNode: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.findDOMNode),
3758 /* harmony export */ flushSync: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.flushSync),
3759 /* harmony export */ hydrate: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.hydrate),
3760 /* harmony export */ hydrateRoot: () => (/* reexport safe */ react_dom_client__WEBPACK_IMPORTED_MODULE_1__.hydrateRoot),
3761 /* harmony export */ render: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.render),
3762 /* harmony export */ unmountComponentAtNode: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.unmountComponentAtNode)
3763 /* harmony export */ });
3764 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom");
3765 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);
3766 /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
3767 /**
3768 * External dependencies
3769 */
3770
3771
3772
3773 /**
3774 * Creates a portal into which a component can be rendered.
3775 *
3776 * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235
3777 *
3778 * @param {import('react').ReactElement} child Any renderable child, such as an element,
3779 * string, or fragment.
3780 * @param {HTMLElement} container DOM node into which element should be rendered.
3781 */
3782
3783
3784 /**
3785 * Finds the dom node of a React component.
3786 *
3787 * @param {import('react').ComponentType} component Component's instance.
3788 */
3789
3790
3791 /**
3792 * Forces React to flush any updates inside the provided callback synchronously.
3793 *
3794 * @param {Function} callback Callback to run synchronously.
3795 */
3796
3797
3798 /**
3799 * Renders a given element into the target DOM node.
3800 *
3801 * @deprecated since WordPress 6.2.0. Use `createRoot` instead.
3802 * @see https://react.dev/reference/react-dom/render
3803 */
3804
3805
3806 /**
3807 * Hydrates a given element into the target DOM node.
3808 *
3809 * @deprecated since WordPress 6.2.0. Use `hydrateRoot` instead.
3810 * @see https://react.dev/reference/react-dom/hydrate
3811 */
3812
3813
3814 /**
3815 * Creates a new React root for the target DOM node.
3816 *
3817 * @since 6.2.0 Introduced in WordPress core.
3818 * @see https://react.dev/reference/react-dom/client/createRoot
3819 */
3820
3821
3822 /**
3823 * Creates a new React root for the target DOM node and hydrates it with a pre-generated markup.
3824 *
3825 * @since 6.2.0 Introduced in WordPress core.
3826 * @see https://react.dev/reference/react-dom/client/hydrateRoot
3827 */
3828
3829
3830 /**
3831 * Removes any mounted element from the target DOM node.
3832 *
3833 * @deprecated since WordPress 6.2.0. Use `root.unmount()` instead.
3834 * @see https://react.dev/reference/react-dom/unmountComponentAtNode
3835 */
3836
3837 //# sourceMappingURL=react-platform.js.map
3838
3839 /***/ }),
3840
3841 /***/ "../node_modules/@wordpress/element/build-module/react.js":
3842 /*!****************************************************************!*\
3843 !*** ../node_modules/@wordpress/element/build-module/react.js ***!
3844 \****************************************************************/
3845 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3846
3847 "use strict";
3848 __webpack_require__.r(__webpack_exports__);
3849 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3850 /* harmony export */ Children: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Children),
3851 /* harmony export */ Component: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Component),
3852 /* harmony export */ Fragment: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Fragment),
3853 /* harmony export */ PureComponent: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.PureComponent),
3854 /* harmony export */ StrictMode: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.StrictMode),
3855 /* harmony export */ Suspense: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Suspense),
3856 /* harmony export */ cloneElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.cloneElement),
3857 /* harmony export */ concatChildren: () => (/* binding */ concatChildren),
3858 /* harmony export */ createContext: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createContext),
3859 /* harmony export */ createElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createElement),
3860 /* harmony export */ createRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createRef),
3861 /* harmony export */ forwardRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef),
3862 /* harmony export */ isValidElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.isValidElement),
3863 /* harmony export */ lazy: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.lazy),
3864 /* harmony export */ memo: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.memo),
3865 /* harmony export */ startTransition: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.startTransition),
3866 /* harmony export */ switchChildrenNodeName: () => (/* binding */ switchChildrenNodeName),
3867 /* harmony export */ useCallback: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useCallback),
3868 /* harmony export */ useContext: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useContext),
3869 /* harmony export */ useDebugValue: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue),
3870 /* harmony export */ useDeferredValue: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useDeferredValue),
3871 /* harmony export */ useEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useEffect),
3872 /* harmony export */ useId: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useId),
3873 /* harmony export */ useImperativeHandle: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle),
3874 /* harmony export */ useInsertionEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useInsertionEffect),
3875 /* harmony export */ useLayoutEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect),
3876 /* harmony export */ useMemo: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useMemo),
3877 /* harmony export */ useReducer: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useReducer),
3878 /* harmony export */ useRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useRef),
3879 /* harmony export */ useState: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useState),
3880 /* harmony export */ useSyncExternalStore: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore),
3881 /* harmony export */ useTransition: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useTransition)
3882 /* harmony export */ });
3883 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3884 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3885 /**
3886 * External dependencies
3887 */
3888 // eslint-disable-next-line @typescript-eslint/no-restricted-imports
3889
3890
3891 /**
3892 * Object containing a React element.
3893 *
3894 * @typedef {import('react').ReactElement} Element
3895 */
3896
3897 /**
3898 * Object containing a React component.
3899 *
3900 * @typedef {import('react').ComponentType} ComponentType
3901 */
3902
3903 /**
3904 * Object containing a React synthetic event.
3905 *
3906 * @typedef {import('react').SyntheticEvent} SyntheticEvent
3907 */
3908
3909 /**
3910 * Object containing a React synthetic event.
3911 *
3912 * @template T
3913 * @typedef {import('react').RefObject<T>} RefObject<T>
3914 */
3915
3916 /**
3917 * Object that provides utilities for dealing with React children.
3918 */
3919
3920
3921 /**
3922 * Creates a copy of an element with extended props.
3923 *
3924 * @param {Element} element Element
3925 * @param {?Object} props Props to apply to cloned element
3926 *
3927 * @return {Element} Cloned element.
3928 */
3929
3930
3931 /**
3932 * A base class to create WordPress Components (Refs, state and lifecycle hooks)
3933 */
3934
3935
3936 /**
3937 * Creates a context object containing two components: a provider and consumer.
3938 *
3939 * @param {Object} defaultValue A default data stored in the context.
3940 *
3941 * @return {Object} Context object.
3942 */
3943
3944
3945 /**
3946 * Returns a new element of given type. Type can be either a string tag name or
3947 * another function which itself returns an element.
3948 *
3949 * @param {?(string|Function)} type Tag name or element creator
3950 * @param {Object} props Element properties, either attribute
3951 * set to apply to DOM node or values to
3952 * pass through to element creator
3953 * @param {...Element} children Descendant elements
3954 *
3955 * @return {Element} Element.
3956 */
3957
3958
3959 /**
3960 * Returns an object tracking a reference to a rendered element via its
3961 * `current` property as either a DOMElement or Element, dependent upon the
3962 * type of element rendered with the ref attribute.
3963 *
3964 * @return {Object} Ref object.
3965 */
3966
3967
3968 /**
3969 * Component enhancer used to enable passing a ref to its wrapped component.
3970 * Pass a function argument which receives `props` and `ref` as its arguments,
3971 * returning an element using the forwarded ref. The return value is a new
3972 * component which forwards its ref.
3973 *
3974 * @param {Function} forwarder Function passed `props` and `ref`, expected to
3975 * return an element.
3976 *
3977 * @return {Component} Enhanced component.
3978 */
3979
3980
3981 /**
3982 * A component which renders its children without any wrapping element.
3983 */
3984
3985
3986 /**
3987 * Checks if an object is a valid React Element.
3988 *
3989 * @param {Object} objectToCheck The object to be checked.
3990 *
3991 * @return {boolean} true if objectToTest is a valid React Element and false otherwise.
3992 */
3993
3994
3995 /**
3996 * @see https://reactjs.org/docs/react-api.html#reactmemo
3997 */
3998
3999
4000 /**
4001 * Component that activates additional checks and warnings for its descendants.
4002 */
4003
4004
4005 /**
4006 * @see https://reactjs.org/docs/hooks-reference.html#usecallback
4007 */
4008
4009
4010 /**
4011 * @see https://reactjs.org/docs/hooks-reference.html#usecontext
4012 */
4013
4014
4015 /**
4016 * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue
4017 */
4018
4019
4020 /**
4021 * @see https://reactjs.org/docs/hooks-reference.html#usedeferredvalue
4022 */
4023
4024
4025 /**
4026 * @see https://reactjs.org/docs/hooks-reference.html#useeffect
4027 */
4028
4029
4030 /**
4031 * @see https://reactjs.org/docs/hooks-reference.html#useid
4032 */
4033
4034
4035 /**
4036 * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle
4037 */
4038
4039
4040 /**
4041 * @see https://reactjs.org/docs/hooks-reference.html#useinsertioneffect
4042 */
4043
4044
4045 /**
4046 * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect
4047 */
4048
4049
4050 /**
4051 * @see https://reactjs.org/docs/hooks-reference.html#usememo
4052 */
4053
4054
4055 /**
4056 * @see https://reactjs.org/docs/hooks-reference.html#usereducer
4057 */
4058
4059
4060 /**
4061 * @see https://reactjs.org/docs/hooks-reference.html#useref
4062 */
4063
4064
4065 /**
4066 * @see https://reactjs.org/docs/hooks-reference.html#usestate
4067 */
4068
4069
4070 /**
4071 * @see https://reactjs.org/docs/hooks-reference.html#usesyncexternalstore
4072 */
4073
4074
4075 /**
4076 * @see https://reactjs.org/docs/hooks-reference.html#usetransition
4077 */
4078
4079
4080 /**
4081 * @see https://reactjs.org/docs/react-api.html#starttransition
4082 */
4083
4084
4085 /**
4086 * @see https://reactjs.org/docs/react-api.html#reactlazy
4087 */
4088
4089
4090 /**
4091 * @see https://reactjs.org/docs/react-api.html#reactsuspense
4092 */
4093
4094
4095 /**
4096 * @see https://reactjs.org/docs/react-api.html#reactpurecomponent
4097 */
4098
4099
4100 /**
4101 * Concatenate two or more React children objects.
4102 *
4103 * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.
4104 *
4105 * @return {Array} The concatenated value.
4106 */
4107 function concatChildren(...childrenArguments) {
4108 return childrenArguments.reduce((accumulator, children, i) => {
4109 react__WEBPACK_IMPORTED_MODULE_0__.Children.forEach(children, (child, j) => {
4110 if (child && 'string' !== typeof child) {
4111 child = (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, {
4112 key: [i, j].join()
4113 });
4114 }
4115 accumulator.push(child);
4116 });
4117 return accumulator;
4118 }, []);
4119 }
4120
4121 /**
4122 * Switches the nodeName of all the elements in the children object.
4123 *
4124 * @param {?Object} children Children object.
4125 * @param {string} nodeName Node name.
4126 *
4127 * @return {?Object} The updated children object.
4128 */
4129 function switchChildrenNodeName(children, nodeName) {
4130 return children && react__WEBPACK_IMPORTED_MODULE_0__.Children.map(children, (elt, index) => {
4131 if (typeof elt?.valueOf() === 'string') {
4132 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(nodeName, {
4133 key: index
4134 }, elt);
4135 }
4136 const {
4137 children: childrenProp,
4138 ...props
4139 } = elt.props;
4140 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(nodeName, {
4141 key: index,
4142 ...props
4143 }, childrenProp);
4144 });
4145 }
4146 //# sourceMappingURL=react.js.map
4147
4148 /***/ }),
4149
4150 /***/ "../node_modules/@wordpress/element/build-module/serialize.js":
4151 /*!********************************************************************!*\
4152 !*** ../node_modules/@wordpress/element/build-module/serialize.js ***!
4153 \********************************************************************/
4154 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4155
4156 "use strict";
4157 __webpack_require__.r(__webpack_exports__);
4158 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4159 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4160 /* harmony export */ hasPrefix: () => (/* binding */ hasPrefix),
4161 /* harmony export */ renderAttributes: () => (/* binding */ renderAttributes),
4162 /* harmony export */ renderComponent: () => (/* binding */ renderComponent),
4163 /* harmony export */ renderElement: () => (/* binding */ renderElement),
4164 /* harmony export */ renderNativeComponent: () => (/* binding */ renderNativeComponent),
4165 /* harmony export */ renderStyle: () => (/* binding */ renderStyle)
4166 /* harmony export */ });
4167 /* harmony import */ var is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-plain-object */ "../node_modules/is-plain-object/dist/is-plain-object.mjs");
4168 /* harmony import */ var change_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! change-case */ "../node_modules/param-case/dist.es2015/index.js");
4169 /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/escape-html */ "../node_modules/@wordpress/escape-html/build-module/index.js");
4170 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./react */ "react");
4171 /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_3__);
4172 /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ "../node_modules/@wordpress/element/build-module/raw-html.js");
4173 /**
4174 * Parts of this source were derived and modified from fast-react-render,
4175 * released under the MIT license.
4176 *
4177 * https://github.com/alt-j/fast-react-render
4178 *
4179 * Copyright (c) 2016 Andrey Morozov
4180 *
4181 * Permission is hereby granted, free of charge, to any person obtaining a copy
4182 * of this software and associated documentation files (the "Software"), to deal
4183 * in the Software without restriction, including without limitation the rights
4184 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4185 * copies of the Software, and to permit persons to whom the Software is
4186 * furnished to do so, subject to the following conditions:
4187 *
4188 * The above copyright notice and this permission notice shall be included in
4189 * all copies or substantial portions of the Software.
4190 *
4191 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4192 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4193 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4194 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4195 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4196 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4197 * THE SOFTWARE.
4198 */
4199
4200 /**
4201 * External dependencies
4202 */
4203
4204
4205
4206 /**
4207 * WordPress dependencies
4208 */
4209
4210
4211 /**
4212 * Internal dependencies
4213 */
4214
4215
4216
4217 /** @typedef {import('react').ReactElement} ReactElement */
4218
4219 const {
4220 Provider,
4221 Consumer
4222 } = (0,_react__WEBPACK_IMPORTED_MODULE_3__.createContext)(undefined);
4223 const ForwardRef = (0,_react__WEBPACK_IMPORTED_MODULE_3__.forwardRef)(() => {
4224 return null;
4225 });
4226
4227 /**
4228 * Valid attribute types.
4229 *
4230 * @type {Set<string>}
4231 */
4232 const ATTRIBUTES_TYPES = new Set(['string', 'boolean', 'number']);
4233
4234 /**
4235 * Element tags which can be self-closing.
4236 *
4237 * @type {Set<string>}
4238 */
4239 const SELF_CLOSING_TAGS = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);
4240
4241 /**
4242 * Boolean attributes are attributes whose presence as being assigned is
4243 * meaningful, even if only empty.
4244 *
4245 * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes
4246 * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3
4247 *
4248 * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]
4249 * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )
4250 * .reduce( ( result, tr ) => Object.assign( result, {
4251 * [ tr.firstChild.textContent.trim() ]: true
4252 * } ), {} ) ).sort();
4253 *
4254 * @type {Set<string>}
4255 */
4256 const BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'download', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']);
4257
4258 /**
4259 * Enumerated attributes are attributes which must be of a specific value form.
4260 * Like boolean attributes, these are meaningful if specified, even if not of a
4261 * valid enumerated value.
4262 *
4263 * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute
4264 * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3
4265 *
4266 * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]
4267 * .filter( ( tr ) => /^("(.+?)";?\s*)+/.test( tr.lastChild.textContent.trim() ) )
4268 * .reduce( ( result, tr ) => Object.assign( result, {
4269 * [ tr.firstChild.textContent.trim() ]: true
4270 * } ), {} ) ).sort();
4271 *
4272 * Some notable omissions:
4273 *
4274 * - `alt`: https://blog.whatwg.org/omit-alt
4275 *
4276 * @type {Set<string>}
4277 */
4278 const ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']);
4279
4280 /**
4281 * Set of CSS style properties which support assignment of unitless numbers.
4282 * Used in rendering of style properties, where `px` unit is assumed unless
4283 * property is included in this set or value is zero.
4284 *
4285 * Generated via:
4286 *
4287 * Object.entries( document.createElement( 'div' ).style )
4288 * .filter( ( [ key ] ) => (
4289 * ! /^(webkit|ms|moz)/.test( key ) &&
4290 * ( e.style[ key ] = 10 ) &&
4291 * e.style[ key ] === '10'
4292 * ) )
4293 * .map( ( [ key ] ) => key )
4294 * .sort();
4295 *
4296 * @type {Set<string>}
4297 */
4298 const CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']);
4299
4300 /**
4301 * Returns true if the specified string is prefixed by one of an array of
4302 * possible prefixes.
4303 *
4304 * @param {string} string String to check.
4305 * @param {string[]} prefixes Possible prefixes.
4306 *
4307 * @return {boolean} Whether string has prefix.
4308 */
4309 function hasPrefix(string, prefixes) {
4310 return prefixes.some(prefix => string.indexOf(prefix) === 0);
4311 }
4312
4313 /**
4314 * Returns true if the given prop name should be ignored in attributes
4315 * serialization, or false otherwise.
4316 *
4317 * @param {string} attribute Attribute to check.
4318 *
4319 * @return {boolean} Whether attribute should be ignored.
4320 */
4321 function isInternalAttribute(attribute) {
4322 return 'key' === attribute || 'children' === attribute;
4323 }
4324
4325 /**
4326 * Returns the normal form of the element's attribute value for HTML.
4327 *
4328 * @param {string} attribute Attribute name.
4329 * @param {*} value Non-normalized attribute value.
4330 *
4331 * @return {*} Normalized attribute value.
4332 */
4333 function getNormalAttributeValue(attribute, value) {
4334 switch (attribute) {
4335 case 'style':
4336 return renderStyle(value);
4337 }
4338 return value;
4339 }
4340 /**
4341 * This is a map of all SVG attributes that have dashes. Map(lower case prop => dashed lower case attribute).
4342 * We need this to render e.g strokeWidth as stroke-width.
4343 *
4344 * List from: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute.
4345 */
4346 const SVG_ATTRIBUTE_WITH_DASHES_LIST = ['accentHeight', 'alignmentBaseline', 'arabicForm', 'baselineShift', 'capHeight', 'clipPath', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'dominantBaseline', 'enableBackground', 'fillOpacity', 'fillRule', 'floodColor', 'floodOpacity', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'horizAdvX', 'horizOriginX', 'imageRendering', 'letterSpacing', 'lightingColor', 'markerEnd', 'markerMid', 'markerStart', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pointerEvents', 'renderingIntent', 'shapeRendering', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'textAnchor', 'textDecoration', 'textRendering', 'underlinePosition', 'underlineThickness', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'vHanging', 'vIdeographic', 'vMathematical', 'vectorEffect', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'wordSpacing', 'writingMode', 'xmlnsXlink', 'xHeight'].reduce((map, attribute) => {
4347 // The keys are lower-cased for more robust lookup.
4348 map[attribute.toLowerCase()] = attribute;
4349 return map;
4350 }, {});
4351
4352 /**
4353 * This is a map of all case-sensitive SVG attributes. Map(lowercase key => proper case attribute).
4354 * The keys are lower-cased for more robust lookup.
4355 * Note that this list only contains attributes that contain at least one capital letter.
4356 * Lowercase attributes don't need mapping, since we lowercase all attributes by default.
4357 */
4358 const CASE_SENSITIVE_SVG_ATTRIBUTES = ['allowReorder', 'attributeName', 'attributeType', 'autoReverse', 'baseFrequency', 'baseProfile', 'calcMode', 'clipPathUnits', 'contentScriptType', 'contentStyleType', 'diffuseConstant', 'edgeMode', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'glyphRef', 'gradientTransform', 'gradientUnits', 'kernelMatrix', 'kernelUnitLength', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'limitingConeAngle', 'markerHeight', 'markerUnits', 'markerWidth', 'maskContentUnits', 'maskUnits', 'numOctaves', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'refX', 'refY', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'specularConstant', 'specularExponent', 'spreadMethod', 'startOffset', 'stdDeviation', 'stitchTiles', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textLength', 'viewBox', 'viewTarget', 'xChannelSelector', 'yChannelSelector'].reduce((map, attribute) => {
4359 // The keys are lower-cased for more robust lookup.
4360 map[attribute.toLowerCase()] = attribute;
4361 return map;
4362 }, {});
4363
4364 /**
4365 * This is a map of all SVG attributes that have colons.
4366 * Keys are lower-cased and stripped of their colons for more robust lookup.
4367 */
4368 const SVG_ATTRIBUTES_WITH_COLONS = ['xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'xmlns:xlink'].reduce((map, attribute) => {
4369 map[attribute.replace(':', '').toLowerCase()] = attribute;
4370 return map;
4371 }, {});
4372
4373 /**
4374 * Returns the normal form of the element's attribute name for HTML.
4375 *
4376 * @param {string} attribute Non-normalized attribute name.
4377 *
4378 * @return {string} Normalized attribute name.
4379 */
4380 function getNormalAttributeName(attribute) {
4381 switch (attribute) {
4382 case 'htmlFor':
4383 return 'for';
4384 case 'className':
4385 return 'class';
4386 }
4387 const attributeLowerCase = attribute.toLowerCase();
4388 if (CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase]) {
4389 return CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase];
4390 } else if (SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]) {
4391 return (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]);
4392 } else if (SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase]) {
4393 return SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase];
4394 }
4395 return attributeLowerCase;
4396 }
4397
4398 /**
4399 * Returns the normal form of the style property name for HTML.
4400 *
4401 * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'
4402 * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'
4403 * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'
4404 *
4405 * @param {string} property Property name.
4406 *
4407 * @return {string} Normalized property name.
4408 */
4409 function getNormalStylePropertyName(property) {
4410 if (property.startsWith('--')) {
4411 return property;
4412 }
4413 if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) {
4414 return '-' + (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(property);
4415 }
4416 return (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(property);
4417 }
4418
4419 /**
4420 * Returns the normal form of the style property value for HTML. Appends a
4421 * default pixel unit if numeric, not a unitless property, and not zero.
4422 *
4423 * @param {string} property Property name.
4424 * @param {*} value Non-normalized property value.
4425 *
4426 * @return {*} Normalized property value.
4427 */
4428 function getNormalStylePropertyValue(property, value) {
4429 if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) {
4430 return value + 'px';
4431 }
4432 return value;
4433 }
4434
4435 /**
4436 * Serializes a React element to string.
4437 *
4438 * @param {import('react').ReactNode} element Element to serialize.
4439 * @param {Object} [context] Context object.
4440 * @param {Object} [legacyContext] Legacy context object.
4441 *
4442 * @return {string} Serialized element.
4443 */
4444 function renderElement(element, context, legacyContext = {}) {
4445 if (null === element || undefined === element || false === element) {
4446 return '';
4447 }
4448 if (Array.isArray(element)) {
4449 return renderChildren(element, context, legacyContext);
4450 }
4451 switch (typeof element) {
4452 case 'string':
4453 return (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.escapeHTML)(element);
4454 case 'number':
4455 return element.toString();
4456 }
4457 const {
4458 type,
4459 props
4460 } = /** @type {{type?: any, props?: any}} */
4461 element;
4462 switch (type) {
4463 case _react__WEBPACK_IMPORTED_MODULE_3__.StrictMode:
4464 case _react__WEBPACK_IMPORTED_MODULE_3__.Fragment:
4465 return renderChildren(props.children, context, legacyContext);
4466 case _raw_html__WEBPACK_IMPORTED_MODULE_4__["default"]:
4467 const {
4468 children,
4469 ...wrapperProps
4470 } = props;
4471 return renderNativeComponent(!Object.keys(wrapperProps).length ? null : 'div', {
4472 ...wrapperProps,
4473 dangerouslySetInnerHTML: {
4474 __html: children
4475 }
4476 }, context, legacyContext);
4477 }
4478 switch (typeof type) {
4479 case 'string':
4480 return renderNativeComponent(type, props, context, legacyContext);
4481 case 'function':
4482 if (type.prototype && typeof type.prototype.render === 'function') {
4483 return renderComponent(type, props, context, legacyContext);
4484 }
4485 return renderElement(type(props, legacyContext), context, legacyContext);
4486 }
4487 switch (type && type.$$typeof) {
4488 case Provider.$$typeof:
4489 return renderChildren(props.children, props.value, legacyContext);
4490 case Consumer.$$typeof:
4491 return renderElement(props.children(context || type._currentValue), context, legacyContext);
4492 case ForwardRef.$$typeof:
4493 return renderElement(type.render(props), context, legacyContext);
4494 }
4495 return '';
4496 }
4497
4498 /**
4499 * Serializes a native component type to string.
4500 *
4501 * @param {?string} type Native component type to serialize, or null if
4502 * rendering as fragment of children content.
4503 * @param {Object} props Props object.
4504 * @param {Object} [context] Context object.
4505 * @param {Object} [legacyContext] Legacy context object.
4506 *
4507 * @return {string} Serialized element.
4508 */
4509 function renderNativeComponent(type, props, context, legacyContext = {}) {
4510 let content = '';
4511 if (type === 'textarea' && props.hasOwnProperty('value')) {
4512 // Textarea children can be assigned as value prop. If it is, render in
4513 // place of children. Ensure to omit so it is not assigned as attribute
4514 // as well.
4515 content = renderChildren(props.value, context, legacyContext);
4516 const {
4517 value,
4518 ...restProps
4519 } = props;
4520 props = restProps;
4521 } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') {
4522 // Dangerous content is left unescaped.
4523 content = props.dangerouslySetInnerHTML.__html;
4524 } else if (typeof props.children !== 'undefined') {
4525 content = renderChildren(props.children, context, legacyContext);
4526 }
4527 if (!type) {
4528 return content;
4529 }
4530 const attributes = renderAttributes(props);
4531 if (SELF_CLOSING_TAGS.has(type)) {
4532 return '<' + type + attributes + '/>';
4533 }
4534 return '<' + type + attributes + '>' + content + '</' + type + '>';
4535 }
4536
4537 /** @typedef {import('react').ComponentType} ComponentType */
4538
4539 /**
4540 * Serializes a non-native component type to string.
4541 *
4542 * @param {ComponentType} Component Component type to serialize.
4543 * @param {Object} props Props object.
4544 * @param {Object} [context] Context object.
4545 * @param {Object} [legacyContext] Legacy context object.
4546 *
4547 * @return {string} Serialized element
4548 */
4549 function renderComponent(Component, props, context, legacyContext = {}) {
4550 const instance = new ( /** @type {import('react').ComponentClass} */
4551 Component)(props, legacyContext);
4552 if (typeof
4553 // Ignore reason: Current prettier reformats parens and mangles type assertion
4554 // prettier-ignore
4555 /** @type {{getChildContext?: () => unknown}} */
4556 instance.getChildContext === 'function') {
4557 Object.assign(legacyContext, /** @type {{getChildContext?: () => unknown}} */instance.getChildContext());
4558 }
4559 const html = renderElement(instance.render(), context, legacyContext);
4560 return html;
4561 }
4562
4563 /**
4564 * Serializes an array of children to string.
4565 *
4566 * @param {import('react').ReactNodeArray} children Children to serialize.
4567 * @param {Object} [context] Context object.
4568 * @param {Object} [legacyContext] Legacy context object.
4569 *
4570 * @return {string} Serialized children.
4571 */
4572 function renderChildren(children, context, legacyContext = {}) {
4573 let result = '';
4574 children = Array.isArray(children) ? children : [children];
4575 for (let i = 0; i < children.length; i++) {
4576 const child = children[i];
4577 result += renderElement(child, context, legacyContext);
4578 }
4579 return result;
4580 }
4581
4582 /**
4583 * Renders a props object as a string of HTML attributes.
4584 *
4585 * @param {Object} props Props object.
4586 *
4587 * @return {string} Attributes string.
4588 */
4589 function renderAttributes(props) {
4590 let result = '';
4591 for (const key in props) {
4592 const attribute = getNormalAttributeName(key);
4593 if (!(0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.isValidAttributeName)(attribute)) {
4594 continue;
4595 }
4596 let value = getNormalAttributeValue(key, props[key]);
4597
4598 // If value is not of serializable type, skip.
4599 if (!ATTRIBUTES_TYPES.has(typeof value)) {
4600 continue;
4601 }
4602
4603 // Don't render internal attribute names.
4604 if (isInternalAttribute(key)) {
4605 continue;
4606 }
4607 const isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute);
4608
4609 // Boolean attribute should be omitted outright if its value is false.
4610 if (isBooleanAttribute && value === false) {
4611 continue;
4612 }
4613 const isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute);
4614
4615 // Only write boolean value as attribute if meaningful.
4616 if (typeof value === 'boolean' && !isMeaningfulAttribute) {
4617 continue;
4618 }
4619 result += ' ' + attribute;
4620
4621 // Boolean attributes should write attribute name, but without value.
4622 // Mere presence of attribute name is effective truthiness.
4623 if (isBooleanAttribute) {
4624 continue;
4625 }
4626 if (typeof value === 'string') {
4627 value = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.escapeAttribute)(value);
4628 }
4629 result += '="' + value + '"';
4630 }
4631 return result;
4632 }
4633
4634 /**
4635 * Renders a style object as a string attribute value.
4636 *
4637 * @param {Object} style Style object.
4638 *
4639 * @return {string} Style attribute value.
4640 */
4641 function renderStyle(style) {
4642 // Only generate from object, e.g. tolerate string value.
4643 if (!(0,is_plain_object__WEBPACK_IMPORTED_MODULE_0__.isPlainObject)(style)) {
4644 return style;
4645 }
4646 let result;
4647 for (const property in style) {
4648 const value = style[property];
4649 if (null === value || undefined === value) {
4650 continue;
4651 }
4652 if (result) {
4653 result += ';';
4654 } else {
4655 result = '';
4656 }
4657 const normalName = getNormalStylePropertyName(property);
4658 const normalValue = getNormalStylePropertyValue(property, value);
4659 result += normalName + ':' + normalValue;
4660 }
4661 return result;
4662 }
4663 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (renderElement);
4664 //# sourceMappingURL=serialize.js.map
4665
4666 /***/ }),
4667
4668 /***/ "../node_modules/@wordpress/element/build-module/utils.js":
4669 /*!****************************************************************!*\
4670 !*** ../node_modules/@wordpress/element/build-module/utils.js ***!
4671 \****************************************************************/
4672 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4673
4674 "use strict";
4675 __webpack_require__.r(__webpack_exports__);
4676 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4677 /* harmony export */ isEmptyElement: () => (/* binding */ isEmptyElement)
4678 /* harmony export */ });
4679 /**
4680 * Checks if the provided WP element is empty.
4681 *
4682 * @param {*} element WP element to check.
4683 * @return {boolean} True when an element is considered empty.
4684 */
4685 const isEmptyElement = element => {
4686 if (typeof element === 'number') {
4687 return false;
4688 }
4689 if (typeof element?.valueOf() === 'string' || Array.isArray(element)) {
4690 return !element.length;
4691 }
4692 return !element;
4693 };
4694 //# sourceMappingURL=utils.js.map
4695
4696 /***/ }),
4697
4698 /***/ "../node_modules/@wordpress/escape-html/build-module/escape-greater.js":
4699 /*!*****************************************************************************!*\
4700 !*** ../node_modules/@wordpress/escape-html/build-module/escape-greater.js ***!
4701 \*****************************************************************************/
4702 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4703
4704 "use strict";
4705 __webpack_require__.r(__webpack_exports__);
4706 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4707 /* harmony export */ "default": () => (/* binding */ __unstableEscapeGreaterThan)
4708 /* harmony export */ });
4709 /**
4710 * Returns a string with greater-than sign replaced.
4711 *
4712 * Note that if a resolution for Trac#45387 comes to fruition, it is no longer
4713 * necessary for `__unstableEscapeGreaterThan` to exist.
4714 *
4715 * See: https://core.trac.wordpress.org/ticket/45387
4716 *
4717 * @param {string} value Original string.
4718 *
4719 * @return {string} Escaped string.
4720 */
4721 function __unstableEscapeGreaterThan(value) {
4722 return value.replace(/>/g, '&gt;');
4723 }
4724 //# sourceMappingURL=escape-greater.js.map
4725
4726 /***/ }),
4727
4728 /***/ "../node_modules/@wordpress/escape-html/build-module/index.js":
4729 /*!********************************************************************!*\
4730 !*** ../node_modules/@wordpress/escape-html/build-module/index.js ***!
4731 \********************************************************************/
4732 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4733
4734 "use strict";
4735 __webpack_require__.r(__webpack_exports__);
4736 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4737 /* harmony export */ escapeAmpersand: () => (/* binding */ escapeAmpersand),
4738 /* harmony export */ escapeAttribute: () => (/* binding */ escapeAttribute),
4739 /* harmony export */ escapeEditableHTML: () => (/* binding */ escapeEditableHTML),
4740 /* harmony export */ escapeHTML: () => (/* binding */ escapeHTML),
4741 /* harmony export */ escapeLessThan: () => (/* binding */ escapeLessThan),
4742 /* harmony export */ escapeQuotationMark: () => (/* binding */ escapeQuotationMark),
4743 /* harmony export */ isValidAttributeName: () => (/* binding */ isValidAttributeName)
4744 /* harmony export */ });
4745 /* harmony import */ var _escape_greater__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./escape-greater */ "../node_modules/@wordpress/escape-html/build-module/escape-greater.js");
4746 /**
4747 * Internal dependencies
4748 */
4749
4750
4751 /**
4752 * Regular expression matching invalid attribute names.
4753 *
4754 * "Attribute names must consist of one or more characters other than controls,
4755 * U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),
4756 * and noncharacters."
4757 *
4758 * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
4759 *
4760 * @type {RegExp}
4761 */
4762 const REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/;
4763
4764 /**
4765 * Returns a string with ampersands escaped. Note that this is an imperfect
4766 * implementation, where only ampersands which do not appear as a pattern of
4767 * named, decimal, or hexadecimal character references are escaped. Invalid
4768 * named references (i.e. ambiguous ampersand) are still permitted.
4769 *
4770 * @see https://w3c.github.io/html/syntax.html#character-references
4771 * @see https://w3c.github.io/html/syntax.html#ambiguous-ampersand
4772 * @see https://w3c.github.io/html/syntax.html#named-character-references
4773 *
4774 * @param {string} value Original string.
4775 *
4776 * @return {string} Escaped string.
4777 */
4778 function escapeAmpersand(value) {
4779 return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&amp;');
4780 }
4781
4782 /**
4783 * Returns a string with quotation marks replaced.
4784 *
4785 * @param {string} value Original string.
4786 *
4787 * @return {string} Escaped string.
4788 */
4789 function escapeQuotationMark(value) {
4790 return value.replace(/"/g, '&quot;');
4791 }
4792
4793 /**
4794 * Returns a string with less-than sign replaced.
4795 *
4796 * @param {string} value Original string.
4797 *
4798 * @return {string} Escaped string.
4799 */
4800 function escapeLessThan(value) {
4801 return value.replace(/</g, '&lt;');
4802 }
4803
4804 /**
4805 * Returns an escaped attribute value.
4806 *
4807 * @see https://w3c.github.io/html/syntax.html#elements-attributes
4808 *
4809 * "[...] the text cannot contain an ambiguous ampersand [...] must not contain
4810 * any literal U+0022 QUOTATION MARK characters (")"
4811 *
4812 * Note we also escape the greater than symbol, as this is used by wptexturize to
4813 * split HTML strings. This is a WordPress specific fix
4814 *
4815 * Note that if a resolution for Trac#45387 comes to fruition, it is no longer
4816 * necessary for `__unstableEscapeGreaterThan` to be used.
4817 *
4818 * See: https://core.trac.wordpress.org/ticket/45387
4819 *
4820 * @param {string} value Attribute value.
4821 *
4822 * @return {string} Escaped attribute value.
4823 */
4824 function escapeAttribute(value) {
4825 return (0,_escape_greater__WEBPACK_IMPORTED_MODULE_0__["default"])(escapeQuotationMark(escapeAmpersand(value)));
4826 }
4827
4828 /**
4829 * Returns an escaped HTML element value.
4830 *
4831 * @see https://w3c.github.io/html/syntax.html#writing-html-documents-elements
4832 *
4833 * "the text must not contain the character U+003C LESS-THAN SIGN (<) or an
4834 * ambiguous ampersand."
4835 *
4836 * @param {string} value Element value.
4837 *
4838 * @return {string} Escaped HTML element value.
4839 */
4840 function escapeHTML(value) {
4841 return escapeLessThan(escapeAmpersand(value));
4842 }
4843
4844 /**
4845 * Returns an escaped Editable HTML element value. This is different from
4846 * `escapeHTML`, because for editable HTML, ALL ampersands must be escaped in
4847 * order to render the content correctly on the page.
4848 *
4849 * @param {string} value Element value.
4850 *
4851 * @return {string} Escaped HTML element value.
4852 */
4853 function escapeEditableHTML(value) {
4854 return escapeLessThan(value.replace(/&/g, '&amp;'));
4855 }
4856
4857 /**
4858 * Returns true if the given attribute name is valid, or false otherwise.
4859 *
4860 * @param {string} name Attribute name to test.
4861 *
4862 * @return {boolean} Whether attribute is valid.
4863 */
4864 function isValidAttributeName(name) {
4865 return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name);
4866 }
4867 //# sourceMappingURL=index.js.map
4868
4869 /***/ }),
4870
4871 /***/ "../node_modules/dot-case/dist.es2015/index.js":
4872 /*!*****************************************************!*\
4873 !*** ../node_modules/dot-case/dist.es2015/index.js ***!
4874 \*****************************************************/
4875 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4876
4877 "use strict";
4878 __webpack_require__.r(__webpack_exports__);
4879 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4880 /* harmony export */ dotCase: () => (/* binding */ dotCase)
4881 /* harmony export */ });
4882 /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
4883 /* harmony import */ var no_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! no-case */ "../node_modules/no-case/dist.es2015/index.js");
4884
4885
4886 function dotCase(input, options) {
4887 if (options === void 0) { options = {}; }
4888 return (0,no_case__WEBPACK_IMPORTED_MODULE_1__.noCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ delimiter: "." }, options));
4889 }
4890 //# sourceMappingURL=index.js.map
4891
4892 /***/ }),
4893
4894 /***/ "../node_modules/is-plain-object/dist/is-plain-object.mjs":
4895 /*!****************************************************************!*\
4896 !*** ../node_modules/is-plain-object/dist/is-plain-object.mjs ***!
4897 \****************************************************************/
4898 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4899
4900 "use strict";
4901 __webpack_require__.r(__webpack_exports__);
4902 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4903 /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject)
4904 /* harmony export */ });
4905 /*!
4906 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
4907 *
4908 * Copyright (c) 2014-2017, Jon Schlinkert.
4909 * Released under the MIT License.
4910 */
4911
4912 function isObject(o) {
4913 return Object.prototype.toString.call(o) === '[object Object]';
4914 }
4915
4916 function isPlainObject(o) {
4917 var ctor,prot;
4918
4919 if (isObject(o) === false) return false;
4920
4921 // If has modified constructor
4922 ctor = o.constructor;
4923 if (ctor === undefined) return true;
4924
4925 // If has modified prototype
4926 prot = ctor.prototype;
4927 if (isObject(prot) === false) return false;
4928
4929 // If constructor does not have an Object-specific method
4930 if (prot.hasOwnProperty('isPrototypeOf') === false) {
4931 return false;
4932 }
4933
4934 // Most likely a plain Object
4935 return true;
4936 }
4937
4938
4939
4940
4941 /***/ }),
4942
4943 /***/ "../node_modules/lower-case/dist.es2015/index.js":
4944 /*!*******************************************************!*\
4945 !*** ../node_modules/lower-case/dist.es2015/index.js ***!
4946 \*******************************************************/
4947 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4948
4949 "use strict";
4950 __webpack_require__.r(__webpack_exports__);
4951 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4952 /* harmony export */ localeLowerCase: () => (/* binding */ localeLowerCase),
4953 /* harmony export */ lowerCase: () => (/* binding */ lowerCase)
4954 /* harmony export */ });
4955 /**
4956 * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
4957 */
4958 var SUPPORTED_LOCALE = {
4959 tr: {
4960 regexp: /\u0130|\u0049|\u0049\u0307/g,
4961 map: {
4962 İ: "\u0069",
4963 I: "\u0131",
4964 : "\u0069",
4965 },
4966 },
4967 az: {
4968 regexp: /\u0130/g,
4969 map: {
4970 İ: "\u0069",
4971 I: "\u0131",
4972 : "\u0069",
4973 },
4974 },
4975 lt: {
4976 regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,
4977 map: {
4978 I: "\u0069\u0307",
4979 J: "\u006A\u0307",
4980 Į: "\u012F\u0307",
4981 Ì: "\u0069\u0307\u0300",
4982 Í: "\u0069\u0307\u0301",
4983 Ĩ: "\u0069\u0307\u0303",
4984 },
4985 },
4986 };
4987 /**
4988 * Localized lower case.
4989 */
4990 function localeLowerCase(str, locale) {
4991 var lang = SUPPORTED_LOCALE[locale.toLowerCase()];
4992 if (lang)
4993 return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));
4994 return lowerCase(str);
4995 }
4996 /**
4997 * Lower case as a function.
4998 */
4999 function lowerCase(str) {
5000 return str.toLowerCase();
5001 }
5002 //# sourceMappingURL=index.js.map
5003
5004 /***/ }),
5005
5006 /***/ "../node_modules/no-case/dist.es2015/index.js":
5007 /*!****************************************************!*\
5008 !*** ../node_modules/no-case/dist.es2015/index.js ***!
5009 \****************************************************/
5010 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5011
5012 "use strict";
5013 __webpack_require__.r(__webpack_exports__);
5014 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5015 /* harmony export */ noCase: () => (/* binding */ noCase)
5016 /* harmony export */ });
5017 /* harmony import */ var lower_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lower-case */ "../node_modules/lower-case/dist.es2015/index.js");
5018
5019 // Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case").
5020 var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
5021 // Remove all non-word characters.
5022 var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
5023 /**
5024 * Normalize the string into something other libraries can manipulate easier.
5025 */
5026 function noCase(input, options) {
5027 if (options === void 0) { options = {}; }
5028 var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lower_case__WEBPACK_IMPORTED_MODULE_0__.lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d;
5029 var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
5030 var start = 0;
5031 var end = result.length;
5032 // Trim the delimiter from around the output string.
5033 while (result.charAt(start) === "\0")
5034 start++;
5035 while (result.charAt(end - 1) === "\0")
5036 end--;
5037 // Transform each token independently.
5038 return result.slice(start, end).split("\0").map(transform).join(delimiter);
5039 }
5040 /**
5041 * Replace `re` in the input string with the replacement value.
5042 */
5043 function replace(input, re, value) {
5044 if (re instanceof RegExp)
5045 return input.replace(re, value);
5046 return re.reduce(function (input, re) { return input.replace(re, value); }, input);
5047 }
5048 //# sourceMappingURL=index.js.map
5049
5050 /***/ }),
5051
5052 /***/ "../node_modules/object-assign/index.js":
5053 /*!**********************************************!*\
5054 !*** ../node_modules/object-assign/index.js ***!
5055 \**********************************************/
5056 /***/ ((module) => {
5057
5058 "use strict";
5059 /*
5060 object-assign
5061 (c) Sindre Sorhus
5062 @license MIT
5063 */
5064
5065
5066 /* eslint-disable no-unused-vars */
5067 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5068 var hasOwnProperty = Object.prototype.hasOwnProperty;
5069 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5070
5071 function toObject(val) {
5072 if (val === null || val === undefined) {
5073 throw new TypeError('Object.assign cannot be called with null or undefined');
5074 }
5075
5076 return Object(val);
5077 }
5078
5079 function shouldUseNative() {
5080 try {
5081 if (!Object.assign) {
5082 return false;
5083 }
5084
5085 // Detect buggy property enumeration order in older V8 versions.
5086
5087 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5088 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5089 test1[5] = 'de';
5090 if (Object.getOwnPropertyNames(test1)[0] === '5') {
5091 return false;
5092 }
5093
5094 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5095 var test2 = {};
5096 for (var i = 0; i < 10; i++) {
5097 test2['_' + String.fromCharCode(i)] = i;
5098 }
5099 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
5100 return test2[n];
5101 });
5102 if (order2.join('') !== '0123456789') {
5103 return false;
5104 }
5105
5106 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5107 var test3 = {};
5108 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
5109 test3[letter] = letter;
5110 });
5111 if (Object.keys(Object.assign({}, test3)).join('') !==
5112 'abcdefghijklmnopqrst') {
5113 return false;
5114 }
5115
5116 return true;
5117 } catch (err) {
5118 // We don't expect any of the above to throw, but better to be safe.
5119 return false;
5120 }
5121 }
5122
5123 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5124 var from;
5125 var to = toObject(target);
5126 var symbols;
5127
5128 for (var s = 1; s < arguments.length; s++) {
5129 from = Object(arguments[s]);
5130
5131 for (var key in from) {
5132 if (hasOwnProperty.call(from, key)) {
5133 to[key] = from[key];
5134 }
5135 }
5136
5137 if (getOwnPropertySymbols) {
5138 symbols = getOwnPropertySymbols(from);
5139 for (var i = 0; i < symbols.length; i++) {
5140 if (propIsEnumerable.call(from, symbols[i])) {
5141 to[symbols[i]] = from[symbols[i]];
5142 }
5143 }
5144 }
5145 }
5146
5147 return to;
5148 };
5149
5150
5151 /***/ }),
5152
5153 /***/ "../node_modules/param-case/dist.es2015/index.js":
5154 /*!*******************************************************!*\
5155 !*** ../node_modules/param-case/dist.es2015/index.js ***!
5156 \*******************************************************/
5157 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5158
5159 "use strict";
5160 __webpack_require__.r(__webpack_exports__);
5161 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5162 /* harmony export */ paramCase: () => (/* binding */ paramCase)
5163 /* harmony export */ });
5164 /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
5165 /* harmony import */ var dot_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dot-case */ "../node_modules/dot-case/dist.es2015/index.js");
5166
5167
5168 function paramCase(input, options) {
5169 if (options === void 0) { options = {}; }
5170 return (0,dot_case__WEBPACK_IMPORTED_MODULE_1__.dotCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ delimiter: "-" }, options));
5171 }
5172 //# sourceMappingURL=index.js.map
5173
5174 /***/ }),
5175
5176 /***/ "../node_modules/prop-types/checkPropTypes.js":
5177 /*!****************************************************!*\
5178 !*** ../node_modules/prop-types/checkPropTypes.js ***!
5179 \****************************************************/
5180 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5181
5182 "use strict";
5183 /**
5184 * Copyright (c) 2013-present, Facebook, Inc.
5185 *
5186 * This source code is licensed under the MIT license found in the
5187 * LICENSE file in the root directory of this source tree.
5188 */
5189
5190
5191
5192 var printWarning = function() {};
5193
5194 if (true) {
5195 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
5196 var loggedTypeFailures = {};
5197 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
5198
5199 printWarning = function(text) {
5200 var message = 'Warning: ' + text;
5201 if (typeof console !== 'undefined') {
5202 console.error(message);
5203 }
5204 try {
5205 // --- Welcome to debugging React ---
5206 // This error was thrown as a convenience so that you can use this stack
5207 // to find the callsite that caused this warning to fire.
5208 throw new Error(message);
5209 } catch (x) { /**/ }
5210 };
5211 }
5212
5213 /**
5214 * Assert that the values match with the type specs.
5215 * Error messages are memorized and will only be shown once.
5216 *
5217 * @param {object} typeSpecs Map of name to a ReactPropType
5218 * @param {object} values Runtime values that need to be type-checked
5219 * @param {string} location e.g. "prop", "context", "child context"
5220 * @param {string} componentName Name of the component for error messages.
5221 * @param {?Function} getStack Returns the component stack.
5222 * @private
5223 */
5224 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
5225 if (true) {
5226 for (var typeSpecName in typeSpecs) {
5227 if (has(typeSpecs, typeSpecName)) {
5228 var error;
5229 // Prop type validation may throw. In case they do, we don't want to
5230 // fail the render phase where it didn't fail before. So we log it.
5231 // After these have been cleaned up, we'll let them throw.
5232 try {
5233 // This is intentionally an invariant that gets caught. It's the same
5234 // behavior as without this statement except with a better message.
5235 if (typeof typeSpecs[typeSpecName] !== 'function') {
5236 var err = Error(
5237 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
5238 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
5239 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
5240 );
5241 err.name = 'Invariant Violation';
5242 throw err;
5243 }
5244 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
5245 } catch (ex) {
5246 error = ex;
5247 }
5248 if (error && !(error instanceof Error)) {
5249 printWarning(
5250 (componentName || 'React class') + ': type specification of ' +
5251 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
5252 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
5253 'You may have forgotten to pass an argument to the type checker ' +
5254 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
5255 'shape all require an argument).'
5256 );
5257 }
5258 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
5259 // Only monitor this failure once because there tends to be a lot of the
5260 // same error.
5261 loggedTypeFailures[error.message] = true;
5262
5263 var stack = getStack ? getStack() : '';
5264
5265 printWarning(
5266 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
5267 );
5268 }
5269 }
5270 }
5271 }
5272 }
5273
5274 /**
5275 * Resets warning cache when testing.
5276 *
5277 * @private
5278 */
5279 checkPropTypes.resetWarningCache = function() {
5280 if (true) {
5281 loggedTypeFailures = {};
5282 }
5283 }
5284
5285 module.exports = checkPropTypes;
5286
5287
5288 /***/ }),
5289
5290 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
5291 /*!*************************************************************!*\
5292 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
5293 \*************************************************************/
5294 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5295
5296 "use strict";
5297 /**
5298 * Copyright (c) 2013-present, Facebook, Inc.
5299 *
5300 * This source code is licensed under the MIT license found in the
5301 * LICENSE file in the root directory of this source tree.
5302 */
5303
5304
5305
5306 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
5307 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
5308
5309 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
5310 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
5311 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
5312
5313 var printWarning = function() {};
5314
5315 if (true) {
5316 printWarning = function(text) {
5317 var message = 'Warning: ' + text;
5318 if (typeof console !== 'undefined') {
5319 console.error(message);
5320 }
5321 try {
5322 // --- Welcome to debugging React ---
5323 // This error was thrown as a convenience so that you can use this stack
5324 // to find the callsite that caused this warning to fire.
5325 throw new Error(message);
5326 } catch (x) {}
5327 };
5328 }
5329
5330 function emptyFunctionThatReturnsNull() {
5331 return null;
5332 }
5333
5334 module.exports = function(isValidElement, throwOnDirectAccess) {
5335 /* global Symbol */
5336 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
5337 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
5338
5339 /**
5340 * Returns the iterator method function contained on the iterable object.
5341 *
5342 * Be sure to invoke the function with the iterable as context:
5343 *
5344 * var iteratorFn = getIteratorFn(myIterable);
5345 * if (iteratorFn) {
5346 * var iterator = iteratorFn.call(myIterable);
5347 * ...
5348 * }
5349 *
5350 * @param {?object} maybeIterable
5351 * @return {?function}
5352 */
5353 function getIteratorFn(maybeIterable) {
5354 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
5355 if (typeof iteratorFn === 'function') {
5356 return iteratorFn;
5357 }
5358 }
5359
5360 /**
5361 * Collection of methods that allow declaration and validation of props that are
5362 * supplied to React components. Example usage:
5363 *
5364 * var Props = require('ReactPropTypes');
5365 * var MyArticle = React.createClass({
5366 * propTypes: {
5367 * // An optional string prop named "description".
5368 * description: Props.string,
5369 *
5370 * // A required enum prop named "category".
5371 * category: Props.oneOf(['News','Photos']).isRequired,
5372 *
5373 * // A prop named "dialog" that requires an instance of Dialog.
5374 * dialog: Props.instanceOf(Dialog).isRequired
5375 * },
5376 * render: function() { ... }
5377 * });
5378 *
5379 * A more formal specification of how these methods are used:
5380 *
5381 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
5382 * decl := ReactPropTypes.{type}(.isRequired)?
5383 *
5384 * Each and every declaration produces a function with the same signature. This
5385 * allows the creation of custom validation functions. For example:
5386 *
5387 * var MyLink = React.createClass({
5388 * propTypes: {
5389 * // An optional string or URI prop named "href".
5390 * href: function(props, propName, componentName) {
5391 * var propValue = props[propName];
5392 * if (propValue != null && typeof propValue !== 'string' &&
5393 * !(propValue instanceof URI)) {
5394 * return new Error(
5395 * 'Expected a string or an URI for ' + propName + ' in ' +
5396 * componentName
5397 * );
5398 * }
5399 * }
5400 * },
5401 * render: function() {...}
5402 * });
5403 *
5404 * @internal
5405 */
5406
5407 var ANONYMOUS = '<<anonymous>>';
5408
5409 // Important!
5410 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
5411 var ReactPropTypes = {
5412 array: createPrimitiveTypeChecker('array'),
5413 bigint: createPrimitiveTypeChecker('bigint'),
5414 bool: createPrimitiveTypeChecker('boolean'),
5415 func: createPrimitiveTypeChecker('function'),
5416 number: createPrimitiveTypeChecker('number'),
5417 object: createPrimitiveTypeChecker('object'),
5418 string: createPrimitiveTypeChecker('string'),
5419 symbol: createPrimitiveTypeChecker('symbol'),
5420
5421 any: createAnyTypeChecker(),
5422 arrayOf: createArrayOfTypeChecker,
5423 element: createElementTypeChecker(),
5424 elementType: createElementTypeTypeChecker(),
5425 instanceOf: createInstanceTypeChecker,
5426 node: createNodeChecker(),
5427 objectOf: createObjectOfTypeChecker,
5428 oneOf: createEnumTypeChecker,
5429 oneOfType: createUnionTypeChecker,
5430 shape: createShapeTypeChecker,
5431 exact: createStrictShapeTypeChecker,
5432 };
5433
5434 /**
5435 * inlined Object.is polyfill to avoid requiring consumers ship their own
5436 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
5437 */
5438 /*eslint-disable no-self-compare*/
5439 function is(x, y) {
5440 // SameValue algorithm
5441 if (x === y) {
5442 // Steps 1-5, 7-10
5443 // Steps 6.b-6.e: +0 != -0
5444 return x !== 0 || 1 / x === 1 / y;
5445 } else {
5446 // Step 6.a: NaN == NaN
5447 return x !== x && y !== y;
5448 }
5449 }
5450 /*eslint-enable no-self-compare*/
5451
5452 /**
5453 * We use an Error-like object for backward compatibility as people may call
5454 * PropTypes directly and inspect their output. However, we don't use real
5455 * Errors anymore. We don't inspect their stack anyway, and creating them
5456 * is prohibitively expensive if they are created too often, such as what
5457 * happens in oneOfType() for any type before the one that matched.
5458 */
5459 function PropTypeError(message, data) {
5460 this.message = message;
5461 this.data = data && typeof data === 'object' ? data: {};
5462 this.stack = '';
5463 }
5464 // Make `instanceof Error` still work for returned errors.
5465 PropTypeError.prototype = Error.prototype;
5466
5467 function createChainableTypeChecker(validate) {
5468 if (true) {
5469 var manualPropTypeCallCache = {};
5470 var manualPropTypeWarningCount = 0;
5471 }
5472 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
5473 componentName = componentName || ANONYMOUS;
5474 propFullName = propFullName || propName;
5475
5476 if (secret !== ReactPropTypesSecret) {
5477 if (throwOnDirectAccess) {
5478 // New behavior only for users of `prop-types` package
5479 var err = new Error(
5480 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
5481 'Use `PropTypes.checkPropTypes()` to call them. ' +
5482 'Read more at http://fb.me/use-check-prop-types'
5483 );
5484 err.name = 'Invariant Violation';
5485 throw err;
5486 } else if ( true && typeof console !== 'undefined') {
5487 // Old behavior for people using React.PropTypes
5488 var cacheKey = componentName + ':' + propName;
5489 if (
5490 !manualPropTypeCallCache[cacheKey] &&
5491 // Avoid spamming the console because they are often not actionable except for lib authors
5492 manualPropTypeWarningCount < 3
5493 ) {
5494 printWarning(
5495 'You are manually calling a React.PropTypes validation ' +
5496 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
5497 'and will throw in the standalone `prop-types` package. ' +
5498 'You may be seeing this warning due to a third-party PropTypes ' +
5499 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
5500 );
5501 manualPropTypeCallCache[cacheKey] = true;
5502 manualPropTypeWarningCount++;
5503 }
5504 }
5505 }
5506 if (props[propName] == null) {
5507 if (isRequired) {
5508 if (props[propName] === null) {
5509 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
5510 }
5511 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
5512 }
5513 return null;
5514 } else {
5515 return validate(props, propName, componentName, location, propFullName);
5516 }
5517 }
5518
5519 var chainedCheckType = checkType.bind(null, false);
5520 chainedCheckType.isRequired = checkType.bind(null, true);
5521
5522 return chainedCheckType;
5523 }
5524
5525 function createPrimitiveTypeChecker(expectedType) {
5526 function validate(props, propName, componentName, location, propFullName, secret) {
5527 var propValue = props[propName];
5528 var propType = getPropType(propValue);
5529 if (propType !== expectedType) {
5530 // `propValue` being instance of, say, date/regexp, pass the 'object'
5531 // check, but we can offer a more precise error message here rather than
5532 // 'of type `object`'.
5533 var preciseType = getPreciseType(propValue);
5534
5535 return new PropTypeError(
5536 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
5537 {expectedType: expectedType}
5538 );
5539 }
5540 return null;
5541 }
5542 return createChainableTypeChecker(validate);
5543 }
5544
5545 function createAnyTypeChecker() {
5546 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
5547 }
5548
5549 function createArrayOfTypeChecker(typeChecker) {
5550 function validate(props, propName, componentName, location, propFullName) {
5551 if (typeof typeChecker !== 'function') {
5552 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
5553 }
5554 var propValue = props[propName];
5555 if (!Array.isArray(propValue)) {
5556 var propType = getPropType(propValue);
5557 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
5558 }
5559 for (var i = 0; i < propValue.length; i++) {
5560 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
5561 if (error instanceof Error) {
5562 return error;
5563 }
5564 }
5565 return null;
5566 }
5567 return createChainableTypeChecker(validate);
5568 }
5569
5570 function createElementTypeChecker() {
5571 function validate(props, propName, componentName, location, propFullName) {
5572 var propValue = props[propName];
5573 if (!isValidElement(propValue)) {
5574 var propType = getPropType(propValue);
5575 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
5576 }
5577 return null;
5578 }
5579 return createChainableTypeChecker(validate);
5580 }
5581
5582 function createElementTypeTypeChecker() {
5583 function validate(props, propName, componentName, location, propFullName) {
5584 var propValue = props[propName];
5585 if (!ReactIs.isValidElementType(propValue)) {
5586 var propType = getPropType(propValue);
5587 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
5588 }
5589 return null;
5590 }
5591 return createChainableTypeChecker(validate);
5592 }
5593
5594 function createInstanceTypeChecker(expectedClass) {
5595 function validate(props, propName, componentName, location, propFullName) {
5596 if (!(props[propName] instanceof expectedClass)) {
5597 var expectedClassName = expectedClass.name || ANONYMOUS;
5598 var actualClassName = getClassName(props[propName]);
5599 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
5600 }
5601 return null;
5602 }
5603 return createChainableTypeChecker(validate);
5604 }
5605
5606 function createEnumTypeChecker(expectedValues) {
5607 if (!Array.isArray(expectedValues)) {
5608 if (true) {
5609 if (arguments.length > 1) {
5610 printWarning(
5611 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
5612 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
5613 );
5614 } else {
5615 printWarning('Invalid argument supplied to oneOf, expected an array.');
5616 }
5617 }
5618 return emptyFunctionThatReturnsNull;
5619 }
5620
5621 function validate(props, propName, componentName, location, propFullName) {
5622 var propValue = props[propName];
5623 for (var i = 0; i < expectedValues.length; i++) {
5624 if (is(propValue, expectedValues[i])) {
5625 return null;
5626 }
5627 }
5628
5629 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
5630 var type = getPreciseType(value);
5631 if (type === 'symbol') {
5632 return String(value);
5633 }
5634 return value;
5635 });
5636 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
5637 }
5638 return createChainableTypeChecker(validate);
5639 }
5640
5641 function createObjectOfTypeChecker(typeChecker) {
5642 function validate(props, propName, componentName, location, propFullName) {
5643 if (typeof typeChecker !== 'function') {
5644 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
5645 }
5646 var propValue = props[propName];
5647 var propType = getPropType(propValue);
5648 if (propType !== 'object') {
5649 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
5650 }
5651 for (var key in propValue) {
5652 if (has(propValue, key)) {
5653 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5654 if (error instanceof Error) {
5655 return error;
5656 }
5657 }
5658 }
5659 return null;
5660 }
5661 return createChainableTypeChecker(validate);
5662 }
5663
5664 function createUnionTypeChecker(arrayOfTypeCheckers) {
5665 if (!Array.isArray(arrayOfTypeCheckers)) {
5666 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
5667 return emptyFunctionThatReturnsNull;
5668 }
5669
5670 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
5671 var checker = arrayOfTypeCheckers[i];
5672 if (typeof checker !== 'function') {
5673 printWarning(
5674 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
5675 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
5676 );
5677 return emptyFunctionThatReturnsNull;
5678 }
5679 }
5680
5681 function validate(props, propName, componentName, location, propFullName) {
5682 var expectedTypes = [];
5683 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
5684 var checker = arrayOfTypeCheckers[i];
5685 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
5686 if (checkerResult == null) {
5687 return null;
5688 }
5689 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
5690 expectedTypes.push(checkerResult.data.expectedType);
5691 }
5692 }
5693 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
5694 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
5695 }
5696 return createChainableTypeChecker(validate);
5697 }
5698
5699 function createNodeChecker() {
5700 function validate(props, propName, componentName, location, propFullName) {
5701 if (!isNode(props[propName])) {
5702 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
5703 }
5704 return null;
5705 }
5706 return createChainableTypeChecker(validate);
5707 }
5708
5709 function invalidValidatorError(componentName, location, propFullName, key, type) {
5710 return new PropTypeError(
5711 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
5712 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
5713 );
5714 }
5715
5716 function createShapeTypeChecker(shapeTypes) {
5717 function validate(props, propName, componentName, location, propFullName) {
5718 var propValue = props[propName];
5719 var propType = getPropType(propValue);
5720 if (propType !== 'object') {
5721 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
5722 }
5723 for (var key in shapeTypes) {
5724 var checker = shapeTypes[key];
5725 if (typeof checker !== 'function') {
5726 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
5727 }
5728 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5729 if (error) {
5730 return error;
5731 }
5732 }
5733 return null;
5734 }
5735 return createChainableTypeChecker(validate);
5736 }
5737
5738 function createStrictShapeTypeChecker(shapeTypes) {
5739 function validate(props, propName, componentName, location, propFullName) {
5740 var propValue = props[propName];
5741 var propType = getPropType(propValue);
5742 if (propType !== 'object') {
5743 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
5744 }
5745 // We need to check all keys in case some are required but missing from props.
5746 var allKeys = assign({}, props[propName], shapeTypes);
5747 for (var key in allKeys) {
5748 var checker = shapeTypes[key];
5749 if (has(shapeTypes, key) && typeof checker !== 'function') {
5750 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
5751 }
5752 if (!checker) {
5753 return new PropTypeError(
5754 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
5755 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
5756 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
5757 );
5758 }
5759 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5760 if (error) {
5761 return error;
5762 }
5763 }
5764 return null;
5765 }
5766
5767 return createChainableTypeChecker(validate);
5768 }
5769
5770 function isNode(propValue) {
5771 switch (typeof propValue) {
5772 case 'number':
5773 case 'string':
5774 case 'undefined':
5775 return true;
5776 case 'boolean':
5777 return !propValue;
5778 case 'object':
5779 if (Array.isArray(propValue)) {
5780 return propValue.every(isNode);
5781 }
5782 if (propValue === null || isValidElement(propValue)) {
5783 return true;
5784 }
5785
5786 var iteratorFn = getIteratorFn(propValue);
5787 if (iteratorFn) {
5788 var iterator = iteratorFn.call(propValue);
5789 var step;
5790 if (iteratorFn !== propValue.entries) {
5791 while (!(step = iterator.next()).done) {
5792 if (!isNode(step.value)) {
5793 return false;
5794 }
5795 }
5796 } else {
5797 // Iterator will provide entry [k,v] tuples rather than values.
5798 while (!(step = iterator.next()).done) {
5799 var entry = step.value;
5800 if (entry) {
5801 if (!isNode(entry[1])) {
5802 return false;
5803 }
5804 }
5805 }
5806 }
5807 } else {
5808 return false;
5809 }
5810
5811 return true;
5812 default:
5813 return false;
5814 }
5815 }
5816
5817 function isSymbol(propType, propValue) {
5818 // Native Symbol.
5819 if (propType === 'symbol') {
5820 return true;
5821 }
5822
5823 // falsy value can't be a Symbol
5824 if (!propValue) {
5825 return false;
5826 }
5827
5828 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
5829 if (propValue['@@toStringTag'] === 'Symbol') {
5830 return true;
5831 }
5832
5833 // Fallback for non-spec compliant Symbols which are polyfilled.
5834 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
5835 return true;
5836 }
5837
5838 return false;
5839 }
5840
5841 // Equivalent of `typeof` but with special handling for array and regexp.
5842 function getPropType(propValue) {
5843 var propType = typeof propValue;
5844 if (Array.isArray(propValue)) {
5845 return 'array';
5846 }
5847 if (propValue instanceof RegExp) {
5848 // Old webkits (at least until Android 4.0) return 'function' rather than
5849 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
5850 // passes PropTypes.object.
5851 return 'object';
5852 }
5853 if (isSymbol(propType, propValue)) {
5854 return 'symbol';
5855 }
5856 return propType;
5857 }
5858
5859 // This handles more types than `getPropType`. Only used for error messages.
5860 // See `createPrimitiveTypeChecker`.
5861 function getPreciseType(propValue) {
5862 if (typeof propValue === 'undefined' || propValue === null) {
5863 return '' + propValue;
5864 }
5865 var propType = getPropType(propValue);
5866 if (propType === 'object') {
5867 if (propValue instanceof Date) {
5868 return 'date';
5869 } else if (propValue instanceof RegExp) {
5870 return 'regexp';
5871 }
5872 }
5873 return propType;
5874 }
5875
5876 // Returns a string that is postfixed to a warning about an invalid type.
5877 // For example, "undefined" or "of type array"
5878 function getPostfixForTypeWarning(value) {
5879 var type = getPreciseType(value);
5880 switch (type) {
5881 case 'array':
5882 case 'object':
5883 return 'an ' + type;
5884 case 'boolean':
5885 case 'date':
5886 case 'regexp':
5887 return 'a ' + type;
5888 default:
5889 return type;
5890 }
5891 }
5892
5893 // Returns class name of the object, if any.
5894 function getClassName(propValue) {
5895 if (!propValue.constructor || !propValue.constructor.name) {
5896 return ANONYMOUS;
5897 }
5898 return propValue.constructor.name;
5899 }
5900
5901 ReactPropTypes.checkPropTypes = checkPropTypes;
5902 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
5903 ReactPropTypes.PropTypes = ReactPropTypes;
5904
5905 return ReactPropTypes;
5906 };
5907
5908
5909 /***/ }),
5910
5911 /***/ "../node_modules/prop-types/index.js":
5912 /*!*******************************************!*\
5913 !*** ../node_modules/prop-types/index.js ***!
5914 \*******************************************/
5915 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5916
5917 /**
5918 * Copyright (c) 2013-present, Facebook, Inc.
5919 *
5920 * This source code is licensed under the MIT license found in the
5921 * LICENSE file in the root directory of this source tree.
5922 */
5923
5924 if (true) {
5925 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
5926
5927 // By explicitly using `prop-types` you are opting into new development behavior.
5928 // http://fb.me/prop-types-in-prod
5929 var throwOnDirectAccess = true;
5930 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
5931 } else // removed by dead control flow
5932 {}
5933
5934
5935 /***/ }),
5936
5937 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
5938 /*!**************************************************************!*\
5939 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
5940 \**************************************************************/
5941 /***/ ((module) => {
5942
5943 "use strict";
5944 /**
5945 * Copyright (c) 2013-present, Facebook, Inc.
5946 *
5947 * This source code is licensed under the MIT license found in the
5948 * LICENSE file in the root directory of this source tree.
5949 */
5950
5951
5952
5953 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
5954
5955 module.exports = ReactPropTypesSecret;
5956
5957
5958 /***/ }),
5959
5960 /***/ "../node_modules/prop-types/lib/has.js":
5961 /*!*********************************************!*\
5962 !*** ../node_modules/prop-types/lib/has.js ***!
5963 \*********************************************/
5964 /***/ ((module) => {
5965
5966 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
5967
5968
5969 /***/ }),
5970
5971 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
5972 /*!************************************************************************************!*\
5973 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
5974 \************************************************************************************/
5975 /***/ ((__unused_webpack_module, exports) => {
5976
5977 "use strict";
5978 /** @license React v16.13.1
5979 * react-is.development.js
5980 *
5981 * Copyright (c) Facebook, Inc. and its affiliates.
5982 *
5983 * This source code is licensed under the MIT license found in the
5984 * LICENSE file in the root directory of this source tree.
5985 */
5986
5987
5988
5989
5990
5991 if (true) {
5992 (function() {
5993 'use strict';
5994
5995 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
5996 // nor polyfill, then a plain number is used for performance.
5997 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
5998 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
5999 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6000 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6001 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6002 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6003 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6004 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6005 // (unstable) APIs that have been removed. Can we remove the symbols?
6006
6007 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6008 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6009 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6010 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6011 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6012 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6013 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6014 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6015 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6016 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6017 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6018
6019 function isValidElementType(type) {
6020 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6021 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);
6022 }
6023
6024 function typeOf(object) {
6025 if (typeof object === 'object' && object !== null) {
6026 var $$typeof = object.$$typeof;
6027
6028 switch ($$typeof) {
6029 case REACT_ELEMENT_TYPE:
6030 var type = object.type;
6031
6032 switch (type) {
6033 case REACT_ASYNC_MODE_TYPE:
6034 case REACT_CONCURRENT_MODE_TYPE:
6035 case REACT_FRAGMENT_TYPE:
6036 case REACT_PROFILER_TYPE:
6037 case REACT_STRICT_MODE_TYPE:
6038 case REACT_SUSPENSE_TYPE:
6039 return type;
6040
6041 default:
6042 var $$typeofType = type && type.$$typeof;
6043
6044 switch ($$typeofType) {
6045 case REACT_CONTEXT_TYPE:
6046 case REACT_FORWARD_REF_TYPE:
6047 case REACT_LAZY_TYPE:
6048 case REACT_MEMO_TYPE:
6049 case REACT_PROVIDER_TYPE:
6050 return $$typeofType;
6051
6052 default:
6053 return $$typeof;
6054 }
6055
6056 }
6057
6058 case REACT_PORTAL_TYPE:
6059 return $$typeof;
6060 }
6061 }
6062
6063 return undefined;
6064 } // AsyncMode is deprecated along with isAsyncMode
6065
6066 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6067 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6068 var ContextConsumer = REACT_CONTEXT_TYPE;
6069 var ContextProvider = REACT_PROVIDER_TYPE;
6070 var Element = REACT_ELEMENT_TYPE;
6071 var ForwardRef = REACT_FORWARD_REF_TYPE;
6072 var Fragment = REACT_FRAGMENT_TYPE;
6073 var Lazy = REACT_LAZY_TYPE;
6074 var Memo = REACT_MEMO_TYPE;
6075 var Portal = REACT_PORTAL_TYPE;
6076 var Profiler = REACT_PROFILER_TYPE;
6077 var StrictMode = REACT_STRICT_MODE_TYPE;
6078 var Suspense = REACT_SUSPENSE_TYPE;
6079 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6080
6081 function isAsyncMode(object) {
6082 {
6083 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6084 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6085
6086 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.');
6087 }
6088 }
6089
6090 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6091 }
6092 function isConcurrentMode(object) {
6093 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6094 }
6095 function isContextConsumer(object) {
6096 return typeOf(object) === REACT_CONTEXT_TYPE;
6097 }
6098 function isContextProvider(object) {
6099 return typeOf(object) === REACT_PROVIDER_TYPE;
6100 }
6101 function isElement(object) {
6102 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6103 }
6104 function isForwardRef(object) {
6105 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6106 }
6107 function isFragment(object) {
6108 return typeOf(object) === REACT_FRAGMENT_TYPE;
6109 }
6110 function isLazy(object) {
6111 return typeOf(object) === REACT_LAZY_TYPE;
6112 }
6113 function isMemo(object) {
6114 return typeOf(object) === REACT_MEMO_TYPE;
6115 }
6116 function isPortal(object) {
6117 return typeOf(object) === REACT_PORTAL_TYPE;
6118 }
6119 function isProfiler(object) {
6120 return typeOf(object) === REACT_PROFILER_TYPE;
6121 }
6122 function isStrictMode(object) {
6123 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6124 }
6125 function isSuspense(object) {
6126 return typeOf(object) === REACT_SUSPENSE_TYPE;
6127 }
6128
6129 exports.AsyncMode = AsyncMode;
6130 exports.ConcurrentMode = ConcurrentMode;
6131 exports.ContextConsumer = ContextConsumer;
6132 exports.ContextProvider = ContextProvider;
6133 exports.Element = Element;
6134 exports.ForwardRef = ForwardRef;
6135 exports.Fragment = Fragment;
6136 exports.Lazy = Lazy;
6137 exports.Memo = Memo;
6138 exports.Portal = Portal;
6139 exports.Profiler = Profiler;
6140 exports.StrictMode = StrictMode;
6141 exports.Suspense = Suspense;
6142 exports.isAsyncMode = isAsyncMode;
6143 exports.isConcurrentMode = isConcurrentMode;
6144 exports.isContextConsumer = isContextConsumer;
6145 exports.isContextProvider = isContextProvider;
6146 exports.isElement = isElement;
6147 exports.isForwardRef = isForwardRef;
6148 exports.isFragment = isFragment;
6149 exports.isLazy = isLazy;
6150 exports.isMemo = isMemo;
6151 exports.isPortal = isPortal;
6152 exports.isProfiler = isProfiler;
6153 exports.isStrictMode = isStrictMode;
6154 exports.isSuspense = isSuspense;
6155 exports.isValidElementType = isValidElementType;
6156 exports.typeOf = typeOf;
6157 })();
6158 }
6159
6160
6161 /***/ }),
6162
6163 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
6164 /*!*****************************************************************!*\
6165 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
6166 \*****************************************************************/
6167 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6168
6169 "use strict";
6170
6171
6172 if (false) // removed by dead control flow
6173 {} else {
6174 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
6175 }
6176
6177
6178 /***/ }),
6179
6180 /***/ "../node_modules/react-dom/client.js":
6181 /*!*******************************************!*\
6182 !*** ../node_modules/react-dom/client.js ***!
6183 \*******************************************/
6184 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6185
6186 "use strict";
6187
6188
6189 var m = __webpack_require__(/*! react-dom */ "react-dom");
6190 if (false) // removed by dead control flow
6191 {} else {
6192 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
6193 exports.createRoot = function(c, o) {
6194 i.usingClientEntryPoint = true;
6195 try {
6196 return m.createRoot(c, o);
6197 } finally {
6198 i.usingClientEntryPoint = false;
6199 }
6200 };
6201 exports.hydrateRoot = function(c, h, o) {
6202 i.usingClientEntryPoint = true;
6203 try {
6204 return m.hydrateRoot(c, h, o);
6205 } finally {
6206 i.usingClientEntryPoint = false;
6207 }
6208 };
6209 }
6210
6211
6212 /***/ }),
6213
6214 /***/ "../node_modules/tslib/tslib.es6.mjs":
6215 /*!*******************************************!*\
6216 !*** ../node_modules/tslib/tslib.es6.mjs ***!
6217 \*******************************************/
6218 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6219
6220 "use strict";
6221 __webpack_require__.r(__webpack_exports__);
6222 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6223 /* harmony export */ __addDisposableResource: () => (/* binding */ __addDisposableResource),
6224 /* harmony export */ __assign: () => (/* binding */ __assign),
6225 /* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),
6226 /* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),
6227 /* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),
6228 /* harmony export */ __await: () => (/* binding */ __await),
6229 /* harmony export */ __awaiter: () => (/* binding */ __awaiter),
6230 /* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),
6231 /* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn),
6232 /* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),
6233 /* harmony export */ __createBinding: () => (/* binding */ __createBinding),
6234 /* harmony export */ __decorate: () => (/* binding */ __decorate),
6235 /* harmony export */ __disposeResources: () => (/* binding */ __disposeResources),
6236 /* harmony export */ __esDecorate: () => (/* binding */ __esDecorate),
6237 /* harmony export */ __exportStar: () => (/* binding */ __exportStar),
6238 /* harmony export */ __extends: () => (/* binding */ __extends),
6239 /* harmony export */ __generator: () => (/* binding */ __generator),
6240 /* harmony export */ __importDefault: () => (/* binding */ __importDefault),
6241 /* harmony export */ __importStar: () => (/* binding */ __importStar),
6242 /* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),
6243 /* harmony export */ __metadata: () => (/* binding */ __metadata),
6244 /* harmony export */ __param: () => (/* binding */ __param),
6245 /* harmony export */ __propKey: () => (/* binding */ __propKey),
6246 /* harmony export */ __read: () => (/* binding */ __read),
6247 /* harmony export */ __rest: () => (/* binding */ __rest),
6248 /* harmony export */ __rewriteRelativeImportExtension: () => (/* binding */ __rewriteRelativeImportExtension),
6249 /* harmony export */ __runInitializers: () => (/* binding */ __runInitializers),
6250 /* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName),
6251 /* harmony export */ __spread: () => (/* binding */ __spread),
6252 /* harmony export */ __spreadArray: () => (/* binding */ __spreadArray),
6253 /* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),
6254 /* harmony export */ __values: () => (/* binding */ __values),
6255 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6256 /* harmony export */ });
6257 /******************************************************************************
6258 Copyright (c) Microsoft Corporation.
6259
6260 Permission to use, copy, modify, and/or distribute this software for any
6261 purpose with or without fee is hereby granted.
6262
6263 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
6264 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
6265 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
6266 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
6267 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
6268 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
6269 PERFORMANCE OF THIS SOFTWARE.
6270 ***************************************************************************** */
6271 /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
6272
6273 var extendStatics = function(d, b) {
6274 extendStatics = Object.setPrototypeOf ||
6275 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6276 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6277 return extendStatics(d, b);
6278 };
6279
6280 function __extends(d, b) {
6281 if (typeof b !== "function" && b !== null)
6282 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
6283 extendStatics(d, b);
6284 function __() { this.constructor = d; }
6285 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6286 }
6287
6288 var __assign = function() {
6289 __assign = Object.assign || function __assign(t) {
6290 for (var s, i = 1, n = arguments.length; i < n; i++) {
6291 s = arguments[i];
6292 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
6293 }
6294 return t;
6295 }
6296 return __assign.apply(this, arguments);
6297 }
6298
6299 function __rest(s, e) {
6300 var t = {};
6301 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
6302 t[p] = s[p];
6303 if (s != null && typeof Object.getOwnPropertySymbols === "function")
6304 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6305 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
6306 t[p[i]] = s[p[i]];
6307 }
6308 return t;
6309 }
6310
6311 function __decorate(decorators, target, key, desc) {
6312 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6313 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6314 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6315 return c > 3 && r && Object.defineProperty(target, key, r), r;
6316 }
6317
6318 function __param(paramIndex, decorator) {
6319 return function (target, key) { decorator(target, key, paramIndex); }
6320 }
6321
6322 function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
6323 function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
6324 var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
6325 var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6326 var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6327 var _, done = false;
6328 for (var i = decorators.length - 1; i >= 0; i--) {
6329 var context = {};
6330 for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
6331 for (var p in contextIn.access) context.access[p] = contextIn.access[p];
6332 context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
6333 var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
6334 if (kind === "accessor") {
6335 if (result === void 0) continue;
6336 if (result === null || typeof result !== "object") throw new TypeError("Object expected");
6337 if (_ = accept(result.get)) descriptor.get = _;
6338 if (_ = accept(result.set)) descriptor.set = _;
6339 if (_ = accept(result.init)) initializers.unshift(_);
6340 }
6341 else if (_ = accept(result)) {
6342 if (kind === "field") initializers.unshift(_);
6343 else descriptor[key] = _;
6344 }
6345 }
6346 if (target) Object.defineProperty(target, contextIn.name, descriptor);
6347 done = true;
6348 };
6349
6350 function __runInitializers(thisArg, initializers, value) {
6351 var useValue = arguments.length > 2;
6352 for (var i = 0; i < initializers.length; i++) {
6353 value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6354 }
6355 return useValue ? value : void 0;
6356 };
6357
6358 function __propKey(x) {
6359 return typeof x === "symbol" ? x : "".concat(x);
6360 };
6361
6362 function __setFunctionName(f, name, prefix) {
6363 if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
6364 return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
6365 };
6366
6367 function __metadata(metadataKey, metadataValue) {
6368 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
6369 }
6370
6371 function __awaiter(thisArg, _arguments, P, generator) {
6372 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6373 return new (P || (P = Promise))(function (resolve, reject) {
6374 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6375 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6376 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
6377 step((generator = generator.apply(thisArg, _arguments || [])).next());
6378 });
6379 }
6380
6381 function __generator(thisArg, body) {
6382 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
6383 return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
6384 function verb(n) { return function (v) { return step([n, v]); }; }
6385 function step(op) {
6386 if (f) throw new TypeError("Generator is already executing.");
6387 while (g && (g = 0, op[0] && (_ = 0)), _) try {
6388 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
6389 if (y = 0, t) op = [op[0] & 2, t.value];
6390 switch (op[0]) {
6391 case 0: case 1: t = op; break;
6392 case 4: _.label++; return { value: op[1], done: false };
6393 case 5: _.label++; y = op[1]; op = [0]; continue;
6394 case 7: op = _.ops.pop(); _.trys.pop(); continue;
6395 default:
6396 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
6397 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
6398 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
6399 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
6400 if (t[2]) _.ops.pop();
6401 _.trys.pop(); continue;
6402 }
6403 op = body.call(thisArg, _);
6404 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
6405 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
6406 }
6407 }
6408
6409 var __createBinding = Object.create ? (function(o, m, k, k2) {
6410 if (k2 === undefined) k2 = k;
6411 var desc = Object.getOwnPropertyDescriptor(m, k);
6412 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6413 desc = { enumerable: true, get: function() { return m[k]; } };
6414 }
6415 Object.defineProperty(o, k2, desc);
6416 }) : (function(o, m, k, k2) {
6417 if (k2 === undefined) k2 = k;
6418 o[k2] = m[k];
6419 });
6420
6421 function __exportStar(m, o) {
6422 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
6423 }
6424
6425 function __values(o) {
6426 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
6427 if (m) return m.call(o);
6428 if (o && typeof o.length === "number") return {
6429 next: function () {
6430 if (o && i >= o.length) o = void 0;
6431 return { value: o && o[i++], done: !o };
6432 }
6433 };
6434 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
6435 }
6436
6437 function __read(o, n) {
6438 var m = typeof Symbol === "function" && o[Symbol.iterator];
6439 if (!m) return o;
6440 var i = m.call(o), r, ar = [], e;
6441 try {
6442 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
6443 }
6444 catch (error) { e = { error: error }; }
6445 finally {
6446 try {
6447 if (r && !r.done && (m = i["return"])) m.call(i);
6448 }
6449 finally { if (e) throw e.error; }
6450 }
6451 return ar;
6452 }
6453
6454 /** @deprecated */
6455 function __spread() {
6456 for (var ar = [], i = 0; i < arguments.length; i++)
6457 ar = ar.concat(__read(arguments[i]));
6458 return ar;
6459 }
6460
6461 /** @deprecated */
6462 function __spreadArrays() {
6463 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
6464 for (var r = Array(s), k = 0, i = 0; i < il; i++)
6465 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6466 r[k] = a[j];
6467 return r;
6468 }
6469
6470 function __spreadArray(to, from, pack) {
6471 if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
6472 if (ar || !(i in from)) {
6473 if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6474 ar[i] = from[i];
6475 }
6476 }
6477 return to.concat(ar || Array.prototype.slice.call(from));
6478 }
6479
6480 function __await(v) {
6481 return this instanceof __await ? (this.v = v, this) : new __await(v);
6482 }
6483
6484 function __asyncGenerator(thisArg, _arguments, generator) {
6485 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
6486 var g = generator.apply(thisArg, _arguments || []), i, q = [];
6487 return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
6488 function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
6489 function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
6490 function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
6491 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
6492 function fulfill(value) { resume("next", value); }
6493 function reject(value) { resume("throw", value); }
6494 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
6495 }
6496
6497 function __asyncDelegator(o) {
6498 var i, p;
6499 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
6500 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
6501 }
6502
6503 function __asyncValues(o) {
6504 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
6505 var m = o[Symbol.asyncIterator], i;
6506 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6507 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
6508 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
6509 }
6510
6511 function __makeTemplateObject(cooked, raw) {
6512 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
6513 return cooked;
6514 };
6515
6516 var __setModuleDefault = Object.create ? (function(o, v) {
6517 Object.defineProperty(o, "default", { enumerable: true, value: v });
6518 }) : function(o, v) {
6519 o["default"] = v;
6520 };
6521
6522 var ownKeys = function(o) {
6523 ownKeys = Object.getOwnPropertyNames || function (o) {
6524 var ar = [];
6525 for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
6526 return ar;
6527 };
6528 return ownKeys(o);
6529 };
6530
6531 function __importStar(mod) {
6532 if (mod && mod.__esModule) return mod;
6533 var result = {};
6534 if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
6535 __setModuleDefault(result, mod);
6536 return result;
6537 }
6538
6539 function __importDefault(mod) {
6540 return (mod && mod.__esModule) ? mod : { default: mod };
6541 }
6542
6543 function __classPrivateFieldGet(receiver, state, kind, f) {
6544 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
6545 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
6546 return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6547 }
6548
6549 function __classPrivateFieldSet(receiver, state, value, kind, f) {
6550 if (kind === "m") throw new TypeError("Private method is not writable");
6551 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
6552 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6553 return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6554 }
6555
6556 function __classPrivateFieldIn(state, receiver) {
6557 if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
6558 return typeof state === "function" ? receiver === state : state.has(receiver);
6559 }
6560
6561 function __addDisposableResource(env, value, async) {
6562 if (value !== null && value !== void 0) {
6563 if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
6564 var dispose, inner;
6565 if (async) {
6566 if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
6567 dispose = value[Symbol.asyncDispose];
6568 }
6569 if (dispose === void 0) {
6570 if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
6571 dispose = value[Symbol.dispose];
6572 if (async) inner = dispose;
6573 }
6574 if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
6575 if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
6576 env.stack.push({ value: value, dispose: dispose, async: async });
6577 }
6578 else if (async) {
6579 env.stack.push({ async: true });
6580 }
6581 return value;
6582 }
6583
6584 var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
6585 var e = new Error(message);
6586 return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
6587 };
6588
6589 function __disposeResources(env) {
6590 function fail(e) {
6591 env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
6592 env.hasError = true;
6593 }
6594 var r, s = 0;
6595 function next() {
6596 while (r = env.stack.pop()) {
6597 try {
6598 if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
6599 if (r.dispose) {
6600 var result = r.dispose.call(r.value);
6601 if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
6602 }
6603 else s |= 1;
6604 }
6605 catch (e) {
6606 fail(e);
6607 }
6608 }
6609 if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
6610 if (env.hasError) throw env.error;
6611 }
6612 return next();
6613 }
6614
6615 function __rewriteRelativeImportExtension(path, preserveJsx) {
6616 if (typeof path === "string" && /^\.\.?\//.test(path)) {
6617 return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
6618 return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
6619 });
6620 }
6621 return path;
6622 }
6623
6624 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
6625 __extends,
6626 __assign,
6627 __rest,
6628 __decorate,
6629 __param,
6630 __esDecorate,
6631 __runInitializers,
6632 __propKey,
6633 __setFunctionName,
6634 __metadata,
6635 __awaiter,
6636 __generator,
6637 __createBinding,
6638 __exportStar,
6639 __values,
6640 __read,
6641 __spread,
6642 __spreadArrays,
6643 __spreadArray,
6644 __await,
6645 __asyncGenerator,
6646 __asyncDelegator,
6647 __asyncValues,
6648 __makeTemplateObject,
6649 __importStar,
6650 __importDefault,
6651 __classPrivateFieldGet,
6652 __classPrivateFieldSet,
6653 __classPrivateFieldIn,
6654 __addDisposableResource,
6655 __disposeResources,
6656 __rewriteRelativeImportExtension,
6657 });
6658
6659
6660 /***/ }),
6661
6662 /***/ "@elementor/icons":
6663 /*!************************************!*\
6664 !*** external "elementorV2.icons" ***!
6665 \************************************/
6666 /***/ ((module) => {
6667
6668 "use strict";
6669 module.exports = elementorV2.icons;
6670
6671 /***/ }),
6672
6673 /***/ "@elementor/ui":
6674 /*!*********************************!*\
6675 !*** external "elementorV2.ui" ***!
6676 \*********************************/
6677 /***/ ((module) => {
6678
6679 "use strict";
6680 module.exports = elementorV2.ui;
6681
6682 /***/ }),
6683
6684 /***/ "@wordpress/components":
6685 /*!********************************!*\
6686 !*** external "wp.components" ***!
6687 \********************************/
6688 /***/ ((module) => {
6689
6690 "use strict";
6691 module.exports = wp.components;
6692
6693 /***/ }),
6694
6695 /***/ "@wordpress/dom-ready":
6696 /*!******************************!*\
6697 !*** external "wp.domReady" ***!
6698 \******************************/
6699 /***/ ((module) => {
6700
6701 "use strict";
6702 module.exports = wp.domReady;
6703
6704 /***/ }),
6705
6706 /***/ "@wordpress/i18n":
6707 /*!**************************!*\
6708 !*** external "wp.i18n" ***!
6709 \**************************/
6710 /***/ ((module) => {
6711
6712 "use strict";
6713 module.exports = wp.i18n;
6714
6715 /***/ }),
6716
6717 /***/ "react":
6718 /*!************************!*\
6719 !*** external "React" ***!
6720 \************************/
6721 /***/ ((module) => {
6722
6723 "use strict";
6724 module.exports = React;
6725
6726 /***/ }),
6727
6728 /***/ "react-dom":
6729 /*!***************************!*\
6730 !*** external "ReactDOM" ***!
6731 \***************************/
6732 /***/ ((module) => {
6733
6734 "use strict";
6735 module.exports = ReactDOM;
6736
6737 /***/ })
6738
6739 /******/ });
6740 /************************************************************************/
6741 /******/ // The module cache
6742 /******/ var __webpack_module_cache__ = {};
6743 /******/
6744 /******/ // The require function
6745 /******/ function __webpack_require__(moduleId) {
6746 /******/ // Check if module is in cache
6747 /******/ var cachedModule = __webpack_module_cache__[moduleId];
6748 /******/ if (cachedModule !== undefined) {
6749 /******/ return cachedModule.exports;
6750 /******/ }
6751 /******/ // Create a new module (and put it into the cache)
6752 /******/ var module = __webpack_module_cache__[moduleId] = {
6753 /******/ // no module.id needed
6754 /******/ // no module.loaded needed
6755 /******/ exports: {}
6756 /******/ };
6757 /******/
6758 /******/ // Execute the module function
6759 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
6760 /******/
6761 /******/ // Return the exports of the module
6762 /******/ return module.exports;
6763 /******/ }
6764 /******/
6765 /************************************************************************/
6766 /******/ /* webpack/runtime/compat get default export */
6767 /******/ (() => {
6768 /******/ // getDefaultExport function for compatibility with non-harmony modules
6769 /******/ __webpack_require__.n = (module) => {
6770 /******/ var getter = module && module.__esModule ?
6771 /******/ () => (module['default']) :
6772 /******/ () => (module);
6773 /******/ __webpack_require__.d(getter, { a: getter });
6774 /******/ return getter;
6775 /******/ };
6776 /******/ })();
6777 /******/
6778 /******/ /* webpack/runtime/define property getters */
6779 /******/ (() => {
6780 /******/ // define getter functions for harmony exports
6781 /******/ __webpack_require__.d = (exports, definition) => {
6782 /******/ for(var key in definition) {
6783 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
6784 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
6785 /******/ }
6786 /******/ }
6787 /******/ };
6788 /******/ })();
6789 /******/
6790 /******/ /* webpack/runtime/hasOwnProperty shorthand */
6791 /******/ (() => {
6792 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
6793 /******/ })();
6794 /******/
6795 /******/ /* webpack/runtime/make namespace object */
6796 /******/ (() => {
6797 /******/ // define __esModule on exports
6798 /******/ __webpack_require__.r = (exports) => {
6799 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
6800 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6801 /******/ }
6802 /******/ Object.defineProperty(exports, '__esModule', { value: true });
6803 /******/ };
6804 /******/ })();
6805 /******/
6806 /************************************************************************/
6807 var __webpack_exports__ = {};
6808 // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
6809 (() => {
6810 "use strict";
6811 /*!*****************************************************!*\
6812 !*** ../modules/element-manager/assets/js/admin.js ***!
6813 \*****************************************************/
6814
6815
6816 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6817 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6818 var _element = __webpack_require__(/*! @wordpress/element */ "../node_modules/@wordpress/element/build-module/index.js");
6819 var _domReady = _interopRequireDefault(__webpack_require__(/*! @wordpress/dom-ready */ "@wordpress/dom-ready"));
6820 var _appEditorOne = __webpack_require__(/*! ./app-editor-one */ "../modules/element-manager/assets/js/app-editor-one/index.js");
6821 var _app = __webpack_require__(/*! ./app */ "../modules/element-manager/assets/js/app.js");
6822 (0, _domReady.default)(function () {
6823 var _elementorCommon$conf;
6824 var htmlOutput = document.getElementById('elementor-element-manager-wrap');
6825 if (!htmlOutput) {
6826 return;
6827 }
6828 var isEditorOneEnabled = typeof elementorCommon !== 'undefined' && true === ((_elementorCommon$conf = elementorCommon.config) === null || _elementorCommon$conf === void 0 || (_elementorCommon$conf = _elementorCommon$conf.experimentalFeatures) === null || _elementorCommon$conf === void 0 ? void 0 : _elementorCommon$conf.e_editor_one);
6829 var root = (0, _element.createRoot)(htmlOutput);
6830 if (isEditorOneEnabled) {
6831 root.render(/*#__PURE__*/_react.default.createElement(_appEditorOne.AppModern, null));
6832 } else {
6833 root.render(/*#__PURE__*/_react.default.createElement(_app.AppLegacy, null));
6834 }
6835 });
6836 })();
6837
6838 /******/ })()
6839 ;
6840 //# sourceMappingURL=element-manager-admin.js.map