PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.7
Elementor Website Builder – more than just a page builder v3.35.7
4.3.1 4.3.0 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 All 454 releases
← All changes | assets/js/atomic-widgets-editor.js +797 -155 4.1.3 → 3.35.7 View file →
@@ -827,14 +827,10 @@
827 827 }
828 828 }, {
829 829 key: "initialize",
830 830 value: function initialize(attributes, options) {
831 - var _this$config;
832 831 var elementType = this.get('elType');
833 832 this.config = elementor.config.elements[elementType];
834 - if ((_this$config = this.config) !== null && _this$config !== void 0 && (_this$config = _this$config.meta) !== null && _this$config !== void 0 && _this$config.permanently_locked) {
835 - this.set('isLocked', true);
836 - }
837 833 var isNewElementCreate = 0 === this.get('elements').length && $e.commands.currentTrace.includes('document/elements/create');
838 834 if (isNewElementCreate) {
839 835 this.onElementCreate();
840 836 }
@@ -849,14 +845,8 @@
849 845 }, {
850 846 key: "onElementCreate",
851 847 value: function onElementCreate() {
852 848 var _this = this;
853 - if (this.get('skipDefaultChildren')) {
854 - this.unset('skipDefaultChildren', {
855 - silent: true
856 - });
857 - return;
858 - }
859 849 this.set('elements', this.getDefaultChildren().map(function (element) {
860 850 return _this.buildElement(element);
861 851 }));
862 852 }
@@ -880,10 +870,9 @@
880 870 id: id,
881 871 settings: (_element$settings = element.settings) !== null && _element$settings !== void 0 ? _element$settings : {},
882 872 elements: elements,
883 873 isLocked: element.isLocked || false,
884 - editor_settings: element.editor_settings || {},
885 - meta: element.meta || {}
874 + editor_settings: element.editor_settings || {}
886 875 };
887 876 }
888 877 }]);
889 878 }(elementor.modules.elements.models.Element);
@@ -949,8 +938,412 @@
949 938 }(elementor.modules.elements.types.Base);
950 939
951 940 /***/ }),
952 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 +
953 1346 /***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js":
954 1347 /*!************************************************************************************************!*\
955 1348 !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js ***!
956 1349 \************************************************************************************************/
@@ -1071,9 +1464,8 @@
1071 1464 }
1072 1465 _this = _callSuper(this, AtomicElementEmptyView, [].concat(args));
1073 1466 (0, _defineProperty2.default)(_this, "template", '<div></div>');
1074 1467 (0, _defineProperty2.default)(_this, "className", 'elementor-empty-view');
1075 - (0, _defineProperty2.default)(_this, "unmount", null);
1076 1468 return _this;
1077 1469 }
1078 1470 (0, _inherits2.default)(AtomicElementEmptyView, _Marionette$ItemView);
1079 1471 return (0, _createClass2.default)(AtomicElementEmptyView, [{
@@ -1085,17 +1477,8 @@
1085 1477 unmount = _ReactUtils$render.unmount;
1086 1478 this.unmount = unmount;
1087 1479 }
1088 1480 }, {
1089 - key: "onBeforeRender",
1090 - value: function onBeforeRender() {
1091 - // In case the element is being rendered again, we need to unmount the previous React component.
1092 - if (this.unmount) {
1093 - this.unmount();
1094 - this.unmount = null;
1095 - }
1096 - }
1097 - }, {
1098 1481 key: "onRender",
1099 1482 value: function onRender() {
1100 1483 this.$el.addClass(this.className);
1101 1484 this.renderReactDefaultElement();
@@ -1102,10 +1485,9 @@
1102 1485 }
1103 1486 }, {
1104 1487 key: "onDestroy",
1105 1488 value: function onDestroy() {
1106 - var _this$unmount;
1107 - (_this$unmount = this.unmount) === null || _this$unmount === void 0 || _this$unmount.call(this);
1489 + this.unmount();
1108 1490 }
1109 1491 }]);
1110 1492 }(Marionette.ItemView);
1111 1493
@@ -1127,26 +1509,38 @@
1127 1509 value: true
1128 1510 }));
1129 1511 exports["default"] = createAtomicElementBaseView;
1130 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"));
1131 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"));
1132 1516 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1133 1517 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1134 1518 var _elementTypes = __webpack_require__(/*! elementor-editor/utils/element-types */ "../assets/dev/js/editor/utils/element-types.js");
1135 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; }
1136 1522 var BaseElementView = elementor.modules.elements.views.BaseElement;
1137 1523 function createAtomicElementBaseView(type) {
1524 + var resolvedTagCache = new WeakMap();
1138 1525 var AtomicElementView = BaseElementView.extend({
1139 1526 template: Marionette.TemplateCache.get("#tmpl-elementor-".concat(type, "-content")),
1140 1527 emptyView: _atomicElementEmptyView.default,
1141 1528 _childrenRenderPromises: [],
1142 - _createElement: function _createElement(tag) {
1143 - var _elementor$$preview;
1144 - 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;
1145 - if (previewDocument) {
1146 - 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';
1147 1541 }
1148 - return document.createElement(tag);
1542 + return tagValue || this.model.config.default_html_tag || 'div';
1149 1543 },
1150 1544 getChildViewContainer: function getChildViewContainer() {
1151 1545 this.childViewContainer = '';
1152 1546 return Marionette.CompositeView.prototype.getChildViewContainer.apply(this, arguments);
@@ -1170,69 +1564,202 @@
1170 1564 getResolverRenderContext: function getResolverRenderContext() {
1171 1565 var _this$_parent2, _this$_parent2$getRes;
1172 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);
1173 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 + },
1174 1673 render: function render() {
1175 - var _this = this;
1674 + var _this2 = this;
1176 1675 this._currentRenderPromise = new Promise(function (resolve) {
1177 1676 // Optimize rendering by reusing existing child views instead of recreating them.
1178 - if (_this._shouldSkipFullRender()) {
1179 - _this._renderWithoutDomRecreation(resolve);
1677 + if (_this2._shouldSkipFullRender()) {
1678 + _this2._renderWithoutDomRecreation(resolve);
1180 1679 } else {
1181 - _this._renderWithDomRecreation(resolve);
1680 + _this2._renderWithDomRecreation(resolve);
1182 1681 }
1183 1682 });
1184 1683 return this;
1185 1684 },
1186 1685 _shouldSkipFullRender: function _shouldSkipFullRender() {
1187 - 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;
1188 1688 },
1189 - _hasConnectedChildren: function _hasConnectedChildren() {
1190 - var _this$children, _firstChild$$el$get$i, _firstChild$$el;
1191 - if (!((_this$children = this.children) !== null && _this$children !== void 0 && _this$children.length)) {
1192 - return false;
1193 - }
1194 -
1195 - // If the parent's innerHTML was replaced, all children are detached together.
1196 - var firstChild = this.children.findByIndex(0);
1197 - 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;
1198 - },
1199 1689 _renderWithoutDomRecreation: function _renderWithoutDomRecreation(resolve) {
1200 - var _this2 = this;
1690 + var _this3 = this;
1201 1691 this._beforeRender();
1202 1692 this._renderChildren();
1203 1693 this._waitForChildrenToComplete().then(function () {
1204 - _this2._afterRender();
1694 + _this3._afterRender();
1205 1695 resolve();
1206 1696 });
1207 1697 },
1208 1698 _renderWithDomRecreation: function _renderWithDomRecreation(resolve) {
1699 + var _this4 = this;
1209 1700 BaseElementView.prototype.render.apply(this, arguments);
1210 1701 this._waitForChildrenToComplete().then(function () {
1702 + _this4._applyResolvedAttributes();
1211 1703 resolve();
1212 1704 });
1213 1705 },
1214 1706 _beforeRender: function _beforeRender() {
1215 1707 this._isRendering = true;
1708 + this._invalidateTagCache();
1216 1709 this.triggerMethod('before:render', this);
1217 1710 },
1711 + _invalidateTagCache: function _invalidateTagCache() {
1712 + resolvedTagCache.delete(this.model);
1713 + },
1714 + _cacheResolvedTag: function _cacheResolvedTag(tag) {
1715 + resolvedTagCache.set(this.model, tag);
1716 + },
1218 1717 _afterRender: function _afterRender() {
1219 1718 this._isRendering = false;
1220 1719 this.isRendered = true;
1221 1720 this.triggerMethod('render', this);
1721 + this._applyResolvedAttributes();
1222 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 + },
1223 1750 _waitForChildrenToComplete: function _waitForChildrenToComplete() {
1224 - var _this3 = this;
1751 + var _this5 = this;
1225 1752 return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1226 1753 return _regenerator.default.wrap(function (_context) {
1227 1754 while (1) switch (_context.prev = _context.next) {
1228 1755 case 0:
1229 - if (!(_this3._childrenRenderPromises.length > 0)) {
1756 + if (!(_this5._childrenRenderPromises.length > 0)) {
1230 1757 _context.next = 1;
1231 1758 break;
1232 1759 }
1233 1760 _context.next = 1;
1234 - return Promise.all(_this3._childrenRenderPromises);
1761 + return Promise.all(_this5._childrenRenderPromises);
1235 1762 case 1:
1236 1763 case "end":
1237 1764 return _context.stop();
1238 1765 }
@@ -1251,25 +1778,25 @@
1251 1778 this._collectChildrenRenderPromises();
1252 1779 },
1253 1780 _collectChildrenRenderPromises: function _collectChildrenRenderPromises() {
1254 1781 var _this$children3,
1255 - _this4 = this;
1782 + _this6 = this;
1256 1783 this._childrenRenderPromises = [];
1257 1784 (_this$children3 = this.children) === null || _this$children3 === void 0 || _this$children3.each(function (childView) {
1258 1785 if (childView._currentRenderPromise) {
1259 - _this4._childrenRenderPromises.push(childView._currentRenderPromise);
1786 + _this6._childrenRenderPromises.push(childView._currentRenderPromise);
1260 1787 }
1261 1788 });
1262 1789 },
1263 1790 onRender: function onRender() {
1264 - var _this5 = this;
1791 + var _this7 = this;
1265 1792 this.dispatchPreviewEvent('elementor/element/render');
1266 1793 BaseElementView.prototype.onRender.apply(this, arguments);
1267 1794
1268 1795 // Defer to wait for everything to render.
1269 1796 setTimeout(function () {
1270 - _this5.droppableInitialize();
1271 - _this5.updateHandlesPosition();
1797 + _this7.droppableInitialize();
1798 + _this7.updateHandlesPosition();
1272 1799 });
1273 1800 },
1274 1801 onDestroy: function onDestroy() {
1275 1802 BaseElementView.prototype.onDestroy.apply(this, arguments);
@@ -1284,8 +1811,50 @@
1284 1811 element: this.getDomElement().get(0)
1285 1812 }
1286 1813 }));
1287 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 + },
1288 1857 droppableInitialize: function droppableInitialize() {
1289 1858 this.$el.html5Droppable(this.getDroppableOptions());
1290 1859 },
1291 1860 /**
@@ -1293,9 +1862,9 @@
1293 1862 *
1294 1863 * @return {Object} groups
1295 1864 */
1296 1865 getContextMenuGroups: function getContextMenuGroups() {
1297 - var _this6 = this,
1866 + var _this8 = this,
1298 1867 _elementorCommon$conf;
1299 1868 var saveActions = [{
1300 1869 name: 'save',
1301 1870 title: __('Save as a template', 'elementor'),
@@ -1300,30 +1869,21 @@
1300 1869 name: 'save',
1301 1870 title: __('Save as a template', 'elementor'),
1302 1871 callback: this.saveAsTemplate.bind(this),
1303 1872 isEnabled: function isEnabled() {
1304 - return !_this6.getContainer().isLocked();
1873 + return !_this8.getContainer().isLocked();
1305 1874 }
1306 1875 }];
1307 1876 var isAdministrator = elementor.config.user.is_administrator;
1308 1877 var isExperimentalFeaturesEnabled = (_elementorCommon$conf = elementorCommon.config.experimentalFeatures) === null || _elementorCommon$conf === void 0 ? void 0 : _elementorCommon$conf.e_components;
1309 1878 if (isExperimentalFeaturesEnabled && isAdministrator) {
1310 - 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;
1311 - 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;
1312 - 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;
1313 - 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);
1314 - var showPromoBadge = !isProActive && !isProOutdated;
1315 - var newBadge = "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>");
1316 - var badgeClass = 'elementor-context-menu-list__item__shortcut__promotion-badge';
1317 - 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>");
1318 1879 saveActions.unshift({
1319 1880 name: 'save-component',
1320 1881 title: __('Create component', 'elementor'),
1321 - shortcut: isProActive || isProOutdated ? newBadge : proBadge,
1322 - hasShortcutAction: showPromoBadge,
1882 + shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>"),
1323 1883 callback: this.saveAsComponent.bind(this),
1324 1884 isEnabled: function isEnabled() {
1325 - return (isProActive || isProOutdated) && !_this6.getContainer().isLocked();
1885 + return !_this8.getContainer().isLocked();
1326 1886 }
1327 1887 });
1328 1888 }
1329 1889 var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
@@ -1342,33 +1902,8 @@
1342 1902 model: this.model
1343 1903 });
1344 1904 },
1345 1905 saveAsComponent: function saveAsComponent(openContextMenuEvent, options) {
1346 - 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;
1347 - 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;
1348 - 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);
1349 - if (isProOutdated) {
1350 - var _window$elementorV6, _window$elementorV6$n;
1351 - (_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, {
1352 - type: 'info',
1353 - id: 'component-create-update',
1354 - message: __('To create new components, update Elementor Pro to the latest version.', 'elementor'),
1355 - additionalActionProps: [{
1356 - size: 'small',
1357 - variant: 'contained',
1358 - color: 'info',
1359 - href: '/wp-admin/plugins.php',
1360 - target: '_blank',
1361 - children: __('Update Now', 'elementor')
1362 - }]
1363 - });
1364 - return;
1365 - }
1366 - 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;
1367 - if (!isProActive) {
1368 - return;
1369 - }
1370 -
1371 1906 // Calculate the absolute position where the context menu was opened.
1372 1907 var openMenuOriginalEvent = openContextMenuEvent.originalEvent;
1373 1908 var iframeRect = elementor.$preview[0].getBoundingClientRect();
1374 1909 var anchorPosition = {
@@ -1406,9 +1941,9 @@
1406 1941 preventInit: true
1407 1942 };
1408 1943 },
1409 1944 getDroppableOptions: function getDroppableOptions() {
1410 - var _this7 = this;
1945 + var _this9 = this;
1411 1946 var items = '> .elementor-element, > .elementor-empty-view .elementor-first-add';
1412 1947 return {
1413 1948 axis: null,
1414 1949 items: items,
@@ -1418,9 +1953,9 @@
1418 1953 currentElementClass: 'elementor-html5dnd-current-element',
1419 1954 placeholderClass: 'elementor-sortable-placeholder elementor-widget-placeholder',
1420 1955 hasDraggingOnChildClass: 'e-dragging-over',
1421 1956 getDropContainer: function getDropContainer() {
1422 - return _this7.getContainer();
1957 + return _this9.getContainer();
1423 1958 },
1424 1959 onDropping: function onDropping(side, event) {
1425 1960 event.stopPropagation();
1426 1961
@@ -1430,14 +1965,14 @@
1430 1965 draggedElement = draggedView === null || draggedView === void 0 ? void 0 : draggedView.getContainer().view.el,
1431 1966 containerElement = event.currentTarget.parentElement,
1432 1967 elements = Array.from((containerElement === null || containerElement === void 0 ? void 0 : containerElement.querySelectorAll(':scope > .elementor-element')) || []);
1433 1968 var targetIndex = elements.indexOf(event.currentTarget);
1434 - if (_this7.isPanelElement(draggedView, draggedElement)) {
1969 + if (_this9.isPanelElement(draggedView, draggedElement)) {
1435 1970 var _elementorCommon;
1436 - if (_this7.draggingOnBottomOrRightSide(side) && !_this7.emptyViewIsCurrentlyBeingDraggedOver()) {
1971 + if (_this9.draggingOnBottomOrRightSide(side) && !_this9.emptyViewIsCurrentlyBeingDraggedOver()) {
1437 1972 targetIndex++;
1438 1973 }
1439 - _this7.onDrop(event, {
1974 + _this9.onDrop(event, {
1440 1975 at: targetIndex
1441 1976 });
1442 1977 if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent) {
1443 1978 var selectedElement = elementor.channels.panelElements.request('element:selected');
@@ -1455,16 +1990,16 @@
1455 1990 }
1456 1991 }
1457 1992 return;
1458 1993 }
1459 - if (_this7.isParentElement(draggedView.getContainer().id)) {
1994 + if (_this9.isParentElement(draggedView.getContainer().id)) {
1460 1995 return;
1461 1996 }
1462 - if (_this7.emptyViewIsCurrentlyBeingDraggedOver()) {
1463 - _this7.moveDroppedItem(draggedView, 0);
1997 + if (_this9.emptyViewIsCurrentlyBeingDraggedOver()) {
1998 + _this9.moveDroppedItem(draggedView, 0);
1464 1999 return;
1465 2000 }
1466 - _this7.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
2001 + _this9.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
1467 2002 }
1468 2003 };
1469 2004 },
1470 2005 moveExistingElement: function moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement) {
@@ -1582,8 +2117,26 @@
1582 2117 });
1583 2118 });
1584 2119 this.addSectionView = addSectionView;
1585 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 + },
1586 2139 isOverflowHidden: function isOverflowHidden() {
1587 2140 var elementStyles = window.getComputedStyle(this.el);
1588 2141 var overflowStyles = [elementStyles.overflowX, elementStyles.overflowY, elementStyles.overflow];
1589 2142 return overflowStyles.includes('hidden') || overflowStyles.includes('auto');
@@ -1608,12 +2161,74 @@
1608 2161 return true;
1609 2162 }
1610 2163 return 0 === this.model.collection.indexOf(this.model);
1611 2164 },
1612 - getInteractionId: function getInteractionId() {
1613 - var originId = this.model.get('originId');
1614 - var id = this.model.get('id');
1615 - 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);
1616 2231 }
1617 2232 });
1618 2233 return AtomicElementView;
1619 2234 }
@@ -1817,13 +2432,25 @@
1817 2432 value: true
1818 2433 }));
1819 2434 exports.getElementChildren = getElementChildren;
1820 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 + */
1821 2446 function getElementChildren(model) {
1822 - var _model$get$models, _model$get;
1823 - 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 : [];
1824 - var children = childModels.flatMap(getElementChildren);
1825 - 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));
1826 2453 }
1827 2454
1828 2455 /***/ }),
1829 2456
@@ -1879,35 +2506,38 @@
1879 2506 var _getElementChildren = __webpack_require__(/*! ./get-element-children */ "../modules/atomic-widgets/assets/js/editor/utils/get-element-children.js");
1880 2507 var _getRandomStyleId = __webpack_require__(/*! ./get-random-style-id */ "../modules/atomic-widgets/assets/js/editor/utils/get-random-style-id.js");
1881 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; }
1882 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; }
1883 -function regenerateLocalStyleIds(container) {
1884 - var allElements = (0, _getElementChildren.getElementChildren)(container.model);
1885 - var styledElements = allElements.filter(function (model) {
1886 - var _model$get;
1887 - return Object.keys((_model$get = model.get('styles')) !== null && _model$get !== void 0 ? _model$get : {}).length > 0;
1888 - });
1889 - updateElementsStyleIdsInsideOut(styledElements);
1890 -}
2510 +/**
2511 + * @typedef {import('assets/dev/js/editor/container/container')} Container
2512 + */
2513 +
1891 2514 function isClassesProp(prop) {
1892 2515 return prop.$$type && 'classes' === prop.$$type && Array.isArray(prop.value) && prop.value.length > 0;
1893 2516 }
1894 -function calculateNewStylesAndSettings(element, model, settings) {
1895 - var _settings$toJSON;
1896 - var originalStyles = model.get('styles');
1897 - var settingsJson = (_settings$toJSON = settings === null || settings === void 0 ? void 0 : settings.toJSON()) !== null && _settings$toJSON !== void 0 ? _settings$toJSON : {};
1898 - 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) {
1899 2528 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
1900 2529 propValue = _ref2[1];
1901 2530 return isClassesProp(propValue);
1902 2531 });
1903 2532 var newStyles = {};
1904 - var changedIds = {};
2533 + var changedIds = {}; // Conversion map - {[originalId: string]: newId: string}
2534 +
1905 2535 Object.entries(originalStyles).forEach(function (_ref3) {
1906 2536 var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
1907 2537 originalStyleId = _ref4[0],
1908 2538 style = _ref4[1];
1909 - var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(element, newStyles);
2539 + var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(container, newStyles);
1910 2540 newStyles[newStyleId] = structuredClone(_objectSpread(_objectSpread({}, style), {}, {
1911 2541 id: newStyleId
1912 2542 }));
1913 2543 changedIds[originalStyleId] = newStyleId;
@@ -1922,47 +2552,36 @@
1922 2552 return (_changedIds$className = changedIds[className]) !== null && _changedIds$className !== void 0 ? _changedIds$className : className;
1923 2553 })
1924 2554 })];
1925 2555 }, {});
1926 - return {
1927 - newStyles: newStyles,
1928 - newSettings: Object.fromEntries(newClassesProps)
1929 - };
1930 -}
1931 -function updateStyleIdForContainer(container) {
1932 - var model = container.model,
1933 - settings = container.settings;
1934 - var _calculateNewStylesAn = calculateNewStylesAndSettings(container, model, settings),
1935 - newStyles = _calculateNewStylesAn.newStyles,
1936 - newSettings = _calculateNewStylesAn.newSettings;
2556 +
2557 + // Update classes array
1937 2558 $e.internal('document/elements/set-settings', {
1938 2559 container: container,
1939 - settings: newSettings
2560 + settings: Object.fromEntries(newClassesProps)
1940 2561 });
1941 - model.set('styles', newStyles);
1942 -}
1943 -function updateStyleIdForModel(model) {
1944 - var settings = model.get('settings');
1945 - var _calculateNewStylesAn2 = calculateNewStylesAndSettings(model, model, settings),
1946 - newStyles = _calculateNewStylesAn2.newStyles,
1947 - newSettings = _calculateNewStylesAn2.newSettings;
1948 - settings.set(newSettings);
1949 - model.set('styles', newStyles);
1950 -}
1951 -function updateStyleId(model) {
1952 - var container = window.elementor.getContainer(model.get('id'));
1953 2562
1954 - // If view exists, update the styles via the container
1955 - if (container) {
1956 - updateStyleIdForContainer(container);
1957 - return;
1958 - }
1959 - updateStyleIdForModel(model);
2563 + // Update local styles
2564 + container.model.set('styles', newStyles);
1960 2565 }
1961 2566 function updateElementsStyleIdsInsideOut(styledElements) {
1962 2567 styledElements === null || styledElements === void 0 || styledElements.reverse().forEach(updateStyleId);
1963 2568 }
1964 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 +
1965 2584 /***/ }),
1966 2585
1967 2586 /***/ "../node_modules/@babel/runtime/helpers/OverloadYield.js":
1968 2587 /*!***************************************************************!*\
@@ -2287,8 +2906,21 @@
2287 2906 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
2288 2907
2289 2908 /***/ }),
2290 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 +
2291 2923 /***/ "../node_modules/@babel/runtime/helpers/regenerator.js":
2292 2924 /*!*************************************************************!*\
2293 2925 !*** ../node_modules/@babel/runtime/helpers/regenerator.js ***!
2294 2926 \*************************************************************/
@@ -2901,8 +3533,13 @@
2901 3533 var _createAtomicElementBaseView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-element-base-view */ "../modules/atomic-widgets/assets/js/editor/create-atomic-element-base-view.js"));
2902 3534 var _atomicElementBaseModel = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-base-model */ "../modules/atomic-widgets/assets/js/editor/atomic-element-base-model.js"));
2903 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"));
2904 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"));
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"));
2905 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)); }
2906 3543 function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
2907 3544 var Module = /*#__PURE__*/function (_elementorModules$edi) {
2908 3545 function Module() {
@@ -2928,8 +3565,13 @@
2928 3565 key: "registerAtomicElements",
2929 3566 value: function registerAtomicElements() {
2930 3567 elementor.elementsManager.registerElementType((0, _createDivBlockType.default)());
2931 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)());
2932 3574 }
2933 3575 }]);
2934 3576 }(elementorModules.editor.utils.Module);
2935 3577 new Module();