PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.0-dev2
Elementor Website Builder – more than just a page builder v3.32.0-dev2
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | assets/js/element-manager-admin.js +645 -2606 4.2.13.32.0-dev2 View file →
@@ -1,4 +1,5 @@
1 +/*! elementor - v3.32.0 - 03-09-2025 */
1 2 /******/ (() => { // webpackBootstrap
2 3 /******/ var __webpack_modules__ = ({
3 4
4 5 /***/ "../modules/element-manager/assets/js/api.js":
@@ -191,12 +192,12 @@
191 192 }();
192 193
193 194 /***/ }),
194 195
195 -/***/ "../modules/element-manager/assets/js/app-editor-one/App.js":
196 -/*!******************************************************************!*\
197 - !*** ../modules/element-manager/assets/js/app-editor-one/App.js ***!
198 - \******************************************************************/
196 +/***/ "../modules/element-manager/assets/js/app.js":
197 +/*!***************************************************!*\
198 + !*** ../modules/element-manager/assets/js/app.js ***!
199 + \***************************************************/
199 200 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
200 201
201 202 "use strict";
202 203
@@ -201,1285 +202,200 @@
201 202 "use strict";
202 203
203 204
204 205 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 206 Object.defineProperty(exports, "__esModule", ({
207 207 value: true
208 208 }));
209 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 210 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: 0,
841 - '@media screen and (max-width: 782px)': {
842 - top: 'calc(var(--e-admin-bar-height, 0px) + var(--e-top-bar-header-height, 0px))'
843 - },
844 - backgroundColor: 'var(--e-one-palette-background-default)',
845 - zIndex: 10,
846 - paddingBlock: 2,
847 - paddingInline: 2,
848 - boxShadow: 'rgba(0, 0, 0, 0.15) 0 5px 10px 0',
849 - marginBottom: theme.spacing(1)
850 - };
851 - }
852 - }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
853 - direction: "row",
854 - alignItems: "center",
855 - flexWrap: "wrap",
856 - gap: 1.5,
857 - sx: {
858 - flex: 1
859 - }
860 - }, /*#__PURE__*/_react.default.createElement(StyledTextField, {
861 - color: "secondary",
862 - value: searchKeyword,
863 - size: "small",
864 - placeholder: (0, _i18n.__)('Search', 'elementor'),
865 - onChange: function onChange(e) {
866 - return onSearchChange(e.target.value);
867 - },
868 - sx: function sx(theme) {
869 - return {
870 - minWidth: theme.spacing(14)
871 - };
872 - }
873 - }), /*#__PURE__*/_react.default.createElement(StyledFormControl, {
874 - size: "small",
875 - sx: function sx(theme) {
876 - return {
877 - width: theme.spacing(20)
878 - };
879 - },
880 - color: "secondary"
881 - }, /*#__PURE__*/_react.default.createElement(_ui.Select, {
882 - placeholder: (0, _i18n.__)('Plugin', 'elementor'),
883 - value: filterByPlugin,
884 - onChange: function onChange(event) {
885 - return onPluginFilterChange(event.target.value);
886 - },
887 - "data-id": "elementor-element-manager-select-filter-by-plugin",
888 - displayEmpty: true,
889 - renderValue: function renderValue(value) {
890 - if ('' === value) {
891 - return (0, _i18n.__)('All Plugins', 'elementor');
892 - }
893 - var selectedPlugin = plugins.find(function (p) {
894 - return p.value === value;
895 - });
896 - return selectedPlugin ? selectedPlugin.label : value;
897 - }
898 - }, /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
899 - value: ""
900 - }, (0, _i18n.__)('All Plugins', 'elementor')), plugins.map(function (plugin) {
901 - return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
902 - key: plugin.value,
903 - value: plugin.value
904 - }, plugin.label);
905 - }))), /*#__PURE__*/_react.default.createElement(StyledFormControl, {
906 - size: "small",
907 - sx: function sx(theme) {
908 - return {
909 - width: theme.spacing(20)
910 - };
911 - },
912 - color: "secondary"
913 - }, /*#__PURE__*/_react.default.createElement(_ui.Select, {
914 - value: filterByStatus,
915 - onChange: function onChange(event) {
916 - return onStatusFilterChange(event.target.value);
917 - },
918 - "data-id": "elementor-element-manager-select-filter-by-status",
919 - placeholder: (0, _i18n.__)('Status', 'elementor')
920 - }, /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
921 - value: "all"
922 - }, (0, _i18n.__)('All Statuses', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
923 - value: "active"
924 - }, (0, _i18n.__)('Active', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
925 - value: "inactive"
926 - }, (0, _i18n.__)('Inactive', 'elementor')))), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
927 - orientation: "vertical",
928 - flexItem: true,
929 - sx: {
930 - height: FIELD_HEIGHT,
931 - marginBlock: 0,
932 - marginInline: 0.5,
933 - alignSelf: 'center',
934 - display: {
935 - xs: 'none',
936 - md: 'block'
937 - }
938 - }
939 - }), /*#__PURE__*/_react.default.createElement(StyledButton, {
940 - variant: "outlined",
941 - color: "secondary",
942 - size: "small",
943 - disabled: usageIsLoading,
944 - onClick: onScanUsage,
945 - "data-id": "e-id-elementor-element-manager-button-scan-element-usage",
946 - loading: usageIsLoading
947 - }, (0, _i18n.__)('Scan Element Usage', 'elementor')), /*#__PURE__*/_react.default.createElement(StyledButton, {
948 - variant: "outlined",
949 - color: "secondary",
950 - size: "small",
951 - onClick: onDeactivateUnused,
952 - disabled: null === usageData,
953 - "data-id": "e-id-elementor-element-manager-button-deactivate-unused-elements"
954 - }, (0, _i18n.__)('Deactivate Unused Elements', 'elementor')), /*#__PURE__*/_react.default.createElement(StyledButton, {
955 - variant: "outlined",
956 - color: "secondary",
957 - size: "small",
958 - disabled: !widgetsDisabledCount,
959 - onClick: onEnableAll,
960 - "data-id": "e-id-elementor-element-manager-button-enable-all"
961 - }, (0, _i18n.__)('Enable All', 'elementor'))), /*#__PURE__*/_react.default.createElement(StyledButton, {
962 - variant: "contained",
963 - size: "small",
964 - disabled: isSaving || !hasUnsavedChanges,
965 - onClick: onSaveChanges,
966 - "data-id": "e-id-elementor-element-manager-button-save-changes",
967 - loading: isSaving,
968 - sx: {
969 - alignSelf: 'flex-start'
970 - }
971 - }, (0, _i18n.__)('Save Changes', 'elementor')));
972 -};
973 -SearchFilters.propTypes = {
974 - searchKeyword: _propTypes.default.string.isRequired,
975 - onSearchChange: _propTypes.default.func.isRequired,
976 - filterByPlugin: _propTypes.default.string.isRequired,
977 - onPluginFilterChange: _propTypes.default.func.isRequired,
978 - filterByStatus: _propTypes.default.string.isRequired,
979 - onStatusFilterChange: _propTypes.default.func.isRequired,
980 - plugins: _propTypes.default.arrayOf(_propTypes.default.shape({
981 - label: _propTypes.default.string.isRequired,
982 - value: _propTypes.default.string.isRequired
983 - })).isRequired,
984 - usageIsLoading: _propTypes.default.bool,
985 - usageData: _propTypes.default.object,
986 - widgetsDisabledCount: _propTypes.default.number.isRequired,
987 - onScanUsage: _propTypes.default.func.isRequired,
988 - onDeactivateUnused: _propTypes.default.func.isRequired,
989 - onEnableAll: _propTypes.default.func.isRequired,
990 - onSaveChanges: _propTypes.default.func.isRequired,
991 - isSaving: _propTypes.default.bool,
992 - hasUnsavedChanges: _propTypes.default.bool
993 -};
994 -
995 -/***/ }),
996 -
997 -/***/ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js":
998 -/*!******************************************************************************************!*\
999 - !*** ../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js ***!
1000 - \******************************************************************************************/
1001 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1002 -
1003 -"use strict";
1004 -
1005 -
1006 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1007 -Object.defineProperty(exports, "__esModule", ({
1008 - value: true
1009 -}));
1010 -exports.UsageTimesColumn = void 0;
1011 -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1012 -var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1013 -var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1014 -var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1015 -var UsageTimesColumn = exports.UsageTimesColumn = function UsageTimesColumn(_ref) {
1016 - var widgetName = _ref.widgetName,
1017 - usageData = _ref.usageData,
1018 - isLoading = _ref.isLoading,
1019 - getWidgetUsage = _ref.getWidgetUsage,
1020 - onScanClick = _ref.onScanClick;
1021 - if (null !== usageData) {
1022 - return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getWidgetUsage(widgetName), " ", (0, _i18n.__)('times', 'elementor'));
1023 - }
1024 - if (isLoading) {
1025 - return /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
1026 - color: "secondary",
1027 - size: 20
1028 - });
1029 - }
1030 - return /*#__PURE__*/_react.default.createElement(_ui.Button, {
1031 - onClick: onScanClick,
1032 - size: "small",
1033 - variant: "outlined",
1034 - color: "secondary",
1035 - className: "e-id-elementor-element-manager-button-show-usage",
1036 - sx: {
1037 - minWidth: function minWidth(theme) {
1038 - return theme.spacing(6);
1039 - },
1040 - height: 26
1041 - }
1042 - }, (0, _i18n.__)('Show', 'elementor'));
1043 -};
1044 -UsageTimesColumn.propTypes = {
1045 - widgetName: _propTypes.default.string.isRequired,
1046 - usageData: _propTypes.default.object,
1047 - isLoading: _propTypes.default.bool,
1048 - getWidgetUsage: _propTypes.default.func.isRequired,
1049 - onScanClick: _propTypes.default.func.isRequired
1050 -};
1051 -
1052 -/***/ }),
1053 -
1054 -/***/ "../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js":
1055 -/*!**************************************************************************************!*\
1056 - !*** ../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js ***!
1057 - \**************************************************************************************/
1058 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1059 -
1060 -"use strict";
1061 -
1062 -
1063 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1064 -Object.defineProperty(exports, "__esModule", ({
1065 - value: true
1066 -}));
1067 -exports.WidgetsTable = void 0;
1068 -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1069 -var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1070 -var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1071 -var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1072 -var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1073 -var _upgradeButton = __webpack_require__(/*! ../../upgrade-button */ "../modules/element-manager/assets/js/upgrade-button.js");
1074 -var _RolePermissions = __webpack_require__(/*! ./RolePermissions */ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js");
1075 -var _UsageTimesColumn = __webpack_require__(/*! ./UsageTimesColumn */ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js");
1076 -var StyledSwitch = (0, _ui.styled)(_ui.Switch)({
1077 - '& .MuiSwitch-track': {
1078 - backgroundColor: 'rgba(0, 0, 0, 0.12);'
1079 - },
1080 - '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {
1081 - backgroundColor: '#000'
1082 - },
1083 - '& .MuiSwitch-switchBase:not(.Mui-checked) .MuiSwitch-thumb': {
1084 - backgroundColor: '#D5D8DC'
1085 - },
1086 - '& .MuiSwitch-switchBase.Mui-checked .MuiSwitch-thumb': {
1087 - backgroundColor: '#fff'
1088 - }
1089 -});
1090 -var WidgetsTable = exports.WidgetsTable = function WidgetsTable(_ref) {
1091 - var widgets = _ref.widgets,
1092 - widgetsDisabled = _ref.widgetsDisabled,
1093 - widgetsRoleRestrictions = _ref.widgetsRoleRestrictions,
1094 - setWidgetsRoleRestrictions = _ref.setWidgetsRoleRestrictions,
1095 - roles = _ref.roles,
1096 - promotionWidgets = _ref.promotionWidgets,
1097 - promotionData = _ref.promotionData,
1098 - usageWidgets = _ref.usageWidgets,
1099 - getWidgetUsage = _ref.getWidgetUsage,
1100 - onScanUsage = _ref.onScanUsage,
1101 - onToggleWidget = _ref.onToggleWidget,
1102 - getSortingIndicatorClasses = _ref.getSortingIndicatorClasses,
1103 - onSortingClicked = _ref.onSortingClicked;
1104 - var managerPermissions = promotionData.manager_permissions;
1105 - var sortingClasses = getSortingIndicatorClasses('widget');
1106 - var isWidgetSorted = sortingClasses.includes('sorted');
1107 - var widgetSortDirection = sortingClasses.includes('asc') ? 'asc' : 'desc';
1108 - var usageSortingClasses = getSortingIndicatorClasses('usage');
1109 - var isUsageSorted = usageSortingClasses.includes('sorted');
1110 - var usageSortDirection = usageSortingClasses.includes('asc') ? 'asc' : 'desc';
1111 - if (!widgets.length) {
1112 - return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1113 - color: "text.secondary"
1114 - }, (0, _i18n.__)('No elements found.', 'elementor'));
1115 - }
1116 - return /*#__PURE__*/_react.default.createElement(_ui.TableContainer, {
1117 - component: _ui.Paper,
1118 - variant: "outlined"
1119 - }, /*#__PURE__*/_react.default.createElement(_ui.Table, {
1120 - size: "small"
1121 - }, /*#__PURE__*/_react.default.createElement(_ui.TableHead, null, /*#__PURE__*/_react.default.createElement(_ui.TableRow, null, /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
1122 - sx: function sx(theme) {
1123 - return {
1124 - width: theme.spacing(25)
1125 - };
1126 - }
1127 - }, /*#__PURE__*/_react.default.createElement(_ui.TableSortLabel, {
1128 - active: isWidgetSorted,
1129 - direction: isWidgetSorted ? widgetSortDirection : 'asc',
1130 - onClick: function onClick() {
1131 - return onSortingClicked('widget');
1132 - },
1133 - "data-id": "e-id-elementor-element-manager-button-sort-by-element"
1134 - }, (0, _i18n.__)('Element', 'elementor'))), /*#__PURE__*/_react.default.createElement(_ui.TableCell, {
1135 - sx: function sx(theme) {
1136 - return {
1137 - width: theme.spacing(10)
1138 - };
1139 - }
1140 - }, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.TableSortLabel, {
1141 - active: isUsageSorted,
1142 - direction: isUsageSorted ? usageSortDirection : 'asc',
1143 - onClick: function onClick() {
1144 - return onSortingClicked('usage');
1145 - },
1146 - "data-id": "e-id-elementor-element-manager-button-sort-by-usage"
1147 - }, (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, {
1148 - direction: "row",
1149 - justifyContent: "flex-start",
1150 - alignItems: "center",
1151 - gap: 1
1152 - }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
1153 - placement: "top",
1154 - title: (0, _i18n.__)('Choose which users will have access to each widget.', 'elementor')
1155 - }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1156 - size: "small"
1157 - }, /*#__PURE__*/_react.default.createElement(_icons.HelpIcon, {
1158 - fontSize: "small"
1159 - })))), null === widgetsRoleRestrictions && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1160 - sx: {
1161 - marginInlineStart: 1
1162 - }
1163 - }, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
1164 - href: promotionWidgets.length ? managerPermissions.pro.url : managerPermissions.advanced.url,
1165 - size: "small",
1166 - text: promotionWidgets.length ? managerPermissions.pro.text : managerPermissions.advanced.text,
1167 - className: "go-pro",
1168 - "data-id": "e-id-elementor-element-manager-button-upgrade-permissions"
1169 - })))))), /*#__PURE__*/_react.default.createElement(_ui.TableBody, null, widgets.map(function (widget) {
1170 - return /*#__PURE__*/_react.default.createElement(_ui.TableRow, {
1171 - key: widget.name,
1172 - "data-key-id": widget.name,
1173 - hover: true
1174 - }, /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
1175 - sx: {
1176 - display: 'flex',
1177 - alignItems: 'center'
1178 - }
1179 - }, /*#__PURE__*/_react.default.createElement("i", {
1180 - style: {
1181 - marginInlineEnd: 8,
1182 - marginInlineStart: 0,
1183 - display: 'inline-block'
1184 - },
1185 - className: widget.icon
1186 - }), widget.title)), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(StyledSwitch, {
1187 - color: "secondary",
1188 - checked: !widgetsDisabled.includes(widget.name),
1189 - onChange: function onChange(event, checked) {
1190 - return onToggleWidget(widget.name, checked);
1191 - },
1192 - size: "small",
1193 - "data-id": "e-id-elementor-element-manager-toggle-".concat(widget.name)
1194 - })), /*#__PURE__*/_react.default.createElement(_ui.TableCell, null, /*#__PURE__*/_react.default.createElement(_UsageTimesColumn.UsageTimesColumn, {
1195 - widgetName: widget.name,
1196 - usageData: usageWidgets.data,
1197 - isLoading: usageWidgets.isLoading,
1198 - getWidgetUsage: getWidgetUsage,
1199 - onScanClick: onScanUsage
1200 - })), /*#__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, {
1201 - widgetName: widget.name,
1202 - roles: roles,
1203 - widgetsRoleRestrictions: widgetsRoleRestrictions,
1204 - setWidgetsRoleRestrictions: setWidgetsRoleRestrictions
1205 - }) : /*#__PURE__*/_react.default.createElement(_RolePermissions.EditButtonDisabled, null)));
1206 - }))));
1207 -};
1208 -var widgetShape = _propTypes.default.shape({
1209 - name: _propTypes.default.string.isRequired,
1210 - title: _propTypes.default.string.isRequired,
1211 - icon: _propTypes.default.string,
1212 - plugin: _propTypes.default.string
1213 -});
1214 -WidgetsTable.propTypes = {
1215 - widgets: _propTypes.default.arrayOf(widgetShape).isRequired,
1216 - widgetsDisabled: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
1217 - widgetsRoleRestrictions: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
1218 - setWidgetsRoleRestrictions: _propTypes.default.func.isRequired,
1219 - roles: _propTypes.default.array.isRequired,
1220 - promotionWidgets: _propTypes.default.arrayOf(widgetShape).isRequired,
1221 - promotionData: _propTypes.default.shape({
1222 - manager_permissions: _propTypes.default.shape({
1223 - pro: _propTypes.default.shape({
1224 - url: _propTypes.default.string,
1225 - text: _propTypes.default.string
1226 - }),
1227 - advanced: _propTypes.default.shape({
1228 - url: _propTypes.default.string,
1229 - text: _propTypes.default.string
1230 - })
1231 - })
1232 - }).isRequired,
1233 - usageWidgets: _propTypes.default.shape({
1234 - isLoading: _propTypes.default.bool,
1235 - data: _propTypes.default.object
1236 - }).isRequired,
1237 - getWidgetUsage: _propTypes.default.func.isRequired,
1238 - onScanUsage: _propTypes.default.func.isRequired,
1239 - onToggleWidget: _propTypes.default.func.isRequired,
1240 - getSortingIndicatorClasses: _propTypes.default.func.isRequired,
1241 - onSortingClicked: _propTypes.default.func.isRequired
1242 -};
1243 -
1244 -/***/ }),
1245 -
1246 -/***/ "../modules/element-manager/assets/js/app-editor-one/components/index.js":
1247 -/*!*******************************************************************************!*\
1248 - !*** ../modules/element-manager/assets/js/app-editor-one/components/index.js ***!
1249 - \*******************************************************************************/
1250 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1251 -
1252 -"use strict";
1253 -
1254 -
1255 -Object.defineProperty(exports, "__esModule", ({
1256 - value: true
1257 -}));
1258 -Object.defineProperty(exports, "ConfirmDialog", ({
1259 - enumerable: true,
1260 - get: function get() {
1261 - return _ConfirmDialog.ConfirmDialog;
1262 - }
1263 -}));
1264 -Object.defineProperty(exports, "EditButtonDisabled", ({
1265 - enumerable: true,
1266 - get: function get() {
1267 - return _RolePermissions.EditButtonDisabled;
1268 - }
1269 -}));
1270 -Object.defineProperty(exports, "NoticeAlert", ({
1271 - enumerable: true,
1272 - get: function get() {
1273 - return _NoticeAlert.NoticeAlert;
1274 - }
1275 -}));
1276 -Object.defineProperty(exports, "PromotionWidgetsTable", ({
1277 - enumerable: true,
1278 - get: function get() {
1279 - return _PromotionWidgetsTable.PromotionWidgetsTable;
1280 - }
1281 -}));
1282 -Object.defineProperty(exports, "RolePermissions", ({
1283 - enumerable: true,
1284 - get: function get() {
1285 - return _RolePermissions.RolePermissions;
1286 - }
1287 -}));
1288 -Object.defineProperty(exports, "SearchFilters", ({
1289 - enumerable: true,
1290 - get: function get() {
1291 - return _SearchFilters.SearchFilters;
1292 - }
1293 -}));
1294 -Object.defineProperty(exports, "UsageTimesColumn", ({
1295 - enumerable: true,
1296 - get: function get() {
1297 - return _UsageTimesColumn.UsageTimesColumn;
1298 - }
1299 -}));
1300 -Object.defineProperty(exports, "WidgetsTable", ({
1301 - enumerable: true,
1302 - get: function get() {
1303 - return _WidgetsTable.WidgetsTable;
1304 - }
1305 -}));
1306 -var _UsageTimesColumn = __webpack_require__(/*! ./UsageTimesColumn */ "../modules/element-manager/assets/js/app-editor-one/components/UsageTimesColumn.js");
1307 -var _NoticeAlert = __webpack_require__(/*! ./NoticeAlert */ "../modules/element-manager/assets/js/app-editor-one/components/NoticeAlert.js");
1308 -var _ConfirmDialog = __webpack_require__(/*! ./ConfirmDialog */ "../modules/element-manager/assets/js/app-editor-one/components/ConfirmDialog.js");
1309 -var _SearchFilters = __webpack_require__(/*! ./SearchFilters */ "../modules/element-manager/assets/js/app-editor-one/components/SearchFilters.js");
1310 -var _WidgetsTable = __webpack_require__(/*! ./WidgetsTable */ "../modules/element-manager/assets/js/app-editor-one/components/WidgetsTable.js");
1311 -var _PromotionWidgetsTable = __webpack_require__(/*! ./PromotionWidgetsTable */ "../modules/element-manager/assets/js/app-editor-one/components/PromotionWidgetsTable.js");
1312 -var _RolePermissions = __webpack_require__(/*! ./RolePermissions */ "../modules/element-manager/assets/js/app-editor-one/components/RolePermissions.js");
1313 -
1314 -/***/ }),
1315 -
1316 -/***/ "../modules/element-manager/assets/js/app-editor-one/hooks/index.js":
1317 -/*!**************************************************************************!*\
1318 - !*** ../modules/element-manager/assets/js/app-editor-one/hooks/index.js ***!
1319 - \**************************************************************************/
1320 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1321 -
1322 -"use strict";
1323 -
1324 -
1325 -Object.defineProperty(exports, "__esModule", ({
1326 - value: true
1327 -}));
1328 -Object.defineProperty(exports, "useElementManager", ({
1329 - enumerable: true,
1330 - get: function get() {
1331 - return _useElementManager.useElementManager;
1332 - }
1333 -}));
1334 -Object.defineProperty(exports, "useWidgetFilters", ({
1335 - enumerable: true,
1336 - get: function get() {
1337 - return _useWidgetFilters.useWidgetFilters;
1338 - }
1339 -}));
1340 -var _useElementManager = __webpack_require__(/*! ./useElementManager */ "../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js");
1341 -var _useWidgetFilters = __webpack_require__(/*! ./useWidgetFilters */ "../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js");
1342 -
1343 -/***/ }),
1344 -
1345 -/***/ "../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js":
1346 -/*!**************************************************************************************!*\
1347 - !*** ../modules/element-manager/assets/js/app-editor-one/hooks/useElementManager.js ***!
1348 - \**************************************************************************************/
1349 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1350 -
1351 -"use strict";
1352 -
1353 -
1354 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1355 -Object.defineProperty(exports, "__esModule", ({
1356 - value: true
1357 -}));
1358 -exports.useElementManager = void 0;
1359 211 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1360 212 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1361 213 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1362 214 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1363 215 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1364 -var _react = __webpack_require__(/*! react */ "react");
1365 -var _api = __webpack_require__(/*! ../../api */ "../modules/element-manager/assets/js/api.js");
216 +var _element = __webpack_require__(/*! @wordpress/element */ "../node_modules/@wordpress/element/build-module/index.js");
217 +var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
218 +var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
219 +var _upgradeButton = __webpack_require__(/*! ./upgrade-button */ "../modules/element-manager/assets/js/upgrade-button.js");
220 +var _api = __webpack_require__(/*! ./api */ "../modules/element-manager/assets/js/api.js");
221 +var _rolePermissions = __webpack_require__(/*! ./role-permissions */ "../modules/element-manager/assets/js/role-permissions.js");
1366 222 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; }
1367 -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; }
1368 -var useElementManager = exports.useElementManager = function useElementManager() {
1369 - var isInitialMount = (0, _react.useRef)(true);
1370 - var _useState = (0, _react.useState)(true),
223 +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 */
224 +var App = exports.App = function App() {
225 + var _useState = (0, _element.useState)(true),
1371 226 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1372 227 isLoading = _useState2[0],
1373 228 setIsLoading = _useState2[1];
1374 - var _useState3 = (0, _react.useState)([]),
229 + var _useState3 = (0, _element.useState)(''),
1375 230 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1376 - widgets = _useState4[0],
1377 - setWidgets = _useState4[1];
1378 - var _useState5 = (0, _react.useState)([]),
231 + searchKeyword = _useState4[0],
232 + setSearchKeyword = _useState4[1];
233 + var _useState5 = (0, _element.useState)([]),
1379 234 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1380 - promotionWidgets = _useState6[0],
1381 - setPromotionWidgets = _useState6[1];
1382 - var _useState7 = (0, _react.useState)([]),
235 + widgets = _useState6[0],
236 + setWidgets = _useState6[1];
237 + var _useState7 = (0, _element.useState)([]),
1383 238 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
1384 - plugins = _useState8[0],
1385 - setPlugins = _useState8[1];
1386 - var _useState9 = (0, _react.useState)([]),
239 + promotionWidgets = _useState8[0],
240 + setPromotionWidgets = _useState8[1];
241 + var _useState9 = (0, _element.useState)([]),
1387 242 _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
1388 - roles = _useState0[0],
1389 - setRoles = _useState0[1];
1390 - var _useState1 = (0, _react.useState)([]),
243 + plugins = _useState0[0],
244 + setPlugins = _useState0[1];
245 + var _useState1 = (0, _element.useState)([]),
1391 246 _useState10 = (0, _slicedToArray2.default)(_useState1, 2),
1392 - widgetsDisabled = _useState10[0],
1393 - setWidgetsDisabled = _useState10[1];
1394 - var _useState11 = (0, _react.useState)(null),
247 + roles = _useState10[0],
248 + setRoles = _useState10[1];
249 + var _useState11 = (0, _element.useState)({
250 + isLoading: false,
251 + data: null
252 + }),
1395 253 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
1396 - widgetsRoleRestrictions = _useState12[0],
1397 - setWidgetsRoleRestrictions = _useState12[1];
1398 - var _useState13 = (0, _react.useState)([]),
254 + usageWidgets = _useState12[0],
255 + setUsageWidgets = _useState12[1];
256 + var _useState13 = (0, _element.useState)([]),
1399 257 _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
1400 - promotionData = _useState14[0],
1401 - setPromotionData = _useState14[1];
1402 - var _useState15 = (0, _react.useState)(null),
258 + widgetsDisabled = _useState14[0],
259 + setWidgetsDisabled = _useState14[1];
260 + var _useState15 = (0, _element.useState)('widget'),
1403 261 _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
1404 - noticeData = _useState16[0],
1405 - setNoticeData = _useState16[1];
1406 - var _useState17 = (0, _react.useState)({
1407 - isLoading: false,
1408 - data: null
1409 - }),
262 + sortingColumn = _useState16[0],
263 + setSortingColumn = _useState16[1];
264 + var _useState17 = (0, _element.useState)('asc'),
1410 265 _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
1411 - usageWidgets = _useState18[0],
1412 - setUsageWidgets = _useState18[1];
1413 - var _useState19 = (0, _react.useState)({
266 + sortingDirection = _useState18[0],
267 + setSortingDirection = _useState18[1];
268 + var _useState19 = (0, _element.useState)(''),
269 + _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
270 + filterByPlugin = _useState20[0],
271 + setFilterByPlugin = _useState20[1];
272 + var _useState21 = (0, _element.useState)('all'),
273 + _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
274 + filterByStatus = _useState22[0],
275 + setFilterByStatus = _useState22[1];
276 + var _useState23 = (0, _element.useState)({
1414 277 isSaving: false,
1415 278 isUnsavedChanges: false
1416 279 }),
1417 - _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
1418 - changeProgress = _useState20[0],
1419 - setChangeProgress = _useState20[1];
1420 - var _useState21 = (0, _react.useState)(false),
1421 - _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
1422 - isSnackbarOpen = _useState22[0],
1423 - setIsSnackbarOpen = _useState22[1];
1424 - var getWidgetUsage = (0, _react.useCallback)(function (widgetName) {
280 + _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
281 + changeProgress = _useState24[0],
282 + setChangeProgress = _useState24[1];
283 + var _useState25 = (0, _element.useState)(false),
284 + _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
285 + isConfirmDialogOpen = _useState26[0],
286 + setIsConfirmDialogOpen = _useState26[1];
287 + var _useState27 = (0, _element.useState)(false),
288 + _useState28 = (0, _slicedToArray2.default)(_useState27, 2),
289 + isSnackbarOpen = _useState28[0],
290 + setIsSnackbarOpen = _useState28[1];
291 + var _useState29 = (0, _element.useState)(null),
292 + _useState30 = (0, _slicedToArray2.default)(_useState29, 2),
293 + noticeData = _useState30[0],
294 + setNoticeData = _useState30[1];
295 + var _useState31 = (0, _element.useState)(null),
296 + _useState32 = (0, _slicedToArray2.default)(_useState31, 2),
297 + widgetsRoleRestrictions = _useState32[0],
298 + setWidgetsRoleRestrictions = _useState32[1];
299 + var _useState33 = (0, _element.useState)([]),
300 + _useState34 = (0, _slicedToArray2.default)(_useState33, 2),
301 + promotionData = _useState34[0],
302 + setPromotionData = _useState34[1];
303 + var managerPermissions = promotionData.manager_permissions,
304 + elementManager = promotionData.element_manager;
305 + var getWidgetUsage = function getWidgetUsage(widgetName) {
1425 306 if (!usageWidgets.data || !usageWidgets.data.hasOwnProperty(widgetName)) {
1426 307 return 0;
1427 308 }
1428 309 return usageWidgets.data[widgetName];
1429 - }, [usageWidgets.data]);
1430 - var scanUsageElements = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1431 - var data;
1432 - return _regenerator.default.wrap(function (_context) {
1433 - while (1) switch (_context.prev = _context.next) {
1434 - case 0:
1435 - setUsageWidgets(function (prev) {
1436 - return _objectSpread(_objectSpread({}, prev), {}, {
1437 - isLoading: true
1438 - });
1439 - });
1440 - _context.next = 1;
1441 - return (0, _api.getUsageWidgets)();
1442 - case 1:
1443 - data = _context.sent;
1444 - setUsageWidgets({
1445 - data: data,
1446 - isLoading: false
1447 - });
1448 - return _context.abrupt("return", data);
1449 - case 2:
1450 - case "end":
1451 - return _context.stop();
310 + };
311 + var sortedAndFilteredWidgets = (0, _element.useMemo)(function () {
312 + var filteredWidgets = widgets.filter(function (widget) {
313 + return widget.title.toLowerCase().includes(searchKeyword.toLowerCase());
314 + });
315 + if ('' !== filterByPlugin) {
316 + filteredWidgets = filteredWidgets.filter(function (widget) {
317 + return widget.plugin.toLowerCase() === filterByPlugin.toLowerCase();
318 + });
319 + }
320 + if ('all' !== filterByStatus) {
321 + filteredWidgets = filteredWidgets.filter(function (widget) {
322 + if ('active' === filterByStatus) {
323 + return !widgetsDisabled.includes(widget.name);
324 + }
325 + return widgetsDisabled.includes(widget.name);
326 + });
327 + }
328 + filteredWidgets.sort(function (a, b) {
329 + var aValue;
330 + var bValue;
331 + if ('widget' === sortingColumn) {
332 + aValue = a.title;
333 + bValue = b.title;
1452 334 }
1453 - }, _callee);
1454 - })), []);
1455 - var saveChanges = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
1456 - return _regenerator.default.wrap(function (_context2) {
1457 - while (1) switch (_context2.prev = _context2.next) {
1458 - case 0:
1459 - setChangeProgress(function (prev) {
1460 - return _objectSpread(_objectSpread({}, prev), {}, {
1461 - isSaving: true
1462 - });
1463 - });
1464 - _context2.next = 1;
1465 - return (0, _api.saveDisabledWidgets)(widgetsDisabled, widgetsRoleRestrictions);
1466 - case 1:
1467 - setChangeProgress({
1468 - isSaving: false,
1469 - isUnsavedChanges: false
1470 - });
1471 - setIsSnackbarOpen(true);
1472 - case 2:
1473 - case "end":
1474 - return _context2.stop();
335 + if ('usage' === sortingColumn) {
336 + aValue = getWidgetUsage(a.name);
337 + bValue = getWidgetUsage(b.name);
1475 338 }
1476 - }, _callee2);
1477 - })), [widgetsDisabled, widgetsRoleRestrictions]);
1478 - var deactivateAllUnusedWidgets = (0, _react.useCallback)(function () {
1479 - if (!usageWidgets.data) {
1480 - return;
339 + if (aValue === bValue) {
340 + return 0;
341 + }
342 + if ('asc' === sortingDirection) {
343 + return aValue < bValue ? -1 : 1;
344 + }
345 + return aValue > bValue ? -1 : 1;
346 + });
347 + return filteredWidgets;
348 + }, [widgets, searchKeyword, sortingColumn, sortingDirection, filterByPlugin, usageWidgets, filterByStatus, widgetsDisabled]);
349 + var getSortingIndicatorClasses = function getSortingIndicatorClasses(column) {
350 + if (sortingColumn !== column) {
351 + return '';
1481 352 }
353 + if ('asc' === sortingDirection) {
354 + return 'sorted asc';
355 + }
356 + return 'sorted desc';
357 + };
358 + var onSortingClicked = function onSortingClicked(column) {
359 + if (sortingColumn === column) {
360 + if ('asc' === sortingDirection) {
361 + setSortingDirection('desc');
362 + } else {
363 + setSortingDirection('asc');
364 + }
365 + } else {
366 + setSortingColumn(column);
367 + setSortingDirection('asc');
368 + }
369 + };
370 + var onSaveClicked = /*#__PURE__*/function () {
371 + var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
372 + return _regenerator.default.wrap(function (_context) {
373 + while (1) switch (_context.prev = _context.next) {
374 + case 0:
375 + setIsConfirmDialogOpen(false);
376 + setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
377 + isSaving: true
378 + }));
379 + _context.next = 1;
380 + return (0, _api.saveDisabledWidgets)(widgetsDisabled, widgetsRoleRestrictions);
381 + case 1:
382 + setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
383 + isSaving: false,
384 + isUnsavedChanges: false
385 + }));
386 + setIsSnackbarOpen(true);
387 + case 2:
388 + case "end":
389 + return _context.stop();
390 + }
391 + }, _callee);
392 + }));
393 + return function onSaveClicked() {
394 + return _ref.apply(this, arguments);
395 + };
396 + }();
397 + var deactivateAllUnusedWidgets = function deactivateAllUnusedWidgets() {
1482 398 var widgetsToDeactivate = widgets.filter(function (widget) {
1483 399 return !usageWidgets.data.hasOwnProperty(widget.name) || widgetsDisabled.includes(widget.name);
1484 400 });
1485 401 setWidgetsDisabled(widgetsToDeactivate.map(function (widget) {
@@ -1484,38 +400,58 @@
1484 400 });
1485 401 setWidgetsDisabled(widgetsToDeactivate.map(function (widget) {
1486 402 return widget.name;
1487 403 }));
1488 - }, [widgets, usageWidgets.data, widgetsDisabled]);
1489 - var enableAllWidgets = (0, _react.useCallback)(function () {
404 + };
405 + var enableAllWidgets = function enableAllWidgets() {
1490 406 setWidgetsDisabled([]);
1491 - }, []);
1492 - var toggleWidget = (0, _react.useCallback)(function (widgetName, isEnabled) {
1493 - if (isEnabled) {
1494 - setWidgetsDisabled(function (prev) {
1495 - return prev.filter(function (item) {
1496 - return item !== widgetName;
1497 - });
1498 - });
1499 - } else {
1500 - setWidgetsDisabled(function (prev) {
1501 - return [].concat((0, _toConsumableArray2.default)(prev), [widgetName]);
1502 - });
407 + };
408 + var onScanUsageElementsClicked = /*#__PURE__*/function () {
409 + var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
410 + var data;
411 + return _regenerator.default.wrap(function (_context2) {
412 + while (1) switch (_context2.prev = _context2.next) {
413 + case 0:
414 + setUsageWidgets(_objectSpread(_objectSpread({}, usageWidgets), {}, {
415 + isLoading: true
416 + }));
417 + _context2.next = 1;
418 + return (0, _api.getUsageWidgets)();
419 + case 1:
420 + data = _context2.sent;
421 + setUsageWidgets({
422 + data: data,
423 + isLoading: false
424 + });
425 + setSortingColumn('usage');
426 + setSortingDirection('desc');
427 + case 2:
428 + case "end":
429 + return _context2.stop();
430 + }
431 + }, _callee2);
432 + }));
433 + return function onScanUsageElementsClicked() {
434 + return _ref2.apply(this, arguments);
435 + };
436 + }();
437 + var UsageTimesColumn = function UsageTimesColumn(_ref3) {
438 + var widgetName = _ref3.widgetName;
439 + if (null !== usageWidgets.data) {
440 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, getWidgetUsage(widgetName), " ", (0, _i18n.__)('times', 'elementor'));
1503 441 }
1504 - }, []);
1505 - var dismissNotice = (0, _react.useCallback)(function () {
1506 - if (noticeData) {
1507 - (0, _api.markNoticeViewed)(noticeData.notice_id, noticeData.nonce);
1508 - setNoticeData(function (prev) {
1509 - return _objectSpread(_objectSpread({}, prev), {}, {
1510 - is_viewed: true
1511 - });
1512 - });
442 + if (usageWidgets.isLoading) {
443 + return /*#__PURE__*/_react.default.createElement(_components.Spinner, null);
1513 444 }
1514 - }, [noticeData]);
1515 - (0, _react.useEffect)(function () {
1516 - var loadData = /*#__PURE__*/function () {
1517 - var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
445 + return /*#__PURE__*/_react.default.createElement(_components.Button, {
446 + onClick: onScanUsageElementsClicked,
447 + size: 'small',
448 + variant: 'secondary'
449 + }, (0, _i18n.__)('Show', 'elementor'));
450 + };
451 + (0, _element.useEffect)(function () {
452 + var onLoading = /*#__PURE__*/function () {
453 + var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
1518 454 var _appData$additional_d, _appData$additional_d2;
1519 455 var appData, pluginsData;
1520 456 return _regenerator.default.wrap(function (_context3) {
1521 457 while (1) switch (_context3.prev = _context3.next) {
@@ -1541,18 +477,13 @@
1541 477 value: plugin
1542 478 };
1543 479 });
1544 480 pluginsData.unshift({
1545 - label: 'All Plugins',
481 + label: (0, _i18n.__)('All Plugins', 'elementor'),
1546 482 value: ''
1547 483 });
1548 484 setPlugins(pluginsData);
1549 485 setIsLoading(false);
1550 - setChangeProgress(function (prev) {
1551 - return _objectSpread(_objectSpread({}, prev), {}, {
1552 - isUnsavedChanges: false
1553 - });
1554 - });
1555 486 case 2:
1556 487 case "end":
1557 488 return _context3.stop();
1558 489 }
@@ -1557,29 +488,23 @@
1557 488 return _context3.stop();
1558 489 }
1559 490 }, _callee3);
1560 491 }));
1561 - return function loadData() {
1562 - return _ref3.apply(this, arguments);
492 + return function onLoading() {
493 + return _ref4.apply(this, arguments);
1563 494 };
1564 495 }();
1565 - loadData();
496 + onLoading();
1566 497 }, []);
1567 - (0, _react.useEffect)(function () {
498 + (0, _element.useEffect)(function () {
1568 499 if (isLoading) {
1569 500 return;
1570 501 }
1571 - if (isInitialMount.current) {
1572 - isInitialMount.current = false;
1573 - return;
1574 - }
1575 - setChangeProgress(function (prev) {
1576 - return _objectSpread(_objectSpread({}, prev), {}, {
1577 - isUnsavedChanges: true
1578 - });
1579 - });
1580 - }, [widgetsDisabled, widgetsRoleRestrictions, isLoading]);
1581 - (0, _react.useEffect)(function () {
502 + setChangeProgress(_objectSpread(_objectSpread({}, changeProgress), {}, {
503 + isUnsavedChanges: true
504 + }));
505 + }, [widgetsDisabled, widgetsRoleRestrictions]);
506 + (0, _element.useEffect)(function () {
1582 507 var handleBeforeUnload = function handleBeforeUnload(event) {
1583 508 event.preventDefault();
1584 509 event.returnValue = '';
1585 510 };
@@ -1591,150 +516,296 @@
1591 516 return function () {
1592 517 window.removeEventListener('beforeunload', handleBeforeUnload);
1593 518 };
1594 519 }, [changeProgress.isUnsavedChanges]);
1595 - return {
1596 - isLoading: isLoading,
1597 - widgets: widgets,
1598 - promotionWidgets: promotionWidgets,
1599 - plugins: plugins,
1600 - roles: roles,
1601 - widgetsDisabled: widgetsDisabled,
1602 - widgetsRoleRestrictions: widgetsRoleRestrictions,
1603 - setWidgetsRoleRestrictions: setWidgetsRoleRestrictions,
1604 - promotionData: promotionData,
1605 - noticeData: noticeData,
1606 - usageWidgets: usageWidgets,
1607 - changeProgress: changeProgress,
1608 - isSnackbarOpen: isSnackbarOpen,
1609 - setIsSnackbarOpen: setIsSnackbarOpen,
1610 - getWidgetUsage: getWidgetUsage,
1611 - scanUsageElements: scanUsageElements,
1612 - saveChanges: saveChanges,
1613 - deactivateAllUnusedWidgets: deactivateAllUnusedWidgets,
1614 - enableAllWidgets: enableAllWidgets,
1615 - toggleWidget: toggleWidget,
1616 - dismissNotice: dismissNotice
1617 - };
1618 -};
1619 -
1620 -/***/ }),
1621 -
1622 -/***/ "../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js":
1623 -/*!*************************************************************************************!*\
1624 - !*** ../modules/element-manager/assets/js/app-editor-one/hooks/useWidgetFilters.js ***!
1625 - \*************************************************************************************/
1626 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1627 -
1628 -"use strict";
1629 -
1630 -
1631 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1632 -Object.defineProperty(exports, "__esModule", ({
1633 - value: true
1634 -}));
1635 -exports.useWidgetFilters = void 0;
1636 -var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1637 -var _react = __webpack_require__(/*! react */ "react");
1638 -var useWidgetFilters = exports.useWidgetFilters = function useWidgetFilters(widgets, widgetsDisabled, getWidgetUsage) {
1639 - var _useState = (0, _react.useState)(''),
1640 - _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1641 - searchKeyword = _useState2[0],
1642 - setSearchKeyword = _useState2[1];
1643 - var _useState3 = (0, _react.useState)('widget'),
1644 - _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1645 - sortingColumn = _useState4[0],
1646 - setSortingColumn = _useState4[1];
1647 - var _useState5 = (0, _react.useState)('asc'),
1648 - _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1649 - sortingDirection = _useState6[0],
1650 - setSortingDirection = _useState6[1];
1651 - var _useState7 = (0, _react.useState)(''),
1652 - _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
1653 - filterByPlugin = _useState8[0],
1654 - setFilterByPlugin = _useState8[1];
1655 - var _useState9 = (0, _react.useState)('all'),
1656 - _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
1657 - filterByStatus = _useState0[0],
1658 - setFilterByStatus = _useState0[1];
1659 - var sortedAndFilteredWidgets = (0, _react.useMemo)(function () {
1660 - var filteredWidgets = widgets.filter(function (widget) {
1661 - return widget.title.toLowerCase().includes(searchKeyword.toLowerCase());
1662 - });
1663 - if ('' !== filterByPlugin) {
1664 - filteredWidgets = filteredWidgets.filter(function (widget) {
1665 - return widget.plugin.toLowerCase() === filterByPlugin.toLowerCase();
1666 - });
520 + if (isLoading) {
521 + return /*#__PURE__*/_react.default.createElement(_components.Flex, {
522 + justify: 'center',
523 + style: {
524 + margin: '100px'
525 + }
526 + }, /*#__PURE__*/_react.default.createElement(_components.Spinner, {
527 + style: {
528 + height: 'calc(4px * 20)',
529 + width: 'calc(4px * 20)'
530 + }
531 + }));
532 + }
533 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
534 + style: {
535 + marginBottom: '20px',
536 + maxWidth: '800px'
1667 537 }
1668 - if ('all' !== filterByStatus) {
1669 - filteredWidgets = filteredWidgets.filter(function (widget) {
1670 - if ('active' === filterByStatus) {
1671 - return !widgetsDisabled.includes(widget.name);
538 + }, (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", {
539 + href: "https://go.elementor.com/wp-dash-element-manager/",
540 + rel: 'noreferrer',
541 + target: '_blank'
542 + }, (0, _i18n.__)('Learn More', 'elementor'))), !noticeData.is_viewed && /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement(_components.Notice, {
543 + onRemove: function onRemove() {
544 + (0, _api.markNoticeViewed)(noticeData.notice_id, noticeData.nonce);
545 + setNoticeData(_objectSpread(_objectSpread({}, noticeData), {}, {
546 + is_viewed: true
547 + }));
548 + },
549 + status: "warning"
550 + }, /*#__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, {
551 + style: {
552 + position: 'sticky',
553 + top: '32px',
554 + background: 'rgb(255, 255, 255)',
555 + zIndex: 10,
556 + padding: '20px 16px',
557 + boxShadow: 'rgba(0, 0, 0, 0.15) 0 5px 10px 0',
558 + margin: '-16px -16px 24px'
559 + }
560 + }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
561 + align: 'center'
562 + }, /*#__PURE__*/_react.default.createElement(_components.SearchControl, {
563 + label: (0, _i18n.__)('Search widgets', 'elementor'),
564 + value: searchKeyword,
565 + size: 'compact',
566 + style: {
567 + height: '40px',
568 + border: '1px solid rgba(30, 30, 30, 0.5)',
569 + background: 'transparent'
570 + },
571 + __nextHasNoMarginBottom: true,
572 + onChange: setSearchKeyword
573 + }), /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
574 + style: {
575 + maxWidth: '130px'
576 + }
577 + }, /*#__PURE__*/_react.default.createElement(_components.SelectControl, {
578 + onChange: setFilterByPlugin,
579 + size: '__unstable-large',
580 + __nextHasNoMarginBottom: true,
581 + options: plugins
582 + })), /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
583 + style: {
584 + maxWidth: '130px'
585 + }
586 + }, /*#__PURE__*/_react.default.createElement(_components.SelectControl, {
587 + onChange: setFilterByStatus,
588 + size: '__unstable-large',
589 + __nextHasNoMarginBottom: true,
590 + options: [{
591 + label: (0, _i18n.__)('All Statuses', 'elementor'),
592 + value: 'all'
593 + }, {
594 + label: (0, _i18n.__)('Active', 'elementor'),
595 + value: 'active'
596 + }, {
597 + label: (0, _i18n.__)('Inactive', 'elementor'),
598 + value: 'inactive'
599 + }]
600 + })), /*#__PURE__*/_react.default.createElement("hr", {
601 + style: {
602 + height: '30px',
603 + margin: '0 5px',
604 + borderWidth: '0 1px 0 0',
605 + borderStyle: 'solid',
606 + borderColor: 'rgba(30, 30, 30, 0.5)'
607 + }
608 + }), /*#__PURE__*/_react.default.createElement(_components.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
609 + variant: 'secondary',
610 + style: {
611 + marginInlineEnd: '10px'
612 + },
613 + disabled: usageWidgets.isLoading,
614 + isBusy: usageWidgets.isLoading,
615 + onClick: onScanUsageElementsClicked
616 + }, (0, _i18n.__)('Scan Element Usage', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
617 + variant: 'secondary',
618 + style: {
619 + marginInlineEnd: '10px'
620 + },
621 + onClick: deactivateAllUnusedWidgets,
622 + disabled: null === usageWidgets.data
623 + }, (0, _i18n.__)('Deactivate Unused Elements', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
624 + variant: 'secondary',
625 + disabled: !widgetsDisabled.length,
626 + style: {
627 + marginInlineEnd: '10px'
628 + },
629 + onClick: enableAllWidgets
630 + }, (0, _i18n.__)('Enable All', 'elementor'))))), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
631 + variant: "primary",
632 + disabled: changeProgress.isSaving || !changeProgress.isUnsavedChanges,
633 + isBusy: changeProgress.isSaving,
634 + onClick: function onClick() {
635 + setIsConfirmDialogOpen(true);
636 + }
637 + }, (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", {
638 + className: 'wp-list-table widefat fixed striped table-view-list'
639 + }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
640 + className: "manage-column sortable ".concat(getSortingIndicatorClasses('widget'))
641 + }, /*#__PURE__*/_react.default.createElement(_components.Button, {
642 + href: '#',
643 + onClick: function onClick(event) {
644 + event.preventDefault();
645 + onSortingClicked('widget');
646 + }
647 + }, /*#__PURE__*/_react.default.createElement("span", null, (0, _i18n.__)('Element', 'elementor')), /*#__PURE__*/_react.default.createElement("span", {
648 + className: "sorting-indicators"
649 + }, /*#__PURE__*/_react.default.createElement("span", {
650 + className: "sorting-indicator asc",
651 + "aria-hidden": "true"
652 + }), /*#__PURE__*/_react.default.createElement("span", {
653 + className: "sorting-indicator desc",
654 + "aria-hidden": "true"
655 + })))), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Status', 'elementor')), /*#__PURE__*/_react.default.createElement("th", {
656 + className: "manage-column sortable ".concat(getSortingIndicatorClasses('usage'))
657 + }, /*#__PURE__*/_react.default.createElement(_components.Button, {
658 + href: '#',
659 + onClick: function onClick(event) {
660 + event.preventDefault();
661 + onSortingClicked('usage');
662 + }
663 + }, /*#__PURE__*/_react.default.createElement("span", null, (0, _i18n.__)('Usage', 'elementor')), /*#__PURE__*/_react.default.createElement("span", {
664 + className: "sorting-indicators"
665 + }, /*#__PURE__*/_react.default.createElement("span", {
666 + className: "sorting-indicator asc",
667 + "aria-hidden": "true"
668 + }), /*#__PURE__*/_react.default.createElement("span", {
669 + className: "sorting-indicator desc",
670 + "aria-hidden": "true"
671 + })))), /*#__PURE__*/_react.default.createElement("th", null, (0, _i18n.__)('Plugin', 'elementor')), /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
672 + justify: 'flex-start',
673 + gap: 0
674 + }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Tooltip, {
675 + placement: 'top',
676 + delay: 100,
677 + text: (0, _i18n.__)('Choose which users will have access to each widget.', 'elementor')
678 + }, /*#__PURE__*/_react.default.createElement(_components.Button, {
679 + icon: 'info-outline',
680 + iconSize: 16
681 + }))), null === widgetsRoleRestrictions && /*#__PURE__*/_react.default.createElement(_components.FlexItem, {
682 + style: {
683 + marginInlineStart: '10px'
684 + }
685 + }, /*#__PURE__*/_react.default.createElement(_upgradeButton.UpgradeButton, {
686 + href: promotionWidgets.length ? managerPermissions.pro.url : managerPermissions.advanced.url,
687 + size: 'small',
688 + text: promotionWidgets.length ? managerPermissions.pro.text : managerPermissions.advanced.text
689 + })))))), /*#__PURE__*/_react.default.createElement("tbody", null, sortedAndFilteredWidgets.map(function (widget) {
690 + return /*#__PURE__*/_react.default.createElement("tr", {
691 + key: widget.name,
692 + "data-key-id": widget.name
693 + }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("i", {
694 + style: {
695 + marginInlineEnd: '5px',
696 + marginInlineStart: '0',
697 + display: 'inline-block'
698 + },
699 + className: "".concat(widget.icon)
700 + }), " ", widget.title), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_components.ToggleControl, {
701 + checked: !widgetsDisabled.includes(widget.name),
702 + __nextHasNoMarginBottom: true,
703 + onChange: function onChange() {
704 + if (widgetsDisabled.includes(widget.name)) {
705 + setWidgetsDisabled(widgetsDisabled.filter(function (item) {
706 + return item !== widget.name;
707 + }));
708 + } else {
709 + setWidgetsDisabled([].concat((0, _toConsumableArray2.default)(widgetsDisabled), [widget.name]));
1672 710 }
1673 - return widgetsDisabled.includes(widget.name);
1674 - });
711 + }
712 + })), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(UsageTimesColumn, {
713 + widgetName: widget.name
714 + })), /*#__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, {
715 + widgetName: widget.name,
716 + roles: roles,
717 + widgetsRoleRestrictions: widgetsRoleRestrictions,
718 + setWidgetsRoleRestrictions: setWidgetsRoleRestrictions
719 + }) : /*#__PURE__*/_react.default.createElement(_rolePermissions.EditButtonDisabled, null)));
720 + })))), promotionWidgets.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.PanelRow, null, /*#__PURE__*/_react.default.createElement(_components.Flex, {
721 + style: {
722 + marginTop: '40px',
723 + marginBottom: '20px'
1675 724 }
1676 - filteredWidgets.sort(function (a, b) {
1677 - var aValue;
1678 - var bValue;
1679 - if ('widget' === sortingColumn) {
1680 - aValue = a.title;
1681 - bValue = b.title;
1682 - }
1683 - if ('usage' === sortingColumn) {
1684 - aValue = getWidgetUsage(a.name);
1685 - bValue = getWidgetUsage(b.name);
1686 - }
1687 - if (aValue === bValue) {
1688 - return 0;
1689 - }
1690 - if ('asc' === sortingDirection) {
1691 - return aValue < bValue ? -1 : 1;
1692 - }
1693 - return aValue > bValue ? -1 : 1;
1694 - });
1695 - return filteredWidgets;
1696 - }, [widgets, searchKeyword, sortingColumn, sortingDirection, filterByPlugin, filterByStatus, widgetsDisabled, getWidgetUsage]);
1697 - var getSortingIndicatorClasses = (0, _react.useCallback)(function (column) {
1698 - if (sortingColumn !== column) {
1699 - return '';
725 + }, /*#__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, {
726 + href: elementManager.url,
727 + text: elementManager.text
728 + })))), /*#__PURE__*/_react.default.createElement(_components.PanelRow, null, /*#__PURE__*/_react.default.createElement("table", {
729 + className: 'wp-list-table widefat fixed striped table-view-list'
730 + }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
731 + className: "manage-column"
732 + }, /*#__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, {
733 + justify: 'flex-start'
734 + }, /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, (0, _i18n.__)('Permission', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.FlexItem, null, /*#__PURE__*/_react.default.createElement(_components.Tooltip, {
735 + placement: 'top',
736 + delay: 100,
737 + text: (0, _i18n.__)('Choose which role will have access to a specific widget.', 'elementor')
738 + }, /*#__PURE__*/_react.default.createElement(_components.Button, {
739 + icon: 'info-outline'
740 + }))))))), /*#__PURE__*/_react.default.createElement("tbody", null, promotionWidgets.map(function (widget) {
741 + return /*#__PURE__*/_react.default.createElement("tr", {
742 + key: widget.name
743 + }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("i", {
744 + style: {
745 + marginInlineEnd: '5px'
746 + },
747 + className: "".concat(widget.icon)
748 + }), " ", widget.title), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_components.ToggleControl, {
749 + __nextHasNoMarginBottom: true,
750 + checked: false,
751 + disabled: true
752 + })), /*#__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, null)));
753 + }))))))), isConfirmDialogOpen && /*#__PURE__*/_react.default.createElement(_components.Modal, {
754 + title: (0, _i18n.__)('Sure you want to save these changes?', 'elementor'),
755 + size: 'small',
756 + isDismissible: false,
757 + onRequestClose: function onRequestClose() {
758 + setIsConfirmDialogOpen(false);
1700 759 }
1701 - return 'asc' === sortingDirection ? 'sorted asc' : 'sorted desc';
1702 - }, [sortingColumn, sortingDirection]);
1703 - var onSortingClicked = (0, _react.useCallback)(function (column) {
1704 - if (sortingColumn === column) {
1705 - setSortingDirection(function (prev) {
1706 - return 'asc' === prev ? 'desc' : 'asc';
1707 - });
1708 - } else {
1709 - setSortingColumn(column);
1710 - setSortingDirection('asc');
760 + }, /*#__PURE__*/_react.default.createElement("p", {
761 + style: {
762 + maxWidth: '400px',
763 + marginBlockEnd: '30px',
764 + marginBlockStart: '0'
1711 765 }
1712 - }, [sortingColumn]);
1713 - var setSortByUsage = (0, _react.useCallback)(function () {
1714 - setSortingColumn('usage');
1715 - setSortingDirection('desc');
1716 - }, []);
1717 - return {
1718 - searchKeyword: searchKeyword,
1719 - setSearchKeyword: setSearchKeyword,
1720 - filterByPlugin: filterByPlugin,
1721 - setFilterByPlugin: setFilterByPlugin,
1722 - filterByStatus: filterByStatus,
1723 - setFilterByStatus: setFilterByStatus,
1724 - sortedAndFilteredWidgets: sortedAndFilteredWidgets,
1725 - getSortingIndicatorClasses: getSortingIndicatorClasses,
1726 - onSortingClicked: onSortingClicked,
1727 - setSortByUsage: setSortByUsage
1728 - };
766 + }, (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", {
767 + style: {
768 + display: 'block',
769 + marginTop: '20px'
770 + }
771 + }, (0, _i18n.__)('If you’re adding widgets back in, enjoy them!', 'elementor'))), /*#__PURE__*/_react.default.createElement(_components.ButtonGroup, {
772 + style: {
773 + display: 'flex',
774 + justifyContent: 'flex-end',
775 + gap: '30px'
776 + }
777 + }, /*#__PURE__*/_react.default.createElement(_components.Button, {
778 + variant: 'link',
779 + onClick: function onClick() {
780 + setIsConfirmDialogOpen(false);
781 + }
782 + }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_components.Button, {
783 + variant: 'primary',
784 + onClick: onSaveClicked
785 + }, (0, _i18n.__)('Save', 'elementor')))), /*#__PURE__*/_react.default.createElement("div", {
786 + style: {
787 + position: 'fixed',
788 + bottom: '40px',
789 + left: '50%',
790 + transform: 'translateX(-50%)',
791 + display: isSnackbarOpen ? 'block' : 'none'
792 + }
793 + }, /*#__PURE__*/_react.default.createElement(_components.Snackbar, {
794 + isDismissible: true,
795 + status: 'success',
796 + onRemove: function onRemove() {
797 + return setIsSnackbarOpen(false);
798 + }
799 + }, (0, _i18n.__)('We saved your changes.', 'elementor'))));
1729 800 };
1730 801
1731 802 /***/ }),
1732 803
1733 -/***/ "../modules/element-manager/assets/js/app-editor-one/index.js":
1734 -/*!********************************************************************!*\
1735 - !*** ../modules/element-manager/assets/js/app-editor-one/index.js ***!
1736 - \********************************************************************/
804 +/***/ "../modules/element-manager/assets/js/role-permissions.js":
805 +/*!****************************************************************!*\
806 + !*** ../modules/element-manager/assets/js/role-permissions.js ***!
807 + \****************************************************************/
1737 808 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1738 809
1739 810 "use strict";
1740 811
@@ -1742,21 +813,122 @@
1742 813 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1743 814 Object.defineProperty(exports, "__esModule", ({
1744 815 value: true
1745 816 }));
1746 -exports.AppModern = void 0;
817 +exports.RolePermissions = exports.EditButtonDisabled = void 0;
1747 818 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1748 -var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1749 -var _App = __webpack_require__(/*! ./App */ "../modules/element-manager/assets/js/app-editor-one/App.js");
1750 -var AppModern = exports.AppModern = function AppModern() {
1751 - var _elementorCommon$conf;
1752 - 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');
1753 - return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
1754 - rtl: isRTL
1755 - }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
1756 - colorScheme: "light"
1757 - }, /*#__PURE__*/_react.default.createElement(_App.App, null)));
819 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
820 +var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
821 +var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
822 +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; }
823 +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 */
824 +var toggleRoleRestrictions = function toggleRoleRestrictions(widgetName, roleId, widgetsRoleRestrictions, setWidgetsRoleRestrictions) {
825 + var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
826 + if (widgetRoleRestrictions.includes(roleId)) {
827 + widgetRoleRestrictions.splice(widgetRoleRestrictions.indexOf(roleId), 1);
828 + } else {
829 + widgetRoleRestrictions.push(roleId);
830 + }
831 +
832 + // TODO: Remove the object from the state if it's empty
833 + setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, widgetRoleRestrictions)));
1758 834 };
835 +var RolesList = function RolesList(props) {
836 + var roles = props.roles,
837 + widgetRoleRestrictions = props.widgetRoleRestrictions;
838 + var rolesEnables = roles.filter(function (role) {
839 + return !widgetRoleRestrictions.includes(role.id);
840 + });
841 + if (!rolesEnables.length) {
842 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", (0, _i18n.__)('Admin', 'elementor'), ")");
843 + }
844 + if (rolesEnables.length === roles.length) {
845 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", (0, _i18n.__)('All Roles', 'elementor'), ")");
846 + }
847 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "(", rolesEnables.map(function (role) {
848 + return role.name;
849 + }).join(', '), ")");
850 +};
851 +var RolePermissions = exports.RolePermissions = function RolePermissions(props) {
852 + var roles = props.roles,
853 + widgetName = props.widgetName,
854 + widgetsRoleRestrictions = props.widgetsRoleRestrictions,
855 + setWidgetsRoleRestrictions = props.setWidgetsRoleRestrictions;
856 + var widgetRoleRestrictions = widgetsRoleRestrictions[widgetName] || [];
857 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Dropdown, {
858 + className: 'my-container-class-name',
859 + contentClassName: 'my-dropdown-content-classname',
860 + popoverProps: {
861 + placement: 'bottom-start'
862 + },
863 + renderToggle: function renderToggle(_ref) {
864 + var isOpen = _ref.isOpen,
865 + onToggle = _ref.onToggle;
866 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
867 + variant: 'link',
868 + onClick: onToggle,
869 + "aria-expanded": isOpen,
870 + style: {
871 + textDecoration: 'none'
872 + }
873 + }, (0, _i18n.__)('Edit', 'elementor')), ' ', /*#__PURE__*/_react.default.createElement("span", {
874 + style: {
875 + color: 'var(--e-a-color-txt-muted)'
876 + }
877 + }, /*#__PURE__*/_react.default.createElement(RolesList, {
878 + roles: roles,
879 + widgetRoleRestrictions: widgetRoleRestrictions
880 + })));
881 + },
882 + renderContent: function renderContent() {
883 + var isAllChecked = roles.every(function (role) {
884 + return !widgetRoleRestrictions.includes(role.id);
885 + });
886 + var isIndeterminate = !isAllChecked && roles.some(function (role) {
887 + return !widgetRoleRestrictions.includes(role.id);
888 + });
889 + return /*#__PURE__*/_react.default.createElement("div", {
890 + style: {
891 + minWidth: '150px',
892 + paddingInline: '10px',
893 + paddingBlockStart: '10px'
894 + }
895 + }, /*#__PURE__*/_react.default.createElement(_components.CheckboxControl, {
896 + checked: isAllChecked,
897 + indeterminate: isIndeterminate,
898 + label: 'All',
899 + onChange: function onChange(value) {
900 + if (value) {
901 + setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, [])));
902 + } else {
903 + setWidgetsRoleRestrictions(_objectSpread(_objectSpread({}, widgetsRoleRestrictions), {}, (0, _defineProperty2.default)({}, widgetName, roles.map(function (role) {
904 + return role.id;
905 + }))));
906 + }
907 + }
908 + }), roles.map(function (role) {
909 + return /*#__PURE__*/_react.default.createElement("div", {
910 + key: role.id
911 + }, /*#__PURE__*/_react.default.createElement(_components.CheckboxControl, {
912 + checked: !widgetRoleRestrictions.includes(role.id),
913 + label: role.name,
914 + onChange: function onChange() {
915 + toggleRoleRestrictions(widgetName, role.id, widgetsRoleRestrictions, setWidgetsRoleRestrictions);
916 + }
917 + }));
918 + }));
919 + }
920 + }));
921 +};
922 +var EditButtonDisabled = exports.EditButtonDisabled = function EditButtonDisabled() {
923 + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.Button, {
924 + variant: "link",
925 + disabled: true,
926 + style: {
927 + textDecoration: 'none'
928 + }
929 + }, (0, _i18n.__)('Edit', 'elementor')));
930 +};
1759 931
1760 932 /***/ }),
1761 933
1762 934 /***/ "../modules/element-manager/assets/js/upgrade-button.js":
@@ -1775,11 +947,9 @@
1775 947 exports.UpgradeButton = void 0;
1776 948 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1777 949 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1778 950 var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1779 -var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1780 951 var UpgradeButton = exports.UpgradeButton = function UpgradeButton(props) {
1781 - var trackingClass = props.className || 'e-id-elementor-element-manager-button-upgrade';
1782 952 return /*#__PURE__*/_react.default.createElement(_components.Button, (0, _extends2.default)({}, props, {
1783 953 variant: "primary",
1784 954 target: "_blank",
1785 955 rel: 'noreferrer',
@@ -1784,15 +954,11 @@
1784 954 target: "_blank",
1785 955 rel: 'noreferrer',
1786 956 style: {
1787 957 background: 'var(--e-a-btn-bg-accent, #93003f)'
1788 - },
1789 - className: trackingClass
958 + }
1790 959 }));
1791 960 };
1792 -UpgradeButton.propTypes = {
1793 - className: _propTypes.default.string
1794 -};
1795 961
1796 962 /***/ }),
1797 963
1798 964 /***/ "../node_modules/@babel/runtime/helpers/OverloadYield.js":
@@ -2199,19 +1365,21 @@
2199 1365 } catch (e) {
2200 1366 i = 0;
2201 1367 }
2202 1368 module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
2203 - function o(r, n) {
2204 - _regeneratorDefine(e, r, function (e) {
2205 - return this._invoke(r, n, e);
2206 - });
2207 - }
2208 - r ? i ? i(e, r, {
1369 + if (r) i ? i(e, r, {
2209 1370 value: n,
2210 1371 enumerable: !t,
2211 1372 configurable: !t,
2212 1373 writable: !t
2213 - }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
1374 + }) : e[r] = n;else {
1375 + var o = function o(r, n) {
1376 + _regeneratorDefine(e, r, function (e) {
1377 + return this._invoke(r, n, e);
1378 + });
1379 + };
1380 + o("next", 0), o("throw", 1), o("return", 2);
1381 + }
2214 1382 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
2215 1383 }
2216 1384 module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
2217 1385
@@ -3408,12 +2576,12 @@
3408 2576 /* harmony export */ renderNativeComponent: () => (/* binding */ renderNativeComponent),
3409 2577 /* harmony export */ renderStyle: () => (/* binding */ renderStyle)
3410 2578 /* harmony export */ });
3411 2579 /* 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");
3412 -/* harmony import */ var change_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! change-case */ "../node_modules/param-case/dist.es2015/index.js");
3413 -/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/escape-html */ "../node_modules/@wordpress/escape-html/build-module/index.js");
3414 -/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./react */ "react");
3415 -/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_3__);
2580 +/* harmony import */ var change_case__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! change-case */ "../node_modules/param-case/dist.es2015/index.js");
2581 +/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/escape-html */ "../node_modules/@wordpress/escape-html/build-module/index.js");
2582 +/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./react */ "react");
2583 +/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_1__);
3416 2584 /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ "../node_modules/@wordpress/element/build-module/raw-html.js");
3417 2585 /**
3418 2586 * Parts of this source were derived and modified from fast-react-render,
3419 2587 * released under the MIT license.
@@ -3462,10 +2630,10 @@
3462 2630
3463 2631 const {
3464 2632 Provider,
3465 2633 Consumer
3466 -} = (0,_react__WEBPACK_IMPORTED_MODULE_3__.createContext)(undefined);
3467 -const ForwardRef = (0,_react__WEBPACK_IMPORTED_MODULE_3__.forwardRef)(() => {
2634 +} = (0,_react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);
2635 +const ForwardRef = (0,_react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(() => {
3468 2636 return null;
3469 2637 });
3470 2638
3471 2639 /**
@@ -3631,9 +2799,9 @@
3631 2799 const attributeLowerCase = attribute.toLowerCase();
3632 2800 if (CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase]) {
3633 2801 return CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase];
3634 2802 } else if (SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]) {
3635 - return (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]);
2803 + return (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]);
3636 2804 } else if (SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase]) {
3637 2805 return SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase];
3638 2806 }
3639 2807 return attributeLowerCase;
@@ -3654,11 +2822,11 @@
3654 2822 if (property.startsWith('--')) {
3655 2823 return property;
3656 2824 }
3657 2825 if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) {
3658 - return '-' + (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(property);
2826 + return '-' + (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(property);
3659 2827 }
3660 - return (0,change_case__WEBPACK_IMPORTED_MODULE_1__.paramCase)(property);
2828 + return (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(property);
3661 2829 }
3662 2830
3663 2831 /**
3664 2832 * Returns the normal form of the style property value for HTML. Appends a
@@ -3693,9 +2861,9 @@
3693 2861 return renderChildren(element, context, legacyContext);
3694 2862 }
3695 2863 switch (typeof element) {
3696 2864 case 'string':
3697 - return (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.escapeHTML)(element);
2865 + return (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(element);
3698 2866 case 'number':
3699 2867 return element.toString();
3700 2868 }
3701 2869 const {
@@ -3703,10 +2871,10 @@
3703 2871 props
3704 2872 } = /** @type {{type?: any, props?: any}} */
3705 2873 element;
3706 2874 switch (type) {
3707 - case _react__WEBPACK_IMPORTED_MODULE_3__.StrictMode:
3708 - case _react__WEBPACK_IMPORTED_MODULE_3__.Fragment:
2875 + case _react__WEBPACK_IMPORTED_MODULE_1__.StrictMode:
2876 + case _react__WEBPACK_IMPORTED_MODULE_1__.Fragment:
3709 2877 return renderChildren(props.children, context, legacyContext);
3710 2878 case _raw_html__WEBPACK_IMPORTED_MODULE_4__["default"]:
3711 2879 const {
3712 2880 children,
@@ -3833,9 +3001,9 @@
3833 3001 function renderAttributes(props) {
3834 3002 let result = '';
3835 3003 for (const key in props) {
3836 3004 const attribute = getNormalAttributeName(key);
3837 - if (!(0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.isValidAttributeName)(attribute)) {
3005 + if (!(0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.isValidAttributeName)(attribute)) {
3838 3006 continue;
3839 3007 }
3840 3008 let value = getNormalAttributeValue(key, props[key]);
3841 3009
@@ -3867,9 +3035,9 @@
3867 3035 if (isBooleanAttribute) {
3868 3036 continue;
3869 3037 }
3870 3038 if (typeof value === 'string') {
3871 - value = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_2__.escapeAttribute)(value);
3039 + value = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(value);
3872 3040 }
3873 3041 result += '="' + value + '"';
3874 3042 }
3875 3043 return result;
@@ -4122,15 +3290,15 @@
4122 3290 __webpack_require__.r(__webpack_exports__);
4123 3291 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4124 3292 /* harmony export */ dotCase: () => (/* binding */ dotCase)
4125 3293 /* harmony export */ });
4126 -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
4127 -/* harmony import */ var no_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! no-case */ "../node_modules/no-case/dist.es2015/index.js");
3294 +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
3295 +/* harmony import */ var no_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! no-case */ "../node_modules/no-case/dist.es2015/index.js");
4128 3296
4129 3297
4130 3298 function dotCase(input, options) {
4131 3299 if (options === void 0) { options = {}; }
4132 - return (0,no_case__WEBPACK_IMPORTED_MODULE_1__.noCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ delimiter: "." }, options));
3300 + return (0,no_case__WEBPACK_IMPORTED_MODULE_0__.noCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "." }, options));
4133 3301 }
4134 3302 //# sourceMappingURL=index.js.map
4135 3303
4136 3304 /***/ }),
@@ -4292,109 +3460,8 @@
4292 3460 //# sourceMappingURL=index.js.map
4293 3461
4294 3462 /***/ }),
4295 3463
4296 -/***/ "../node_modules/object-assign/index.js":
4297 -/*!**********************************************!*\
4298 - !*** ../node_modules/object-assign/index.js ***!
4299 - \**********************************************/
4300 -/***/ ((module) => {
4301 -
4302 -"use strict";
4303 -/*
4304 -object-assign
4305 -(c) Sindre Sorhus
4306 -@license MIT
4307 -*/
4308 -
4309 -
4310 -/* eslint-disable no-unused-vars */
4311 -var getOwnPropertySymbols = Object.getOwnPropertySymbols;
4312 -var hasOwnProperty = Object.prototype.hasOwnProperty;
4313 -var propIsEnumerable = Object.prototype.propertyIsEnumerable;
4314 -
4315 -function toObject(val) {
4316 - if (val === null || val === undefined) {
4317 - throw new TypeError('Object.assign cannot be called with null or undefined');
4318 - }
4319 -
4320 - return Object(val);
4321 -}
4322 -
4323 -function shouldUseNative() {
4324 - try {
4325 - if (!Object.assign) {
4326 - return false;
4327 - }
4328 -
4329 - // Detect buggy property enumeration order in older V8 versions.
4330 -
4331 - // https://bugs.chromium.org/p/v8/issues/detail?id=4118
4332 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
4333 - test1[5] = 'de';
4334 - if (Object.getOwnPropertyNames(test1)[0] === '5') {
4335 - return false;
4336 - }
4337 -
4338 - // https://bugs.chromium.org/p/v8/issues/detail?id=3056
4339 - var test2 = {};
4340 - for (var i = 0; i < 10; i++) {
4341 - test2['_' + String.fromCharCode(i)] = i;
4342 - }
4343 - var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
4344 - return test2[n];
4345 - });
4346 - if (order2.join('') !== '0123456789') {
4347 - return false;
4348 - }
4349 -
4350 - // https://bugs.chromium.org/p/v8/issues/detail?id=3056
4351 - var test3 = {};
4352 - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
4353 - test3[letter] = letter;
4354 - });
4355 - if (Object.keys(Object.assign({}, test3)).join('') !==
4356 - 'abcdefghijklmnopqrst') {
4357 - return false;
4358 - }
4359 -
4360 - return true;
4361 - } catch (err) {
4362 - // We don't expect any of the above to throw, but better to be safe.
4363 - return false;
4364 - }
4365 -}
4366 -
4367 -module.exports = shouldUseNative() ? Object.assign : function (target, source) {
4368 - var from;
4369 - var to = toObject(target);
4370 - var symbols;
4371 -
4372 - for (var s = 1; s < arguments.length; s++) {
4373 - from = Object(arguments[s]);
4374 -
4375 - for (var key in from) {
4376 - if (hasOwnProperty.call(from, key)) {
4377 - to[key] = from[key];
4378 - }
4379 - }
4380 -
4381 - if (getOwnPropertySymbols) {
4382 - symbols = getOwnPropertySymbols(from);
4383 - for (var i = 0; i < symbols.length; i++) {
4384 - if (propIsEnumerable.call(from, symbols[i])) {
4385 - to[symbols[i]] = from[symbols[i]];
4386 - }
4387 - }
4388 - }
4389 - }
4390 -
4391 - return to;
4392 -};
4393 -
4394 -
4395 -/***/ }),
4396 -
4397 3464 /***/ "../node_modules/param-case/dist.es2015/index.js":
4398 3465 /*!*******************************************************!*\
4399 3466 !*** ../node_modules/param-case/dist.es2015/index.js ***!
4400 3467 \*******************************************************/
@@ -4404,1024 +3471,20 @@
4404 3471 __webpack_require__.r(__webpack_exports__);
4405 3472 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4406 3473 /* harmony export */ paramCase: () => (/* binding */ paramCase)
4407 3474 /* harmony export */ });
4408 -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
4409 -/* harmony import */ var dot_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dot-case */ "../node_modules/dot-case/dist.es2015/index.js");
3475 +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs");
3476 +/* harmony import */ var dot_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dot-case */ "../node_modules/dot-case/dist.es2015/index.js");
4410 3477
4411 3478
4412 3479 function paramCase(input, options) {
4413 3480 if (options === void 0) { options = {}; }
4414 - return (0,dot_case__WEBPACK_IMPORTED_MODULE_1__.dotCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({ delimiter: "-" }, options));
3481 + return (0,dot_case__WEBPACK_IMPORTED_MODULE_0__.dotCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "-" }, options));
4415 3482 }
4416 3483 //# sourceMappingURL=index.js.map
4417 3484
4418 3485 /***/ }),
4419 3486
4420 -/***/ "../node_modules/prop-types/checkPropTypes.js":
4421 -/*!****************************************************!*\
4422 - !*** ../node_modules/prop-types/checkPropTypes.js ***!
4423 - \****************************************************/
4424 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4425 -
4426 -"use strict";
4427 -/**
4428 - * Copyright (c) 2013-present, Facebook, Inc.
4429 - *
4430 - * This source code is licensed under the MIT license found in the
4431 - * LICENSE file in the root directory of this source tree.
4432 - */
4433 -
4434 -
4435 -
4436 -var printWarning = function() {};
4437 -
4438 -if (true) {
4439 - var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
4440 - var loggedTypeFailures = {};
4441 - var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
4442 -
4443 - printWarning = function(text) {
4444 - var message = 'Warning: ' + text;
4445 - if (typeof console !== 'undefined') {
4446 - console.error(message);
4447 - }
4448 - try {
4449 - // --- Welcome to debugging React ---
4450 - // This error was thrown as a convenience so that you can use this stack
4451 - // to find the callsite that caused this warning to fire.
4452 - throw new Error(message);
4453 - } catch (x) { /**/ }
4454 - };
4455 -}
4456 -
4457 -/**
4458 - * Assert that the values match with the type specs.
4459 - * Error messages are memorized and will only be shown once.
4460 - *
4461 - * @param {object} typeSpecs Map of name to a ReactPropType
4462 - * @param {object} values Runtime values that need to be type-checked
4463 - * @param {string} location e.g. "prop", "context", "child context"
4464 - * @param {string} componentName Name of the component for error messages.
4465 - * @param {?Function} getStack Returns the component stack.
4466 - * @private
4467 - */
4468 -function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
4469 - if (true) {
4470 - for (var typeSpecName in typeSpecs) {
4471 - if (has(typeSpecs, typeSpecName)) {
4472 - var error;
4473 - // Prop type validation may throw. In case they do, we don't want to
4474 - // fail the render phase where it didn't fail before. So we log it.
4475 - // After these have been cleaned up, we'll let them throw.
4476 - try {
4477 - // This is intentionally an invariant that gets caught. It's the same
4478 - // behavior as without this statement except with a better message.
4479 - if (typeof typeSpecs[typeSpecName] !== 'function') {
4480 - var err = Error(
4481 - (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
4482 - 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
4483 - 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
4484 - );
4485 - err.name = 'Invariant Violation';
4486 - throw err;
4487 - }
4488 - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
4489 - } catch (ex) {
4490 - error = ex;
4491 - }
4492 - if (error && !(error instanceof Error)) {
4493 - printWarning(
4494 - (componentName || 'React class') + ': type specification of ' +
4495 - location + ' `' + typeSpecName + '` is invalid; the type checker ' +
4496 - 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
4497 - 'You may have forgotten to pass an argument to the type checker ' +
4498 - 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
4499 - 'shape all require an argument).'
4500 - );
4501 - }
4502 - if (error instanceof Error && !(error.message in loggedTypeFailures)) {
4503 - // Only monitor this failure once because there tends to be a lot of the
4504 - // same error.
4505 - loggedTypeFailures[error.message] = true;
4506 -
4507 - var stack = getStack ? getStack() : '';
4508 -
4509 - printWarning(
4510 - 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
4511 - );
4512 - }
4513 - }
4514 - }
4515 - }
4516 -}
4517 -
4518 -/**
4519 - * Resets warning cache when testing.
4520 - *
4521 - * @private
4522 - */
4523 -checkPropTypes.resetWarningCache = function() {
4524 - if (true) {
4525 - loggedTypeFailures = {};
4526 - }
4527 -}
4528 -
4529 -module.exports = checkPropTypes;
4530 -
4531 -
4532 -/***/ }),
4533 -
4534 -/***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
4535 -/*!*************************************************************!*\
4536 - !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
4537 - \*************************************************************/
4538 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4539 -
4540 -"use strict";
4541 -/**
4542 - * Copyright (c) 2013-present, Facebook, Inc.
4543 - *
4544 - * This source code is licensed under the MIT license found in the
4545 - * LICENSE file in the root directory of this source tree.
4546 - */
4547 -
4548 -
4549 -
4550 -var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
4551 -var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
4552 -
4553 -var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
4554 -var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
4555 -var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
4556 -
4557 -var printWarning = function() {};
4558 -
4559 -if (true) {
4560 - printWarning = function(text) {
4561 - var message = 'Warning: ' + text;
4562 - if (typeof console !== 'undefined') {
4563 - console.error(message);
4564 - }
4565 - try {
4566 - // --- Welcome to debugging React ---
4567 - // This error was thrown as a convenience so that you can use this stack
4568 - // to find the callsite that caused this warning to fire.
4569 - throw new Error(message);
4570 - } catch (x) {}
4571 - };
4572 -}
4573 -
4574 -function emptyFunctionThatReturnsNull() {
4575 - return null;
4576 -}
4577 -
4578 -module.exports = function(isValidElement, throwOnDirectAccess) {
4579 - /* global Symbol */
4580 - var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
4581 - var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
4582 -
4583 - /**
4584 - * Returns the iterator method function contained on the iterable object.
4585 - *
4586 - * Be sure to invoke the function with the iterable as context:
4587 - *
4588 - * var iteratorFn = getIteratorFn(myIterable);
4589 - * if (iteratorFn) {
4590 - * var iterator = iteratorFn.call(myIterable);
4591 - * ...
4592 - * }
4593 - *
4594 - * @param {?object} maybeIterable
4595 - * @return {?function}
4596 - */
4597 - function getIteratorFn(maybeIterable) {
4598 - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
4599 - if (typeof iteratorFn === 'function') {
4600 - return iteratorFn;
4601 - }
4602 - }
4603 -
4604 - /**
4605 - * Collection of methods that allow declaration and validation of props that are
4606 - * supplied to React components. Example usage:
4607 - *
4608 - * var Props = require('ReactPropTypes');
4609 - * var MyArticle = React.createClass({
4610 - * propTypes: {
4611 - * // An optional string prop named "description".
4612 - * description: Props.string,
4613 - *
4614 - * // A required enum prop named "category".
4615 - * category: Props.oneOf(['News','Photos']).isRequired,
4616 - *
4617 - * // A prop named "dialog" that requires an instance of Dialog.
4618 - * dialog: Props.instanceOf(Dialog).isRequired
4619 - * },
4620 - * render: function() { ... }
4621 - * });
4622 - *
4623 - * A more formal specification of how these methods are used:
4624 - *
4625 - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
4626 - * decl := ReactPropTypes.{type}(.isRequired)?
4627 - *
4628 - * Each and every declaration produces a function with the same signature. This
4629 - * allows the creation of custom validation functions. For example:
4630 - *
4631 - * var MyLink = React.createClass({
4632 - * propTypes: {
4633 - * // An optional string or URI prop named "href".
4634 - * href: function(props, propName, componentName) {
4635 - * var propValue = props[propName];
4636 - * if (propValue != null && typeof propValue !== 'string' &&
4637 - * !(propValue instanceof URI)) {
4638 - * return new Error(
4639 - * 'Expected a string or an URI for ' + propName + ' in ' +
4640 - * componentName
4641 - * );
4642 - * }
4643 - * }
4644 - * },
4645 - * render: function() {...}
4646 - * });
4647 - *
4648 - * @internal
4649 - */
4650 -
4651 - var ANONYMOUS = '<<anonymous>>';
4652 -
4653 - // Important!
4654 - // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
4655 - var ReactPropTypes = {
4656 - array: createPrimitiveTypeChecker('array'),
4657 - bigint: createPrimitiveTypeChecker('bigint'),
4658 - bool: createPrimitiveTypeChecker('boolean'),
4659 - func: createPrimitiveTypeChecker('function'),
4660 - number: createPrimitiveTypeChecker('number'),
4661 - object: createPrimitiveTypeChecker('object'),
4662 - string: createPrimitiveTypeChecker('string'),
4663 - symbol: createPrimitiveTypeChecker('symbol'),
4664 -
4665 - any: createAnyTypeChecker(),
4666 - arrayOf: createArrayOfTypeChecker,
4667 - element: createElementTypeChecker(),
4668 - elementType: createElementTypeTypeChecker(),
4669 - instanceOf: createInstanceTypeChecker,
4670 - node: createNodeChecker(),
4671 - objectOf: createObjectOfTypeChecker,
4672 - oneOf: createEnumTypeChecker,
4673 - oneOfType: createUnionTypeChecker,
4674 - shape: createShapeTypeChecker,
4675 - exact: createStrictShapeTypeChecker,
4676 - };
4677 -
4678 - /**
4679 - * inlined Object.is polyfill to avoid requiring consumers ship their own
4680 - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
4681 - */
4682 - /*eslint-disable no-self-compare*/
4683 - function is(x, y) {
4684 - // SameValue algorithm
4685 - if (x === y) {
4686 - // Steps 1-5, 7-10
4687 - // Steps 6.b-6.e: +0 != -0
4688 - return x !== 0 || 1 / x === 1 / y;
4689 - } else {
4690 - // Step 6.a: NaN == NaN
4691 - return x !== x && y !== y;
4692 - }
4693 - }
4694 - /*eslint-enable no-self-compare*/
4695 -
4696 - /**
4697 - * We use an Error-like object for backward compatibility as people may call
4698 - * PropTypes directly and inspect their output. However, we don't use real
4699 - * Errors anymore. We don't inspect their stack anyway, and creating them
4700 - * is prohibitively expensive if they are created too often, such as what
4701 - * happens in oneOfType() for any type before the one that matched.
4702 - */
4703 - function PropTypeError(message, data) {
4704 - this.message = message;
4705 - this.data = data && typeof data === 'object' ? data: {};
4706 - this.stack = '';
4707 - }
4708 - // Make `instanceof Error` still work for returned errors.
4709 - PropTypeError.prototype = Error.prototype;
4710 -
4711 - function createChainableTypeChecker(validate) {
4712 - if (true) {
4713 - var manualPropTypeCallCache = {};
4714 - var manualPropTypeWarningCount = 0;
4715 - }
4716 - function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
4717 - componentName = componentName || ANONYMOUS;
4718 - propFullName = propFullName || propName;
4719 -
4720 - if (secret !== ReactPropTypesSecret) {
4721 - if (throwOnDirectAccess) {
4722 - // New behavior only for users of `prop-types` package
4723 - var err = new Error(
4724 - 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
4725 - 'Use `PropTypes.checkPropTypes()` to call them. ' +
4726 - 'Read more at http://fb.me/use-check-prop-types'
4727 - );
4728 - err.name = 'Invariant Violation';
4729 - throw err;
4730 - } else if ( true && typeof console !== 'undefined') {
4731 - // Old behavior for people using React.PropTypes
4732 - var cacheKey = componentName + ':' + propName;
4733 - if (
4734 - !manualPropTypeCallCache[cacheKey] &&
4735 - // Avoid spamming the console because they are often not actionable except for lib authors
4736 - manualPropTypeWarningCount < 3
4737 - ) {
4738 - printWarning(
4739 - 'You are manually calling a React.PropTypes validation ' +
4740 - 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
4741 - 'and will throw in the standalone `prop-types` package. ' +
4742 - 'You may be seeing this warning due to a third-party PropTypes ' +
4743 - 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
4744 - );
4745 - manualPropTypeCallCache[cacheKey] = true;
4746 - manualPropTypeWarningCount++;
4747 - }
4748 - }
4749 - }
4750 - if (props[propName] == null) {
4751 - if (isRequired) {
4752 - if (props[propName] === null) {
4753 - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
4754 - }
4755 - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
4756 - }
4757 - return null;
4758 - } else {
4759 - return validate(props, propName, componentName, location, propFullName);
4760 - }
4761 - }
4762 -
4763 - var chainedCheckType = checkType.bind(null, false);
4764 - chainedCheckType.isRequired = checkType.bind(null, true);
4765 -
4766 - return chainedCheckType;
4767 - }
4768 -
4769 - function createPrimitiveTypeChecker(expectedType) {
4770 - function validate(props, propName, componentName, location, propFullName, secret) {
4771 - var propValue = props[propName];
4772 - var propType = getPropType(propValue);
4773 - if (propType !== expectedType) {
4774 - // `propValue` being instance of, say, date/regexp, pass the 'object'
4775 - // check, but we can offer a more precise error message here rather than
4776 - // 'of type `object`'.
4777 - var preciseType = getPreciseType(propValue);
4778 -
4779 - return new PropTypeError(
4780 - 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
4781 - {expectedType: expectedType}
4782 - );
4783 - }
4784 - return null;
4785 - }
4786 - return createChainableTypeChecker(validate);
4787 - }
4788 -
4789 - function createAnyTypeChecker() {
4790 - return createChainableTypeChecker(emptyFunctionThatReturnsNull);
4791 - }
4792 -
4793 - function createArrayOfTypeChecker(typeChecker) {
4794 - function validate(props, propName, componentName, location, propFullName) {
4795 - if (typeof typeChecker !== 'function') {
4796 - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
4797 - }
4798 - var propValue = props[propName];
4799 - if (!Array.isArray(propValue)) {
4800 - var propType = getPropType(propValue);
4801 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
4802 - }
4803 - for (var i = 0; i < propValue.length; i++) {
4804 - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
4805 - if (error instanceof Error) {
4806 - return error;
4807 - }
4808 - }
4809 - return null;
4810 - }
4811 - return createChainableTypeChecker(validate);
4812 - }
4813 -
4814 - function createElementTypeChecker() {
4815 - function validate(props, propName, componentName, location, propFullName) {
4816 - var propValue = props[propName];
4817 - if (!isValidElement(propValue)) {
4818 - var propType = getPropType(propValue);
4819 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
4820 - }
4821 - return null;
4822 - }
4823 - return createChainableTypeChecker(validate);
4824 - }
4825 -
4826 - function createElementTypeTypeChecker() {
4827 - function validate(props, propName, componentName, location, propFullName) {
4828 - var propValue = props[propName];
4829 - if (!ReactIs.isValidElementType(propValue)) {
4830 - var propType = getPropType(propValue);
4831 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
4832 - }
4833 - return null;
4834 - }
4835 - return createChainableTypeChecker(validate);
4836 - }
4837 -
4838 - function createInstanceTypeChecker(expectedClass) {
4839 - function validate(props, propName, componentName, location, propFullName) {
4840 - if (!(props[propName] instanceof expectedClass)) {
4841 - var expectedClassName = expectedClass.name || ANONYMOUS;
4842 - var actualClassName = getClassName(props[propName]);
4843 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
4844 - }
4845 - return null;
4846 - }
4847 - return createChainableTypeChecker(validate);
4848 - }
4849 -
4850 - function createEnumTypeChecker(expectedValues) {
4851 - if (!Array.isArray(expectedValues)) {
4852 - if (true) {
4853 - if (arguments.length > 1) {
4854 - printWarning(
4855 - 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
4856 - 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
4857 - );
4858 - } else {
4859 - printWarning('Invalid argument supplied to oneOf, expected an array.');
4860 - }
4861 - }
4862 - return emptyFunctionThatReturnsNull;
4863 - }
4864 -
4865 - function validate(props, propName, componentName, location, propFullName) {
4866 - var propValue = props[propName];
4867 - for (var i = 0; i < expectedValues.length; i++) {
4868 - if (is(propValue, expectedValues[i])) {
4869 - return null;
4870 - }
4871 - }
4872 -
4873 - var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
4874 - var type = getPreciseType(value);
4875 - if (type === 'symbol') {
4876 - return String(value);
4877 - }
4878 - return value;
4879 - });
4880 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
4881 - }
4882 - return createChainableTypeChecker(validate);
4883 - }
4884 -
4885 - function createObjectOfTypeChecker(typeChecker) {
4886 - function validate(props, propName, componentName, location, propFullName) {
4887 - if (typeof typeChecker !== 'function') {
4888 - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
4889 - }
4890 - var propValue = props[propName];
4891 - var propType = getPropType(propValue);
4892 - if (propType !== 'object') {
4893 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
4894 - }
4895 - for (var key in propValue) {
4896 - if (has(propValue, key)) {
4897 - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
4898 - if (error instanceof Error) {
4899 - return error;
4900 - }
4901 - }
4902 - }
4903 - return null;
4904 - }
4905 - return createChainableTypeChecker(validate);
4906 - }
4907 -
4908 - function createUnionTypeChecker(arrayOfTypeCheckers) {
4909 - if (!Array.isArray(arrayOfTypeCheckers)) {
4910 - true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
4911 - return emptyFunctionThatReturnsNull;
4912 - }
4913 -
4914 - for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
4915 - var checker = arrayOfTypeCheckers[i];
4916 - if (typeof checker !== 'function') {
4917 - printWarning(
4918 - 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
4919 - 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
4920 - );
4921 - return emptyFunctionThatReturnsNull;
4922 - }
4923 - }
4924 -
4925 - function validate(props, propName, componentName, location, propFullName) {
4926 - var expectedTypes = [];
4927 - for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
4928 - var checker = arrayOfTypeCheckers[i];
4929 - var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
4930 - if (checkerResult == null) {
4931 - return null;
4932 - }
4933 - if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
4934 - expectedTypes.push(checkerResult.data.expectedType);
4935 - }
4936 - }
4937 - var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
4938 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
4939 - }
4940 - return createChainableTypeChecker(validate);
4941 - }
4942 -
4943 - function createNodeChecker() {
4944 - function validate(props, propName, componentName, location, propFullName) {
4945 - if (!isNode(props[propName])) {
4946 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
4947 - }
4948 - return null;
4949 - }
4950 - return createChainableTypeChecker(validate);
4951 - }
4952 -
4953 - function invalidValidatorError(componentName, location, propFullName, key, type) {
4954 - return new PropTypeError(
4955 - (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
4956 - 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
4957 - );
4958 - }
4959 -
4960 - function createShapeTypeChecker(shapeTypes) {
4961 - function validate(props, propName, componentName, location, propFullName) {
4962 - var propValue = props[propName];
4963 - var propType = getPropType(propValue);
4964 - if (propType !== 'object') {
4965 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
4966 - }
4967 - for (var key in shapeTypes) {
4968 - var checker = shapeTypes[key];
4969 - if (typeof checker !== 'function') {
4970 - return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
4971 - }
4972 - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
4973 - if (error) {
4974 - return error;
4975 - }
4976 - }
4977 - return null;
4978 - }
4979 - return createChainableTypeChecker(validate);
4980 - }
4981 -
4982 - function createStrictShapeTypeChecker(shapeTypes) {
4983 - function validate(props, propName, componentName, location, propFullName) {
4984 - var propValue = props[propName];
4985 - var propType = getPropType(propValue);
4986 - if (propType !== 'object') {
4987 - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
4988 - }
4989 - // We need to check all keys in case some are required but missing from props.
4990 - var allKeys = assign({}, props[propName], shapeTypes);
4991 - for (var key in allKeys) {
4992 - var checker = shapeTypes[key];
4993 - if (has(shapeTypes, key) && typeof checker !== 'function') {
4994 - return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
4995 - }
4996 - if (!checker) {
4997 - return new PropTypeError(
4998 - 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
4999 - '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
5000 - '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
5001 - );
5002 - }
5003 - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5004 - if (error) {
5005 - return error;
5006 - }
5007 - }
5008 - return null;
5009 - }
5010 -
5011 - return createChainableTypeChecker(validate);
5012 - }
5013 -
5014 - function isNode(propValue) {
5015 - switch (typeof propValue) {
5016 - case 'number':
5017 - case 'string':
5018 - case 'undefined':
5019 - return true;
5020 - case 'boolean':
5021 - return !propValue;
5022 - case 'object':
5023 - if (Array.isArray(propValue)) {
5024 - return propValue.every(isNode);
5025 - }
5026 - if (propValue === null || isValidElement(propValue)) {
5027 - return true;
5028 - }
5029 -
5030 - var iteratorFn = getIteratorFn(propValue);
5031 - if (iteratorFn) {
5032 - var iterator = iteratorFn.call(propValue);
5033 - var step;
5034 - if (iteratorFn !== propValue.entries) {
5035 - while (!(step = iterator.next()).done) {
5036 - if (!isNode(step.value)) {
5037 - return false;
5038 - }
5039 - }
5040 - } else {
5041 - // Iterator will provide entry [k,v] tuples rather than values.
5042 - while (!(step = iterator.next()).done) {
5043 - var entry = step.value;
5044 - if (entry) {
5045 - if (!isNode(entry[1])) {
5046 - return false;
5047 - }
5048 - }
5049 - }
5050 - }
5051 - } else {
5052 - return false;
5053 - }
5054 -
5055 - return true;
5056 - default:
5057 - return false;
5058 - }
5059 - }
5060 -
5061 - function isSymbol(propType, propValue) {
5062 - // Native Symbol.
5063 - if (propType === 'symbol') {
5064 - return true;
5065 - }
5066 -
5067 - // falsy value can't be a Symbol
5068 - if (!propValue) {
5069 - return false;
5070 - }
5071 -
5072 - // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
5073 - if (propValue['@@toStringTag'] === 'Symbol') {
5074 - return true;
5075 - }
5076 -
5077 - // Fallback for non-spec compliant Symbols which are polyfilled.
5078 - if (typeof Symbol === 'function' && propValue instanceof Symbol) {
5079 - return true;
5080 - }
5081 -
5082 - return false;
5083 - }
5084 -
5085 - // Equivalent of `typeof` but with special handling for array and regexp.
5086 - function getPropType(propValue) {
5087 - var propType = typeof propValue;
5088 - if (Array.isArray(propValue)) {
5089 - return 'array';
5090 - }
5091 - if (propValue instanceof RegExp) {
5092 - // Old webkits (at least until Android 4.0) return 'function' rather than
5093 - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
5094 - // passes PropTypes.object.
5095 - return 'object';
5096 - }
5097 - if (isSymbol(propType, propValue)) {
5098 - return 'symbol';
5099 - }
5100 - return propType;
5101 - }
5102 -
5103 - // This handles more types than `getPropType`. Only used for error messages.
5104 - // See `createPrimitiveTypeChecker`.
5105 - function getPreciseType(propValue) {
5106 - if (typeof propValue === 'undefined' || propValue === null) {
5107 - return '' + propValue;
5108 - }
5109 - var propType = getPropType(propValue);
5110 - if (propType === 'object') {
5111 - if (propValue instanceof Date) {
5112 - return 'date';
5113 - } else if (propValue instanceof RegExp) {
5114 - return 'regexp';
5115 - }
5116 - }
5117 - return propType;
5118 - }
5119 -
5120 - // Returns a string that is postfixed to a warning about an invalid type.
5121 - // For example, "undefined" or "of type array"
5122 - function getPostfixForTypeWarning(value) {
5123 - var type = getPreciseType(value);
5124 - switch (type) {
5125 - case 'array':
5126 - case 'object':
5127 - return 'an ' + type;
5128 - case 'boolean':
5129 - case 'date':
5130 - case 'regexp':
5131 - return 'a ' + type;
5132 - default:
5133 - return type;
5134 - }
5135 - }
5136 -
5137 - // Returns class name of the object, if any.
5138 - function getClassName(propValue) {
5139 - if (!propValue.constructor || !propValue.constructor.name) {
5140 - return ANONYMOUS;
5141 - }
5142 - return propValue.constructor.name;
5143 - }
5144 -
5145 - ReactPropTypes.checkPropTypes = checkPropTypes;
5146 - ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
5147 - ReactPropTypes.PropTypes = ReactPropTypes;
5148 -
5149 - return ReactPropTypes;
5150 -};
5151 -
5152 -
5153 -/***/ }),
5154 -
5155 -/***/ "../node_modules/prop-types/index.js":
5156 -/*!*******************************************!*\
5157 - !*** ../node_modules/prop-types/index.js ***!
5158 - \*******************************************/
5159 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5160 -
5161 -/**
5162 - * Copyright (c) 2013-present, Facebook, Inc.
5163 - *
5164 - * This source code is licensed under the MIT license found in the
5165 - * LICENSE file in the root directory of this source tree.
5166 - */
5167 -
5168 -if (true) {
5169 - var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
5170 -
5171 - // By explicitly using `prop-types` you are opting into new development behavior.
5172 - // http://fb.me/prop-types-in-prod
5173 - var throwOnDirectAccess = true;
5174 - module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
5175 -} else // removed by dead control flow
5176 -{}
5177 -
5178 -
5179 -/***/ }),
5180 -
5181 -/***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
5182 -/*!**************************************************************!*\
5183 - !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
5184 - \**************************************************************/
5185 -/***/ ((module) => {
5186 -
5187 -"use strict";
5188 -/**
5189 - * Copyright (c) 2013-present, Facebook, Inc.
5190 - *
5191 - * This source code is licensed under the MIT license found in the
5192 - * LICENSE file in the root directory of this source tree.
5193 - */
5194 -
5195 -
5196 -
5197 -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
5198 -
5199 -module.exports = ReactPropTypesSecret;
5200 -
5201 -
5202 -/***/ }),
5203 -
5204 -/***/ "../node_modules/prop-types/lib/has.js":
5205 -/*!*********************************************!*\
5206 - !*** ../node_modules/prop-types/lib/has.js ***!
5207 - \*********************************************/
5208 -/***/ ((module) => {
5209 -
5210 -module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
5211 -
5212 -
5213 -/***/ }),
5214 -
5215 -/***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
5216 -/*!************************************************************************************!*\
5217 - !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
5218 - \************************************************************************************/
5219 -/***/ ((__unused_webpack_module, exports) => {
5220 -
5221 -"use strict";
5222 -/** @license React v16.13.1
5223 - * react-is.development.js
5224 - *
5225 - * Copyright (c) Facebook, Inc. and its affiliates.
5226 - *
5227 - * This source code is licensed under the MIT license found in the
5228 - * LICENSE file in the root directory of this source tree.
5229 - */
5230 -
5231 -
5232 -
5233 -
5234 -
5235 -if (true) {
5236 - (function() {
5237 -'use strict';
5238 -
5239 -// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
5240 -// nor polyfill, then a plain number is used for performance.
5241 -var hasSymbol = typeof Symbol === 'function' && Symbol.for;
5242 -var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
5243 -var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
5244 -var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
5245 -var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
5246 -var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
5247 -var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
5248 -var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
5249 -// (unstable) APIs that have been removed. Can we remove the symbols?
5250 -
5251 -var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
5252 -var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
5253 -var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
5254 -var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
5255 -var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
5256 -var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
5257 -var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
5258 -var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
5259 -var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
5260 -var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
5261 -var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
5262 -
5263 -function isValidElementType(type) {
5264 - return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
5265 - 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);
5266 -}
5267 -
5268 -function typeOf(object) {
5269 - if (typeof object === 'object' && object !== null) {
5270 - var $$typeof = object.$$typeof;
5271 -
5272 - switch ($$typeof) {
5273 - case REACT_ELEMENT_TYPE:
5274 - var type = object.type;
5275 -
5276 - switch (type) {
5277 - case REACT_ASYNC_MODE_TYPE:
5278 - case REACT_CONCURRENT_MODE_TYPE:
5279 - case REACT_FRAGMENT_TYPE:
5280 - case REACT_PROFILER_TYPE:
5281 - case REACT_STRICT_MODE_TYPE:
5282 - case REACT_SUSPENSE_TYPE:
5283 - return type;
5284 -
5285 - default:
5286 - var $$typeofType = type && type.$$typeof;
5287 -
5288 - switch ($$typeofType) {
5289 - case REACT_CONTEXT_TYPE:
5290 - case REACT_FORWARD_REF_TYPE:
5291 - case REACT_LAZY_TYPE:
5292 - case REACT_MEMO_TYPE:
5293 - case REACT_PROVIDER_TYPE:
5294 - return $$typeofType;
5295 -
5296 - default:
5297 - return $$typeof;
5298 - }
5299 -
5300 - }
5301 -
5302 - case REACT_PORTAL_TYPE:
5303 - return $$typeof;
5304 - }
5305 - }
5306 -
5307 - return undefined;
5308 -} // AsyncMode is deprecated along with isAsyncMode
5309 -
5310 -var AsyncMode = REACT_ASYNC_MODE_TYPE;
5311 -var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
5312 -var ContextConsumer = REACT_CONTEXT_TYPE;
5313 -var ContextProvider = REACT_PROVIDER_TYPE;
5314 -var Element = REACT_ELEMENT_TYPE;
5315 -var ForwardRef = REACT_FORWARD_REF_TYPE;
5316 -var Fragment = REACT_FRAGMENT_TYPE;
5317 -var Lazy = REACT_LAZY_TYPE;
5318 -var Memo = REACT_MEMO_TYPE;
5319 -var Portal = REACT_PORTAL_TYPE;
5320 -var Profiler = REACT_PROFILER_TYPE;
5321 -var StrictMode = REACT_STRICT_MODE_TYPE;
5322 -var Suspense = REACT_SUSPENSE_TYPE;
5323 -var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
5324 -
5325 -function isAsyncMode(object) {
5326 - {
5327 - if (!hasWarnedAboutDeprecatedIsAsyncMode) {
5328 - hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
5329 -
5330 - 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.');
5331 - }
5332 - }
5333 -
5334 - return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
5335 -}
5336 -function isConcurrentMode(object) {
5337 - return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
5338 -}
5339 -function isContextConsumer(object) {
5340 - return typeOf(object) === REACT_CONTEXT_TYPE;
5341 -}
5342 -function isContextProvider(object) {
5343 - return typeOf(object) === REACT_PROVIDER_TYPE;
5344 -}
5345 -function isElement(object) {
5346 - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
5347 -}
5348 -function isForwardRef(object) {
5349 - return typeOf(object) === REACT_FORWARD_REF_TYPE;
5350 -}
5351 -function isFragment(object) {
5352 - return typeOf(object) === REACT_FRAGMENT_TYPE;
5353 -}
5354 -function isLazy(object) {
5355 - return typeOf(object) === REACT_LAZY_TYPE;
5356 -}
5357 -function isMemo(object) {
5358 - return typeOf(object) === REACT_MEMO_TYPE;
5359 -}
5360 -function isPortal(object) {
5361 - return typeOf(object) === REACT_PORTAL_TYPE;
5362 -}
5363 -function isProfiler(object) {
5364 - return typeOf(object) === REACT_PROFILER_TYPE;
5365 -}
5366 -function isStrictMode(object) {
5367 - return typeOf(object) === REACT_STRICT_MODE_TYPE;
5368 -}
5369 -function isSuspense(object) {
5370 - return typeOf(object) === REACT_SUSPENSE_TYPE;
5371 -}
5372 -
5373 -exports.AsyncMode = AsyncMode;
5374 -exports.ConcurrentMode = ConcurrentMode;
5375 -exports.ContextConsumer = ContextConsumer;
5376 -exports.ContextProvider = ContextProvider;
5377 -exports.Element = Element;
5378 -exports.ForwardRef = ForwardRef;
5379 -exports.Fragment = Fragment;
5380 -exports.Lazy = Lazy;
5381 -exports.Memo = Memo;
5382 -exports.Portal = Portal;
5383 -exports.Profiler = Profiler;
5384 -exports.StrictMode = StrictMode;
5385 -exports.Suspense = Suspense;
5386 -exports.isAsyncMode = isAsyncMode;
5387 -exports.isConcurrentMode = isConcurrentMode;
5388 -exports.isContextConsumer = isContextConsumer;
5389 -exports.isContextProvider = isContextProvider;
5390 -exports.isElement = isElement;
5391 -exports.isForwardRef = isForwardRef;
5392 -exports.isFragment = isFragment;
5393 -exports.isLazy = isLazy;
5394 -exports.isMemo = isMemo;
5395 -exports.isPortal = isPortal;
5396 -exports.isProfiler = isProfiler;
5397 -exports.isStrictMode = isStrictMode;
5398 -exports.isSuspense = isSuspense;
5399 -exports.isValidElementType = isValidElementType;
5400 -exports.typeOf = typeOf;
5401 - })();
5402 -}
5403 -
5404 -
5405 -/***/ }),
5406 -
5407 -/***/ "../node_modules/prop-types/node_modules/react-is/index.js":
5408 -/*!*****************************************************************!*\
5409 - !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
5410 - \*****************************************************************/
5411 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5412 -
5413 -"use strict";
5414 -
5415 -
5416 -if (false) // removed by dead control flow
5417 -{} else {
5418 - module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
5419 -}
5420 -
5421 -
5422 -/***/ }),
5423 -
5424 3487 /***/ "../node_modules/react-dom/client.js":
5425 3488 /*!*******************************************!*\
5426 3489 !*** ../node_modules/react-dom/client.js ***!
5427 3490 \*******************************************/
@@ -5902,30 +3965,8 @@
5902 3965
5903 3966
5904 3967 /***/ }),
5905 3968
5906 -/***/ "@elementor/icons":
5907 -/*!************************************!*\
5908 - !*** external "elementorV2.icons" ***!
5909 - \************************************/
5910 -/***/ ((module) => {
5911 -
5912 -"use strict";
5913 -module.exports = elementorV2.icons;
5914 -
5915 -/***/ }),
5916 -
5917 -/***/ "@elementor/ui":
5918 -/*!*********************************!*\
5919 - !*** external "elementorV2.ui" ***!
5920 - \*********************************/
5921 -/***/ ((module) => {
5922 -
5923 -"use strict";
5924 -module.exports = elementorV2.ui;
5925 -
5926 -/***/ }),
5927 -
5928 3969 /***/ "@wordpress/components":
5929 3970 /*!********************************!*\
5930 3971 !*** external "wp.components" ***!
5931 3972 \********************************/
@@ -6060,16 +4101,14 @@
6060 4101 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6061 4102 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6062 4103 var _element = __webpack_require__(/*! @wordpress/element */ "../node_modules/@wordpress/element/build-module/index.js");
6063 4104 var _domReady = _interopRequireDefault(__webpack_require__(/*! @wordpress/dom-ready */ "@wordpress/dom-ready"));
6064 -var _appEditorOne = __webpack_require__(/*! ./app-editor-one */ "../modules/element-manager/assets/js/app-editor-one/index.js");
4105 +var _app = __webpack_require__(/*! ./app */ "../modules/element-manager/assets/js/app.js");
6065 4106 (0, _domReady.default)(function () {
6066 4107 var htmlOutput = document.getElementById('elementor-element-manager-wrap');
6067 - if (!htmlOutput) {
6068 - return;
4108 + if (htmlOutput) {
4109 + (0, _element.render)(/*#__PURE__*/_react.default.createElement(_app.App, null), htmlOutput);
6069 4110 }
6070 - var root = (0, _element.createRoot)(htmlOutput);
6071 - root.render(/*#__PURE__*/_react.default.createElement(_appEditorOne.AppModern, null));
6072 4111 });
6073 4112 })();
6074 4113
6075 4114 /******/ })()