PluginProbe
Elementor Website Builder – more than just a page builder / 4.1.0-beta1
Elementor Website Builder – more than just a page builder v4.1.0-beta1
4.3.3 4.3.2 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 All 456 releases
← All changes | assets/js/e-react-promotions.js +47 -342 4.1.5 → 4.1.0-beta1 View file →
@@ -1238,40 +1238,8 @@
1238 1238 module.exports = ControlBaseView;
1239 1239
1240 1240 /***/ }),
1241 1241
1242 -/***/ "../assets/dev/js/editor/utils/preview-iframe-listeners.js":
1243 -/*!*****************************************************************!*\
1244 - !*** ../assets/dev/js/editor/utils/preview-iframe-listeners.js ***!
1245 - \*****************************************************************/
1246 -/***/ ((__unused_webpack_module, exports) => {
1247 -
1248 -"use strict";
1249 -
1250 -
1251 -Object.defineProperty(exports, "__esModule", ({
1252 - value: true
1253 -}));
1254 -exports.bindPreviewIframeEvents = bindPreviewIframeEvents;
1255 -function bindPreviewIframeEvents(callback) {
1256 - var _elementor;
1257 - var iframeDocument = (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.$preview) === null || _elementor === void 0 || (_elementor = _elementor[0]) === null || _elementor === void 0 ? void 0 : _elementor.contentDocument;
1258 - if (!iframeDocument) {
1259 - return function () {};
1260 - }
1261 - var handleEvent = function handleEvent() {
1262 - return callback();
1263 - };
1264 - iframeDocument.addEventListener('click', handleEvent);
1265 - iframeDocument.addEventListener('keydown', handleEvent);
1266 - return function () {
1267 - iframeDocument.removeEventListener('click', handleEvent);
1268 - iframeDocument.removeEventListener('keydown', handleEvent);
1269 - };
1270 -}
1271 -
1272 -/***/ }),
1273 -
1274 1242 /***/ "../modules/promotions/assets/js/react/app-manager.js":
1275 1243 /*!************************************************************!*\
1276 1244 !*** ../modules/promotions/assets/js/react/app-manager.js ***!
1277 1245 \************************************************************/
@@ -1285,27 +1253,19 @@
1285 1253 value: true
1286 1254 }));
1287 1255 exports.AppManager = void 0;
1288 1256 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1289 -var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1290 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1291 1257 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1292 1258 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1293 1259 var _app = _interopRequireDefault(__webpack_require__(/*! ./app */ "../modules/promotions/assets/js/react/app.js"));
1294 -var _previewIframeListeners = __webpack_require__(/*! elementor-editor-utils/preview-iframe-listeners */ "../assets/dev/js/editor/utils/preview-iframe-listeners.js");
1295 -var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1296 1260 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
1297 -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; }
1298 -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; }
1299 1261 var AppManager = exports.AppManager = /*#__PURE__*/function () {
1300 1262 function AppManager() {
1301 1263 (0, _classCallCheck2.default)(this, AppManager);
1302 1264 this.promotionInfoTip = null;
1303 - this.promotionWrapper = null;
1265 + this.atomicFormPromotionWrapper = null;
1304 1266 this.onRoute = function () {};
1305 - this.unbindIframeEvents = function () {};
1306 1267 this.attachAtomicFormListeners();
1307 - this.attachWidgetPromotionListeners();
1308 1268 }
1309 1269 return (0, _createClass2.default)(AppManager, [{
1310 1270 key: "getPromotionData",
1311 1271 value: function getPromotionData(promotionType) {
@@ -1317,41 +1277,12 @@
1317 1277 var _elementor;
1318 1278 return ((_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 ? void 0 : _elementor.atomicFormPromotion) || {};
1319 1279 }
1320 1280 }, {
1321 - key: "resolveWidgetPromotionData",
1322 - value: function resolveWidgetPromotionData(detail) {
1323 - var _elementor2, _elementor$config$pro, _elementsPromotion$ac, _elementsPromotion$ac2, _elementsPromotion$ti, _elementsPromotion$co;
1324 - var promotions = ((_elementor2 = elementor) === null || _elementor2 === void 0 || (_elementor2 = _elementor2.config) === null || _elementor2 === void 0 ? void 0 : _elementor2.v4Promotions) || {};
1325 - var widgetType = detail.widgetType || '';
1326 - var normalizedType = widgetType.replace(/[-_]/g, '').toLowerCase();
1327 - var key = Object.keys(promotions).find(function (promotionKey) {
1328 - return promotionKey.replace(/[-_]/g, '').toLowerCase() === normalizedType;
1329 - });
1330 - var promotionData = key ? promotions[key] : null;
1331 - var elementsPromotion = ((_elementor$config$pro = elementor.config.promotion) === null || _elementor$config$pro === void 0 ? void 0 : _elementor$config$pro.elements) || {};
1332 - var fallbackCtaUrl = detail.ctaUrl || ((_elementsPromotion$ac = elementsPromotion.action_button) === null || _elementsPromotion$ac === void 0 || (_elementsPromotion$ac = _elementsPromotion$ac.url) === null || _elementsPromotion$ac === void 0 ? void 0 : _elementsPromotion$ac.replace('%s', widgetType)) || '';
1333 - var fallbackCtaText = detail.ctaText || ((_elementsPromotion$ac2 = elementsPromotion.action_button) === null || _elementsPromotion$ac2 === void 0 ? void 0 : _elementsPromotion$ac2.text) || '';
1334 - var widgetName = detail.widgetTitle || detail.title || '';
1335 - var hideProTag = detail.hideProTag || false;
1336 - var resolvedPromotionData = promotionData ? _objectSpread(_objectSpread({}, promotionData), {}, {
1337 - ctaUrl: promotionData.ctaUrl || fallbackCtaUrl,
1338 - ctaText: promotionData.ctaText || fallbackCtaText,
1339 - hideProTag: hideProTag
1340 - }) : {
1341 - title: detail.title || ((_elementsPromotion$ti = elementsPromotion.title) === null || _elementsPromotion$ti === void 0 ? void 0 : _elementsPromotion$ti.replace('%s', widgetName)) || '',
1342 - content: detail.content || ((_elementsPromotion$co = elementsPromotion.content) === null || _elementsPromotion$co === void 0 ? void 0 : _elementsPromotion$co.replace('%s', widgetName)) || '',
1343 - ctaUrl: fallbackCtaUrl,
1344 - ctaText: fallbackCtaText,
1345 - hideProTag: hideProTag
1346 - };
1347 - return applyProConnectPromotionOverrides(resolvedPromotionData);
1348 - }
1349 - }, {
1350 1281 key: "mount",
1351 1282 value: function mount(targetNode, selectors) {
1352 - var _elementor3,
1353 - _elementor3$getPrefer,
1283 + var _elementor2,
1284 + _elementor2$getPrefer,
1354 1285 _rootElement$getAttri,
1355 1286 _this = this;
1356 1287 if (this.promotionInfoTip) {
1357 1288 return;
@@ -1362,9 +1293,9 @@
1362 1293 return;
1363 1294 }
1364 1295 this.attachEditorEventListeners();
1365 1296 this.promotionInfoTip = (0, _client.createRoot)(rootElement);
1366 - var colorScheme = ((_elementor3 = elementor) === null || _elementor3 === void 0 || (_elementor3$getPrefer = _elementor3.getPreferences) === null || _elementor3$getPrefer === void 0 ? void 0 : _elementor3$getPrefer.call(_elementor3, 'ui_theme')) || 'auto';
1297 + var colorScheme = ((_elementor2 = elementor) === null || _elementor2 === void 0 || (_elementor2$getPrefer = _elementor2.getPreferences) === null || _elementor2$getPrefer === void 0 ? void 0 : _elementor2$getPrefer.call(_elementor2, 'ui_theme')) || 'auto';
1367 1298 var isRTL = elementorCommon.config.isRTL;
1368 1299 var promotionType = (_rootElement$getAttri = rootElement.getAttribute('data-promotion')) === null || _rootElement$getAttri === void 0 ? void 0 : _rootElement$getAttri.replace('_promotion', '');
1369 1300 this.promotionInfoTip.render(/*#__PURE__*/_react.default.createElement(_app.default, {
1370 1301 colorScheme: colorScheme,
@@ -1375,27 +1306,32 @@
1375 1306 }
1376 1307 }));
1377 1308 }
1378 1309 }, {
1379 - key: "mountCard",
1380 - value: function mountCard(targetEl, wrapperClassName, appProps) {
1381 - var _elementor4,
1382 - _elementor4$getPrefer,
1310 + key: "mountAtomicFormPromotion",
1311 + value: function mountAtomicFormPromotion(targetEl, ctaUrl) {
1312 + var _elementor3,
1313 + _elementor3$getPrefer,
1383 1314 _this2 = this;
1384 1315 this.unmount();
1385 - this.promotionWrapper = document.createElement('span');
1386 - this.promotionWrapper.className = wrapperClassName;
1387 - document.body.appendChild(this.promotionWrapper);
1316 + this.atomicFormPromotionWrapper = document.createElement('span');
1317 + this.atomicFormPromotionWrapper.className = 'e-atomic-form-promotion-wrapper';
1318 + targetEl.appendChild(this.atomicFormPromotionWrapper);
1388 1319 this.attachEditorEventListeners();
1389 - this.promotionInfoTip = (0, _client.createRoot)(this.promotionWrapper);
1390 - this.promotionInfoTip.render(/*#__PURE__*/_react.default.createElement(_app.default, (0, _extends2.default)({
1391 - colorScheme: ((_elementor4 = elementor) === null || _elementor4 === void 0 || (_elementor4$getPrefer = _elementor4.getPreferences) === null || _elementor4$getPrefer === void 0 ? void 0 : _elementor4$getPrefer.call(_elementor4, 'ui_theme')) || 'auto',
1392 - isRTL: elementorCommon.config.isRTL,
1393 - anchorTarget: targetEl,
1320 + var colorScheme = ((_elementor3 = elementor) === null || _elementor3 === void 0 || (_elementor3$getPrefer = _elementor3.getPreferences) === null || _elementor3$getPrefer === void 0 ? void 0 : _elementor3$getPrefer.call(_elementor3, 'ui_theme')) || 'auto';
1321 + var isRTL = elementorCommon.config.isRTL;
1322 + var promotionData = this.getAtomicFormPromotionData();
1323 + this.promotionInfoTip = (0, _client.createRoot)(this.atomicFormPromotionWrapper);
1324 + this.promotionInfoTip.render(/*#__PURE__*/_react.default.createElement(_app.default, {
1325 + colorScheme: colorScheme,
1326 + isRTL: isRTL,
1327 + cardType: "atomicForm",
1328 + promotionData: promotionData,
1329 + ctaUrl: ctaUrl,
1394 1330 doClose: function doClose() {
1395 1331 return _this2.unmount();
1396 1332 }
1397 - }, appProps)));
1333 + }));
1398 1334 }
1399 1335 }, {
1400 1336 key: "attachAtomicFormListeners",
1401 1337 value: function attachAtomicFormListeners() {
@@ -1400,52 +1336,34 @@
1400 1336 key: "attachAtomicFormListeners",
1401 1337 value: function attachAtomicFormListeners() {
1402 1338 var _this3 = this;
1403 1339 document.addEventListener('atomic-form-promotion:open', function (event) {
1404 - var promotionData = applyProConnectPromotionOverrides(_this3.getAtomicFormPromotionData());
1405 - _this3.mountCard(event.detail.target, 'e-atomic-form-promotion-wrapper', {
1406 - cardType: 'atomicForm',
1407 - promotionData: promotionData,
1408 - ctaUrl: promotionData.widgetCtaUrl
1409 - });
1340 + var promotionData = _this3.getAtomicFormPromotionData();
1341 + _this3.mountAtomicFormPromotion(event.detail.target, promotionData.widgetCtaUrl);
1410 1342 });
1411 1343 }
1412 1344 }, {
1413 - key: "attachWidgetPromotionListeners",
1414 - value: function attachWidgetPromotionListeners() {
1415 - var _this4 = this;
1416 - document.addEventListener('widget-promotion:open', function (event) {
1417 - _this4.mountCard(event.detail.target, 'e-widget-promotion-wrapper', {
1418 - cardType: 'widgetPromotion',
1419 - promotionData: _this4.resolveWidgetPromotionData(event.detail)
1420 - });
1421 - });
1422 - }
1423 - }, {
1424 1345 key: "unmount",
1425 1346 value: function unmount() {
1426 - var _this$promotionWrappe;
1427 1347 if (this.promotionInfoTip) {
1428 1348 this.detachEditorEventListeners();
1429 1349 this.promotionInfoTip.unmount();
1430 - this.unbindIframeEvents();
1431 1350 }
1432 - (_this$promotionWrappe = this.promotionWrapper) === null || _this$promotionWrappe === void 0 || (_this$promotionWrappe = _this$promotionWrappe.parentNode) === null || _this$promotionWrappe === void 0 || _this$promotionWrappe.removeChild(this.promotionWrapper);
1351 + if (this.atomicFormPromotionWrapper && this.atomicFormPromotionWrapper.parentNode) {
1352 + this.atomicFormPromotionWrapper.parentNode.removeChild(this.atomicFormPromotionWrapper);
1353 + }
1433 1354 this.promotionInfoTip = null;
1434 - this.promotionWrapper = null;
1355 + this.atomicFormPromotionWrapper = null;
1435 1356 }
1436 1357 }, {
1437 1358 key: "attachEditorEventListeners",
1438 1359 value: function attachEditorEventListeners() {
1439 - var _this5 = this;
1440 - this.unbindIframeEvents = (0, _previewIframeListeners.bindPreviewIframeEvents)(function () {
1441 - return _this5.unmount();
1442 - });
1360 + var _this4 = this;
1443 1361 this.onRoute = function (component, route) {
1444 1362 if (route !== 'panel/elements/categories' && route !== 'panel/editor/content') {
1445 1363 return;
1446 1364 }
1447 - _this5.unmount();
1365 + _this4.unmount();
1448 1366 };
1449 1367 $e.routes.on('run:after', this.onRoute);
1450 1368 }
1451 1369 }, {
@@ -1454,17 +1372,8 @@
1454 1372 $e.routes.off('run:after', this.onRoute);
1455 1373 }
1456 1374 }]);
1457 1375 }();
1458 -function applyProConnectPromotionOverrides(promotionData) {
1459 - if (!elementor.helpers.hasProAndNotConnected()) {
1460 - return promotionData;
1461 - }
1462 - return _objectSpread(_objectSpread({}, promotionData), {}, {
1463 - ctaUrl: elementorProEditorConfig.urls.connect,
1464 - ctaText: (0, _i18n.__)('Connect & Activate', 'elementor')
1465 - });
1466 -}
1467 1376
1468 1377 /***/ }),
1469 1378
1470 1379 /***/ "../modules/promotions/assets/js/react/app.js":
@@ -1482,80 +1391,43 @@
1482 1391 value: true
1483 1392 }));
1484 1393 exports["default"] = void 0;
1485 1394 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1486 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1487 -var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1488 1395 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1489 1396 var _atomicFormPromotionCard = _interopRequireDefault(__webpack_require__(/*! ./components/atomic-form-promotion-card */ "../modules/promotions/assets/js/react/components/atomic-form-promotion-card.js"));
1490 1397 var _promotionCard = _interopRequireDefault(__webpack_require__(/*! ./components/promotion-card */ "../modules/promotions/assets/js/react/components/promotion-card.js"));
1491 -var _widgetPromotionCard = _interopRequireDefault(__webpack_require__(/*! ./components/widget-promotion-card */ "../modules/promotions/assets/js/react/components/widget-promotion-card.js"));
1492 -var _excluded = ["colorScheme", "isRTL", "anchorTarget"];
1493 -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; }
1494 -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; }
1495 -var OFFSET_MODIFIER = {
1496 - name: 'offset',
1497 - options: {
1498 - offset: [-24, 8]
1499 - }
1500 -};
1501 -function getPlacement(anchorTarget, isRTL) {
1502 - if (!anchorTarget) {
1503 - return 'right';
1504 - }
1505 - return isRTL ? 'left-start' : 'right-start';
1506 -}
1507 -function getCardContent(props) {
1508 - if ('atomicForm' === props.cardType) {
1509 - return /*#__PURE__*/_react.default.createElement(_atomicFormPromotionCard.default, {
1510 - doClose: props.doClose,
1511 - promotionData: props.promotionData,
1512 - ctaUrl: props.ctaUrl
1513 - });
1514 - }
1515 - if ('widgetPromotion' === props.cardType) {
1516 - return /*#__PURE__*/_react.default.createElement(_widgetPromotionCard.default, {
1517 - doClose: props.doClose,
1518 - promotionData: props.promotionData
1519 - });
1520 - }
1521 - return /*#__PURE__*/_react.default.createElement(_promotionCard.default, {
1398 +var App = function App(props) {
1399 + var cardContent = 'atomicForm' === props.cardType ? /*#__PURE__*/_react.default.createElement(_atomicFormPromotionCard.default, {
1400 + doClose: props.doClose,
1401 + promotionData: props.promotionData,
1402 + ctaUrl: props.ctaUrl
1403 + }) : /*#__PURE__*/_react.default.createElement(_promotionCard.default, {
1522 1404 doClose: props.onClose,
1523 1405 promotionsData: props.promotionsData
1524 1406 });
1525 -}
1526 -var App = function App(_ref) {
1527 - var colorScheme = _ref.colorScheme,
1528 - isRTL = _ref.isRTL,
1529 - anchorTarget = _ref.anchorTarget,
1530 - props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1531 1407 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
1532 - rtl: isRTL
1408 + rtl: props.isRTL
1533 1409 }, /*#__PURE__*/_react.default.createElement(_ui.LocalizationProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
1534 - colorScheme: colorScheme,
1535 - palette: "unstable"
1410 + colorScheme: props.colorScheme
1536 1411 }, /*#__PURE__*/_react.default.createElement(_ui.Infotip, {
1537 - content: getCardContent(props),
1538 - placement: getPlacement(anchorTarget, isRTL),
1412 + content: cardContent,
1413 + placement: "right",
1539 1414 arrow: true,
1540 1415 open: true,
1541 1416 disableHoverListener: true,
1542 - PopperProps: _objectSpread({
1543 - modifiers: [OFFSET_MODIFIER],
1544 - sx: {
1545 - zIndex: function zIndex(theme) {
1546 - return theme.zIndex.appBar - 1;
1417 + PopperProps: {
1418 + modifiers: [{
1419 + name: 'offset',
1420 + options: {
1421 + offset: [-24, 8]
1547 1422 }
1548 - }
1549 - }, anchorTarget && {
1550 - anchorEl: anchorTarget
1551 - })
1423 + }]
1424 + }
1552 1425 }, /*#__PURE__*/_react.default.createElement("span", null)))));
1553 1426 };
1554 1427 App.propTypes = {
1555 1428 colorScheme: PropTypes.oneOf(['auto', 'light', 'dark']),
1556 1429 isRTL: PropTypes.bool,
1557 - anchorTarget: PropTypes.object,
1558 1430 cardType: PropTypes.string,
1559 1431 promotionsData: PropTypes.object,
1560 1432 promotionData: PropTypes.object,
1561 1433 ctaUrl: PropTypes.string,
@@ -1803,115 +1675,8 @@
1803 1675 var _default = exports["default"] = PromotionCard;
1804 1676
1805 1677 /***/ }),
1806 1678
1807 -/***/ "../modules/promotions/assets/js/react/components/widget-promotion-card.js":
1808 -/*!*********************************************************************************!*\
1809 - !*** ../modules/promotions/assets/js/react/components/widget-promotion-card.js ***!
1810 - \*********************************************************************************/
1811 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1812 -
1813 -"use strict";
1814 -
1815 -
1816 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1817 -Object.defineProperty(exports, "__esModule", ({
1818 - value: true
1819 -}));
1820 -exports["default"] = void 0;
1821 -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1822 -var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1823 -var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1824 -var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1825 -var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1826 -var CARD_WIDTH = 296;
1827 -var IMAGE_HEIGHT = 176;
1828 -var DEFAULT_CTA_TEXT = (0, _i18n.__)('Upgrade Now', 'elementor');
1829 -var WidgetPromotionCard = function WidgetPromotionCard(_ref) {
1830 - var doClose = _ref.doClose,
1831 - promotionData = _ref.promotionData;
1832 - var title = promotionData.title,
1833 - content = promotionData.content,
1834 - image = promotionData.image,
1835 - ctaUrl = promotionData.ctaUrl,
1836 - ctaText = promotionData.ctaText,
1837 - hideProTag = promotionData.hideProTag;
1838 - return /*#__PURE__*/_react.default.createElement(_ui.ClickAwayListener, {
1839 - disableReactTree: true,
1840 - mouseEvent: "onMouseDown",
1841 - touchEvent: "onTouchStart",
1842 - onClickAway: doClose
1843 - }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
1844 - sx: {
1845 - width: CARD_WIDTH
1846 - }
1847 - }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1848 - direction: "row",
1849 - alignItems: "center",
1850 - py: 1,
1851 - px: 2
1852 - }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1853 - variant: "subtitle2"
1854 - }, title), hideProTag && /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1855 - label: (0, _i18n.__)('Free', 'elementor'),
1856 - size: "tiny",
1857 - variant: "standard",
1858 - color: "secondary",
1859 - sx: {
1860 - ml: 1
1861 - }
1862 - }), /*#__PURE__*/_react.default.createElement(_ui.CloseButton, {
1863 - edge: "end",
1864 - sx: {
1865 - ml: 'auto'
1866 - },
1867 - slotProps: {
1868 - icon: {
1869 - fontSize: 'small'
1870 - }
1871 - },
1872 - onClick: doClose
1873 - })), image && /*#__PURE__*/_react.default.createElement(_ui.Image, {
1874 - src: image,
1875 - alt: "",
1876 - sx: {
1877 - width: CARD_WIDTH,
1878 - height: IMAGE_HEIGHT
1879 - }
1880 - }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1881 - px: 2
1882 - }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1883 - variant: "body2",
1884 - color: "secondary",
1885 - sx: {
1886 - pt: 1.5,
1887 - pb: 1
1888 - }
1889 - }, content)), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1890 - pt: 1,
1891 - pb: 1.5,
1892 - px: 2
1893 - }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1894 - variant: "contained",
1895 - size: "small",
1896 - color: hideProTag ? 'info' : 'promotion',
1897 - href: ctaUrl,
1898 - target: "_blank",
1899 - rel: "noopener noreferrer",
1900 - startIcon: hideProTag ? null : /*#__PURE__*/_react.default.createElement(_icons.CrownFilledIcon, null),
1901 - sx: {
1902 - ml: 'auto'
1903 - }
1904 - }, ctaText || DEFAULT_CTA_TEXT))));
1905 -};
1906 -WidgetPromotionCard.propTypes = {
1907 - doClose: _propTypes.default.func,
1908 - promotionData: _propTypes.default.object
1909 -};
1910 -var _default = exports["default"] = WidgetPromotionCard;
1911 -
1912 -/***/ }),
1913 -
1914 1679 /***/ "../modules/promotions/assets/js/react/controls/promotion.js":
1915 1680 /*!*******************************************************************!*\
1916 1681 !*** ../modules/promotions/assets/js/react/controls/promotion.js ***!
1917 1682 \*******************************************************************/
@@ -2114,27 +1879,8 @@
2114 1879 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
2115 1880
2116 1881 /***/ }),
2117 1882
2118 -/***/ "../node_modules/@babel/runtime/helpers/extends.js":
2119 -/*!*********************************************************!*\
2120 - !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
2121 - \*********************************************************/
2122 -/***/ ((module) => {
2123 -
2124 -function _extends() {
2125 - return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {
2126 - for (var e = 1; e < arguments.length; e++) {
2127 - var t = arguments[e];
2128 - for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
2129 - }
2130 - return n;
2131 - }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments);
2132 -}
2133 -module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
2134 -
2135 -/***/ }),
2136 -
2137 1883 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
2138 1884 /*!****************************************************************!*\
2139 1885 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
2140 1886 \****************************************************************/
@@ -2233,49 +1979,8 @@
2233 1979 function _nonIterableRest() {
2234 1980 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2235 1981 }
2236 1982 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
2237 -
2238 -/***/ }),
2239 -
2240 -/***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
2241 -/*!*************************************************************************!*\
2242 - !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
2243 - \*************************************************************************/
2244 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2245 -
2246 -var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
2247 -function _objectWithoutProperties(e, t) {
2248 - if (null == e) return {};
2249 - var o,
2250 - r,
2251 - i = objectWithoutPropertiesLoose(e, t);
2252 - if (Object.getOwnPropertySymbols) {
2253 - var n = Object.getOwnPropertySymbols(e);
2254 - for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
2255 - }
2256 - return i;
2257 -}
2258 -module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
2259 -
2260 -/***/ }),
2261 -
2262 -/***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
2263 -/*!******************************************************************************!*\
2264 - !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
2265 - \******************************************************************************/
2266 -/***/ ((module) => {
2267 -
2268 -function _objectWithoutPropertiesLoose(r, e) {
2269 - if (null == r) return {};
2270 - var t = {};
2271 - for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
2272 - if (-1 !== e.indexOf(n)) continue;
2273 - t[n] = r[n];
2274 - }
2275 - return t;
2276 -}
2277 -module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
2278 1983
2279 1984 /***/ }),
2280 1985
2281 1986 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":