PluginProbe
Elementor Website Builder – more than just a page builder / 3.33.0-beta1
Elementor Website Builder – more than just a page builder v3.33.0-beta1
4.3.4 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 All 457 releases
← All changes | assets/js/atomic-widgets-editor.js +478 -1259 4.0.9 → 3.33.0-beta1 View file →
@@ -302,413 +302,23 @@
302 302 value: true
303 303 }));
304 304 exports["default"] = EmptyComponent;
305 305 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
306 -var _editorOneEvents = __webpack_require__(/*! elementor-editor-utils/editor-one-events */ "../assets/dev/js/editor/utils/editor-one-events.js");
307 306 /* eslint-disable jsx-a11y/no-static-element-interactions */
308 307 /* eslint-disable jsx-a11y/click-events-have-key-events */
309 -
310 308 function EmptyComponent() {
311 - var handleClick = function handleClick() {
312 - _editorOneEvents.EditorOneEventManager.sendCanvasEmptyBoxAction({
313 - targetName: 'add_container'
314 - });
315 - $e.route('panel/elements/categories');
316 - };
317 309 return /*#__PURE__*/_react.default.createElement("div", {
318 310 className: "elementor-first-add"
319 311 }, /*#__PURE__*/_react.default.createElement("div", {
320 312 className: "elementor-icon eicon-plus",
321 - onClick: handleClick
313 + onClick: function onClick() {
314 + return $e.route('panel/elements/categories');
315 + }
322 316 }));
323 317 }
324 318
325 319 /***/ }),
326 320
327 -/***/ "../assets/dev/js/editor/utils/editor-one-events.js":
328 -/*!**********************************************************!*\
329 - !*** ../assets/dev/js/editor/utils/editor-one-events.js ***!
330 - \**********************************************************/
331 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
332 -
333 -"use strict";
334 -
335 -
336 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
337 -Object.defineProperty(exports, "__esModule", ({
338 - value: true
339 -}));
340 -exports["default"] = exports.createDebouncedWidgetPanelSearch = exports.createDebouncedFinderSearch = exports.EditorOneEventManager = void 0;
341 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
342 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
343 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
344 -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; }
345 -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; }
346 -var EditorOneEventManager = exports.EditorOneEventManager = /*#__PURE__*/function () {
347 - function EditorOneEventManager() {
348 - (0, _classCallCheck2.default)(this, EditorOneEventManager);
349 - }
350 - return (0, _createClass2.default)(EditorOneEventManager, null, [{
351 - key: "getEventsManager",
352 - value: function getEventsManager() {
353 - var _elementorCommon;
354 - return (_elementorCommon = elementorCommon) === null || _elementorCommon === void 0 ? void 0 : _elementorCommon.eventsManager;
355 - }
356 - }, {
357 - key: "getConfig",
358 - value: function getConfig() {
359 - var _this$getEventsManage;
360 - return (_this$getEventsManage = this.getEventsManager()) === null || _this$getEventsManage === void 0 ? void 0 : _this$getEventsManage.config;
361 - }
362 - }, {
363 - key: "canSendEvents",
364 - value: function canSendEvents() {
365 - var _elementorCommon2;
366 - return ((_elementorCommon2 = elementorCommon) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.config) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.editor_events) === null || _elementorCommon2 === void 0 ? void 0 : _elementorCommon2.can_send_events) || false;
367 - }
368 - }, {
369 - key: "isEventsManagerAvailable",
370 - value: function isEventsManagerAvailable() {
371 - var eventsManager = this.getEventsManager();
372 - return eventsManager && 'function' === typeof eventsManager.dispatchEvent;
373 - }
374 - }, {
375 - key: "dispatchEvent",
376 - value: function dispatchEvent(eventName, payload) {
377 - if (!this.isEventsManagerAvailable() || !this.canSendEvents()) {
378 - return false;
379 - }
380 - try {
381 - return this.getEventsManager().dispatchEvent(eventName, payload);
382 - } catch (error) {
383 - return false;
384 - }
385 - }
386 - }, {
387 - key: "toLowerSnake",
388 - value: function toLowerSnake(value) {
389 - if (!value || 'string' !== typeof value) {
390 - return value;
391 - }
392 - return value.replace(/\s+/g, '_').toLowerCase();
393 - }
394 - }, {
395 - key: "decodeHtmlEntities",
396 - value: function decodeHtmlEntities(text) {
397 - if (!text || 'string' !== typeof text) {
398 - return text;
399 - }
400 - var doc = new DOMParser().parseFromString(text, 'text/html');
401 - return doc.body.textContent || text;
402 - }
403 - }, {
404 - key: "isInEditorContext",
405 - value: function isInEditorContext() {
406 - var _window$elementor;
407 - return 'undefined' !== typeof window.elementor && !!((_window$elementor = window.elementor) !== null && _window$elementor !== void 0 && _window$elementor.documents);
408 - }
409 - }, {
410 - key: "getFinderContext",
411 - value: function getFinderContext() {
412 - var _config$appTypes, _config$appTypes2, _config$locations, _config$locations2;
413 - var config = this.getConfig();
414 - var isEditor = this.isInEditorContext();
415 - return {
416 - windowName: isEditor ? config === null || config === void 0 || (_config$appTypes = config.appTypes) === null || _config$appTypes === void 0 ? void 0 : _config$appTypes.editor : config === null || config === void 0 || (_config$appTypes2 = config.appTypes) === null || _config$appTypes2 === void 0 ? void 0 : _config$appTypes2.wpAdmin,
417 - targetLocation: this.toLowerSnake(isEditor ? config === null || config === void 0 || (_config$locations = config.locations) === null || _config$locations === void 0 ? void 0 : _config$locations.topBar : config === null || config === void 0 || (_config$locations2 = config.locations) === null || _config$locations2 === void 0 ? void 0 : _config$locations2.sidebar)
418 - };
419 - }
420 - }, {
421 - key: "createBasePayload",
422 - value: function createBasePayload() {
423 - var _config$appTypes$edit, _config$appTypes3, _config$appTypes$edit2, _config$appTypes4;
424 - var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
425 - var config = this.getConfig();
426 - return _objectSpread({
427 - app_type: (_config$appTypes$edit = config === null || config === void 0 || (_config$appTypes3 = config.appTypes) === null || _config$appTypes3 === void 0 ? void 0 : _config$appTypes3.editor) !== null && _config$appTypes$edit !== void 0 ? _config$appTypes$edit : 'editor',
428 - window_name: (_config$appTypes$edit2 = config === null || config === void 0 || (_config$appTypes4 = config.appTypes) === null || _config$appTypes4 === void 0 ? void 0 : _config$appTypes4.editor) !== null && _config$appTypes$edit2 !== void 0 ? _config$appTypes$edit2 : 'editor'
429 - }, overrides);
430 - }
431 - }, {
432 - key: "sendTopBarPublishDropdown",
433 - value: function sendTopBarPublishDropdown(targetName) {
434 - var _config$names, _config$triggers, _config$targetTypes, _config$interactionRe, _config$locations3, _config$secondaryLoca, _config$targetTypes2;
435 - var config = this.getConfig();
436 - return this.dispatchEvent(config === null || config === void 0 || (_config$names = config.names) === null || _config$names === void 0 || (_config$names = _config$names.editorOne) === null || _config$names === void 0 ? void 0 : _config$names.topBarPublishDropdown, this.createBasePayload({
437 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers = config.triggers) === null || _config$triggers === void 0 ? void 0 : _config$triggers.click),
438 - target_type: config === null || config === void 0 || (_config$targetTypes = config.targetTypes) === null || _config$targetTypes === void 0 ? void 0 : _config$targetTypes.dropdownItem,
439 - target_name: targetName,
440 - interaction_result: config === null || config === void 0 || (_config$interactionRe = config.interactionResults) === null || _config$interactionRe === void 0 ? void 0 : _config$interactionRe.actionSelected,
441 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations3 = config.locations) === null || _config$locations3 === void 0 ? void 0 : _config$locations3.topBar),
442 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca = config.secondaryLocations) === null || _config$secondaryLoca === void 0 ? void 0 : _config$secondaryLoca.publishDropdown),
443 - location_l2: config === null || config === void 0 || (_config$targetTypes2 = config.targetTypes) === null || _config$targetTypes2 === void 0 ? void 0 : _config$targetTypes2.dropdownItem,
444 - interaction_description: 'User selected an action from the publish dropdown'
445 - }));
446 - }
447 - }, {
448 - key: "sendTopBarPageList",
449 - value: function sendTopBarPageList(targetName) {
450 - var _config$names2, _config$triggers2, _config$targetTypes3, _config$interactionRe2, _config$interactionRe3, _config$locations4, _config$secondaryLoca2, _config$targetTypes4;
451 - var isCreate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
452 - var config = this.getConfig();
453 - return this.dispatchEvent(config === null || config === void 0 || (_config$names2 = config.names) === null || _config$names2 === void 0 || (_config$names2 = _config$names2.editorOne) === null || _config$names2 === void 0 ? void 0 : _config$names2.topBarPageList, this.createBasePayload({
454 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers2 = config.triggers) === null || _config$triggers2 === void 0 ? void 0 : _config$triggers2.click),
455 - target_type: config === null || config === void 0 || (_config$targetTypes3 = config.targetTypes) === null || _config$targetTypes3 === void 0 ? void 0 : _config$targetTypes3.dropdownItem,
456 - target_name: targetName,
457 - interaction_result: isCreate ? config === null || config === void 0 || (_config$interactionRe2 = config.interactionResults) === null || _config$interactionRe2 === void 0 ? void 0 : _config$interactionRe2.create : config === null || config === void 0 || (_config$interactionRe3 = config.interactionResults) === null || _config$interactionRe3 === void 0 ? void 0 : _config$interactionRe3.navigate,
458 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations4 = config.locations) === null || _config$locations4 === void 0 ? void 0 : _config$locations4.topBar),
459 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca2 = config.secondaryLocations) === null || _config$secondaryLoca2 === void 0 ? void 0 : _config$secondaryLoca2.pageListDropdown),
460 - location_l2: config === null || config === void 0 || (_config$targetTypes4 = config.targetTypes) === null || _config$targetTypes4 === void 0 ? void 0 : _config$targetTypes4.dropdownItem,
461 - interaction_description: 'User selected an action from the page list dropdown'
462 - }));
463 - }
464 - }, {
465 - key: "sendSiteSettingsSession",
466 - value: function sendSiteSettingsSession(_ref) {
467 - var _config$names3, _config$triggers3, _config$interactionRe4, _config$locations5, _config$secondaryLoca3;
468 - var targetType = _ref.targetType,
469 - _ref$visitedItems = _ref.visitedItems,
470 - visitedItems = _ref$visitedItems === void 0 ? [] : _ref$visitedItems,
471 - _ref$savedItems = _ref.savedItems,
472 - savedItems = _ref$savedItems === void 0 ? [] : _ref$savedItems,
473 - state = _ref.state;
474 - var config = this.getConfig();
475 - return this.dispatchEvent(config === null || config === void 0 || (_config$names3 = config.names) === null || _config$names3 === void 0 || (_config$names3 = _config$names3.editorOne) === null || _config$names3 === void 0 ? void 0 : _config$names3.siteSettingsSession, this.createBasePayload({
476 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers3 = config.triggers) === null || _config$triggers3 === void 0 ? void 0 : _config$triggers3.click),
477 - target_type: targetType,
478 - target_name: 'site_settings',
479 - interaction_result: config === null || config === void 0 || (_config$interactionRe4 = config.interactionResults) === null || _config$interactionRe4 === void 0 ? void 0 : _config$interactionRe4.sessionEnd,
480 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations5 = config.locations) === null || _config$locations5 === void 0 ? void 0 : _config$locations5.leftPanel),
481 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca3 = config.secondaryLocations) === null || _config$secondaryLoca3 === void 0 ? void 0 : _config$secondaryLoca3.siteSettings),
482 - interaction_description: 'Records areas visited as part of the site setting session',
483 - metadata: {
484 - visited_items: visitedItems,
485 - saved_items: savedItems
486 - },
487 - state: state
488 - }));
489 - }
490 - }, {
491 - key: "sendELibraryNav",
492 - value: function sendELibraryNav(tabName) {
493 - var _config$names4, _config$triggers4, _config$targetTypes5, _config$interactionRe5, _config$locations6, _config$secondaryLoca4;
494 - var config = this.getConfig();
495 - return this.dispatchEvent(config === null || config === void 0 || (_config$names4 = config.names) === null || _config$names4 === void 0 || (_config$names4 = _config$names4.editorOne) === null || _config$names4 === void 0 ? void 0 : _config$names4.eLibraryNav, this.createBasePayload({
496 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers4 = config.triggers) === null || _config$triggers4 === void 0 ? void 0 : _config$triggers4.tabSelect),
497 - target_type: config === null || config === void 0 || (_config$targetTypes5 = config.targetTypes) === null || _config$targetTypes5 === void 0 ? void 0 : _config$targetTypes5.tab,
498 - target_name: this.toLowerSnake(tabName),
499 - interaction_result: config === null || config === void 0 || (_config$interactionRe5 = config.interactionResults) === null || _config$interactionRe5 === void 0 ? void 0 : _config$interactionRe5.tabChanged,
500 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations6 = config.locations) === null || _config$locations6 === void 0 ? void 0 : _config$locations6.elementorLibrary),
501 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca4 = config.secondaryLocations) === null || _config$secondaryLoca4 === void 0 ? void 0 : _config$secondaryLoca4.libraryTabs),
502 - interaction_description: 'User navigates within elementor library'
503 - }));
504 - }
505 - }, {
506 - key: "sendELibraryInsert",
507 - value: function sendELibraryInsert(_ref2) {
508 - var _config$triggers5, _config$targetTypes6, _config$interactionRe6, _config$locations7, _config$secondaryLoca5, _config$names5;
509 - var assetId = _ref2.assetId,
510 - assetName = _ref2.assetName,
511 - libraryType = _ref2.libraryType,
512 - _ref2$proRequired = _ref2.proRequired,
513 - proRequired = _ref2$proRequired === void 0 ? false : _ref2$proRequired;
514 - var config = this.getConfig();
515 - var payload = this.createBasePayload({
516 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers5 = config.triggers) === null || _config$triggers5 === void 0 ? void 0 : _config$triggers5.insert),
517 - target_type: config === null || config === void 0 || (_config$targetTypes6 = config.targetTypes) === null || _config$targetTypes6 === void 0 ? void 0 : _config$targetTypes6.button,
518 - target_name: String(assetId),
519 - interaction_result: config === null || config === void 0 || (_config$interactionRe6 = config.interactionResults) === null || _config$interactionRe6 === void 0 ? void 0 : _config$interactionRe6.assetInserted,
520 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations7 = config.locations) === null || _config$locations7 === void 0 ? void 0 : _config$locations7.elementorLibrary),
521 - location_l1: this.toLowerSnake(libraryType),
522 - location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca5 = config.secondaryLocations) === null || _config$secondaryLoca5 === void 0 ? void 0 : _config$secondaryLoca5.assetCard),
523 - interaction_description: 'User inserts block/pages from elementor library',
524 - metadata: {
525 - template_id: String(assetId),
526 - template_name: this.decodeHtmlEntities(assetName) || ''
527 - }
528 - });
529 - if (proRequired) {
530 - payload.state = 'pro_plan_required';
531 - }
532 - return this.dispatchEvent(config === null || config === void 0 || (_config$names5 = config.names) === null || _config$names5 === void 0 || (_config$names5 = _config$names5.editorOne) === null || _config$names5 === void 0 ? void 0 : _config$names5.eLibraryInsert, payload);
533 - }
534 - }, {
535 - key: "sendELibraryFavorite",
536 - value: function sendELibraryFavorite(_ref3) {
537 - var _config$triggers6, _config$targetTypes7, _config$interactionRe7, _config$locations8, _config$secondaryLoca6, _config$names6;
538 - var assetId = _ref3.assetId,
539 - assetName = _ref3.assetName,
540 - libraryType = _ref3.libraryType,
541 - isFavorite = _ref3.isFavorite,
542 - _ref3$proRequired = _ref3.proRequired,
543 - proRequired = _ref3$proRequired === void 0 ? false : _ref3$proRequired;
544 - var config = this.getConfig();
545 - var payload = this.createBasePayload({
546 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers6 = config.triggers) === null || _config$triggers6 === void 0 ? void 0 : _config$triggers6.click),
547 - target_type: config === null || config === void 0 || (_config$targetTypes7 = config.targetTypes) === null || _config$targetTypes7 === void 0 ? void 0 : _config$targetTypes7.toggle,
548 - target_name: String(assetId),
549 - interaction_result: config === null || config === void 0 || (_config$interactionRe7 = config.interactionResults) === null || _config$interactionRe7 === void 0 ? void 0 : _config$interactionRe7.assetFavorite,
550 - target_value: Boolean(isFavorite),
551 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations8 = config.locations) === null || _config$locations8 === void 0 ? void 0 : _config$locations8.elementorLibrary),
552 - location_l1: this.toLowerSnake(libraryType),
553 - location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca6 = config.secondaryLocations) === null || _config$secondaryLoca6 === void 0 ? void 0 : _config$secondaryLoca6.assetCard),
554 - interaction_description: 'User favorite block/pages from elementor library',
555 - metadata: {
556 - template_id: String(assetId),
557 - template_name: this.decodeHtmlEntities(assetName) || ''
558 - }
559 - });
560 - if (proRequired) {
561 - payload.state = 'pro_plan_required';
562 - }
563 - return this.dispatchEvent(config === null || config === void 0 || (_config$names6 = config.names) === null || _config$names6 === void 0 || (_config$names6 = _config$names6.editorOne) === null || _config$names6 === void 0 ? void 0 : _config$names6.eLibraryFavorite, payload);
564 - }
565 - }, {
566 - key: "sendELibraryGenerateAi",
567 - value: function sendELibraryGenerateAi(_ref4) {
568 - var _config$names7, _config$triggers7, _config$targetTypes8, _config$interactionRe8, _config$locations9, _config$secondaryLoca7;
569 - var assetId = _ref4.assetId,
570 - assetName = _ref4.assetName,
571 - libraryType = _ref4.libraryType;
572 - var config = this.getConfig();
573 - return this.dispatchEvent(config === null || config === void 0 || (_config$names7 = config.names) === null || _config$names7 === void 0 || (_config$names7 = _config$names7.editorOne) === null || _config$names7 === void 0 ? void 0 : _config$names7.eLibraryGenerateAi, this.createBasePayload({
574 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers7 = config.triggers) === null || _config$triggers7 === void 0 ? void 0 : _config$triggers7.click),
575 - target_type: config === null || config === void 0 || (_config$targetTypes8 = config.targetTypes) === null || _config$targetTypes8 === void 0 ? void 0 : _config$targetTypes8.button,
576 - target_name: String(assetId),
577 - interaction_result: config === null || config === void 0 || (_config$interactionRe8 = config.interactionResults) === null || _config$interactionRe8 === void 0 ? void 0 : _config$interactionRe8.aiGenerate,
578 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations9 = config.locations) === null || _config$locations9 === void 0 ? void 0 : _config$locations9.elementorLibrary),
579 - location_l1: this.toLowerSnake(libraryType),
580 - location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca7 = config.secondaryLocations) === null || _config$secondaryLoca7 === void 0 ? void 0 : _config$secondaryLoca7.assetCard),
581 - interaction_description: 'User generated block/page based on a library asset',
582 - metadata: {
583 - template_id: String(assetId),
584 - template_name: this.decodeHtmlEntities(assetName) || ''
585 - }
586 - }));
587 - }
588 - }, {
589 - key: "sendFinderSearchInput",
590 - value: function sendFinderSearchInput(_ref5) {
591 - var _config$triggers8, _config$targetTypes9, _config$interactionRe9, _config$interactionRe0, _config$secondaryLoca8, _config$names8;
592 - var resultsCount = _ref5.resultsCount,
593 - _ref5$searchTerm = _ref5.searchTerm,
594 - searchTerm = _ref5$searchTerm === void 0 ? null : _ref5$searchTerm;
595 - var config = this.getConfig();
596 - var hasResults = resultsCount > 0;
597 - var finderContext = this.getFinderContext();
598 - var payload = this.createBasePayload({
599 - window_name: finderContext.windowName,
600 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers8 = config.triggers) === null || _config$triggers8 === void 0 ? void 0 : _config$triggers8.typing),
601 - target_type: config === null || config === void 0 || (_config$targetTypes9 = config.targetTypes) === null || _config$targetTypes9 === void 0 ? void 0 : _config$targetTypes9.searchInput,
602 - target_name: 'finder',
603 - interaction_result: hasResults ? config === null || config === void 0 || (_config$interactionRe9 = config.interactionResults) === null || _config$interactionRe9 === void 0 ? void 0 : _config$interactionRe9.resultsUpdated : config === null || config === void 0 || (_config$interactionRe0 = config.interactionResults) === null || _config$interactionRe0 === void 0 ? void 0 : _config$interactionRe0.noResults,
604 - target_location: finderContext.targetLocation,
605 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca8 = config.secondaryLocations) === null || _config$secondaryLoca8 === void 0 ? void 0 : _config$secondaryLoca8.finder),
606 - interaction_description: 'Finder search input, follows debounce behavior',
607 - metadata: {
608 - results_count: resultsCount
609 - }
610 - });
611 - if (!hasResults && searchTerm) {
612 - payload.metadata.search_term = searchTerm;
613 - }
614 - return this.dispatchEvent(config === null || config === void 0 || (_config$names8 = config.names) === null || _config$names8 === void 0 || (_config$names8 = _config$names8.editorOne) === null || _config$names8 === void 0 ? void 0 : _config$names8.finderSearchInput, payload);
615 - }
616 - }, {
617 - key: "sendFinderResultSelect",
618 - value: function sendFinderResultSelect(choice) {
619 - var _config$names9, _config$triggers9, _config$targetTypes0, _config$interactionRe1, _config$secondaryLoca9, _config$secondaryLoca0;
620 - var config = this.getConfig();
621 - var finderContext = this.getFinderContext();
622 - return this.dispatchEvent(config === null || config === void 0 || (_config$names9 = config.names) === null || _config$names9 === void 0 || (_config$names9 = _config$names9.editorOne) === null || _config$names9 === void 0 ? void 0 : _config$names9.finderResultSelect, this.createBasePayload({
623 - window_name: finderContext.windowName,
624 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers9 = config.triggers) === null || _config$triggers9 === void 0 ? void 0 : _config$triggers9.click),
625 - target_type: config === null || config === void 0 || (_config$targetTypes0 = config.targetTypes) === null || _config$targetTypes0 === void 0 ? void 0 : _config$targetTypes0.searchResult,
626 - target_name: choice,
627 - interaction_result: config === null || config === void 0 || (_config$interactionRe1 = config.interactionResults) === null || _config$interactionRe1 === void 0 ? void 0 : _config$interactionRe1.selected,
628 - target_location: finderContext.targetLocation,
629 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca9 = config.secondaryLocations) === null || _config$secondaryLoca9 === void 0 ? void 0 : _config$secondaryLoca9.finder),
630 - location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca0 = config.secondaryLocations) === null || _config$secondaryLoca0 === void 0 ? void 0 : _config$secondaryLoca0.finderResults),
631 - interaction_description: 'Finder search results was selected'
632 - }));
633 - }
634 - }, {
635 - key: "sendCanvasEmptyBoxAction",
636 - value: function sendCanvasEmptyBoxAction(_ref6) {
637 - var _config$triggers0, _config$targetTypes1, _config$interactionRe10, _config$locations0, _config$secondaryLoca1, _config$names0;
638 - var targetName = _ref6.targetName,
639 - _ref6$metadata = _ref6.metadata,
640 - metadata = _ref6$metadata === void 0 ? {} : _ref6$metadata,
641 - _ref6$containerCreate = _ref6.containerCreated,
642 - containerCreated = _ref6$containerCreate === void 0 ? null : _ref6$containerCreate;
643 - var config = this.getConfig();
644 - var payload = this.createBasePayload({
645 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers0 = config.triggers) === null || _config$triggers0 === void 0 ? void 0 : _config$triggers0.click),
646 - target_type: config === null || config === void 0 || (_config$targetTypes1 = config.targetTypes) === null || _config$targetTypes1 === void 0 ? void 0 : _config$targetTypes1.buttons,
647 - target_name: targetName,
648 - interaction_result: config === null || config === void 0 || (_config$interactionRe10 = config.interactionResults) === null || _config$interactionRe10 === void 0 ? void 0 : _config$interactionRe10.selected,
649 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations0 = config.locations) === null || _config$locations0 === void 0 ? void 0 : _config$locations0.canvas),
650 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca1 = config.secondaryLocations) === null || _config$secondaryLoca1 === void 0 ? void 0 : _config$secondaryLoca1.emptyBox),
651 - interaction_description: 'Empty box on canvas actions'
652 - });
653 - if (Object.keys(metadata).length > 0) {
654 - payload.metadata = metadata;
655 - }
656 - if (containerCreated !== null) {
657 - payload.state = containerCreated;
658 - }
659 - return this.dispatchEvent(config === null || config === void 0 || (_config$names0 = config.names) === null || _config$names0 === void 0 || (_config$names0 = _config$names0.editorOne) === null || _config$names0 === void 0 ? void 0 : _config$names0.canvasEmptyBoxAction, payload);
660 - }
661 - }, {
662 - key: "sendWidgetPanelSearch",
663 - value: function sendWidgetPanelSearch(_ref7) {
664 - var _config$triggers1, _config$targetTypes10, _config$interactionRe11, _config$interactionRe12, _config$locations1, _config$locations10, _config$secondaryLoca10, _config$names1;
665 - var resultsCount = _ref7.resultsCount,
666 - _ref7$userInput = _ref7.userInput,
667 - userInput = _ref7$userInput === void 0 ? null : _ref7$userInput;
668 - var config = this.getConfig();
669 - var hasResults = resultsCount > 0;
670 - var payload = this.createBasePayload({
671 - interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers1 = config.triggers) === null || _config$triggers1 === void 0 ? void 0 : _config$triggers1.typing),
672 - target_type: config === null || config === void 0 || (_config$targetTypes10 = config.targetTypes) === null || _config$targetTypes10 === void 0 ? void 0 : _config$targetTypes10.searchWidget,
673 - target_name: 'search_widget',
674 - interaction_result: hasResults ? config === null || config === void 0 || (_config$interactionRe11 = config.interactionResults) === null || _config$interactionRe11 === void 0 ? void 0 : _config$interactionRe11.resultsUpdated : config === null || config === void 0 || (_config$interactionRe12 = config.interactionResults) === null || _config$interactionRe12 === void 0 ? void 0 : _config$interactionRe12.noResults,
675 - target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations1 = config.locations) === null || _config$locations1 === void 0 ? void 0 : _config$locations1.leftPanel),
676 - location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$locations10 = config.locations) === null || _config$locations10 === void 0 ? void 0 : _config$locations10.widgetPanel),
677 - location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca10 = config.secondaryLocations) === null || _config$secondaryLoca10 === void 0 ? void 0 : _config$secondaryLoca10.searchBar),
678 - interaction_description: 'Widget search input, follows debounce behavior'
679 - });
680 - if (!hasResults && userInput) {
681 - payload.metadata = {
682 - user_input: userInput
683 - };
684 - }
685 - return this.dispatchEvent(config === null || config === void 0 || (_config$names1 = config.names) === null || _config$names1 === void 0 || (_config$names1 = _config$names1.editorOne) === null || _config$names1 === void 0 ? void 0 : _config$names1.widgetPanelSearch, payload);
686 - }
687 - }]);
688 -}();
689 -var createDebouncedFinderSearch = exports.createDebouncedFinderSearch = function createDebouncedFinderSearch() {
690 - var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;
691 - return _.debounce(function (resultsCount, searchTerm) {
692 - EditorOneEventManager.sendFinderSearchInput({
693 - resultsCount: resultsCount,
694 - searchTerm: searchTerm
695 - });
696 - }, delay);
697 -};
698 -var createDebouncedWidgetPanelSearch = exports.createDebouncedWidgetPanelSearch = function createDebouncedWidgetPanelSearch() {
699 - var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2000;
700 - return _.debounce(function (resultsCount, userInput) {
701 - EditorOneEventManager.sendWidgetPanelSearch({
702 - resultsCount: resultsCount,
703 - userInput: userInput
704 - });
705 - }, delay);
706 -};
707 -var _default = exports["default"] = EditorOneEventManager;
708 -
709 -/***/ }),
710 -
711 321 /***/ "../assets/dev/js/editor/utils/element-types.js":
712 322 /*!******************************************************!*\
713 323 !*** ../assets/dev/js/editor/utils/element-types.js ***!
714 324 \******************************************************/
@@ -839,9 +449,9 @@
839 449 }, {
840 450 key: "getDefaultChildren",
841 451 value: function getDefaultChildren() {
842 452 var defaultChildren = this.config.default_children;
843 - return this.modifyDefaultChildren(defaultChildren);
453 + return defaultChildren;
844 454 }
845 455 }, {
846 456 key: "onElementCreate",
847 457 value: function onElementCreate() {
@@ -850,17 +460,11 @@
850 460 return _this.buildElement(element);
851 461 }));
852 462 }
853 463 }, {
854 - key: "modifyDefaultChildren",
855 - value: function modifyDefaultChildren(element) {
856 - return element;
857 - }
858 - }, {
859 464 key: "buildElement",
860 465 value: function buildElement(element) {
861 - var _this2 = this,
862 - _element$settings;
466 + var _this2 = this;
863 467 var id = elementorCommon.helpers.getUniqueId();
864 468 var elements = (element.elements || []).map(function (el) {
865 469 return _this2.buildElement(el);
866 470 });
@@ -867,9 +471,9 @@
867 471 return {
868 472 elType: element.elType,
869 473 widgetType: element.widgetType,
870 474 id: id,
871 - settings: (_element$settings = element.settings) !== null && _element$settings !== void 0 ? _element$settings : {},
475 + settings: element.settings || {},
872 476 elements: elements,
873 477 isLocked: element.isLocked || false,
874 478 editor_settings: element.editor_settings || {}
875 479 };
@@ -938,8 +542,355 @@
938 542 }(elementor.modules.elements.types.Base);
939 543
940 544 /***/ }),
941 545
546 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-type.js":
547 +/*!************************************************************************************************************************!*\
548 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-type.js ***!
549 + \************************************************************************************************************************/
550 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
551 +
552 +"use strict";
553 +
554 +
555 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
556 +Object.defineProperty(exports, "__esModule", ({
557 + value: true
558 +}));
559 +exports["default"] = void 0;
560 +var _createAtomicTabPanelView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tab-panel-view */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-view.js"));
561 +var createAtomicTabPanelType = function createAtomicTabPanelType() {
562 + return new elementor.modules.elements.types.AtomicElementBase('e-tab-panel', (0, _createAtomicTabPanelView.default)());
563 +};
564 +var _default = exports["default"] = createAtomicTabPanelType;
565 +
566 +/***/ }),
567 +
568 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-view.js":
569 +/*!************************************************************************************************************************!*\
570 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-view.js ***!
571 + \************************************************************************************************************************/
572 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
573 +
574 +"use strict";
575 +
576 +
577 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
578 +Object.defineProperty(exports, "__esModule", ({
579 + value: true
580 +}));
581 +exports["default"] = void 0;
582 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
583 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
584 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
585 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
586 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
587 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
588 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
589 +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; }
590 +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; }
591 +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)); }
592 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
593 +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; }
594 +var createAtomicTabPanelView = function createAtomicTabPanelView() {
595 + var AtomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tab-panel');
596 + return /*#__PURE__*/function (_AtomicElementBaseVie) {
597 + function AtomicTabPanelView() {
598 + (0, _classCallCheck2.default)(this, AtomicTabPanelView);
599 + return _callSuper(this, AtomicTabPanelView, arguments);
600 + }
601 + (0, _inherits2.default)(AtomicTabPanelView, _AtomicElementBaseVie);
602 + return (0, _createClass2.default)(AtomicTabPanelView, [{
603 + key: "attributes",
604 + value: function attributes() {
605 + var tabId = this.model.getSetting('tab-id');
606 + return tabId !== null && tabId !== void 0 && tabId.value ? _objectSpread({
607 + 'data-tab-id': tabId.value,
608 + 'aria-labelledby': tabId.value
609 + }, _superPropGet(AtomicTabPanelView, "attributes", this, 3)([])) : _superPropGet(AtomicTabPanelView, "attributes", this, 3)([]);
610 + }
611 + }]);
612 + }(AtomicElementBaseView);
613 +};
614 +var _default = exports["default"] = createAtomicTabPanelView;
615 +
616 +/***/ }),
617 +
618 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-type.js":
619 +/*!************************************************************************************************************!*\
620 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-type.js ***!
621 + \************************************************************************************************************/
622 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
623 +
624 +"use strict";
625 +
626 +
627 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
628 +Object.defineProperty(exports, "__esModule", ({
629 + value: true
630 +}));
631 +exports["default"] = void 0;
632 +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"));
633 +var createAtomicTabType = function createAtomicTabType() {
634 + return new elementor.modules.elements.types.AtomicElementBase('e-tab', (0, _createAtomicTabView.default)());
635 +};
636 +var _default = exports["default"] = createAtomicTabType;
637 +
638 +/***/ }),
639 +
640 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-view.js":
641 +/*!************************************************************************************************************!*\
642 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab/create-atomic-tab-view.js ***!
643 + \************************************************************************************************************/
644 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
645 +
646 +"use strict";
647 +
648 +
649 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
650 +Object.defineProperty(exports, "__esModule", ({
651 + value: true
652 +}));
653 +exports["default"] = void 0;
654 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
655 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
656 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
657 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
658 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
659 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
660 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
661 +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; }
662 +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; }
663 +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)); }
664 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
665 +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; }
666 +var createAtomicTabView = function createAtomicTabView() {
667 + var atomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tab');
668 + return /*#__PURE__*/function (_atomicElementBaseVie) {
669 + function AtomicTabView() {
670 + (0, _classCallCheck2.default)(this, AtomicTabView);
671 + return _callSuper(this, AtomicTabView, arguments);
672 + }
673 + (0, _inherits2.default)(AtomicTabView, _atomicElementBaseVie);
674 + return (0, _createClass2.default)(AtomicTabView, [{
675 + key: "attributes",
676 + value: function attributes() {
677 + var tabPanelId = this.model.getSetting('tab-panel-id');
678 + return tabPanelId !== null && tabPanelId !== void 0 && tabPanelId.value ? _objectSpread({
679 + 'aria-controls': tabPanelId.value
680 + }, _superPropGet(AtomicTabView, "attributes", this, 3)([])) : _superPropGet(AtomicTabView, "attributes", this, 3)([]);
681 + }
682 + }]);
683 + }(atomicElementBaseView);
684 +};
685 +var _default = exports["default"] = createAtomicTabView;
686 +
687 +/***/ }),
688 +
689 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-model.js":
690 +/*!***************************************************************************************************************!*\
691 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-model.js ***!
692 + \***************************************************************************************************************/
693 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
694 +
695 +"use strict";
696 +
697 +
698 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
699 +Object.defineProperty(exports, "__esModule", ({
700 + value: true
701 +}));
702 +exports["default"] = void 0;
703 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
704 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
705 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
706 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
707 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
708 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
709 +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)); }
710 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
711 +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; }
712 +var createAtomicTabsModel = function createAtomicTabsModel() {
713 + var AtomicElementBaseModel = elementor.modules.elements.models.AtomicElementBase;
714 + return /*#__PURE__*/function (_AtomicElementBaseMod) {
715 + function AtomicTabsModel() {
716 + (0, _classCallCheck2.default)(this, AtomicTabsModel);
717 + return _callSuper(this, AtomicTabsModel, arguments);
718 + }
719 + (0, _inherits2.default)(AtomicTabsModel, _AtomicElementBaseMod);
720 + return (0, _createClass2.default)(AtomicTabsModel, [{
721 + key: "onElementCreate",
722 + value: function onElementCreate() {
723 + _superPropGet(AtomicTabsModel, "onElementCreate", this, 3)([]);
724 + var tabs = this.getChildrenByType(this.get('elements'), 'e-tab');
725 + var tabPanels = this.getChildrenByType(this.get('elements'), 'e-tab-panel');
726 + var currentSettings = this.get('settings') || {};
727 + currentSettings['default-active-tab'] = {
728 + $$type: 'string',
729 + value: tabs[0].id
730 + };
731 + this.set('settings', currentSettings);
732 +
733 + // TODO: maybe move this part to a dedicated "afterDefaultChildrenSet" method
734 + tabs.forEach(function (tab, index) {
735 + tab.settings._cssid = {
736 + $$type: 'string',
737 + value: tab.id
738 + };
739 + tab.settings['tab-panel-id'] = {
740 + $$type: 'string',
741 + value: tabPanels[index].id
742 + };
743 + var tabPanel = tabPanels[index];
744 + tabPanel.settings._cssid = {
745 + $$type: 'string',
746 + value: tabPanels[index].id
747 + };
748 + tabPanel.settings['tab-id'] = {
749 + $$type: 'string',
750 + value: tab.id
751 + };
752 + });
753 + }
754 + }, {
755 + key: "getChildrenByType",
756 + value: function getChildrenByType(elements, type) {
757 + var foundElements = [];
758 + var _searchRecursively = function searchRecursively(collection) {
759 + collection.forEach(function (element) {
760 + if (type === element.elType) {
761 + foundElements.push(element);
762 + }
763 + var childElements = element.elements;
764 + if (childElements && childElements.length > 0) {
765 + _searchRecursively(childElements);
766 + }
767 + });
768 + };
769 + _searchRecursively(elements);
770 + return foundElements;
771 + }
772 + }]);
773 + }(AtomicElementBaseModel);
774 +};
775 +var _default = exports["default"] = createAtomicTabsModel;
776 +
777 +/***/ }),
778 +
779 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-type.js":
780 +/*!**************************************************************************************************************!*\
781 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-type.js ***!
782 + \**************************************************************************************************************/
783 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
784 +
785 +"use strict";
786 +
787 +
788 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
789 +Object.defineProperty(exports, "__esModule", ({
790 + value: true
791 +}));
792 +exports["default"] = void 0;
793 +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"));
794 +var _createAtomicTabsModel = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-tabs-model */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-model.js"));
795 +var createAtomicTabsType = function createAtomicTabsType() {
796 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs', (0, _createAtomicTabsView.default)(), (0, _createAtomicTabsModel.default)());
797 +};
798 +var _default = exports["default"] = createAtomicTabsType;
799 +
800 +/***/ }),
801 +
802 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-view.js":
803 +/*!**************************************************************************************************************!*\
804 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tabs/create-atomic-tabs-view.js ***!
805 + \**************************************************************************************************************/
806 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
807 +
808 +"use strict";
809 +
810 +
811 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
812 +Object.defineProperty(exports, "__esModule", ({
813 + value: true
814 +}));
815 +exports["default"] = void 0;
816 +var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
817 +var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
818 +var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
819 +var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
820 +var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
821 +var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
822 +var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
823 +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; }
824 +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; }
825 +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)); }
826 +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
827 +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; }
828 +var createAtomicTabsView = function createAtomicTabsView() {
829 + var AtomicElementBaseView = elementor.modules.elements.views.createAtomicElementBase('e-tabs');
830 + return /*#__PURE__*/function (_AtomicElementBaseVie) {
831 + function AtomicTabsView() {
832 + (0, _classCallCheck2.default)(this, AtomicTabsView);
833 + return _callSuper(this, AtomicTabsView, arguments);
834 + }
835 + (0, _inherits2.default)(AtomicTabsView, _AtomicElementBaseVie);
836 + return (0, _createClass2.default)(AtomicTabsView, [{
837 + key: "attributes",
838 + value: function attributes() {
839 + var defaultActiveTab = this.model.getSetting('default-active-tab');
840 + return defaultActiveTab !== null && defaultActiveTab !== void 0 && defaultActiveTab.value ? _objectSpread({
841 + 'data-active-tab': defaultActiveTab.value
842 + }, _superPropGet(AtomicTabsView, "attributes", this, 3)([])) : _superPropGet(AtomicTabsView, "attributes", this, 3)([]);
843 + }
844 + }]);
845 + }(AtomicElementBaseView);
846 +};
847 +var _default = exports["default"] = createAtomicTabsView;
848 +
849 +/***/ }),
850 +
851 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-content-type.js":
852 +/*!**********************************************************************************************************!*\
853 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-content-type.js ***!
854 + \**********************************************************************************************************/
855 +/***/ ((__unused_webpack_module, exports) => {
856 +
857 +"use strict";
858 +
859 +
860 +Object.defineProperty(exports, "__esModule", ({
861 + value: true
862 +}));
863 +exports["default"] = void 0;
864 +var createAtomicTabsContentType = function createAtomicTabsContentType() {
865 + var AtomicTabsContentView = elementor.modules.elements.views.createAtomicElementBase('e-tabs-content');
866 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs-content', AtomicTabsContentView);
867 +};
868 +var _default = exports["default"] = createAtomicTabsContentType;
869 +
870 +/***/ }),
871 +
872 +/***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-list-type.js":
873 +/*!*******************************************************************************************************!*\
874 + !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-list-type.js ***!
875 + \*******************************************************************************************************/
876 +/***/ ((__unused_webpack_module, exports) => {
877 +
878 +"use strict";
879 +
880 +
881 +Object.defineProperty(exports, "__esModule", ({
882 + value: true
883 +}));
884 +exports["default"] = void 0;
885 +var createAtomicTabsListType = function createAtomicTabsListType() {
886 + var AtomicTabsListView = elementor.modules.elements.views.createAtomicElementBase('e-tabs-list');
887 + return new elementor.modules.elements.types.AtomicElementBase('e-tabs-list', AtomicTabsListView);
888 +};
889 +var _default = exports["default"] = createAtomicTabsListType;
890 +
891 +/***/ }),
892 +
942 893 /***/ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js":
943 894 /*!************************************************************************************************!*\
944 895 !*** ../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-div-block-type.js ***!
945 896 \************************************************************************************************/
@@ -1060,9 +1011,8 @@
1060 1011 }
1061 1012 _this = _callSuper(this, AtomicElementEmptyView, [].concat(args));
1062 1013 (0, _defineProperty2.default)(_this, "template", '<div></div>');
1063 1014 (0, _defineProperty2.default)(_this, "className", 'elementor-empty-view');
1064 - (0, _defineProperty2.default)(_this, "unmount", null);
1065 1015 return _this;
1066 1016 }
1067 1017 (0, _inherits2.default)(AtomicElementEmptyView, _Marionette$ItemView);
1068 1018 return (0, _createClass2.default)(AtomicElementEmptyView, [{
@@ -1074,17 +1024,8 @@
1074 1024 unmount = _ReactUtils$render.unmount;
1075 1025 this.unmount = unmount;
1076 1026 }
1077 1027 }, {
1078 - key: "onBeforeRender",
1079 - value: function onBeforeRender() {
1080 - // In case the element is being rendered again, we need to unmount the previous React component.
1081 - if (this.unmount) {
1082 - this.unmount();
1083 - this.unmount = null;
1084 - }
1085 - }
1086 - }, {
1087 1028 key: "onRender",
1088 1029 value: function onRender() {
1089 1030 this.$el.addClass(this.className);
1090 1031 this.renderReactDefaultElement();
@@ -1091,10 +1032,9 @@
1091 1032 }
1092 1033 }, {
1093 1034 key: "onDestroy",
1094 1035 value: function onDestroy() {
1095 - var _this$unmount;
1096 - (_this$unmount = this.unmount) === null || _this$unmount === void 0 || _this$unmount.call(this);
1036 + this.unmount();
1097 1037 }
1098 1038 }]);
1099 1039 }(Marionette.ItemView);
1100 1040
@@ -1115,49 +1055,29 @@
1115 1055 Object.defineProperty(exports, "__esModule", ({
1116 1056 value: true
1117 1057 }));
1118 1058 exports["default"] = createAtomicElementBaseView;
1119 -var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1120 -var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
1121 -var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1122 1059 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1123 1060 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1124 1061 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1062 +var _atomicElementEmptyView = _interopRequireDefault(__webpack_require__(/*! ./container/atomic-element-empty-view */ "../modules/atomic-widgets/assets/js/editor/container/atomic-element-empty-view.js"));
1125 1063 var _elementTypes = __webpack_require__(/*! elementor-editor/utils/element-types */ "../assets/dev/js/editor/utils/element-types.js");
1126 -var _atomicElementEmptyView = _interopRequireDefault(__webpack_require__(/*! ./container/atomic-element-empty-view */ "../modules/atomic-widgets/assets/js/editor/container/atomic-element-empty-view.js"));
1127 1064 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; }
1128 1065 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; }
1129 1066 var BaseElementView = elementor.modules.elements.views.BaseElement;
1130 1067 function createAtomicElementBaseView(type) {
1131 - var resolvedTagCache = new WeakMap();
1132 1068 var AtomicElementView = BaseElementView.extend({
1133 1069 template: Marionette.TemplateCache.get("#tmpl-elementor-".concat(type, "-content")),
1134 1070 emptyView: _atomicElementEmptyView.default,
1135 - _childrenRenderPromises: [],
1136 - _createElement: function _createElement(tag) {
1137 - var _elementor$$preview;
1138 - 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;
1139 - if (previewDocument) {
1140 - return previewDocument.createElement(tag);
1071 + tagName: function tagName() {
1072 + if (this.haveLink()) {
1073 + return 'a';
1141 1074 }
1142 - return document.createElement(tag);
1075 + var tagControl = this.model.getSetting('tag');
1076 + var tagControlValue = (tagControl === null || tagControl === void 0 ? void 0 : tagControl.value) || tagControl;
1077 + var defaultTag = this.model.config.default_html_tag;
1078 + return tagControlValue || defaultTag;
1143 1079 },
1144 - tagName: function tagName() {
1145 - var _resolvedTagCache$get;
1146 - return (_resolvedTagCache$get = resolvedTagCache.get(this.model)) !== null && _resolvedTagCache$get !== void 0 ? _resolvedTagCache$get : this._resolveTag();
1147 - },
1148 - _resolveTag: function _resolveTag() {
1149 - var _this$getResolverRend, _linkSetting$value, _resolvedLinkTag$valu, _resolvedTag$value;
1150 - var renderContext = (_this$getResolverRend = this.getResolverRenderContext) === null || _this$getResolverRend === void 0 ? void 0 : _this$getResolverRend.call(this);
1151 - var tagSetting = this.model.getSetting('tag');
1152 - var resolvedTag = this._resolvePropValue(tagSetting, renderContext);
1153 - var linkSetting = this.model.getSetting('link');
1154 - var resolvedLinkTag = this._resolvePropValue(linkSetting === null || linkSetting === void 0 || (_linkSetting$value = linkSetting.value) === null || _linkSetting$value === void 0 ? void 0 : _linkSetting$value.tag, renderContext);
1155 - var linkTag = (_resolvedLinkTag$valu = resolvedLinkTag === null || resolvedLinkTag === void 0 ? void 0 : resolvedLinkTag.value) !== null && _resolvedLinkTag$valu !== void 0 ? _resolvedLinkTag$valu : resolvedLinkTag;
1156 - var baseTag = (_resolvedTag$value = resolvedTag === null || resolvedTag === void 0 ? void 0 : resolvedTag.value) !== null && _resolvedTag$value !== void 0 ? _resolvedTag$value : resolvedTag;
1157 - var resultTag = linkTag !== null && linkTag !== void 0 ? linkTag : baseTag;
1158 - return resultTag || this.model.config.default_html_tag || 'div';
1159 - },
1160 1080 getChildViewContainer: function getChildViewContainer() {
1161 1081 this.childViewContainer = '';
1162 1082 return Marionette.CompositeView.prototype.getChildViewContainer.apply(this, arguments);
1163 1083 },
@@ -1172,40 +1092,11 @@
1172 1092 return elType;
1173 1093 });
1174 1094 return ['widget', 'container'].concat((0, _toConsumableArray2.default)(atomicElements));
1175 1095 },
1176 - getRenderContext: function getRenderContext() {
1177 - var _this$_parent, _this$_parent$getRend;
1178 - return (_this$_parent = this._parent) === null || _this$_parent === void 0 || (_this$_parent$getRend = _this$_parent.getRenderContext) === null || _this$_parent$getRend === void 0 ? void 0 : _this$_parent$getRend.call(_this$_parent);
1179 - },
1180 - getResolverRenderContext: function getResolverRenderContext() {
1181 - var _this$_parent2, _this$_parent2$getRes;
1182 - 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);
1183 - },
1184 1096 className: function className() {
1185 - var generatedClasses = this.getGeneratedClasses();
1186 - return "".concat(BaseElementView.prototype.className.apply(this), " e-con e-atomic-element ").concat(this.getClassString(), " ").concat(generatedClasses);
1097 + return "".concat(BaseElementView.prototype.className.apply(this), " e-con e-atomic-element ").concat(this.getClassString());
1187 1098 },
1188 - getGeneratedClasses: function getGeneratedClasses() {
1189 - var _this = this;
1190 - var propsSchema = this.model.config.atomic_props_schema || {};
1191 - var generatedClasses = [];
1192 - Object.keys(propsSchema).forEach(function (key) {
1193 - var _propsSchema$key;
1194 - var propMeta = (_propsSchema$key = propsSchema[key]) === null || _propsSchema$key === void 0 ? void 0 : _propsSchema$key.meta;
1195 - if (propMeta !== null && propMeta !== void 0 && propMeta.generates_class) {
1196 - var _settingValue$value;
1197 - var classPattern = propMeta.generates_class;
1198 - var settingValue = _this.model.getSetting(key);
1199 - var value = (_settingValue$value = settingValue === null || settingValue === void 0 ? void 0 : settingValue.value) !== null && _settingValue$value !== void 0 ? _settingValue$value : settingValue;
1200 - if (value && 'string' === typeof value) {
1201 - var className = classPattern.replace('{value}', value);
1202 - generatedClasses.push(className);
1203 - }
1204 - }
1205 - });
1206 - return generatedClasses.join(' ');
1207 - },
1208 1099 // TODO: Copied from `views/column.js`.
1209 1100 ui: function ui() {
1210 1101 var ui = BaseElementView.prototype.ui.apply(this, arguments);
1211 1102 ui.percentsTooltip = '> .elementor-element-overlay .elementor-column-percents-tooltip';
@@ -1220,9 +1111,12 @@
1220 1111 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 : {};
1221 1112 if (cssId) {
1222 1113 local.id = cssId.value;
1223 1114 }
1224 - local['data-interaction-id'] = this.getInteractionId();
1115 + var href = this.getHref();
1116 + if (href) {
1117 + local.href = href;
1118 + }
1225 1119 customAttributes.forEach(function (attribute) {
1226 1120 var _attribute$value, _attribute$value2;
1227 1121 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;
1228 1122 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;
@@ -1229,9 +1123,9 @@
1229 1123 if (key && value) {
1230 1124 local[key] = value;
1231 1125 }
1232 1126 });
1233 - return _objectSpread(_objectSpread(_objectSpread({}, attr), initialAttributes), local);
1127 + return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attr), initialAttributes), customAttributes), local);
1234 1128 },
1235 1129 // TODO: Copied from `views/column.js`.
1236 1130 attachElContent: function attachElContent() {
1237 1131 BaseElementView.prototype.attachElContent.apply(this, arguments);
@@ -1253,12 +1147,12 @@
1253 1147 var width = +this.model.getSetting('width') || this.getPercentSize();
1254 1148 return width.toFixed(1) + '%';
1255 1149 },
1256 1150 renderOnChange: function renderOnChange(settings) {
1257 - var _this2 = this;
1151 + var _this = this;
1258 1152 var changed = settings.changedAttributes();
1259 1153 setTimeout(function () {
1260 - _this2.updateHandlesPosition();
1154 + _this.updateHandlesPosition();
1261 1155 });
1262 1156 if (!changed) {
1263 1157 return;
1264 1158 }
@@ -1263,43 +1157,30 @@
1263 1157 return;
1264 1158 }
1265 1159 BaseElementView.prototype.renderOnChange.apply(this, settings);
1266 1160 if (changed.attributes) {
1161 + var _this$model$getSettin3;
1162 + var preserveAttrs = ['id', 'class', 'href'];
1267 1163 var $elAttrs = this.$el[0].attributes;
1268 1164 for (var i = $elAttrs.length - 1; i >= 0; i--) {
1269 1165 var attrName = $elAttrs[i].name;
1270 - if (attrName !== 'class') {
1166 + if (!preserveAttrs.includes(attrName)) {
1271 1167 this.$el.removeAttr(attrName);
1272 1168 }
1273 1169 }
1274 - var newAttrs = this.attributes();
1275 - Object.entries(newAttrs).forEach(function (_ref5) {
1276 - var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
1277 - key = _ref6[0],
1278 - value = _ref6[1];
1279 - if (key !== 'class' && value !== undefined) {
1280 - _this2.$el.attr(key, value);
1170 + var attrs = ((_this$model$getSettin3 = this.model.getSetting('attributes')) === null || _this$model$getSettin3 === void 0 ? void 0 : _this$model$getSettin3.value) || [];
1171 + attrs.forEach(function (attribute) {
1172 + var _attribute$value3, _attribute$value4;
1173 + var key = attribute === null || attribute === void 0 || (_attribute$value3 = attribute.value) === null || _attribute$value3 === void 0 || (_attribute$value3 = _attribute$value3.key) === null || _attribute$value3 === void 0 ? void 0 : _attribute$value3.value;
1174 + var value = attribute === null || attribute === void 0 || (_attribute$value4 = attribute.value) === null || _attribute$value4 === void 0 || (_attribute$value4 = _attribute$value4.value) === null || _attribute$value4 === void 0 ? void 0 : _attribute$value4.value;
1175 + if (key && value) {
1176 + _this.$el.attr(key, value);
1281 1177 }
1282 1178 });
1283 1179 return;
1284 1180 }
1285 -
1286 - // Check if classes changed OR if any setting with generates_class metadata changed
1287 - var propsSchema = this.model.config.atomic_props_schema || {};
1288 - var hasGeneratesClassChange = Object.keys(changed).some(function (key) {
1289 - var _propsSchema$key2;
1290 - return (_propsSchema$key2 = propsSchema[key]) === null || _propsSchema$key2 === void 0 || (_propsSchema$key2 = _propsSchema$key2.meta) === null || _propsSchema$key2 === void 0 ? void 0 : _propsSchema$key2.generates_class;
1291 - });
1292 - if (changed.classes || hasGeneratesClassChange) {
1293 - // Preserve runtime state classes (e.g., e--selected) that are managed by Alpine
1294 - // and would be lost when replacing the class attribute.
1295 - var preservedClasses = Array.from(this.$el[0].classList).filter(function (cls) {
1296 - return cls.startsWith('e--');
1297 - });
1181 + if (changed.classes) {
1298 1182 this.$el.attr('class', this.className());
1299 - preservedClasses.forEach(function (cls) {
1300 - return _this2.$el[0].classList.add(cls);
1301 - });
1302 1183 return;
1303 1184 }
1304 1185 if (changed._cssid) {
1305 1186 if (changed._cssid.value) {
@@ -1321,150 +1202,17 @@
1321 1202 var parent = this._parent;
1322 1203 this._parent.removeChildView(this);
1323 1204 parent.addChild(this.model, AtomicElementView, this._index);
1324 1205 },
1325 - render: function render() {
1326 - var _this3 = this;
1327 - this._currentRenderPromise = new Promise(function (resolve) {
1328 - // Optimize rendering by reusing existing child views instead of recreating them.
1329 - if (_this3._shouldSkipFullRender()) {
1330 - _this3._renderWithoutDomRecreation(resolve);
1331 - } else {
1332 - _this3._renderWithDomRecreation(resolve);
1333 - }
1334 - });
1335 - return this;
1336 - },
1337 - _shouldSkipFullRender: function _shouldSkipFullRender() {
1338 - return this.isRendered && this._hasConnectedChildren();
1339 - },
1340 - _hasConnectedChildren: function _hasConnectedChildren() {
1341 - var _this$children, _firstChild$$el$get$i, _firstChild$$el;
1342 - if (!((_this$children = this.children) !== null && _this$children !== void 0 && _this$children.length)) {
1343 - return false;
1344 - }
1345 -
1346 - // If the parent's innerHTML was replaced, all children are detached together.
1347 - var firstChild = this.children.findByIndex(0);
1348 - 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;
1349 - },
1350 - _renderWithoutDomRecreation: function _renderWithoutDomRecreation(resolve) {
1351 - var _this4 = this;
1352 - this._beforeRender();
1353 - this._renderChildren();
1354 - this._waitForChildrenToComplete().then(function () {
1355 - _this4._afterRender();
1356 - resolve();
1357 - });
1358 - },
1359 - _renderWithDomRecreation: function _renderWithDomRecreation(resolve) {
1360 - var _this5 = this;
1361 - BaseElementView.prototype.render.apply(this, arguments);
1362 - this._waitForChildrenToComplete().then(function () {
1363 - _this5._applyResolvedAttributes();
1364 - resolve();
1365 - });
1366 - },
1367 - _beforeRender: function _beforeRender() {
1368 - this._isRendering = true;
1369 - this._invalidateTagCache();
1370 - this.triggerMethod('before:render', this);
1371 - },
1372 - _invalidateTagCache: function _invalidateTagCache() {
1373 - resolvedTagCache.delete(this.model);
1374 - },
1375 - _cacheResolvedTag: function _cacheResolvedTag(tag) {
1376 - resolvedTagCache.set(this.model, tag);
1377 - },
1378 - _afterRender: function _afterRender() {
1379 - this._isRendering = false;
1380 - this.isRendered = true;
1381 - this.triggerMethod('render', this);
1382 - this._applyResolvedAttributes();
1383 - },
1384 - _applyResolvedAttributes: function _applyResolvedAttributes() {
1385 - if (!this._parent) {
1386 - return;
1387 - }
1388 - if (this._shouldRecreateForTagChange()) {
1389 - return;
1390 - }
1391 - this._applyLinkAttributes();
1392 - },
1393 - _shouldRecreateForTagChange: function _shouldRecreateForTagChange() {
1394 - var resolvedTag = this.tagName();
1395 - var currentTag = this.el.tagName.toLowerCase();
1396 - if (resolvedTag === currentTag) {
1397 - return false;
1398 - }
1399 - this._cacheResolvedTag(resolvedTag);
1400 - this.rerenderEntireView();
1401 - return true;
1402 - },
1403 - _applyLinkAttributes: function _applyLinkAttributes() {
1404 - var _this6 = this;
1405 - this.$el.removeAttr('href');
1406 - this.$el.removeAttr('data-action-link');
1407 - var link = this.getLinkAttributes();
1408 - if (!link) {
1409 - return;
1410 - }
1411 - Object.entries(link).forEach(function (_ref7) {
1412 - var _ref8 = (0, _slicedToArray2.default)(_ref7, 2),
1413 - key = _ref8[0],
1414 - value = _ref8[1];
1415 - _this6.$el.attr(key, value);
1416 - });
1417 - },
1418 - _waitForChildrenToComplete: function _waitForChildrenToComplete() {
1419 - var _this7 = this;
1420 - return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
1421 - return _regenerator.default.wrap(function (_context) {
1422 - while (1) switch (_context.prev = _context.next) {
1423 - case 0:
1424 - if (!(_this7._childrenRenderPromises.length > 0)) {
1425 - _context.next = 1;
1426 - break;
1427 - }
1428 - _context.next = 1;
1429 - return Promise.all(_this7._childrenRenderPromises);
1430 - case 1:
1431 - case "end":
1432 - return _context.stop();
1433 - }
1434 - }, _callee);
1435 - }))();
1436 - },
1437 - _renderChildren: function _renderChildren() {
1438 - if (this._shouldSkipFullRender()) {
1439 - var _this$children2;
1440 - (_this$children2 = this.children) === null || _this$children2 === void 0 || _this$children2.each(function (childView) {
1441 - return childView.render();
1442 - });
1443 - } else {
1444 - BaseElementView.prototype._renderChildren.apply(this, arguments);
1445 - }
1446 - this._collectChildrenRenderPromises();
1447 - },
1448 - _collectChildrenRenderPromises: function _collectChildrenRenderPromises() {
1449 - var _this$children3,
1450 - _this8 = this;
1451 - this._childrenRenderPromises = [];
1452 - (_this$children3 = this.children) === null || _this$children3 === void 0 || _this$children3.each(function (childView) {
1453 - if (childView._currentRenderPromise) {
1454 - _this8._childrenRenderPromises.push(childView._currentRenderPromise);
1455 - }
1456 - });
1457 - },
1458 1206 onRender: function onRender() {
1459 - var _this9 = this;
1207 + var _this2 = this;
1460 1208 this.dispatchPreviewEvent('elementor/element/render');
1461 1209 BaseElementView.prototype.onRender.apply(this, arguments);
1462 1210
1463 1211 // Defer to wait for everything to render.
1464 1212 setTimeout(function () {
1465 - _this9.droppableInitialize();
1466 - _this9.updateHandlesPosition();
1213 + _this2.droppableInitialize();
1214 + _this2.updateHandlesPosition();
1467 1215 });
1468 1216 },
1469 1217 onDestroy: function onDestroy() {
1470 1218 BaseElementView.prototype.onDestroy.apply(this, arguments);
@@ -1479,45 +1227,22 @@
1479 1227 element: this.getDomElement().get(0)
1480 1228 }
1481 1229 }));
1482 1230 },
1483 - _hasLink: function _hasLink(renderContext) {
1484 - var _resolvedLink$value;
1485 - var linkSetting = this.model.getSetting('link');
1486 - var resolvedLink = this._resolvePropValue(linkSetting, renderContext);
1487 - if ('link' !== (resolvedLink === null || resolvedLink === void 0 ? void 0 : resolvedLink.$$type)) {
1488 - return false;
1489 - }
1490 - var destination = this._resolvePropValue((_resolvedLink$value = resolvedLink.value) === null || _resolvedLink$value === void 0 ? void 0 : _resolvedLink$value.destination, renderContext);
1491 - return !!(destination !== null && destination !== void 0 && destination.value);
1231 + haveLink: function haveLink() {
1232 + var _this$model$getSettin4;
1233 + return !!((_this$model$getSettin4 = this.model.getSetting('link')) !== null && _this$model$getSettin4 !== void 0 && (_this$model$getSettin4 = _this$model$getSettin4.value) !== null && _this$model$getSettin4 !== void 0 && (_this$model$getSettin4 = _this$model$getSettin4.destination) !== null && _this$model$getSettin4 !== void 0 && _this$model$getSettin4.value);
1492 1234 },
1493 - getLinkAttributes: function getLinkAttributes() {
1494 - var _this$getResolverRend2, _resolvedLink$value2;
1495 - var renderContext = (_this$getResolverRend2 = this.getResolverRenderContext) === null || _this$getResolverRend2 === void 0 ? void 0 : _this$getResolverRend2.call(this);
1496 - var linkSetting = this.model.getSetting('link');
1497 - var resolvedLink = this._resolvePropValue(linkSetting, renderContext);
1498 - if ('link' !== (resolvedLink === null || resolvedLink === void 0 ? void 0 : resolvedLink.$$type)) {
1499 - return null;
1235 + getHref: function getHref() {
1236 + if (!this.haveLink()) {
1237 + return;
1500 1238 }
1501 - var destination = this._resolvePropValue((_resolvedLink$value2 = resolvedLink.value) === null || _resolvedLink$value2 === void 0 ? void 0 : _resolvedLink$value2.destination, renderContext);
1502 - if (!(destination !== null && destination !== void 0 && destination.value)) {
1503 - return null;
1504 - }
1505 - var $$type = destination.$$type,
1506 - value = destination.value;
1507 - if ('dynamic' === $$type) {
1508 - var resolvedValue = this.handleDynamicLink(value);
1509 - if (!resolvedValue) {
1510 - return null;
1511 - }
1512 - var attributeKey = 'action' === (value === null || value === void 0 ? void 0 : value.group) ? 'data-action-link' : 'href';
1513 - return (0, _defineProperty2.default)({}, attributeKey, resolvedValue);
1514 - }
1239 + var _this$model$getSettin5 = this.model.getSetting('link').value.destination,
1240 + $$type = _this$model$getSettin5.$$type,
1241 + value = _this$model$getSettin5.value;
1515 1242 var isPostId = 'number' === $$type;
1516 1243 var hrefPrefix = isPostId ? elementor.config.home_url + '/?p=' : '';
1517 - return {
1518 - href: hrefPrefix + value
1519 - };
1244 + return hrefPrefix + value;
1520 1245 },
1521 1246 droppableInitialize: function droppableInitialize() {
1522 1247 this.$el.html5Droppable(this.getDroppableOptions());
1523 1248 },
@@ -1526,37 +1251,27 @@
1526 1251 *
1527 1252 * @return {Object} groups
1528 1253 */
1529 1254 getContextMenuGroups: function getContextMenuGroups() {
1530 - var _this0 = this,
1255 + var _this3 = this,
1531 1256 _elementorCommon$conf;
1532 1257 var saveActions = [{
1533 1258 name: 'save',
1534 1259 title: __('Save as a template', 'elementor'),
1260 + shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>"),
1535 1261 callback: this.saveAsTemplate.bind(this),
1536 1262 isEnabled: function isEnabled() {
1537 - return !_this0.getContainer().isLocked();
1263 + return !_this3.getContainer().isLocked();
1538 1264 }
1539 1265 }];
1540 - var isAdministrator = elementor.config.user.is_administrator;
1541 - var isExperimentalFeaturesEnabled = (_elementorCommon$conf = elementorCommon.config.experimentalFeatures) === null || _elementorCommon$conf === void 0 ? void 0 : _elementorCommon$conf.e_components;
1542 - if (isExperimentalFeaturesEnabled && isAdministrator) {
1543 - 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;
1544 - 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;
1545 - 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;
1546 - 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);
1547 - var showPromoBadge = !isProActive && !isProOutdated;
1548 - var newBadge = "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>");
1549 - var badgeClass = 'elementor-context-menu-list__item__shortcut__promotion-badge';
1550 - 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>");
1266 + if ((_elementorCommon$conf = elementorCommon.config.experimentalFeatures) !== null && _elementorCommon$conf !== void 0 && _elementorCommon$conf.e_components) {
1551 1267 saveActions.unshift({
1552 1268 name: 'save-component',
1553 - title: __('Create component', 'elementor'),
1554 - shortcut: isProActive || isProOutdated ? newBadge : proBadge,
1555 - hasShortcutAction: showPromoBadge,
1269 + title: __('Save as a component', 'elementor'),
1270 + shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat(__('New', 'elementor'), "</span>"),
1556 1271 callback: this.saveAsComponent.bind(this),
1557 1272 isEnabled: function isEnabled() {
1558 - return (isProActive || isProOutdated) && !_this0.getContainer().isLocked();
1273 + return !_this3.getContainer().isLocked();
1559 1274 }
1560 1275 });
1561 1276 }
1562 1277 var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments),
@@ -1569,39 +1284,13 @@
1569 1284 });
1570 1285 return groups;
1571 1286 },
1572 1287 saveAsTemplate: function saveAsTemplate() {
1573 - elementor.templates.eventManager.sendNewSaveTemplateClickedEvent();
1574 1288 $e.route('library/save-template', {
1575 1289 model: this.model
1576 1290 });
1577 1291 },
1578 - saveAsComponent: function saveAsComponent(openContextMenuEvent, options) {
1579 - 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;
1580 - 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;
1581 - 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);
1582 - if (isProOutdated) {
1583 - var _window$elementorV6, _window$elementorV6$n;
1584 - (_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, {
1585 - type: 'info',
1586 - id: 'component-create-update',
1587 - message: __('To create new components, update Elementor Pro to the latest version.', 'elementor'),
1588 - additionalActionProps: [{
1589 - size: 'small',
1590 - variant: 'contained',
1591 - color: 'info',
1592 - href: '/wp-admin/plugins.php',
1593 - target: '_blank',
1594 - children: __('Update Now', 'elementor')
1595 - }]
1596 - });
1597 - return;
1598 - }
1599 - 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;
1600 - if (!isProActive) {
1601 - return;
1602 - }
1603 -
1292 + saveAsComponent: function saveAsComponent(openContextMenuEvent) {
1604 1293 // Calculate the absolute position where the context menu was opened.
1605 1294 var openMenuOriginalEvent = openContextMenuEvent.originalEvent;
1606 1295 var iframeRect = elementor.$preview[0].getBoundingClientRect();
1607 1296 var anchorPosition = {
@@ -1609,18 +1298,15 @@
1609 1298 top: openMenuOriginalEvent.clientY + iframeRect.top
1610 1299 };
1611 1300 window.dispatchEvent(new CustomEvent('elementor/editor/open-save-as-component-form', {
1612 1301 detail: {
1613 - element: elementor.getContainer(this.model.id).model.toJSON({
1614 - remove: ['default']
1615 - }),
1616 - anchorPosition: anchorPosition,
1617 - options: options
1302 + element: elementor.getContainer(this.model.id),
1303 + anchorPosition: anchorPosition
1618 1304 }
1619 1305 }));
1620 1306 },
1621 1307 isDroppingAllowed: function isDroppingAllowed() {
1622 - return this.getContainer().isEditable();
1308 + return true;
1623 1309 },
1624 1310 behaviors: function behaviors() {
1625 1311 var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
1626 1312 _.extend(behaviors, {
@@ -1639,9 +1325,9 @@
1639 1325 preventInit: true
1640 1326 };
1641 1327 },
1642 1328 getDroppableOptions: function getDroppableOptions() {
1643 - var _this1 = this;
1329 + var _this4 = this;
1644 1330 var items = '> .elementor-element, > .elementor-empty-view .elementor-first-add';
1645 1331 return {
1646 1332 axis: null,
1647 1333 items: items,
@@ -1651,9 +1337,9 @@
1651 1337 currentElementClass: 'elementor-html5dnd-current-element',
1652 1338 placeholderClass: 'elementor-sortable-placeholder elementor-widget-placeholder',
1653 1339 hasDraggingOnChildClass: 'e-dragging-over',
1654 1340 getDropContainer: function getDropContainer() {
1655 - return _this1.getContainer();
1341 + return _this4.getContainer();
1656 1342 },
1657 1343 onDropping: function onDropping(side, event) {
1658 1344 event.stopPropagation();
1659 1345
@@ -1663,14 +1349,14 @@
1663 1349 draggedElement = draggedView === null || draggedView === void 0 ? void 0 : draggedView.getContainer().view.el,
1664 1350 containerElement = event.currentTarget.parentElement,
1665 1351 elements = Array.from((containerElement === null || containerElement === void 0 ? void 0 : containerElement.querySelectorAll(':scope > .elementor-element')) || []);
1666 1352 var targetIndex = elements.indexOf(event.currentTarget);
1667 - if (_this1.isPanelElement(draggedView, draggedElement)) {
1353 + if (_this4.isPanelElement(draggedView, draggedElement)) {
1668 1354 var _elementorCommon;
1669 - if (_this1.draggingOnBottomOrRightSide(side) && !_this1.emptyViewIsCurrentlyBeingDraggedOver()) {
1355 + if (_this4.draggingOnBottomOrRightSide(side) && !_this4.emptyViewIsCurrentlyBeingDraggedOver()) {
1670 1356 targetIndex++;
1671 1357 }
1672 - _this1.onDrop(event, {
1358 + _this4.onDrop(event, {
1673 1359 at: targetIndex
1674 1360 });
1675 1361 if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent) {
1676 1362 var selectedElement = elementor.channels.panelElements.request('element:selected');
@@ -1688,16 +1374,16 @@
1688 1374 }
1689 1375 }
1690 1376 return;
1691 1377 }
1692 - if (_this1.isParentElement(draggedView.getContainer().id)) {
1378 + if (_this4.isParentElement(draggedView.getContainer().id)) {
1693 1379 return;
1694 1380 }
1695 - if (_this1.emptyViewIsCurrentlyBeingDraggedOver()) {
1696 - _this1.moveDroppedItem(draggedView, 0);
1381 + if (_this4.emptyViewIsCurrentlyBeingDraggedOver()) {
1382 + _this4.moveDroppedItem(draggedView, 0);
1697 1383 return;
1698 1384 }
1699 - _this1.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
1385 + _this4.moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement);
1700 1386 }
1701 1387 };
1702 1388 },
1703 1389 moveExistingElement: function moveExistingElement(side, draggedView, containerElement, elements, targetIndex, draggedElement) {
@@ -1854,84 +1540,9 @@
1854 1540 isTopLevelElement: function isTopLevelElement() {
1855 1541 return this.container.parent && 'document' === this.container.parent.id;
1856 1542 },
1857 1543 isFirstElementInStructure: function isFirstElementInStructure() {
1858 - if (!this.model.collection) {
1859 - return true;
1860 - }
1861 1544 return 0 === this.model.collection.indexOf(this.model);
1862 - },
1863 - getDynamicLinkValue: function getDynamicLinkValue(name, settings) {
1864 - var simpleTransform = function simpleTransform(props) {
1865 - var transformed = Object.entries(props).map(function (_ref0) {
1866 - var _ref1 = (0, _slicedToArray2.default)(_ref0, 2),
1867 - settingKey = _ref1[0],
1868 - settingValue = _ref1[1];
1869 - var value = 'object' === (0, _typeof2.default)(settingValue) && 'value' in settingValue ? settingValue.value : settingValue;
1870 - return [settingKey, value];
1871 - });
1872 - return Object.fromEntries(transformed);
1873 - };
1874 - var getTagValue = function getTagValue() {
1875 - var _elementor$dynamicTag;
1876 - var tag = elementor.dynamicTags.createTag('v4-dynamic-tag', name, simpleTransform(settings));
1877 - if (!tag) {
1878 - return null;
1879 - }
1880 - return (_elementor$dynamicTag = elementor.dynamicTags.loadTagDataFromCache(tag)) !== null && _elementor$dynamicTag !== void 0 ? _elementor$dynamicTag : null;
1881 - };
1882 - var tagValue = getTagValue();
1883 - if (tagValue !== null) {
1884 - return tagValue;
1885 - }
1886 - return new Promise(function (resolve) {
1887 - elementor.dynamicTags.refreshCacheFromServer(function () {
1888 - resolve(getTagValue());
1889 - });
1890 - });
1891 - },
1892 - handleDynamicLink: function handleDynamicLink(linkValue) {
1893 - var _this10 = this;
1894 - var result = this.getDynamicLinkValue(linkValue.name, linkValue.settings);
1895 - if (!result) {
1896 - return null;
1897 - }
1898 - if ('string' === typeof result) {
1899 - return result;
1900 - }
1901 - result.then(function (href) {
1902 - _this10.el.removeAttribute('href');
1903 - var attribute = 'action' === linkValue.group ? 'data-action-link' : 'href';
1904 - _this10.el.setAttribute(attribute, href);
1905 - }).then(function () {
1906 - return _this10.dispatchPreviewEvent('elementor/element/render');
1907 - });
1908 - return null;
1909 - },
1910 - _resolvePropValue: function _resolvePropValue(prop, renderContext) {
1911 - var _window2, _registry$get;
1912 - if (!prop || (0, _typeof2.default)(prop) !== 'object') {
1913 - return prop;
1914 - }
1915 - if ('overridable' !== prop.$$type) {
1916 - return prop;
1917 - }
1918 - 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;
1919 - var transformer = registry === null || registry === void 0 || (_registry$get = registry.get) === null || _registry$get === void 0 ? void 0 : _registry$get.call(registry, 'overridable');
1920 - if (!transformer) {
1921 - var _prop$value;
1922 - return (_prop$value = prop.value) === null || _prop$value === void 0 ? void 0 : _prop$value.origin_value;
1923 - }
1924 - var transformed = transformer(prop.value, {
1925 - key: 'overridable',
1926 - renderContext: renderContext
1927 - });
1928 - return this._resolvePropValue(transformed, renderContext);
1929 - },
1930 - getInteractionId: function getInteractionId() {
1931 - var originId = this.model.get('originId');
1932 - var id = this.model.get('id');
1933 - return originId !== null && originId !== void 0 ? originId : id;
1934 1545 }
1935 1546 });
1936 1547 return AtomicElementView;
1937 1548 }
@@ -2135,13 +1746,25 @@
2135 1746 value: true
2136 1747 }));
2137 1748 exports.getElementChildren = getElementChildren;
2138 1749 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
1750 +/**
1751 + * @typedef {import('assets/dev/js/editor/container/container')} Container
1752 + */
1753 +
1754 +/**
1755 + * return all recursively nested elements in a flat array
1756 + *
1757 + * @param {Container} model
1758 + * @return {Container[]}
1759 + */
2139 1760 function getElementChildren(model) {
2140 - var _model$get$models, _model$get;
2141 - 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 : [];
2142 - var children = childModels.flatMap(getElementChildren);
2143 - return [model].concat((0, _toConsumableArray2.default)(children));
1761 + var _flatMap, _container$model$get$, _container$model;
1762 + var container = window.elementor.getContainer(model.id);
1763 + 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) {
1764 + return getElementChildren(child);
1765 + })) !== null && _flatMap !== void 0 ? _flatMap : [];
1766 + return [container].concat((0, _toConsumableArray2.default)(children));
2144 1767 }
2145 1768
2146 1769 /***/ }),
2147 1770
@@ -2197,35 +1820,38 @@
2197 1820 var _getElementChildren = __webpack_require__(/*! ./get-element-children */ "../modules/atomic-widgets/assets/js/editor/utils/get-element-children.js");
2198 1821 var _getRandomStyleId = __webpack_require__(/*! ./get-random-style-id */ "../modules/atomic-widgets/assets/js/editor/utils/get-random-style-id.js");
2199 1822 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; }
2200 1823 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; }
2201 -function regenerateLocalStyleIds(container) {
2202 - var allElements = (0, _getElementChildren.getElementChildren)(container.model);
2203 - var styledElements = allElements.filter(function (model) {
2204 - var _model$get;
2205 - return Object.keys((_model$get = model.get('styles')) !== null && _model$get !== void 0 ? _model$get : {}).length > 0;
2206 - });
2207 - updateElementsStyleIdsInsideOut(styledElements);
2208 -}
1824 +/**
1825 + * @typedef {import('assets/dev/js/editor/container/container')} Container
1826 + */
1827 +
2209 1828 function isClassesProp(prop) {
2210 1829 return prop.$$type && 'classes' === prop.$$type && Array.isArray(prop.value) && prop.value.length > 0;
2211 1830 }
2212 -function calculateNewStylesAndSettings(element, model, settings) {
2213 - var _settings$toJSON;
2214 - var originalStyles = model.get('styles');
2215 - var settingsJson = (_settings$toJSON = settings === null || settings === void 0 ? void 0 : settings.toJSON()) !== null && _settings$toJSON !== void 0 ? _settings$toJSON : {};
2216 - var classesProps = Object.entries(settingsJson).filter(function (_ref) {
1831 +
1832 +/**
1833 + * Update the style id of the container.
1834 + *
1835 + * @param {Container} container
1836 + */
1837 +function updateStyleId(container) {
1838 + var _container$settings$t, _container$settings;
1839 + var originalStyles = container.model.get('styles');
1840 + 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 : {};
1841 + var classesProps = Object.entries(settings).filter(function (_ref) {
2217 1842 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
2218 1843 propValue = _ref2[1];
2219 1844 return isClassesProp(propValue);
2220 1845 });
2221 1846 var newStyles = {};
2222 - var changedIds = {};
1847 + var changedIds = {}; // Conversion map - {[originalId: string]: newId: string}
1848 +
2223 1849 Object.entries(originalStyles).forEach(function (_ref3) {
2224 1850 var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
2225 1851 originalStyleId = _ref4[0],
2226 1852 style = _ref4[1];
2227 - var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(element, newStyles);
1853 + var newStyleId = (0, _getRandomStyleId.getRandomStyleId)(container, newStyles);
2228 1854 newStyles[newStyleId] = structuredClone(_objectSpread(_objectSpread({}, style), {}, {
2229 1855 id: newStyleId
2230 1856 }));
2231 1857 changedIds[originalStyleId] = newStyleId;
@@ -2240,59 +1866,35 @@
2240 1866 return (_changedIds$className = changedIds[className]) !== null && _changedIds$className !== void 0 ? _changedIds$className : className;
2241 1867 })
2242 1868 })];
2243 1869 }, {});
2244 - return {
2245 - newStyles: newStyles,
2246 - newSettings: Object.fromEntries(newClassesProps)
2247 - };
2248 -}
2249 -function updateStyleIdForContainer(container) {
2250 - var model = container.model,
2251 - settings = container.settings;
2252 - var _calculateNewStylesAn = calculateNewStylesAndSettings(container, model, settings),
2253 - newStyles = _calculateNewStylesAn.newStyles,
2254 - newSettings = _calculateNewStylesAn.newSettings;
1870 +
1871 + // Update classes array
2255 1872 $e.internal('document/elements/set-settings', {
2256 1873 container: container,
2257 - settings: newSettings
1874 + settings: Object.fromEntries(newClassesProps)
2258 1875 });
2259 - model.set('styles', newStyles);
2260 -}
2261 -function updateStyleIdForModel(model) {
2262 - var settings = model.get('settings');
2263 - var _calculateNewStylesAn2 = calculateNewStylesAndSettings(model, model, settings),
2264 - newStyles = _calculateNewStylesAn2.newStyles,
2265 - newSettings = _calculateNewStylesAn2.newSettings;
2266 - settings.set(newSettings);
2267 - model.set('styles', newStyles);
2268 -}
2269 -function updateStyleId(model) {
2270 - var container = window.elementor.getContainer(model.get('id'));
2271 1876
2272 - // If view exists, update the styles via the container
2273 - if (container) {
2274 - updateStyleIdForContainer(container);
2275 - return;
2276 - }
2277 - updateStyleIdForModel(model);
1877 + // Update local styles
1878 + container.model.set('styles', newStyles);
2278 1879 }
2279 1880 function updateElementsStyleIdsInsideOut(styledElements) {
2280 1881 styledElements === null || styledElements === void 0 || styledElements.reverse().forEach(updateStyleId);
2281 1882 }
2282 1883
2283 -/***/ }),
2284 -
2285 -/***/ "../node_modules/@babel/runtime/helpers/OverloadYield.js":
2286 -/*!***************************************************************!*\
2287 - !*** ../node_modules/@babel/runtime/helpers/OverloadYield.js ***!
2288 - \***************************************************************/
2289 -/***/ ((module) => {
2290 -
2291 -function _OverloadYield(e, d) {
2292 - this.v = e, this.k = d;
1884 +/**
1885 + * Get a container - iterate over its children, find all styled atomic widgets and update their style ids
1886 + *
1887 + * @param {Container} container
1888 + */
1889 +function regenerateLocalStyleIds(container) {
1890 + var allElements = (0, _getElementChildren.getElementChildren)(container);
1891 + var styledElements = allElements.filter(function (element) {
1892 + var _element$model$get;
1893 + return Object.keys((_element$model$get = element.model.get('styles')) !== null && _element$model$get !== void 0 ? _element$model$get : {}).length > 0;
1894 + });
1895 + updateElementsStyleIdsInsideOut(styledElements);
2293 1896 }
2294 -module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
2295 1897
2296 1898 /***/ }),
2297 1899
2298 1900 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
@@ -2350,43 +1952,8 @@
2350 1952 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
2351 1953
2352 1954 /***/ }),
2353 1955
2354 -/***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
2355 -/*!******************************************************************!*\
2356 - !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
2357 - \******************************************************************/
2358 -/***/ ((module) => {
2359 -
2360 -function asyncGeneratorStep(n, t, e, r, o, a, c) {
2361 - try {
2362 - var i = n[a](c),
2363 - u = i.value;
2364 - } catch (n) {
2365 - return void e(n);
2366 - }
2367 - i.done ? t(u) : Promise.resolve(u).then(r, o);
2368 -}
2369 -function _asyncToGenerator(n) {
2370 - return function () {
2371 - var t = this,
2372 - e = arguments;
2373 - return new Promise(function (r, o) {
2374 - var a = n.apply(t, e);
2375 - function _next(n) {
2376 - asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
2377 - }
2378 - function _throw(n) {
2379 - asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
2380 - }
2381 - _next(void 0);
2382 - });
2383 - };
2384 -}
2385 -module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2386 -
2387 -/***/ }),
2388 -
2389 1956 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
2390 1957 /*!****************************************************************!*\
2391 1958 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
2392 1959 \****************************************************************/
@@ -2605,344 +2172,8 @@
2605 2172 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
2606 2173
2607 2174 /***/ }),
2608 2175
2609 -/***/ "../node_modules/@babel/runtime/helpers/regenerator.js":
2610 -/*!*************************************************************!*\
2611 - !*** ../node_modules/@babel/runtime/helpers/regenerator.js ***!
2612 - \*************************************************************/
2613 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2614 -
2615 -var regeneratorDefine = __webpack_require__(/*! ./regeneratorDefine.js */ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js");
2616 -function _regenerator() {
2617 - /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
2618 - var e,
2619 - t,
2620 - r = "function" == typeof Symbol ? Symbol : {},
2621 - n = r.iterator || "@@iterator",
2622 - o = r.toStringTag || "@@toStringTag";
2623 - function i(r, n, o, i) {
2624 - var c = n && n.prototype instanceof Generator ? n : Generator,
2625 - u = Object.create(c.prototype);
2626 - return regeneratorDefine(u, "_invoke", function (r, n, o) {
2627 - var i,
2628 - c,
2629 - u,
2630 - f = 0,
2631 - p = o || [],
2632 - y = !1,
2633 - G = {
2634 - p: 0,
2635 - n: 0,
2636 - v: e,
2637 - a: d,
2638 - f: d.bind(e, 4),
2639 - d: function d(t, r) {
2640 - return i = t, c = 0, u = e, G.n = r, a;
2641 - }
2642 - };
2643 - function d(r, n) {
2644 - for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
2645 - var o,
2646 - i = p[t],
2647 - d = G.p,
2648 - l = i[2];
2649 - r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
2650 - }
2651 - if (o || r > 1) return a;
2652 - throw y = !0, n;
2653 - }
2654 - return function (o, p, l) {
2655 - if (f > 1) throw TypeError("Generator is already running");
2656 - for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
2657 - i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
2658 - try {
2659 - if (f = 2, i) {
2660 - if (c || (o = "next"), t = i[o]) {
2661 - if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
2662 - if (!t.done) return t;
2663 - u = t.value, c < 2 && (c = 0);
2664 - } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
2665 - i = e;
2666 - } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
2667 - } catch (t) {
2668 - i = e, c = 1, u = t;
2669 - } finally {
2670 - f = 1;
2671 - }
2672 - }
2673 - return {
2674 - value: t,
2675 - done: y
2676 - };
2677 - };
2678 - }(r, o, i), !0), u;
2679 - }
2680 - var a = {};
2681 - function Generator() {}
2682 - function GeneratorFunction() {}
2683 - function GeneratorFunctionPrototype() {}
2684 - t = Object.getPrototypeOf;
2685 - var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {
2686 - return this;
2687 - }), t),
2688 - u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
2689 - function f(e) {
2690 - return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
2691 - }
2692 - return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function () {
2693 - return this;
2694 - }), regeneratorDefine(u, "toString", function () {
2695 - return "[object Generator]";
2696 - }), (module.exports = _regenerator = function _regenerator() {
2697 - return {
2698 - w: i,
2699 - m: f
2700 - };
2701 - }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
2702 -}
2703 -module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2704 -
2705 -/***/ }),
2706 -
2707 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorAsync.js":
2708 -/*!******************************************************************!*\
2709 - !*** ../node_modules/@babel/runtime/helpers/regeneratorAsync.js ***!
2710 - \******************************************************************/
2711 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2712 -
2713 -var regeneratorAsyncGen = __webpack_require__(/*! ./regeneratorAsyncGen.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js");
2714 -function _regeneratorAsync(n, e, r, t, o) {
2715 - var a = regeneratorAsyncGen(n, e, r, t, o);
2716 - return a.next().then(function (n) {
2717 - return n.done ? n.value : a.next();
2718 - });
2719 -}
2720 -module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
2721 -
2722 -/***/ }),
2723 -
2724 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js":
2725 -/*!*********************************************************************!*\
2726 - !*** ../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js ***!
2727 - \*********************************************************************/
2728 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2729 -
2730 -var regenerator = __webpack_require__(/*! ./regenerator.js */ "../node_modules/@babel/runtime/helpers/regenerator.js");
2731 -var regeneratorAsyncIterator = __webpack_require__(/*! ./regeneratorAsyncIterator.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js");
2732 -function _regeneratorAsyncGen(r, e, t, o, n) {
2733 - return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
2734 -}
2735 -module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
2736 -
2737 -/***/ }),
2738 -
2739 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js":
2740 -/*!**************************************************************************!*\
2741 - !*** ../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js ***!
2742 - \**************************************************************************/
2743 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2744 -
2745 -var OverloadYield = __webpack_require__(/*! ./OverloadYield.js */ "../node_modules/@babel/runtime/helpers/OverloadYield.js");
2746 -var regeneratorDefine = __webpack_require__(/*! ./regeneratorDefine.js */ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js");
2747 -function AsyncIterator(t, e) {
2748 - function n(r, o, i, f) {
2749 - try {
2750 - var c = t[r](o),
2751 - u = c.value;
2752 - return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {
2753 - n("next", t, i, f);
2754 - }, function (t) {
2755 - n("throw", t, i, f);
2756 - }) : e.resolve(u).then(function (t) {
2757 - c.value = t, i(c);
2758 - }, function (t) {
2759 - return n("throw", t, i, f);
2760 - });
2761 - } catch (t) {
2762 - f(t);
2763 - }
2764 - }
2765 - var r;
2766 - this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () {
2767 - return this;
2768 - })), regeneratorDefine(this, "_invoke", function (t, o, i) {
2769 - function f() {
2770 - return new e(function (e, r) {
2771 - n(t, i, e, r);
2772 - });
2773 - }
2774 - return r = r ? r.then(f, f) : f();
2775 - }, !0);
2776 -}
2777 -module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
2778 -
2779 -/***/ }),
2780 -
2781 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorDefine.js":
2782 -/*!*******************************************************************!*\
2783 - !*** ../node_modules/@babel/runtime/helpers/regeneratorDefine.js ***!
2784 - \*******************************************************************/
2785 -/***/ ((module) => {
2786 -
2787 -function _regeneratorDefine(e, r, n, t) {
2788 - var i = Object.defineProperty;
2789 - try {
2790 - i({}, "", {});
2791 - } catch (e) {
2792 - i = 0;
2793 - }
2794 - module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
2795 - function o(r, n) {
2796 - _regeneratorDefine(e, r, function (e) {
2797 - return this._invoke(r, n, e);
2798 - });
2799 - }
2800 - r ? i ? i(e, r, {
2801 - value: n,
2802 - enumerable: !t,
2803 - configurable: !t,
2804 - writable: !t
2805 - }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
2806 - }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
2807 -}
2808 -module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
2809 -
2810 -/***/ }),
2811 -
2812 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorKeys.js":
2813 -/*!*****************************************************************!*\
2814 - !*** ../node_modules/@babel/runtime/helpers/regeneratorKeys.js ***!
2815 - \*****************************************************************/
2816 -/***/ ((module) => {
2817 -
2818 -function _regeneratorKeys(e) {
2819 - var n = Object(e),
2820 - r = [];
2821 - for (var t in n) r.unshift(t);
2822 - return function e() {
2823 - for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;
2824 - return e.done = !0, e;
2825 - };
2826 -}
2827 -module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
2828 -
2829 -/***/ }),
2830 -
2831 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
2832 -/*!********************************************************************!*\
2833 - !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
2834 - \********************************************************************/
2835 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2836 -
2837 -var OverloadYield = __webpack_require__(/*! ./OverloadYield.js */ "../node_modules/@babel/runtime/helpers/OverloadYield.js");
2838 -var regenerator = __webpack_require__(/*! ./regenerator.js */ "../node_modules/@babel/runtime/helpers/regenerator.js");
2839 -var regeneratorAsync = __webpack_require__(/*! ./regeneratorAsync.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsync.js");
2840 -var regeneratorAsyncGen = __webpack_require__(/*! ./regeneratorAsyncGen.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js");
2841 -var regeneratorAsyncIterator = __webpack_require__(/*! ./regeneratorAsyncIterator.js */ "../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js");
2842 -var regeneratorKeys = __webpack_require__(/*! ./regeneratorKeys.js */ "../node_modules/@babel/runtime/helpers/regeneratorKeys.js");
2843 -var regeneratorValues = __webpack_require__(/*! ./regeneratorValues.js */ "../node_modules/@babel/runtime/helpers/regeneratorValues.js");
2844 -function _regeneratorRuntime() {
2845 - "use strict";
2846 -
2847 - var r = regenerator(),
2848 - e = r.m(_regeneratorRuntime),
2849 - t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
2850 - function n(r) {
2851 - var e = "function" == typeof r && r.constructor;
2852 - return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
2853 - }
2854 - var o = {
2855 - "throw": 1,
2856 - "return": 2,
2857 - "break": 3,
2858 - "continue": 3
2859 - };
2860 - function a(r) {
2861 - var e, t;
2862 - return function (n) {
2863 - e || (e = {
2864 - stop: function stop() {
2865 - return t(n.a, 2);
2866 - },
2867 - "catch": function _catch() {
2868 - return n.v;
2869 - },
2870 - abrupt: function abrupt(r, e) {
2871 - return t(n.a, o[r], e);
2872 - },
2873 - delegateYield: function delegateYield(r, o, a) {
2874 - return e.resultName = o, t(n.d, regeneratorValues(r), a);
2875 - },
2876 - finish: function finish(r) {
2877 - return t(n.f, r);
2878 - }
2879 - }, t = function t(r, _t, o) {
2880 - n.p = e.prev, n.n = e.next;
2881 - try {
2882 - return r(_t, o);
2883 - } finally {
2884 - e.next = n.n;
2885 - }
2886 - }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
2887 - try {
2888 - return r.call(this, e);
2889 - } finally {
2890 - n.p = e.prev, n.n = e.next;
2891 - }
2892 - };
2893 - }
2894 - return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
2895 - return {
2896 - wrap: function wrap(e, t, n, o) {
2897 - return r.w(a(e), t, n, o && o.reverse());
2898 - },
2899 - isGeneratorFunction: n,
2900 - mark: r.m,
2901 - awrap: function awrap(r, e) {
2902 - return new OverloadYield(r, e);
2903 - },
2904 - AsyncIterator: regeneratorAsyncIterator,
2905 - async: function async(r, e, t, o, u) {
2906 - return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
2907 - },
2908 - keys: regeneratorKeys,
2909 - values: regeneratorValues
2910 - };
2911 - }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
2912 -}
2913 -module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
2914 -
2915 -/***/ }),
2916 -
2917 -/***/ "../node_modules/@babel/runtime/helpers/regeneratorValues.js":
2918 -/*!*******************************************************************!*\
2919 - !*** ../node_modules/@babel/runtime/helpers/regeneratorValues.js ***!
2920 - \*******************************************************************/
2921 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2922 -
2923 -var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
2924 -function _regeneratorValues(e) {
2925 - if (null != e) {
2926 - var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"],
2927 - r = 0;
2928 - if (t) return t.call(e);
2929 - if ("function" == typeof e.next) return e;
2930 - if (!isNaN(e.length)) return {
2931 - next: function next() {
2932 - return e && r >= e.length && (e = void 0), {
2933 - value: e && e[r++],
2934 - done: !e
2935 - };
2936 - }
2937 - };
2938 - }
2939 - throw new TypeError(_typeof(e) + " is not iterable");
2940 -}
2941 -module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
2942 -
2943 -/***/ }),
2944 -
2945 2176 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
2946 2177 /*!****************************************************************!*\
2947 2178 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
2948 2179 \****************************************************************/
@@ -3079,33 +2310,8 @@
3079 2310 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
3080 2311
3081 2312 /***/ }),
3082 2313
3083 -/***/ "../node_modules/@babel/runtime/regenerator/index.js":
3084 -/*!***********************************************************!*\
3085 - !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
3086 - \***********************************************************/
3087 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3088 -
3089 -// TODO(Babel 8): Remove this file.
3090 -
3091 -var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
3092 -module.exports = runtime;
3093 -
3094 -// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
3095 -try {
3096 - regeneratorRuntime = runtime;
3097 -} catch (accidentalStrictMode) {
3098 - if (typeof globalThis === "object") {
3099 - globalThis.regeneratorRuntime = runtime;
3100 - } else {
3101 - Function("r", "regeneratorRuntime = r")(runtime);
3102 - }
3103 -}
3104 -
3105 -
3106 -/***/ }),
3107 -
3108 2314 /***/ "../node_modules/react-dom/client.js":
3109 2315 /*!*******************************************!*\
3110 2316 !*** ../node_modules/react-dom/client.js ***!
3111 2317 \*******************************************/
@@ -3219,8 +2425,13 @@
3219 2425 var _createAtomicElementBaseView = _interopRequireDefault(__webpack_require__(/*! ./create-atomic-element-base-view */ "../modules/atomic-widgets/assets/js/editor/create-atomic-element-base-view.js"));
3220 2426 var _atomicElementBaseModel = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-base-model */ "../modules/atomic-widgets/assets/js/editor/atomic-element-base-model.js"));
3221 2427 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"));
3222 2428 var _createFlexboxType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-flexbox-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-flexbox-type.js"));
2429 +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"));
2430 +var _createAtomicTabPanelType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/atomic-tab-panel/create-atomic-tab-panel-type.js"));
2431 +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"));
2432 +var _createAtomicTabsListType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-atomic-tabs-list-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-list-type.js"));
2433 +var _createAtomicTabsContentType = _interopRequireDefault(__webpack_require__(/*! ./atomic-element-types/create-atomic-tabs-content-type */ "../modules/atomic-widgets/assets/js/editor/atomic-element-types/create-atomic-tabs-content-type.js"));
3223 2434 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)); }
3224 2435 function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
3225 2436 var Module = /*#__PURE__*/function (_elementorModules$edi) {
3226 2437 function Module() {
@@ -3244,10 +2455,18 @@
3244 2455 }
3245 2456 }, {
3246 2457 key: "registerAtomicElements",
3247 2458 value: function registerAtomicElements() {
2459 + var nestedElementsExperiment = 'e_nested_elements';
3248 2460 elementor.elementsManager.registerElementType((0, _createDivBlockType.default)());
3249 2461 elementor.elementsManager.registerElementType((0, _createFlexboxType.default)());
2462 + if (elementorCommon.config.experimentalFeatures[nestedElementsExperiment]) {
2463 + elementor.elementsManager.registerElementType((0, _createAtomicTabsType.default)());
2464 + elementor.elementsManager.registerElementType((0, _createAtomicTabPanelType.default)());
2465 + elementor.elementsManager.registerElementType((0, _createAtomicTabType.default)());
2466 + elementor.elementsManager.registerElementType((0, _createAtomicTabsListType.default)());
2467 + elementor.elementsManager.registerElementType((0, _createAtomicTabsContentType.default)());
2468 + }
3250 2469 }
3251 2470 }]);
3252 2471 }(elementorModules.editor.utils.Module);
3253 2472 new Module();