PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.8
Elementor Website Builder – more than just a page builder v3.35.8
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/atomic-widgets-editor.js +799 -242 4.2.0-beta13.35.8 View file →
@@ -683,62 +683,8 @@
683 683 };
684 684 }
685 685 return this.dispatchEvent(config === null || config === void 0 || (_config$names1 = config.names) === null || _config$names1 === void 0 || (_config$names1 = _config$names1.editorOne) === null || _config$names1 === void 0 ? void 0 : _config$names1.widgetPanelSearch, payload);
686 686 }
687 - }, {
688 - key: "createWpDashPayload",
689 - value: function createWpDashPayload() {
690 - var _config$appTypes$wpDa, _config$appTypes5, _config$locations11;
691 - var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
692 - var config = this.getConfig();
693 - return this.createBasePayload(_objectSpread({
694 - window_name: (_config$appTypes$wpDa = config === null || config === void 0 || (_config$appTypes5 = config.appTypes) === null || _config$appTypes5 === void 0 ? void 0 : _config$appTypes5.wpDash) !== null && _config$appTypes$wpDa !== void 0 ? _config$appTypes$wpDa : 'wpdash',
695 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations11 = config.locations) === null || _config$locations11 === void 0 ? void 0 : _config$locations11.wpDashAdmin),
696 - location_l2: ''
697 - }, overrides));
698 - }
699 - }, {
700 - key: "sendWpDashElementorMenuClick",
701 - value: function sendWpDashElementorMenuClick() {
702 - var _config$names10, _config$triggers10, _config$targetTypes11, _config$interactionRe13, _config$secondaryLoca11;
703 - var config = this.getConfig();
704 - return this.dispatchEvent(config === null || config === void 0 || (_config$names10 = config.names) === null || _config$names10 === void 0 || (_config$names10 = _config$names10.editorOne) === null || _config$names10 === void 0 ? void 0 : _config$names10.wpDashElementorMenuClick, this.createWpDashPayload({
705 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers10 = config.triggers) === null || _config$triggers10 === void 0 ? void 0 : _config$triggers10.click),
706 - target_type: config === null || config === void 0 || (_config$targetTypes11 = config.targetTypes) === null || _config$targetTypes11 === void 0 ? void 0 : _config$targetTypes11.wpDashAdminMenuItem,
707 - target_name: 'elementor_menu_item',
708 - interaction_result: config === null || config === void 0 || (_config$interactionRe13 = config.interactionResults) === null || _config$interactionRe13 === void 0 ? void 0 : _config$interactionRe13.elementorSideMenuOpened,
709 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca11 = config.secondaryLocations) === null || _config$secondaryLoca11 === void 0 ? void 0 : _config$secondaryLoca11.wpDashElementorCoreMenu),
710 - interaction_description: 'core_user_clicked_elementor_menu_item'
711 - }));
712 - }
713 - }, {
714 - key: "sendWpDashEditorSubMenuHover",
715 - value: function sendWpDashEditorSubMenuHover() {
716 - var _config$names11, _config$triggers11, _config$targetTypes12, _config$interactionRe14, _config$secondaryLoca12;
717 - var config = this.getConfig();
718 - return this.dispatchEvent(config === null || config === void 0 || (_config$names11 = config.names) === null || _config$names11 === void 0 || (_config$names11 = _config$names11.editorOne) === null || _config$names11 === void 0 ? void 0 : _config$names11.wpDashEditorSubMenuHover, this.createWpDashPayload({
719 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers11 = config.triggers) === null || _config$triggers11 === void 0 ? void 0 : _config$triggers11.hover),
720 - target_type: config === null || config === void 0 || (_config$targetTypes12 = config.targetTypes) === null || _config$targetTypes12 === void 0 ? void 0 : _config$targetTypes12.wpDashEditorMenu,
721 - target_name: 'wpdash_editor_sub_menu',
722 - interaction_result: config === null || config === void 0 || (_config$interactionRe14 = config.interactionResults) === null || _config$interactionRe14 === void 0 ? void 0 : _config$interactionRe14.editorSubMenuOpened,
723 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca12 = config.secondaryLocations) === null || _config$secondaryLoca12 === void 0 ? void 0 : _config$secondaryLoca12.wpDashElementorCoreSubMenu),
724 - interaction_description: 'core_user_hovered_sub_menu'
725 - }));
726 - }
727 - }, {
728 - key: "sendWpDashThemeBuilderClick",
729 - value: function sendWpDashThemeBuilderClick() {
730 - var _config$names12, _config$triggers12, _config$targetTypes13, _config$interactionRe15, _config$secondaryLoca13;
731 - var config = this.getConfig();
732 - return this.dispatchEvent(config === null || config === void 0 || (_config$names12 = config.names) === null || _config$names12 === void 0 || (_config$names12 = _config$names12.editorOne) === null || _config$names12 === void 0 ? void 0 : _config$names12.wpDashThemeBuilderClick, this.createWpDashPayload({
733 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers12 = config.triggers) === null || _config$triggers12 === void 0 ? void 0 : _config$triggers12.click),
734 - target_type: config === null || config === void 0 || (_config$targetTypes13 = config.targetTypes) === null || _config$targetTypes13 === void 0 ? void 0 : _config$targetTypes13.wpDashSubMenuItem,
735 - target_name: 'theme_builder_menu_item',
736 - interaction_result: config === null || config === void 0 || (_config$interactionRe15 = config.interactionResults) === null || _config$interactionRe15 === void 0 ? void 0 : _config$interactionRe15.themeBuilderPromotionWindow,
737 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca13 = config.secondaryLocations) === null || _config$secondaryLoca13 === void 0 ? void 0 : _config$secondaryLoca13.wpDashThemeBuilder),
738 - interaction_description: 'core_user_clicked_theme_builder_menu_item'
739 - }));
740 - }
741 687 }]);
742 688 }();
743 689 var createDebouncedFinderSearch = exports.createDebouncedFinderSearch = function createDebouncedFinderSearch() {
744 690 var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;
@@ -881,14 +827,10 @@
881 827 }
882 828 }, {
883 829 key: "initialize",
884 830 value: function initialize(attributes, options) {
885 - var _this$config;
886 831 var elementType = this.get('elType');
887 832 this.config = elementor.config.elements[elementType];
888 - if ((_this$config = this.config) !== null && _this$config !== void 0 && (_this$config = _this$config.meta) !== null && _this$config !== void 0 && _this$config.permanently_locked) {
889 - this.set('isLocked', true);
890 - }
891 833 var isNewElementCreate = 0 === this.get('elements').length && $e.commands.currentTrace.includes('document/elements/create');
892 834 if (isNewElementCreate) {
893 835 this.onElementCreate();
894 836 }
@@ -903,14 +845,8 @@
903 845 }, {
904 846 key: "onElementCreate",
905 847 value: function onElementCreate() {
906 848 var _this = this;
907 - if (this.get('skipDefaultChildren')) {
908 - this.unset('skipDefaultChildren', {
909 - silent: true
910 - });
911 - return;
912 - }
913 849 this.set('elements', this.getDefaultChildren().map(function (element) {
914 850 return _this.buildElement(element);
915 851 }));
916 852 }
@@ -934,10 +870,9 @@
934 870 id: id,
935 871 settings: (_element$settings = element.settings) !== null && _element$settings !== void 0 ? _element$settings : {},
936 872 elements: elements,
937 873 isLocked: element.isLocked || false,
938 - editor_settings: element.editor_settings || {},
939 - meta: element.meta || {}
874 + editor_settings: element.editor_settings || {}
940 875 };
941 876 }
942 877 }]);
943 878 }(elementor.modules.elements.models.Element);
@@ -1003,8 +938,412 @@
1003 938 }(elementor.modules.elements.types.Base);
1004 939
1005 940 /***/ }),
1006 941
942 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-type.js":
943 +/*!****************************************************************************************************************************!*\
944 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-type.js ***!
945 + \****************************************************************************************************************************/
946 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
947 +
948 +"use strict";
949 +
950 +
951 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
952 +Object.defineProperty(exports, "__esModule", ({
953 + value: true
954 +}));
955 +exports["default"] = void 0;
956 +var _createAtomicTabContentView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tab-content-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-view.js"));
957 +var createAtomicTabContentType = function createAtomicTabContentType() {
958 + return new elementor.modules.elements.types.AtomicElementBase('e-tab-content', (0, _createAtomicTabContentView.default)());
959 +};
960 +var _default = exports["default"] = createAtomicTabContentType;
961 +
962 +/***/ }),
963 +
964 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-view.js":
965 +/*!****************************************************************************************************************************!*\
966 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-view.js ***!
967 + \****************************************************************************************************************************/
968 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
969 +
970 +"use strict";
971 +
972 +
973 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
974 +Object.defineProperty(exports, "__esModule", ({
975 + value: true
976 +}));
977 +exports["default"] = void 0;
978 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
979 +var _readOnlyError2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/readOnlyError */ "../node_modules/@babel/runtime/helpers/readOnlyError.js"));
980 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
981 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
982 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
983 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
984 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
985 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
986 +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; }
987 +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; }
988 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
989 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
990 +function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
991 +var createAtomicTabContentView = function createAtomicTabContentView() {
992 + var AtomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tab-content');
993 + return /*#__PURE__*/function (_AtomicElementBaseVie) {
994 + function AtomicTabContentView() {
995 + (0, _classCallCheck2.default)(this, AtomicTabContentView);
996 + return _callSuper(this, AtomicTabContentView, arguments);
997 + }
998 + (0, _inherits2.default)(AtomicTabContentView, _AtomicElementBaseVie);
999 + return (0, _createClass2.default)(AtomicTabContentView, [{
1000 + key: "attributes",
1001 + value: function attributes() {
1002 + var attributes = _superPropGet(AtomicTabContentView, "attributes", this, 3)([]);
1003 + return _objectSpread({
1004 + 'x-bind': 'tabContent',
1005 + 'x-ref': this.model.id
1006 + }, attributes);
1007 + }
1008 + }]);
1009 + }(AtomicElementBaseView);
1010 +};
1011 +var _default = exports["default"] = createAtomicTabContentView;
1012 +
1013 +/***/ }),
1014 +
1015 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-model.js":
1016 +/*!*************************************************************************************************************!*\
1017 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-model.js ***!
1018 + \*************************************************************************************************************/
1019 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1020 +
1021 +"use strict";
1022 +
1023 +
1024 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1025 +Object.defineProperty(exports, "__esModule", ({
1026 + value: true
1027 +}));
1028 +exports["default"] = void 0;
1029 +var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1030 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1031 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1032 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1033 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1034 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1035 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1036 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1037 +var createAtomicTabModel = function createAtomicTabModel() {
1038 + var AtomicElementBaseModel = elementor.modules.elements.models.AtomicElementBase;
1039 + return /*#__PURE__*/function (_AtomicElementBaseMod) {
1040 + function AtomicTabModel() {
1041 + (0, _classCallCheck2.default)(this, AtomicTabModel);
1042 + return _callSuper(this, AtomicTabModel, arguments);
1043 + }
1044 + (0, _inherits2.default)(AtomicTabModel, _AtomicElementBaseMod);
1045 + return (0, _createClass2.default)(AtomicTabModel, [{
1046 + key: "modifyDefaultChildren",
1047 + value: function modifyDefaultChildren(elements) {
1048 + var _this$attributes$edit;
1049 + var _elements = (0, _slicedToArray2.default)(elements, 1),
1050 + paragraph = _elements[0];
1051 + var position = (_this$attributes$edit = this.attributes.editor_settings) === null || _this$attributes$edit === void 0 ? void 0 : _this$attributes$edit.initial_position;
1052 + paragraph.settings.paragraph = {
1053 + $$type: 'html',
1054 + value: "Tab ".concat(position)
1055 + };
1056 + return elements;
1057 + }
1058 + }]);
1059 + }(AtomicElementBaseModel);
1060 +};
1061 +var _default = exports["default"] = createAtomicTabModel;
1062 +
1063 +/***/ }),
1064 +
1065 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-type.js":
1066 +/*!************************************************************************************************************!*\
1067 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-type.js ***!
1068 + \************************************************************************************************************/
1069 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1070 +
1071 +"use strict";
1072 +
1073 +
1074 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1075 +Object.defineProperty(exports, "__esModule", ({
1076 + value: true
1077 +}));
1078 +exports["default"] = void 0;
1079 +var _createAtomicTabView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tab-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-view.js"));
1080 +var _createAtomicTabModel = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tab-model */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-model.js"));
1081 +var createAtomicTabType = function createAtomicTabType() {
1082 + return new elementor.modules.elements.types.AtomicElementBase('e-tab', (0, _createAtomicTabView.default)(), (0, _createAtomicTabModel.default)());
1083 +};
1084 +var _default = exports["default"] = createAtomicTabType;
1085 +
1086 +/***/ }),
1087 +
1088 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-view.js":
1089 +/*!************************************************************************************************************!*\
1090 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-view.js ***!
1091 + \************************************************************************************************************/
1092 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1093 +
1094 +"use strict";
1095 +
1096 +
1097 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1098 +Object.defineProperty(exports, "__esModule", ({
1099 + value: true
1100 +}));
1101 +exports["default"] = void 0;
1102 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1103 +var _readOnlyError2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/readOnlyError */ "../node_modules/@babel/runtime/helpers/readOnlyError.js"));
1104 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1105 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1106 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1107 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1108 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
1109 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1110 +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; }
1111 +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; }
1112 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1113 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1114 +function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
1115 +var createAtomicTabView = function createAtomicTabView() {
1116 + var atomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tab');
1117 + return /*#__PURE__*/function (_atomicElementBaseVie) {
1118 + function AtomicTabView() {
1119 + (0, _classCallCheck2.default)(this, AtomicTabView);
1120 + return _callSuper(this, AtomicTabView, arguments);
1121 + }
1122 + (0, _inherits2.default)(AtomicTabView, _atomicElementBaseVie);
1123 + return (0, _createClass2.default)(AtomicTabView, [{
1124 + key: "attributes",
1125 + value: function attributes() {
1126 + var attributes = _superPropGet(AtomicTabView, "attributes", this, 3)([]);
1127 + return _objectSpread({
1128 + 'x-bind': 'tab',
1129 + 'x-ref': this.model.id
1130 + }, attributes);
1131 + }
1132 + }]);
1133 + }(atomicElementBaseView);
1134 +};
1135 +var _default = exports["default"] = createAtomicTabView;
1136 +
1137 +/***/ }),
1138 +
1139 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-type.js":
1140 +/*!****************************************************************************************************************************************!*\
1141 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-type.js ***!
1142 + \****************************************************************************************************************************************/
1143 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1144 +
1145 +"use strict";
1146 +
1147 +
1148 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1149 +Object.defineProperty(exports, "__esModule", ({
1150 + value: true
1151 +}));
1152 +exports["default"] = void 0;
1153 +var _createAtomicTabsContentAreaView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tabs-content-area-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-view.js"));
1154 +var createAtomicTabsContentAreaType = function createAtomicTabsContentAreaType() {
1155 + var AtomicTabsContentAreaView = (0, _createAtomicTabsContentAreaView.default)();
1156 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs-content-area', AtomicTabsContentAreaView);
1157 +};
1158 +var _default = exports["default"] = createAtomicTabsContentAreaType;
1159 +
1160 +/***/ }),
1161 +
1162 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-view.js":
1163 +/*!****************************************************************************************************************************************!*\
1164 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-view.js ***!
1165 + \****************************************************************************************************************************************/
1166 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1167 +
1168 +"use strict";
1169 +
1170 +
1171 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1172 +Object.defineProperty(exports, "__esModule", ({
1173 + value: true
1174 +}));
1175 +exports["default"] = void 0;
1176 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1177 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1178 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1179 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1180 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1181 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1182 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1183 +var createAtomicTabsContentAreaView = function createAtomicTabsContentAreaView() {
1184 + var BaseView = elementor.modules.elements.views.createAtomicElementBase('e-tabs-content-area');
1185 + return /*#__PURE__*/function (_BaseView) {
1186 + function AtomicTabsContentAreaView() {
1187 + (0, _classCallCheck2.default)(this, AtomicTabsContentAreaView);
1188 + return _callSuper(this, AtomicTabsContentAreaView, arguments);
1189 + }
1190 + (0, _inherits2.default)(AtomicTabsContentAreaView, _BaseView);
1191 + return (0, _createClass2.default)(AtomicTabsContentAreaView, [{
1192 + key: "getChildType",
1193 + value: function getChildType() {
1194 + return ['e-tab-content', 'container'];
1195 + }
1196 + }]);
1197 + }(BaseView);
1198 +};
1199 +var _default = exports["default"] = createAtomicTabsContentAreaView;
1200 +
1201 +/***/ }),
1202 +
1203 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-type.js":
1204 +/*!************************************************************************************************************************!*\
1205 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-type.js ***!
1206 + \************************************************************************************************************************/
1207 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1208 +
1209 +"use strict";
1210 +
1211 +
1212 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1213 +Object.defineProperty(exports, "__esModule", ({
1214 + value: true
1215 +}));
1216 +exports["default"] = void 0;
1217 +var _createAtomicTabsMenuView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tabs-menu-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-view.js"));
1218 +var createAtomicTabsMenuType = function createAtomicTabsMenuType() {
1219 + var AtomicTabsMenuView = (0, _createAtomicTabsMenuView.default)();
1220 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs-menu', AtomicTabsMenuView);
1221 +};
1222 +var _default = exports["default"] = createAtomicTabsMenuType;
1223 +
1224 +/***/ }),
1225 +
1226 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-view.js":
1227 +/*!************************************************************************************************************************!*\
1228 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-view.js ***!
1229 + \************************************************************************************************************************/
1230 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1231 +
1232 +"use strict";
1233 +
1234 +
1235 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1236 +Object.defineProperty(exports, "__esModule", ({
1237 + value: true
1238 +}));
1239 +exports["default"] = void 0;
1240 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1241 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1242 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1243 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1244 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1245 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1246 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1247 +var createAtomicTabsMenuView = function createAtomicTabsMenuView() {
1248 + var BaseView = elementor.modules.elements.views.createAtomicElementBase('e-tabs-menu');
1249 + return /*#__PURE__*/function (_BaseView) {
1250 + function AtomicTabsMenuView() {
1251 + (0, _classCallCheck2.default)(this, AtomicTabsMenuView);
1252 + return _callSuper(this, AtomicTabsMenuView, arguments);
1253 + }
1254 + (0, _inherits2.default)(AtomicTabsMenuView, _BaseView);
1255 + return (0, _createClass2.default)(AtomicTabsMenuView, [{
1256 + key: "getChildType",
1257 + value: function getChildType() {
1258 + return ['e-tab', 'container'];
1259 + }
1260 + }]);
1261 + }(BaseView);
1262 +};
1263 +var _default = exports["default"] = createAtomicTabsMenuView;
1264 +
1265 +/***/ }),
1266 +
1267 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-type.js":
1268 +/*!**************************************************************************************************************!*\
1269 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-type.js ***!
1270 + \**************************************************************************************************************/
1271 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1272 +
1273 +"use strict";
1274 +
1275 +
1276 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1277 +Object.defineProperty(exports, "__esModule", ({
1278 + value: true
1279 +}));
1280 +exports["default"] = void 0;
1281 +var _createAtomicTabsView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tabs-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-view.js"));
1282 +var createAtomicTabsType = function createAtomicTabsType() {
1283 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs', (0, _createAtomicTabsView.default)());
1284 +};
1285 +var _default = exports["default"] = createAtomicTabsType;
1286 +
1287 +/***/ }),
1288 +
1289 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-view.js":
1290 +/*!**************************************************************************************************************!*\
1291 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-view.js ***!
1292 + \**************************************************************************************************************/
1293 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1294 +
1295 +"use strict";
1296 +
1297 +
1298 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1299 +Object.defineProperty(exports, "__esModule", ({
1300 + value: true
1301 +}));
1302 +exports["default"] = void 0;
1303 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1304 +var _readOnlyError2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/readOnlyError */ "../node_modules/@babel/runtime/helpers/readOnlyError.js"));
1305 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1306 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1307 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1308 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1309 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
1310 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1311 +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; }
1312 +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; }
1313 +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1314 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1315 +function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
1316 +var createAtomicTabsView = function createAtomicTabsView() {
1317 + var AtomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tabs');
1318 + return /*#__PURE__*/function (_AtomicElementBaseVie) {
1319 + function AtomicTabsView() {
1320 + (0, _classCallCheck2.default)(this, AtomicTabsView);
1321 + return _callSuper(this, AtomicTabsView, arguments);
1322 + }
1323 + (0, _inherits2.default)(AtomicTabsView, _AtomicElementBaseVie);
1324 + return (0, _createClass2.default)(AtomicTabsView, [{
1325 + key: "attributes",
1326 + value: function attributes() {
1327 + var _this$model$getSettin;
1328 + var defaultActiveTab = (_this$model$getSettin = this.model.getSetting('default-active-tab').value) !== null && _this$model$getSettin !== void 0 ? _this$model$getSettin : 0;
1329 + var defaultActiveTabId = "".concat(this.model.id, "-tab-").concat(defaultActiveTab);
1330 + var eSettings = JSON.stringify({
1331 + 'default-active-tab': defaultActiveTabId
1332 + });
1333 + var attributes = _superPropGet(AtomicTabsView, "attributes", this, 3)([]);
1334 + return _objectSpread({
1335 + 'x-data': "eTabs".concat(this.model.id),
1336 + 'data-e-settings': eSettings
1337 + }, attributes);
1338 + }
1339 + }]);
1340 + }(AtomicElementBaseView);
1341 +};
1342 +var _default = exports["default"] = createAtomicTabsView;
1343 +
1344 +/***/ }),
1345 +
1007 1346 /***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js":
1008 1347 /*!************************************************************************************************!*\
1009 1348 !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js ***!
1010 1349 \************************************************************************************************/
@@ -1045,29 +1384,8 @@
1045 1384 var _default = exports["default"] = createFlexboxType;
1046 1385
1047 1386 /***/ }),
1048 1387
1049 -/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-grid-type.js":
1050 -/*!*******************************************************************************************!*\
1051 - !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-grid-type.js ***!
1052 - \*******************************************************************************************/
1053 -/***/ ((__unused_webpack_module, exports) => {
1054 -
1055 -"use strict";
1056 -
1057 -
1058 -Object.defineProperty(exports, "__esModule", ({
1059 - value: true
1060 -}));
1061 -exports["default"] = void 0;
1062 -var createGridType = function createGridType() {
1063 - var GridView = elementor.modules.elements.views.createAtomicElementBase('e-grid');
1064 - return new elementor.modules.elements.types.AtomicElementBase('e-grid', GridView);
1065 -};
1066 -var _default = exports["default"] = createGridType;
1067 -
1068 -/***/ }),
1069 -
1070 1388 /***/ "../modules/atomic-widgets/assets/js/editor/component.js":
1071 1389 /*!***************************************************************!*\
1072 1390 !*** ../modules/atomic-widgets/assets/js/editor/component.js ***!
1073 1391 \***************************************************************/
@@ -1146,9 +1464,8 @@
1146 1464 }
1147 1465 _this = _callSuper(this, AtomicElementEmptyView, [].concat(args));
1148 1466 (0, _defineProperty2.default)(_this, "template", '<div></div>');
1149 1467 (0, _defineProperty2.default)(_this, "className", 'elementor-empty-view');
1150 - (0, _defineProperty2.default)(_this, "unmount", null);
1151 1468 return _this;
1152 1469 }
1153 1470 (0, _inherits2.default)(AtomicElementEmptyView, _Marionette$ItemView);
1154 1471 return (0, _createClass2.default)(AtomicElementEmptyView, [{
@@ -1160,17 +1477,8 @@
1160 1477 unmount = _ReactUtils$render.unmount;
1161 1478 this.unmount = unmount;
1162 1479 }
1163 1480 }, {
1164 - key: "onBeforeRender",
1165 - value: function onBeforeRender() {
1166 - // In case the element is being rendered again, we need to unmount the previous React component.
1167 - if (this.unmount) {
1168 - this.unmount();
1169 - this.unmount = null;
1170 - }
1171 - }
1172 - }, {
1173 1481 key: "onRender",
1174 1482 value: function onRender() {
1175 1483 this.$el.addClass(this.className);
1176 1484 this.renderReactDefaultElement();
@@ -1177,10 +1485,9 @@
1177 1485 }
1178 1486 }, {
1179 1487 key: "onDestroy",
1180 1488 value: function onDestroy() {
1181 - var _this$unmount;
1182 - (_this$unmount = this.unmount) === null || _this$unmount === void 0 || _this$unmount.call(this);
1489 + this.unmount();
1183 1490 }
1184 1491 }]);
1185 1492 }(Marionette.ItemView);
1186 1493
@@ -1202,26 +1509,38 @@
1202 1509 value: true
1203 1510 }));
1204 1511 exports["default"] = createAtomicElementBaseView;
1205 1512 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1513 +var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
1206 1514 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1515 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1207 1516 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1208 1517 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1209 1518 var _elementTypes = __webpack_require__(/*! elementor-editor/utils/element-types */ "../assets/dev/js/editor/utils/element-types.js");
1210 1519 var _atomicElementEmptyView = _interopRequireDefault(__webpack_require__(/*! ./container/atomic-element-empty-view */ "../modules/atomic-widgets/assets/js/editor/container/atomic-element-empty-view.js"));
1520 +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; }
1521 +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; }
1211 1522 var BaseElementView = elementor.modules.elements.views.BaseElement;
1212 1523 function createAtomicElementBaseView(type) {
1524 + var resolvedTagCache = new WeakMap();
1213 1525 var AtomicElementView = BaseElementView.extend({
1214 1526 template: Marionette.TemplateCache.get("#tmpl-elementor-".concat(type, "-content")),
1215 1527 emptyView: _atomicElementEmptyView.default,
1216 1528 _childrenRenderPromises: [],
1217 - _createElement: function _createElement(tag) {
1218 - var _elementor$$preview;
1219 - var previewDocument = (_elementor$$preview = elementor.$preview) === null || _elementor$$preview === void 0 || (_elementor$$preview = _elementor$$preview[0]) === null || _elementor$$preview === void 0 ? void 0 : _elementor$$preview.contentDocument;
1220 - if (previewDocument) {
1221 - return previewDocument.createElement(tag);
1529 + tagName: function tagName() {
1530 + var _resolvedTagCache$get;
1531 + return (_resolvedTagCache$get = resolvedTagCache.get(this.model)) !== null && _resolvedTagCache$get !== void 0 ? _resolvedTagCache$get : this._resolveTag();
1532 + },
1533 + _resolveTag: function _resolveTag() {
1534 + var _this$getResolverRend, _resolvedTag$value;
1535 + var renderContext = (_this$getResolverRend = this.getResolverRenderContext) === null || _this$getResolverRend === void 0 ? void 0 : _this$getResolverRend.call(this);
1536 + var tagSetting = this.model.getSetting('tag');
1537 + var resolvedTag = this._resolvePropValue(tagSetting, renderContext);
1538 + var tagValue = (_resolvedTag$value = resolvedTag === null || resolvedTag === void 0 ? void 0 : resolvedTag.value) !== null && _resolvedTag$value !== void 0 ? _resolvedTag$value : resolvedTag;
1539 + if (this._hasLink(renderContext)) {
1540 + return 'a';
1222 1541 }
1223 - return document.createElement(tag);
1542 + return tagValue || this.model.config.default_html_tag || 'div';
1224 1543 },
1225 1544 getChildViewContainer: function getChildViewContainer() {
1226 1545 this.childViewContainer = '';
1227 1546 return Marionette.CompositeView.prototype.getChildViewContainer.apply(this, arguments);
@@ -1245,69 +1564,202 @@
1245 1564 getResolverRenderContext: function getResolverRenderContext() {
1246 1565 var _this$_parent2, _this$_parent2$getRes;
1247 1566 return (_this$_parent2 = this._parent) === null || _this$_parent2 === void 0 || (_this$_parent2$getRes = _this$_parent2.getResolverRenderContext) === null || _this$_parent2$getRes === void 0 ? void 0 : _this$_parent2$getRes.call(_this$_parent2);
1248 1567 },
1568 + className: function className() {
1569 + return "".concat(BaseElementView.prototype.className.apply(this), " e-con e-atomic-element ").concat(this.getClassString());
1570 + },
1571 + // TODO: Copied from `views/column.js`.
1572 + ui: function ui() {
1573 + var ui = BaseElementView.prototype.ui.apply(this, arguments);
1574 + ui.percentsTooltip = '> .elementor-element-overlay .elementor-column-percents-tooltip';
1575 + return ui;
1576 + },
1577 + attributes: function attributes() {
1578 + var _this$model$getSettin, _this$model$getSettin2, _this$model$config$in, _this$model;
1579 + var attr = BaseElementView.prototype.attributes.apply(this);
1580 + var local = {};
1581 + var cssId = this.model.getSetting('_cssid');
1582 + var customAttributes = (_this$model$getSettin = (_this$model$getSettin2 = this.model.getSetting('attributes')) === null || _this$model$getSettin2 === void 0 ? void 0 : _this$model$getSettin2.value) !== null && _this$model$getSettin !== void 0 ? _this$model$getSettin : [];
1583 + var initialAttributes = (_this$model$config$in = this === null || this === void 0 || (_this$model = this.model) === null || _this$model === void 0 || (_this$model = _this$model.config) === null || _this$model === void 0 ? void 0 : _this$model.initial_attributes) !== null && _this$model$config$in !== void 0 ? _this$model$config$in : {};
1584 + if (cssId) {
1585 + local.id = cssId.value;
1586 + }
1587 + local['data-interaction-id'] = this.model.get('id');
1588 + customAttributes.forEach(function (attribute) {
1589 + var _attribute$value, _attribute$value2;
1590 + var key = (_attribute$value = attribute.value) === null || _attribute$value === void 0 || (_attribute$value = _attribute$value.key) === null || _attribute$value === void 0 ? void 0 : _attribute$value.value;
1591 + var value = (_attribute$value2 = attribute.value) === null || _attribute$value2 === void 0 || (_attribute$value2 = _attribute$value2.value) === null || _attribute$value2 === void 0 ? void 0 : _attribute$value2.value;
1592 + if (key && value) {
1593 + local[key] = value;
1594 + }
1595 + });
1596 + return _objectSpread(_objectSpread(_objectSpread({}, attr), initialAttributes), local);
1597 + },
1598 + // TODO: Copied from `views/column.js`.
1599 + attachElContent: function attachElContent() {
1600 + BaseElementView.prototype.attachElContent.apply(this, arguments);
1601 + var $tooltip = jQuery('<div>', {
1602 + class: 'elementor-column-percents-tooltip',
1603 + 'data-side': elementorCommon.config.isRTL ? 'right' : 'left'
1604 + });
1605 + this.$el.children('.elementor-element-overlay').append($tooltip);
1606 + },
1607 + // TODO: Copied from `views/column.js`.
1608 + getPercentSize: function getPercentSize(size) {
1609 + if (!size) {
1610 + size = this.el.getBoundingClientRect().width;
1611 + }
1612 + return +(size / this.$el.parent().width() * 100).toFixed(3);
1613 + },
1614 + // TODO: Copied from `views/column.js`.
1615 + getPercentsForDisplay: function getPercentsForDisplay() {
1616 + var width = +this.model.getSetting('width') || this.getPercentSize();
1617 + return width.toFixed(1) + '%';
1618 + },
1619 + renderOnChange: function renderOnChange(settings) {
1620 + var _this = this;
1621 + var changed = settings.changedAttributes();
1622 + setTimeout(function () {
1623 + _this.updateHandlesPosition();
1624 + });
1625 + if (!changed) {
1626 + return;
1627 + }
1628 + BaseElementView.prototype.renderOnChange.apply(this, settings);
1629 + if (changed.attributes) {
1630 + var $elAttrs = this.$el[0].attributes;
1631 + for (var i = $elAttrs.length - 1; i >= 0; i--) {
1632 + var attrName = $elAttrs[i].name;
1633 + if (attrName !== 'class') {
1634 + this.$el.removeAttr(attrName);
1635 + }
1636 + }
1637 + var newAttrs = this.attributes();
1638 + Object.entries(newAttrs).forEach(function (_ref5) {
1639 + var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
1640 + key = _ref6[0],
1641 + value = _ref6[1];
1642 + if (key !== 'class' && value !== undefined) {
1643 + _this.$el.attr(key, value);
1644 + }
1645 + });
1646 + return;
1647 + }
1648 + if (changed.classes) {
1649 + this.$el.attr('class', this.className());
1650 + return;
1651 + }
1652 + if (changed._cssid) {
1653 + if (changed._cssid.value) {
1654 + this.$el.attr('id', changed._cssid.value);
1655 + } else {
1656 + this.$el.removeAttr('id');
1657 + }
1658 + return;
1659 + }
1660 + this.$el.addClass(this.getClasses());
1661 + if (this.isTagChanged(changed)) {
1662 + this.rerenderEntireView();
1663 + }
1664 + },
1665 + isTagChanged: function isTagChanged(changed) {
1666 + return ((changed === null || changed === void 0 ? void 0 : changed.tag) !== undefined || (changed === null || changed === void 0 ? void 0 : changed.link) !== undefined) && this._parent && this.tagName() !== this.el.tagName;
1667 + },
1668 + rerenderEntireView: function rerenderEntireView() {
1669 + var parent = this._parent;
1670 + this._parent.removeChildView(this);
1671 + parent.addChild(this.model, AtomicElementView, this._index);
1672 + },
1249 1673 render: function render() {
1250 - var _this = this;
1674 + var _this2 = this;
1251 1675 this._currentRenderPromise = new Promise(function (resolve) {
1252 1676 // Optimize rendering by reusing existing child views instead of recreating them.
1253 - if (_this._shouldSkipFullRender()) {
1254 - _this._renderWithoutDomRecreation(resolve);
1677 + if (_this2._shouldSkipFullRender()) {
1678 + _this2._renderWithoutDomRecreation(resolve);
1255 1679 } else {
1256 - _this._renderWithDomRecreation(resolve);
1680 + _this2._renderWithDomRecreation(resolve);
1257 1681 }
1258 1682 });
1259 1683 return this;
1260 1684 },
1261 1685 _shouldSkipFullRender: function _shouldSkipFullRender() {
1262 - return this.isRendered && this._hasConnectedChildren();
1686 + var _this$children;
1687 + return this.isRendered && ((_this$children = this.children) === null || _this$children === void 0 ? void 0 : _this$children.length) > 0;
1263 1688 },
1264 - _hasConnectedChildren: function _hasConnectedChildren() {
1265 - var _this$children, _firstChild$$el$get$i, _firstChild$$el;
1266 - if (!((_this$children = this.children) !== null && _this$children !== void 0 && _this$children.length)) {
1267 - return false;
1268 - }
1269 -
1270 - // If the parent's innerHTML was replaced, all children are detached together.
1271 - var firstChild = this.children.findByIndex(0);
1272 - return (_firstChild$$el$get$i = firstChild === null || firstChild === void 0 || (_firstChild$$el = firstChild.$el) === null || _firstChild$$el === void 0 || (_firstChild$$el = _firstChild$$el.get(0)) === null || _firstChild$$el === void 0 ? void 0 : _firstChild$$el.isConnected) !== null && _firstChild$$el$get$i !== void 0 ? _firstChild$$el$get$i : false;
1273 - },
1274 1689 _renderWithoutDomRecreation: function _renderWithoutDomRecreation(resolve) {
1275 - var _this2 = this;
1690 + var _this3 = this;
1276 1691 this._beforeRender();
1277 1692 this._renderChildren();
1278 1693 this._waitForChildrenToComplete().then(function () {
1279 - _this2._afterRender();
1694 + _this3._afterRender();
1280 1695 resolve();
1281 1696 });
1282 1697 },
1283 1698 _renderWithDomRecreation: function _renderWithDomRecreation(resolve) {
1699 + var _this4 = this;
1284 1700 BaseElementView.prototype.render.apply(this, arguments);
1285 1701 this._waitForChildrenToComplete().then(function () {
1702 + _this4._applyResolvedAttributes();
1286 1703 resolve();
1287 1704 });
1288 1705 },
1289 1706 _beforeRender: function _beforeRender() {
1290 1707 this._isRendering = true;
1708 + this._invalidateTagCache();
1291 1709 this.triggerMethod('before:render', this);
1292 1710 },
1711 + _invalidateTagCache: function _invalidateTagCache() {
1712 + resolvedTagCache.delete(this.model);
1713 + },
1714 + _cacheResolvedTag: function _cacheResolvedTag(tag) {
1715 + resolvedTagCache.set(this.model, tag);
1716 + },
1293 1717 _afterRender: function _afterRender() {
1294 1718 this._isRendering = false;
1295 1719 this.isRendered = true;
1296 1720 this.triggerMethod('render', this);
1721 + this._applyResolvedAttributes();
1297 1722 },
1723 + _applyResolvedAttributes: function _applyResolvedAttributes() {
1724 + if (!this._parent) {
1725 + return;
1726 + }
1727 + if (this._shouldRecreateForTagChange()) {
1728 + return;
1729 + }
1730 + this._applyLinkAttributes();
1731 + },
1732 + _shouldRecreateForTagChange: function _shouldRecreateForTagChange() {
1733 + var resolvedTag = this.tagName();
1734 + var currentTag = this.el.tagName.toLowerCase();
1735 + if (resolvedTag === currentTag) {
1736 + return false;
1737 + }
1738 + this._cacheResolvedTag(resolvedTag);
1739 + this.rerenderEntireView();
1740 + return true;
1741 + },
1742 + _applyLinkAttributes: function _applyLinkAttributes() {
1743 + this.$el.removeAttr('href');
1744 + this.$el.removeAttr('data-action-link');
1745 + var link = this.getLink();
1746 + if (link) {
1747 + this.$el.attr(link.attr, link.value);
1748 + }
1749 + },
1298 1750 _waitForChildrenToComplete: function _waitForChildrenToComplete() {
1299 - var _this3 = this;
1751 + var _this5 = this;
1300 1752 return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1301 1753 return _regenerator.default.wrap(function (_context) {
1302 1754 while (1) switch (_context.prev = _context.next) {
1303 1755 case 0:
1304 - if (!(_this3._childrenRenderPromises.length > 0)) {
1756 + if (!(_this5._childrenRenderPromises.length > 0)) {
1305 1757 _context.next = 1;
1306 1758 break;
1307 1759 }
1308 1760 _context.next = 1;
1309 - return Promise.all(_this3._childrenRenderPromises);
1761 + return Promise.all(_this5._childrenRenderPromises);
1310 1762 case 1:
1311 1763 case "end":
1312 1764 return _context.stop();
1313 1765 }
@@ -1326,25 +1778,25 @@
1326 1778 this._collectChildrenRenderPromises();
1327 1779 },
1328 1780 _collectChildrenRenderPromises: function _collectChildrenRenderPromises() {
1329 1781 var _this$children3,
1330 - _this4 = this;
1782 + _this6 = this;
1331 1783 this._childrenRenderPromises = [];
1332 1784 (_this$children3 = this.children) === null || _this$children3 === void 0 || _this$children3.each(function (childView) {
1333 1785 if (childView._currentRenderPromise) {
1334 - _this4._childrenRenderPromises.push(childView._currentRenderPromise);
1786 + _this6._childrenRenderPromises.push(childView._currentRenderPromise);
1335 1787 }
1336 1788 });
1337 1789 },
1338 1790 onRender: function onRender() {
1339 - var _this5 = this;
1791 + var _this7 = this;
1340 1792 this.dispatchPreviewEvent('elementor/element/render');
1341 1793 BaseElementView.prototype.onRender.apply(this, arguments);
1342 1794
1343 1795 // Defer to wait for everything to render.
1344 1796 setTimeout(function () {
1345 - _this5.droppableInitialize();
1346 - _this5.updateHandlesPosition();
1797 + _this7.droppableInitialize();
1798 + _this7.updateHandlesPosition();
1347 1799 });
1348 1800 },
1349 1801 onDestroy: function onDestroy() {
1350 1802 BaseElementView.prototype.onDestroy.apply(this, arguments);
@@ -1359,8 +1811,50 @@
1359 1811 element: this.getDomElement().get(0)
1360 1812 }
1361 1813 }));
1362 1814 },
1815 + _hasLink: function _hasLink(renderContext) {
1816 + var _resolvedLink$value;
1817 + var linkSetting = this.model.getSetting('link');
1818 + var resolvedLink = this._resolvePropValue(linkSetting, renderContext);
1819 + if ('link' !== (resolvedLink === null || resolvedLink === void 0 ? void 0 : resolvedLink.$$type)) {
1820 + return false;
1821 + }
1822 + var destination = this._resolvePropValue((_resolvedLink$value = resolvedLink.value) === null || _resolvedLink$value === void 0 ? void 0 : _resolvedLink$value.destination, renderContext);
1823 + return !!(destination !== null && destination !== void 0 && destination.value);
1824 + },
1825 + getLink: function getLink() {
1826 + var _this$getResolverRend2, _resolvedLink$value2;
1827 + var renderContext = (_this$getResolverRend2 = this.getResolverRenderContext) === null || _this$getResolverRend2 === void 0 ? void 0 : _this$getResolverRend2.call(this);
1828 + var linkSetting = this.model.getSetting('link');
1829 + var resolvedLink = this._resolvePropValue(linkSetting, renderContext);
1830 + if ('link' !== (resolvedLink === null || resolvedLink === void 0 ? void 0 : resolvedLink.$$type)) {
1831 + return null;
1832 + }
1833 + var destination = this._resolvePropValue((_resolvedLink$value2 = resolvedLink.value) === null || _resolvedLink$value2 === void 0 ? void 0 : _resolvedLink$value2.destination, renderContext);
1834 + if (!(destination !== null && destination !== void 0 && destination.value)) {
1835 + return null;
1836 + }
1837 + var $$type = destination.$$type,
1838 + value = destination.value;
1839 + if ('dynamic' === $$type) {
1840 + var _value$settings;
1841 + var resolvedValue = this.handleDynamicLink(value);
1842 + if (!resolvedValue) {
1843 + return null;
1844 + }
1845 + return {
1846 + attr: 'action' === ((_value$settings = value.settings) === null || _value$settings === void 0 ? void 0 : _value$settings.group) ? 'data-action-link' : 'href',
1847 + value: resolvedValue
1848 + };
1849 + }
1850 + var isPostId = 'number' === $$type;
1851 + var hrefPrefix = isPostId ? elementor.config.home_url + '/?p=' : '';
1852 + return {
1853 + attr: 'href',
1854 + value: hrefPrefix + value
1855 + };
1856 + },
1363 1857 droppableInitialize: function droppableInitialize() {
1364 1858 this.$el.html5Droppable(this.getDroppableOptions());
1365 1859 },
1366 1860 /**
@@ -1368,9 +1862,9 @@
1368 1862 *
1369 1863 * @return {Object} groups
1370 1864 */
1371 1865 getContextMenuGroups: function getContextMenuGroups() {
1372 - var _this6 = this,
1866 + var _this8 = this,
1373 1867 _elementorCommon$conf;
1374 1868 var saveActions = [{
1375 1869 name: 'save',
1376 1870 title: __('Save as a template', 'elementor'),
@@ -1375,30 +1869,21 @@
1375 1869 name: 'save',
1376 1870 title: __('Save as a template', 'elementor'),
1377 1871 callback: this.saveAsTemplate.bind(this),
1378 1872 isEnabled: function isEnabled() {
1379 - return !_this6.getContainer().isLocked();
1873 + return !_this8.getContainer().isLocked();
1380 1874 }
1381 1875 }];
1382 1876 var isAdministrator = elementor.config.user.is_administrator;
1383 1877 var isExperimentalFeaturesEnabled = (_elementorCommon$conf = elementorCommon.config.experimentalFeatures) === null || _elementorCommon$conf === void 0 ? void 0 : _elementorCommon$conf.e_components;
1384 1878 if (isExperimentalFeaturesEnabled && isAdministrator) {
1385 - var _window$elementorV2$u, _window$elementorV, _window$elementorV$is, _window$elementorV2$u2, _window$elementorV2, _window$elementorV2$h, _window$elementorV2$u3, _window$elementorV3, _window$elementorV3$i;
1386 - var isProActive = (_window$elementorV2$u = (_window$elementorV = window.elementorV2) === null || _window$elementorV === void 0 || (_window$elementorV = _window$elementorV.utils) === null || _window$elementorV === void 0 || (_window$elementorV$is = _window$elementorV.isProActive) === null || _window$elementorV$is === void 0 ? void 0 : _window$elementorV$is.call(_window$elementorV)) !== null && _window$elementorV2$u !== void 0 ? _window$elementorV2$u : true;
1387 - var hasProInstalled = (_window$elementorV2$u2 = (_window$elementorV2 = window.elementorV2) === null || _window$elementorV2 === void 0 || (_window$elementorV2 = _window$elementorV2.utils) === null || _window$elementorV2 === void 0 || (_window$elementorV2$h = _window$elementorV2.hasProInstalled) === null || _window$elementorV2$h === void 0 ? void 0 : _window$elementorV2$h.call(_window$elementorV2)) !== null && _window$elementorV2$u2 !== void 0 ? _window$elementorV2$u2 : false;
1388 - var isProOutdated = hasProInstalled && !((_window$elementorV2$u3 = (_window$elementorV3 = window.elementorV2) === null || _window$elementorV3 === void 0 || (_window$elementorV3 = _window$elementorV3.utils) === null || _window$elementorV3 === void 0 || (_window$elementorV3$i = _window$elementorV3.isProAtLeast) === null || _window$elementorV3$i === void 0 ? void 0 : _window$elementorV3$i.call(_window$elementorV3, '4.0')) !== null && _window$elementorV2$u3 !== void 0 ? _window$elementorV2$u3 : false);
1389 - var showPromoBadge = !isProActive && !isProOutdated;
1390 - var newBadge = "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>");
1391 - var badgeClass = 'elementor-context-menu-list__item__shortcut__promotion-badge';
1392 - var proBadge = "<a href=\"https://go.elementor.com/go-pro-components-Instance-create-context-menu/\" target=\"_blank\" onclick=\"event.stopPropagation()\" class=\"".concat(badgeClass, "\"><i class=\"eicon-upgrade-crown\"></i></a>");
1393 1879 saveActions.unshift({
1394 1880 name: 'save-component',
1395 1881 title: __('Create component', 'elementor'),
1396 - shortcut: isProActive || isProOutdated ? newBadge : proBadge,
1397 - hasShortcutAction: showPromoBadge,
1882 + shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>"),
1398 1883 callback: this.saveAsComponent.bind(this),
1399 1884 isEnabled: function isEnabled() {
1400 - return (isProActive || isProOutdated) && !_this6.getContainer().isLocked();
1885 + return !_this8.getContainer().isLocked();
1401 1886 }
1402 1887 });
1403 1888 }
1404 1889 var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
@@ -1417,33 +1902,8 @@
1417 1902 model: this.model
1418 1903 });
1419 1904 },
1420 1905 saveAsComponent: function saveAsComponent(openContextMenuEvent, options) {
1421 - var _window$elementorV2$u4, _window$elementorV4, _window$elementorV4$h, _window$elementorV2$u5, _window$elementorV5, _window$elementorV5$i, _window$elementorV2$u6, _window$elementorV7, _window$elementorV7$i;
1422 - var hasProInstalled = (_window$elementorV2$u4 = (_window$elementorV4 = window.elementorV2) === null || _window$elementorV4 === void 0 || (_window$elementorV4 = _window$elementorV4.utils) === null || _window$elementorV4 === void 0 || (_window$elementorV4$h = _window$elementorV4.hasProInstalled) === null || _window$elementorV4$h === void 0 ? void 0 : _window$elementorV4$h.call(_window$elementorV4)) !== null && _window$elementorV2$u4 !== void 0 ? _window$elementorV2$u4 : false;
1423 - var isProOutdated = hasProInstalled && !((_window$elementorV2$u5 = (_window$elementorV5 = window.elementorV2) === null || _window$elementorV5 === void 0 || (_window$elementorV5 = _window$elementorV5.utils) === null || _window$elementorV5 === void 0 || (_window$elementorV5$i = _window$elementorV5.isProAtLeast) === null || _window$elementorV5$i === void 0 ? void 0 : _window$elementorV5$i.call(_window$elementorV5, '4.0')) !== null && _window$elementorV2$u5 !== void 0 ? _window$elementorV2$u5 : false);
1424 - if (isProOutdated) {
1425 - var _window$elementorV6, _window$elementorV6$n;
1426 - (_window$elementorV6 = window.elementorV2) === null || _window$elementorV6 === void 0 || (_window$elementorV6 = _window$elementorV6.editorNotifications) === null || _window$elementorV6 === void 0 || (_window$elementorV6$n = _window$elementorV6.notify) === null || _window$elementorV6$n === void 0 || _window$elementorV6$n.call(_window$elementorV6, {
1427 - type: 'info',
1428 - id: 'component-create-update',
1429 - message: __('To create new components, update Elementor Pro to the latest version.', 'elementor'),
1430 - additionalActionProps: [{
1431 - size: 'small',
1432 - variant: 'contained',
1433 - color: 'info',
1434 - href: '/wp-admin/plugins.php',
1435 - target: '_blank',
1436 - children: __('Update Now', 'elementor')
1437 - }]
1438 - });
1439 - return;
1440 - }
1441 - var isProActive = (_window$elementorV2$u6 = (_window$elementorV7 = window.elementorV2) === null || _window$elementorV7 === void 0 || (_window$elementorV7 = _window$elementorV7.utils) === null || _window$elementorV7 === void 0 || (_window$elementorV7$i = _window$elementorV7.isProActive) === null || _window$elementorV7$i === void 0 ? void 0 : _window$elementorV7$i.call(_window$elementorV7)) !== null && _window$elementorV2$u6 !== void 0 ? _window$elementorV2$u6 : true;
1442 - if (!isProActive) {
1443 - return;
1444 - }
1445 -
1446 1906 // Calculate the absolute position where the context menu was opened.
1447 1907 var openMenuOriginalEvent = openContextMenuEvent.originalEvent;
1448 1908 var iframeRect = elementor.$preview[0].getBoundingClientRect();
1449 1909 var anchorPosition = {
@@ -1481,9 +1941,9 @@
1481 1941 preventInit: true
1482 1942 };
1483 1943 },
1484 1944 getDroppableOptions: function getDroppableOptions() {
1485 - var _this7 = this;
1945 + var _this9 = this;
1486 1946 var items = '> .elementor-element, > .elementor-empty-view .elementor-first-add';
1487 1947 return {
1488 1948 axis: null,
1489 1949 items: items,
@@ -1493,9 +1953,9 @@
1493 1953 currentElementClass: 'elementor-html5dnd-current-element',
1494 1954 placeholderClass: 'elementor-sortable-placeholder elementor-widget-placeholder',
1495 1955 hasDraggingOnChildClass: 'e-dragging-over',
1496 1956 getDropContainer: function getDropContainer() {
1497 - return _this7.getContainer();
1957 + return _this9.getContainer();
1498 1958 },
1499 1959 onDropping: function onDropping(side, event) {
1500 1960 event.stopPropagation();
1501 1961
@@ -1505,14 +1965,14 @@
1505 1965 draggedElement = draggedView === null || draggedView === void 0 ? void 0 : draggedView.getContainer().view.el,
1506 1966 containerElement = event.currentTarget.parentElement,
1507 1967 elements = Array.from((containerElement === null || containerElement === void 0 ? void 0 : containerElement.querySelectorAll(':scope > .elementor-element')) || []);
1508 1968 var targetIndex = elements.indexOf(event.currentTarget);
1509 - if (_this7.isPanelElement(draggedView, draggedElement)) {
1969 + if (_this9.isPanelElement(draggedView, draggedElement)) {
1510 1970 var _elementorCommon;
1511 - if (_this7.draggingOnBottomOrRightSide(side) && !_this7.emptyViewIsCurrentlyBeingDraggedOver()) {
1971 + if (_this9.draggingOnBottomOrRightSide(side) && !_this9.emptyViewIsCurrentlyBeingDraggedOver()) {
1512 1972 targetIndex++;
1513 1973 }
1514 - _this7.onDrop(event, {
1974 + _this9.onDrop(event, {
1515 1975 at: targetIndex
1516 1976 });
1517 1977 if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent) {
1518 1978 var selectedElement = elementor.channels.panelElements.request('element:selected');
@@ -1530,16 +1990,16 @@
1530 1990 }
1531 1991 }
1532 1992 return;
1533 1993 }
1534 - if (_this7.isParentElement(draggedView.getContainer().id)) {
1994 + if (_this9.isParentElement(draggedView.getContainer().id)) {
1535 1995 return;
1536 1996 }
1537 - if (_this7.emptyViewIsCurrentlyBeingDraggedOver()) {
1538 - _this7.moveDroppedItem(draggedView, 0);
1997 + if (_this9.emptyViewIsCurrentlyBeingDraggedOver()) {
1998 + _this9.moveDroppedItem(draggedView, 0);
1539 1999 return;
1540 2000 }
1541 - _this7.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
2001 + _this9.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
1542 2002 }
1543 2003 };
1544 2004 },
1545 2005 moveExistingElement: function moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement) {
@@ -1657,8 +2117,26 @@
1657 2117 });
1658 2118 });
1659 2119 this.addSectionView = addSectionView;
1660 2120 },
2121 + getClasses: function getClasses() {
2122 + var _window, _window$get, _this$options;
2123 + var transformer = (_window = window) === null || _window === void 0 || (_window = _window.elementorV2) === null || _window === void 0 || (_window = _window.editorCanvas) === null || _window === void 0 || (_window = _window.settingsTransformersRegistry) === null || _window === void 0 || (_window$get = _window.get) === null || _window$get === void 0 ? void 0 : _window$get.call(_window, 'classes');
2124 + if (!transformer) {
2125 + return [];
2126 + }
2127 + return transformer(((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.model) === null || _this$options === void 0 || (_this$options = _this$options.getSetting('classes')) === null || _this$options === void 0 ? void 0 : _this$options.value) || []);
2128 + },
2129 + getClassString: function getClassString() {
2130 + var classes = this.getClasses();
2131 + var base = this.getBaseClass();
2132 + return [base].concat((0, _toConsumableArray2.default)(classes)).join(' ');
2133 + },
2134 + getBaseClass: function getBaseClass() {
2135 + var _this$options2, _Object$keys$;
2136 + var baseStyles = elementor.helpers.getAtomicWidgetBaseStyles((_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.model);
2137 + return (_Object$keys$ = Object.keys(baseStyles !== null && baseStyles !== void 0 ? baseStyles : {})[0]) !== null && _Object$keys$ !== void 0 ? _Object$keys$ : '';
2138 + },
1661 2139 isOverflowHidden: function isOverflowHidden() {
1662 2140 var elementStyles = window.getComputedStyle(this.el);
1663 2141 var overflowStyles = [elementStyles.overflowX, elementStyles.overflowY, elementStyles.overflow];
1664 2142 return overflowStyles.includes('hidden') || overflowStyles.includes('auto');
@@ -1683,12 +2161,74 @@
1683 2161 return true;
1684 2162 }
1685 2163 return 0 === this.model.collection.indexOf(this.model);
1686 2164 },
1687 - getInteractionId: function getInteractionId() {
1688 - var originId = this.model.get('originId');
1689 - var id = this.model.get('id');
1690 - return originId !== null && originId !== void 0 ? originId : id;
2165 + getDynamicLinkValue: function getDynamicLinkValue(name, settings) {
2166 + var simpleTransform = function simpleTransform(props) {
2167 + var transformed = Object.entries(props).map(function (_ref7) {
2168 + var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
2169 + settingKey = _ref8[0],
2170 + settingValue = _ref8[1];
2171 + var value = 'object' === (0, _typeof2.default)(settingValue) && 'value' in settingValue ? settingValue.value : settingValue;
2172 + return [settingKey, value];
2173 + });
2174 + return Object.fromEntries(transformed);
2175 + };
2176 + var getTagValue = function getTagValue() {
2177 + var _elementor$dynamicTag;
2178 + var tag = elementor.dynamicTags.createTag('v4-dynamic-tag', name, simpleTransform(settings));
2179 + if (!tag) {
2180 + return null;
2181 + }
2182 + return (_elementor$dynamicTag = elementor.dynamicTags.loadTagDataFromCache(tag)) !== null && _elementor$dynamicTag !== void 0 ? _elementor$dynamicTag : null;
2183 + };
2184 + var tagValue = getTagValue();
2185 + if (tagValue !== null) {
2186 + return tagValue;
2187 + }
2188 + return new Promise(function (resolve) {
2189 + elementor.dynamicTags.refreshCacheFromServer(function () {
2190 + resolve(getTagValue());
2191 + });
2192 + });
2193 + },
2194 + handleDynamicLink: function handleDynamicLink(linkValue) {
2195 + var _this0 = this;
2196 + var result = this.getDynamicLinkValue(linkValue.name, linkValue.settings);
2197 + if (!result) {
2198 + return null;
2199 + }
2200 + if ('string' === typeof result) {
2201 + return result;
2202 + }
2203 + result.then(function (href) {
2204 + _this0.el.removeAttribute('href');
2205 + var attribute = 'action' === linkValue.group ? 'data-action-link' : 'href';
2206 + _this0.el.setAttribute(attribute, href);
2207 + }).then(function () {
2208 + return _this0.dispatchPreviewEvent('elementor/element/render');
2209 + });
2210 + return null;
2211 + },
2212 + _resolvePropValue: function _resolvePropValue(prop, renderContext) {
2213 + var _window2, _registry$get;
2214 + if (!prop || (0, _typeof2.default)(prop) !== 'object') {
2215 + return prop;
2216 + }
2217 + if ('overridable' !== prop.$$type) {
2218 + return prop;
2219 + }
2220 + var registry = (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.elementorV2) === null || _window2 === void 0 || (_window2 = _window2.editorCanvas) === null || _window2 === void 0 ? void 0 : _window2.settingsTransformersRegistry;
2221 + var transformer = registry === null || registry === void 0 || (_registry$get = registry.get) === null || _registry$get === void 0 ? void 0 : _registry$get.call(registry, 'overridable');
2222 + if (!transformer) {
2223 + var _prop$value;
2224 + return (_prop$value = prop.value) === null || _prop$value === void 0 ? void 0 : _prop$value.origin_value;
2225 + }
2226 + var transformed = transformer(prop.value, {
2227 + key: 'overridable',
2228 + renderContext: renderContext
2229 + });
2230 + return this._resolvePropValue(transformed, renderContext);
1691 2231 }
1692 2232 });
1693 2233 return AtomicElementView;
1694 2234 }
@@ -1892,13 +2432,25 @@
1892 2432 value: true
1893 2433 }));
1894 2434 exports.getElementChildren = getElementChildren;
1895 2435 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
2436 +/**
2437 + * @typedef {import('assets/dev/js/editor/container/container')} Container
2438 + */
2439 +
2440 +/**
2441 + * return all recursively nested elements in a flat array
2442 + *
2443 + * @param {Container} model
2444 + * @return {Container[]}
2445 + */
1896 2446 function getElementChildren(model) {
1897 - var _model$get$models, _model$get;
1898 - var childModels = (_model$get$models = model === null || model === void 0 || (_model$get = model.get('elements')) === null || _model$get === void 0 ? void 0 : _model$get.models) !== null && _model$get$models !== void 0 ? _model$get$models : [];
1899 - var children = childModels.flatMap(getElementChildren);
1900 - return [model].concat((0, _toConsumableArray2.default)(children));
2447 + var _flatMap, _container$model$get$, _container$model;
2448 + var container = window.elementor.getContainer(model.id);
2449 + var children = (_flatMap = ((_container$model$get$ = (_container$model = container.model) === null || _container$model === void 0 || (_container$model = _container$model.get('elements')) === null || _container$model === void 0 ? void 0 : _container$model.models) !== null && _container$model$get$ !== void 0 ? _container$model$get$ : []).flatMap(function (child) {
2450 + return getElementChildren(child);
2451 + })) !== null && _flatMap !== void 0 ? _flatMap : [];
2452 + return [container].concat((0, _toConsumableArray2.default)(children));
1901 2453 }
1902 2454
1903 2455 /***/ }),
1904 2456
@@ -1954,35 +2506,38 @@
1954 2506 var _getElementChildren = __webpack_require__(/*! ./get-element-children */ "../modules/atomic-widgets/assets/js/editor/utils/get-element-children.js");
1955 2507 var _getRandomStyleId = __webpack_require__(/*! ./get-random-style-id */ "../modules/atomic-widgets/assets/js/editor/utils/get-random-style-id.js");
1956 2508 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; }
1957 2509 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; }
1958 -function regenerateLocalStyleIds(container) {
1959 - var allElements = (0, _getElementChildren.getElementChildren)(container.model);
1960 - var styledElements = allElements.filter(function (model) {
1961 - var _model$get;
1962 - return Object.keys((_model$get = model.get('styles')) !== null && _model$get !== void 0 ? _model$get : {}).length > 0;
1963 - });
1964 - updateElementsStyleIdsInsideOut(styledElements);
1965 -}
2510 +/**
2511 + * @typedef {import('assets/dev/js/editor/container/container')} Container
2512 + */
2513 +
1966 2514 function isClassesProp(prop) {
1967 2515 return prop.$$type && 'classes' === prop.$$type && Array.isArray(prop.value) && prop.value.length > 0;
1968 2516 }
1969 -function calculateNewStylesAndSettings(element, model, settings) {
1970 - var _settings$toJSON;
1971 - var originalStyles = model.get('styles');
1972 - var settingsJson = (_settings$toJSON = settings === null || settings === void 0 ? void 0 : settings.toJSON()) !== null && _settings$toJSON !== void 0 ? _settings$toJSON : {};
1973 - var classesProps = Object.entries(settingsJson).filter(function (_ref) {
2517 +
2518 +/**
2519 + * Update the style id of the container.
2520 + *
2521 + * @param {Container} container
2522 + */
2523 +function updateStyleId(container) {
2524 + var _container$settings$t, _container$settings;
2525 + var originalStyles = container.model.get('styles');
2526 + var settings = (_container$settings$t = (_container$settings = container.settings) === null || _container$settings === void 0 ? void 0 : _container$settings.toJSON()) !== null && _container$settings$t !== void 0 ? _container$settings$t : {};
2527 + var classesProps = Object.entries(settings).filter(function (_ref) {
1974 2528 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
1975 2529 propValue = _ref2[1];
1976 2530 return isClassesProp(propValue);
1977 2531 });
1978 2532 var newStyles = {};
1979 - var changedIds = {};
2533 + var changedIds = {}; // Conversion map - {[originalId: string]: newId: string}
2534 +
1980 2535 Object.entries(originalStyles).forEach(function (_ref3) {
1981 2536 var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
1982 2537 originalStyleId = _ref4[0],
1983 2538 style = _ref4[1];
1984 - var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(element, newStyles);
2539 + var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(container, newStyles);
1985 2540 newStyles[newStyleId] = structuredClone(_objectSpread(_objectSpread({}, style), {}, {
1986 2541 id: newStyleId
1987 2542 }));
1988 2543 changedIds[originalStyleId] = newStyleId;
@@ -1997,47 +2552,36 @@
1997 2552 return (_changedIds$className = changedIds[className]) !== null && _changedIds$className !== void 0 ? _changedIds$className : className;
1998 2553 })
1999 2554 })];
2000 2555 }, {});
2001 - return {
2002 - newStyles: newStyles,
2003 - newSettings: Object.fromEntries(newClassesProps)
2004 - };
2005 -}
2006 -function updateStyleIdForContainer(container) {
2007 - var model = container.model,
2008 - settings = container.settings;
2009 - var _calculateNewStylesAn = calculateNewStylesAndSettings(container, model, settings),
2010 - newStyles = _calculateNewStylesAn.newStyles,
2011 - newSettings = _calculateNewStylesAn.newSettings;
2556 +
2557 + // Update classes array
2012 2558 $e.internal('document/elements/set-settings', {
2013 2559 container: container,
2014 - settings: newSettings
2560 + settings: Object.fromEntries(newClassesProps)
2015 2561 });
2016 - model.set('styles', newStyles);
2017 -}
2018 -function updateStyleIdForModel(model) {
2019 - var settings = model.get('settings');
2020 - var _calculateNewStylesAn2 = calculateNewStylesAndSettings(model, model, settings),
2021 - newStyles = _calculateNewStylesAn2.newStyles,
2022 - newSettings = _calculateNewStylesAn2.newSettings;
2023 - settings.set(newSettings);
2024 - model.set('styles', newStyles);
2025 -}
2026 -function updateStyleId(model) {
2027 - var container = window.elementor.getContainer(model.get('id'));
2028 2562
2029 - // If view exists, update the styles via the container
2030 - if (container) {
2031 - updateStyleIdForContainer(container);
2032 - return;
2033 - }
2034 - updateStyleIdForModel(model);
2563 + // Update local styles
2564 + container.model.set('styles', newStyles);
2035 2565 }
2036 2566 function updateElementsStyleIdsInsideOut(styledElements) {
2037 2567 styledElements === null || styledElements === void 0 || styledElements.reverse().forEach(updateStyleId);
2038 2568 }
2039 2569
2570 +/**
2571 + * Get a container - iterate over its children, find all styled atomic widgets and update their style ids
2572 + *
2573 + * @param {Container} container
2574 + */
2575 +function regenerateLocalStyleIds(container) {
2576 + var allElements = (0, _getElementChildren.getElementChildren)(container);
2577 + var styledElements = allElements.filter(function (element) {
2578 + var _element$model$get;
2579 + return Object.keys((_element$model$get = element.model.get('styles')) !== null && _element$model$get !== void 0 ? _element$model$get : {}).length > 0;
2580 + });
2581 + updateElementsStyleIdsInsideOut(styledElements);
2582 +}
2583 +
2040 2584 /***/ }),
2041 2585
2042 2586 /***/ "../node_modules/@babel/runtime/helpers/OverloadYield.js":
2043 2587 /*!***************************************************************!*\
@@ -2362,8 +2906,21 @@
2362 2906 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
2363 2907
2364 2908 /***/ }),
2365 2909
2910 +/***/ "../node_modules/@babel/runtime/helpers/readOnlyError.js":
2911 +/*!***************************************************************!*\
2912 + !*** ../node_modules/@babel/runtime/helpers/readOnlyError.js ***!
2913 + \***************************************************************/
2914 +/***/ ((module) => {
2915 +
2916 +function _readOnlyError(r) {
2917 + throw new TypeError('"' + r + '" is read-only');
2918 +}
2919 +module.exports = _readOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports;
2920 +
2921 +/***/ }),
2922 +
2366 2923 /***/ "../node_modules/@babel/runtime/helpers/regenerator.js":
2367 2924 /*!*************************************************************!*\
2368 2925 !*** ../node_modules/@babel/runtime/helpers/regenerator.js ***!
2369 2926 \*************************************************************/
@@ -2976,9 +3533,13 @@
2976 3533 var _createAtomicElementBaseView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-element-base-view */ "../modules/atomic-widgets/assets/js/editor/create-atomic-element-base-view.js"));
2977 3534 var _atomicElementBaseModel = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-base-model */ "../modules/atomic-widgets/assets/js/editor/atomic-element-base-model.js"));
2978 3535 var _createDivBlockType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-div-block-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js"));
2979 3536 var _createFlexboxType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-flexbox-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-flexbox-type.js"));
2980 -var _createGridType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-grid-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-grid-type.js"));
3537 +var _createAtomicTabsType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tabs/create-atomic-tabs-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-type.js"));
3538 +var _createAtomicTabContentType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tab-content/create-atomic-tab-content-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-content/create-atomic-tab-content-type.js"));
3539 +var _createAtomicTabType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tab/create-atomic-tab-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-type.js"));
3540 +var _createAtomicTabsMenuType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-menu/create-atomic-tabs-menu-type.js"));
3541 +var _createAtomicTabsContentAreaType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs-content-area/create-atomic-tabs-content-area-type.js"));
2981 3542 function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
2982 3543 function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
2983 3544 var Module = /*#__PURE__*/function (_elementorModules$edi) {
2984 3545 function Module() {
@@ -3002,19 +3563,15 @@
3002 3563 }
3003 3564 }, {
3004 3565 key: "registerAtomicElements",
3005 3566 value: function registerAtomicElements() {
3006 - this.registerAtomicElementTypeIfAbsent((0, _createDivBlockType.default)());
3007 - this.registerAtomicElementTypeIfAbsent((0, _createFlexboxType.default)());
3008 - this.registerAtomicElementTypeIfAbsent((0, _createGridType.default)());
3009 - }
3010 - }, {
3011 - key: "registerAtomicElementTypeIfAbsent",
3012 - value: function registerAtomicElementTypeIfAbsent(elementType) {
3013 - if (elementor.elementsManager.getElementTypeClass(elementType.getType())) {
3014 - return;
3015 - }
3016 - elementor.elementsManager.registerElementType(elementType);
3567 + elementor.elementsManager.registerElementType((0, _createDivBlockType.default)());
3568 + elementor.elementsManager.registerElementType((0, _createFlexboxType.default)());
3569 + elementor.elementsManager.registerElementType((0, _createAtomicTabsType.default)());
3570 + elementor.elementsManager.registerElementType((0, _createAtomicTabContentType.default)());
3571 + elementor.elementsManager.registerElementType((0, _createAtomicTabType.default)());
3572 + elementor.elementsManager.registerElementType((0, _createAtomicTabsMenuType.default)());
3573 + elementor.elementsManager.registerElementType((0, _createAtomicTabsContentAreaType.default)());
3017 3574 }
3018 3575 }]);
3019 3576 }(elementorModules.editor.utils.Module);
3020 3577 new Module();