', {
id: `elementor-popup__${name}-controls-group--${groupName}`,
class: 'elementor-popup__display-settings_controls_group'
});
const $imageWrapper = jQuery('
', {
class: 'elementor-popup__display-settings_controls_group__icon'
}),
$image = jQuery('
![]()
', {
src: elementorPro.config.urls.modules + `popup/assets/images/${name}/${groupName}.svg`
});
$imageWrapper.html($image);
$groupWrapper.html($imageWrapper);
child.$el.before($groupWrapper);
$groupWrapper.append(child.$el);
this.toggleGroup(groupName, $groupWrapper);
});
}
onModelChange() {
const changedControlName = Object.keys(this.model.changed)[0],
changedControlView = this.getControlViewByName(changedControlName);
if ('switcher' !== changedControlView.model.get('type')) {
return;
}
this.toggleGroup(changedControlName, changedControlView.$el.parent());
}
}
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/data/index.js":
/*!*************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/data/index.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "PopupSave", ({
enumerable: true,
get: function () {
return _save.PopupSave;
}
}));
var _save = __webpack_require__(/*! ./save */ "../modules/popup/assets/js/editor/hooks/data/save.js");
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/data/save.js":
/*!************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/data/save.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PopupSave = void 0;
class PopupSave extends $e.modules.hookData.After {
getCommand() {
return 'document/save/save';
}
getId() {
return 'elementor-pro-popup-save';
}
getConditions() {
return 'popup' === elementor.config.document.type;
}
apply() {
const settings = {};
jQuery.each(elementorPro.modules.popup.displaySettingsTypes, (type, data) => {
settings[type] = data.model.toJSON({
remove: ['default']
});
});
elementorPro.ajax.addRequest('popup_save_display_settings', {
data: {
settings
}
});
}
}
exports.PopupSave = PopupSave;
var _default = PopupSave;
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/index.js":
/*!********************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/index.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
var _data = __webpack_require__(/*! ./data/ */ "../modules/popup/assets/js/editor/hooks/data/index.js");
Object.keys(_data).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _data[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _data[key];
}
});
});
var _ui = __webpack_require__(/*! ./ui/ */ "../modules/popup/assets/js/editor/hooks/ui/index.js");
Object.keys(_ui).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _ui[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ui[key];
}
});
});
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-library-tab.js":
/*!***********************************************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-library-tab.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PopupRemoveLibraryTab = void 0;
class PopupRemoveLibraryTab extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/unload';
}
getId() {
return 'elementor-pro-popup-remove-library-tab';
}
getConditions(args) {
const {
document
} = args;
return 'popup' === document.config.type;
}
apply() {
$e.components.get('library').removeTab('templates/popups');
}
}
exports.PopupRemoveLibraryTab = PopupRemoveLibraryTab;
var _default = PopupRemoveLibraryTab;
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-triggers.js":
/*!********************************************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-triggers.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PopupRemoveTriggers = void 0;
class PopupRemoveTriggers extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/unload';
}
getId() {
return 'elementor-pro-popup-remove-triggers';
}
getConditions(args) {
const {
document
} = args;
return 'popup' === document.config.type;
}
apply() {
this.removePanelFooterSubmenuItems();
this.removePublishTabs();
}
removePanelFooterSubmenuItems() {
const displaySettingsTypes = elementorPro.modules.popup.displaySettingsTypes;
jQuery.each(displaySettingsTypes, type => {
elementor.getPanelView().footer.currentView.removeSubMenuItem('saver-options', {
name: type
});
});
}
removePublishTabs() {
const component = $e.components.get('theme-builder-publish'),
displaySettingsTypes = elementorPro.modules.popup.displaySettingsTypes;
jQuery.each(displaySettingsTypes, type => {
component.removeTab(type);
});
}
}
exports.PopupRemoveTriggers = PopupRemoveTriggers;
var _default = PopupRemoveTriggers;
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-library-tab.js":
/*!*******************************************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-library-tab.js ***!
\*******************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PopupAddLibraryTab = void 0;
class PopupAddLibraryTab extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/open';
}
getId() {
return 'elementor-pro-popup-add-library-tab';
}
getConditions(args) {
const document = elementor.documents.get(args.id);
return 'popup' === document.config.type;
}
apply() {
$e.components.get('library').addTab('templates/popups', {
title: __('Popups', 'elementor-pro'),
filter: {
source: 'remote',
type: 'popup'
}
}, 1);
}
}
exports.PopupAddLibraryTab = PopupAddLibraryTab;
var _default = PopupAddLibraryTab;
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-triggers.js":
/*!****************************************************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-triggers.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PopupAddTriggers = void 0;
var _displaySettings = _interopRequireDefault(__webpack_require__(/*! modules/popup/assets/js/editor/controls/display-settings */ "../modules/popup/assets/js/editor/controls/display-settings.js"));
class PopupAddTriggers extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/open';
}
getId() {
return 'elementor-pro-popup-add-triggers';
}
getConditions(args) {
const document = elementor.documents.get(args.id);
return 'popup' === document.config.type;
}
apply() {
if (elementor.panel) {
this.addUI();
} else {
// First open, the panel is not available yet.
elementor.once('preview:loaded', this.addUI.bind(this));
}
}
addUI() {
// Since 'addUI' can be called each document load, if 'theme-builder-publish/triggers' exists, the UI already exist.
if ($e.routes.commands['theme-builder-publish/triggers']) {
return;
}
this.addPanelFooterSubmenuItems();
this.addPublishTabs();
}
addPublishTabs() {
const config = elementor.config.document.displaySettings,
component = $e.components.get('theme-builder-publish'),
module = elementorPro.modules.popup;
jQuery.each(module.displaySettingsTypes, (type, data) => {
// Init models for editor save.
data.model = new elementorModules.editor.elements.models.BaseSettings(config[type].settings, {
controls: config[type].controls
});
component.addTab(type, {
View: _displaySettings.default,
viewOptions: {
name: type,
id: `elementor-popup-${type}__controls`,
model: data.model,
controls: data.model.controls
},
name: type,
title: data.title,
description: data.publishScreenDescription,
image: elementorPro.config.urls.modules + `popup/assets/images/${type}-tab.svg`
});
});
}
addPanelFooterSubmenuItems() {
const component = $e.components.get('theme-builder-publish'),
displaySettingsTypes = elementorPro.modules.popup.displaySettingsTypes;
jQuery.each(displaySettingsTypes, (type, data) => {
elementor.getPanelView().footer.currentView.addSubMenuItem('saver-options', {
before: 'save-template',
name: type,
icon: data.icon,
title: data.title,
callback: () => $e.route(component.getTabRoute(type))
});
});
}
}
exports.PopupAddTriggers = PopupAddTriggers;
var _default = PopupAddTriggers;
exports["default"] = _default;
/***/ }),
/***/ "../modules/popup/assets/js/editor/hooks/ui/index.js":
/*!***********************************************************!*\
!*** ../modules/popup/assets/js/editor/hooks/ui/index.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "PopupAddLibraryTab", ({
enumerable: true,
get: function () {
return _addLibraryTab.PopupAddLibraryTab;
}
}));
Object.defineProperty(exports, "PopupAddTriggers", ({
enumerable: true,
get: function () {
return _addTriggers.PopupAddTriggers;
}
}));
Object.defineProperty(exports, "PopupRemoveLibraryTab", ({
enumerable: true,
get: function () {
return _removeLibraryTab.PopupRemoveLibraryTab;
}
}));
Object.defineProperty(exports, "PopupRemoveTriggers", ({
enumerable: true,
get: function () {
return _removeTriggers.PopupRemoveTriggers;
}
}));
var _addLibraryTab = __webpack_require__(/*! ./editor/documents/open/add-library-tab */ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-library-tab.js");
var _addTriggers = __webpack_require__(/*! ./editor/documents/open/add-triggers */ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/open/add-triggers.js");
var _removeLibraryTab = __webpack_require__(/*! ./editor/documents/close/remove-library-tab */ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-library-tab.js");
var _removeTriggers = __webpack_require__(/*! ./editor/documents/close/remove-triggers */ "../modules/popup/assets/js/editor/hooks/ui/editor/documents/close/remove-triggers.js");
/***/ }),
/***/ "../modules/popup/assets/js/editor/module.js":
/*!***************************************************!*\
!*** ../modules/popup/assets/js/editor/module.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/popup/assets/js/editor/component.js"));
class PopupModule extends elementorModules.editor.utils.Module {
constructor() {
super(...arguments);
this.displaySettingsTypes = {
triggers: {
icon: 'eicon-click',
title: __('Triggers', 'elementor-pro'),
publishScreenDescription: __('What action the user needs to do for the popup to open.', 'elementor-pro')
},
timing: {
icon: 'eicon-cog',
title: __('Advanced Rules', 'elementor-pro'),
publishScreenDescription: __('Requirements that have to be met for the popup to open.', 'elementor-pro')
}
};
}
onElementorLoaded() {
this.component = $e.components.register(new _component.default({
manager: this
}));
}
}
module.exports = PopupModule;
/***/ }),
/***/ "../modules/query-control/assets/js/editor.js":
/*!****************************************************!*\
!*** ../modules/query-control/assets/js/editor.js ***!
\****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
module.exports = elementorModules.editor.utils.Module.extend({
onElementorPreviewLoaded() {
elementor.addControlView('Query', __webpack_require__(/*! ./editor/query-control */ "../modules/query-control/assets/js/editor/query-control.js"));
__webpack_require__.e(/*! import() */ "modules_query-control_assets_js_editor_template-query-control_js").then(__webpack_require__.bind(__webpack_require__, /*! ./editor/template-query-control */ "../modules/query-control/assets/js/editor/template-query-control.js")).then(_ref => {
let {
default: TemplateQueryControl
} = _ref;
return elementor.addControlView('template_query', TemplateQueryControl);
});
}
});
/***/ }),
/***/ "../modules/query-control/assets/js/editor/query-control.js":
/*!******************************************************************!*\
!*** ../modules/query-control/assets/js/editor/query-control.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
module.exports = elementor.modules.controls.Select2.extend({
cache: null,
isTitlesReceived: false,
getSelect2Placeholder() {
return {
id: '',
text: __('All', 'elementor-pro')
};
},
getControlValueByName(controlName) {
const name = this.model.get('group_prefix') + controlName;
return this.elementSettingsModel.attributes[name];
},
getQueryDataDeprecated() {
return {
filter_type: this.model.get('filter_type'),
object_type: this.model.get('object_type'),
include_type: this.model.get('include_type'),
query: this.model.get('query')
};
},
getQueryData() {
// Use a clone to keep model data unchanged:
const autocomplete = elementorCommon.helpers.cloneObject(this.model.get('autocomplete'));
if (_.isEmpty(autocomplete.query)) {
autocomplete.query = {};
}
// Specific for Group_Control_Query
if ('cpt_tax' === autocomplete.object) {
autocomplete.object = 'tax';
if (_.isEmpty(autocomplete.query) || _.isEmpty(autocomplete.query.post_type)) {
autocomplete.query.post_type = this.getControlValueByName('post_type');
}
}
return {
autocomplete
};
},
getSelect2DefaultOptions() {
const self = this;
return jQuery.extend(elementor.modules.controls.Select2.prototype.getSelect2DefaultOptions.apply(this, arguments), {
ajax: {
transport(params, success, failure) {
const bcFormat = !_.isEmpty(self.model.get('filter_type'));
let data = {},
action = 'panel_posts_control_filter_autocomplete';
if (bcFormat) {
data = self.getQueryDataDeprecated();
action = 'panel_posts_control_filter_autocomplete_deprecated';
} else {
data = self.getQueryData();
}
data.q = params.data.q;
return elementorPro.ajax.addRequest(action, {
data,
success,
error: failure
});
},
data(params) {
return {
q: params.term,
page: params.page
};
},
cache: true
},
escapeMarkup(markup) {
return markup;
},
minimumInputLength: 1
});
},
getValueTitles() {
const self = this,
data = {},
bcFormat = !_.isEmpty(this.model.get('filter_type'));
let ids = this.getControlValue(),
action = 'query_control_value_titles',
filterTypeName = 'autocomplete',
filterType = {};
if (bcFormat) {
filterTypeName = 'filter_type';
filterType = this.model.get(filterTypeName).object;
data.filter_type = filterType;
data.object_type = self.model.get('object_type');
data.include_type = self.model.get('include_type');
data.unique_id = '' + self.cid + filterType;
action = 'query_control_value_titles_deprecated';
} else {
filterType = this.model.get(filterTypeName).object;
data.get_titles = self.getQueryData().autocomplete;
data.unique_id = '' + self.cid + filterType;
}
if (!ids || !filterType) {
return;
}
if (!_.isArray(ids)) {
ids = [ids];
}
elementorCommon.ajax.loadObjects({
action,
ids,
data,
before() {
self.addControlSpinner();
},
success(ajaxData) {
self.isTitlesReceived = true;
self.model.set('options', ajaxData);
self.render();
}
});
},
addControlSpinner() {
this.ui.select.prop('disabled', true);
this.$el.find('.elementor-control-title').after('
');
},
onReady() {
if (!this.isTitlesReceived) {
this.getValueTitles();
}
}
});
/***/ }),
/***/ "../modules/screenshots/assets/js/editor/component.js":
/*!************************************************************!*\
!*** ../modules/screenshots/assets/js/editor/component.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var dataHooks = _interopRequireWildcard(__webpack_require__(/*! ./hooks/data */ "../modules/screenshots/assets/js/editor/hooks/data/index.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
class _default extends $e.modules.ComponentBase {
getNamespace() {
return 'screenshots';
}
defaultHooks() {
return this.importHooks(dataHooks);
}
}
exports["default"] = _default;
/***/ }),
/***/ "../modules/screenshots/assets/js/editor/hooks/data/document/save/save/delete-screenshot.js":
/*!**************************************************************************************************!*\
!*** ../modules/screenshots/assets/js/editor/hooks/data/document/save/save/delete-screenshot.js ***!
\**************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.DeleteScreenshot = void 0;
class DeleteScreenshot extends $e.modules.hookData.After {
getCommand() {
return 'document/save/save';
}
getConditions(args) {
const {
status
} = args,
config = elementor.documents.getCurrent().config;
return 'publish' === status && config.support_site_editor;
}
getId() {
return 'document/save/save::delete-screenshot';
}
apply() {
const postId = elementor.documents.getCurrent().id;
return elementorCommon.ajax.addRequest('screenshot_delete', {
unique_id: `delete_screenshot_${postId}`,
data: {
post_id: postId
}
});
}
}
exports.DeleteScreenshot = DeleteScreenshot;
var _default = DeleteScreenshot;
exports["default"] = _default;
/***/ }),
/***/ "../modules/screenshots/assets/js/editor/hooks/data/index.js":
/*!*******************************************************************!*\
!*** ../modules/screenshots/assets/js/editor/hooks/data/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "DeleteScreenshot", ({
enumerable: true,
get: function () {
return _deleteScreenshot.DeleteScreenshot;
}
}));
var _deleteScreenshot = __webpack_require__(/*! ./document/save/save/delete-screenshot */ "../modules/screenshots/assets/js/editor/hooks/data/document/save/save/delete-screenshot.js");
/***/ }),
/***/ "../modules/screenshots/assets/js/editor/module.js":
/*!*********************************************************!*\
!*** ../modules/screenshots/assets/js/editor/module.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/screenshots/assets/js/editor/component.js"));
class Module extends elementorModules.editor.utils.Module {
onElementorInit() {
$e.components.register(new _component.default());
}
}
exports["default"] = Module;
/***/ }),
/***/ "../modules/scroll-snap/assets/js/editor/component.js":
/*!************************************************************!*\
!*** ../modules/scroll-snap/assets/js/editor/component.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var hooks = _interopRequireWildcard(__webpack_require__(/*! ./hooks/ui */ "../modules/scroll-snap/assets/js/editor/hooks/ui/index.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
class ScrollSnapComponent extends $e.modules.ComponentBase {
getNamespace() {
return 'scroll-snap';
}
defaultHooks() {
return this.importHooks(hooks);
}
}
exports["default"] = ScrollSnapComponent;
/***/ }),
/***/ "../modules/scroll-snap/assets/js/editor/hooks/ui/document/elements/settings/focus-preview.js":
/*!****************************************************************************************************!*\
!*** ../modules/scroll-snap/assets/js/editor/hooks/ui/document/elements/settings/focus-preview.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.FocusPreview = void 0;
class FocusPreview extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'focus-preview--document/elements/settings';
}
getConditions(args) {
return args.settings.scroll_snap_padding?.size !== '';
}
apply() {
setTimeout(() => {
elementor.$preview[0].contentWindow.scrollBy(0, 0);
}, 100);
}
}
exports.FocusPreview = FocusPreview;
var _default = FocusPreview;
exports["default"] = _default;
/***/ }),
/***/ "../modules/scroll-snap/assets/js/editor/hooks/ui/index.js":
/*!*****************************************************************!*\
!*** ../modules/scroll-snap/assets/js/editor/hooks/ui/index.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "FocusPreview", ({
enumerable: true,
get: function () {
return _focusPreview.FocusPreview;
}
}));
var _focusPreview = __webpack_require__(/*! ./document/elements/settings/focus-preview */ "../modules/scroll-snap/assets/js/editor/hooks/ui/document/elements/settings/focus-preview.js");
/***/ }),
/***/ "../modules/scroll-snap/assets/js/editor/module.js":
/*!*********************************************************!*\
!*** ../modules/scroll-snap/assets/js/editor/module.js ***!
\*********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/scroll-snap/assets/js/editor/component.js"));
class Module extends elementorModules.editor.utils.Module {
/**
* Init
*/
onInit() {
super.onInit();
$e.components.register(new _component.default());
}
}
exports["default"] = Module;
/***/ }),
/***/ "../modules/share-buttons/assets/js/editor/editor.js":
/*!***********************************************************!*\
!*** ../modules/share-buttons/assets/js/editor/editor.js ***!
\***********************************************************/
/***/ ((module) => {
"use strict";
module.exports = elementorModules.editor.utils.Module.extend({
config: elementorPro.config.shareButtonsNetworks,
networksClassDictionary: {
google: 'fab fa-google-plus',
pocket: 'fab fa-get-pocket',
email: 'fas fa-envelope',
print: 'fas fa-print'
},
getNetworkClass(networkName) {
let networkClass = this.networksClassDictionary[networkName] || 'fab fa-' + networkName;
if (elementor.config.icons_update_needed) {
networkClass = 'fa ' + networkClass;
}
return networkClass;
},
getNetworkTitle(buttonSettings) {
// BC for items that are already selected and have been removed from the options list.
return buttonSettings.text || this.getNetworkData(buttonSettings)?.title;
},
getNetworkData(buttonSettings) {
return this.config[buttonSettings.button];
},
hasCounter(networkName, settings) {
return 'icon' !== settings.view && 'yes' === settings.show_counter && this.config[networkName].has_counter;
}
});
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/conditions/repeater-row.js":
/*!****************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/conditions/repeater-row.js ***!
\****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = elementor.modules.controls.RepeaterRow.extend({
template: '#tmpl-elementor-theme-builder-conditions-repeater-row',
childViewContainer: '.elementor-theme-builder-conditions-repeater-row-controls',
conflictCheckedOnFirstRender: false,
id() {
return 'elementor-condition-id-' + this.model.get('_id');
},
onBeforeRender() {
var subNameModel = this.collection.findWhere({
name: 'sub_name'
}),
subIdModel = this.collection.findWhere({
name: 'sub_id'
}),
subConditionConfig = this.config.conditions[this.model.attributes.sub_name];
subNameModel.attributes.groups = this.getOptions();
if (subConditionConfig && subConditionConfig.controls) {
_(subConditionConfig.controls).each(function (control) {
subIdModel.set(control);
subIdModel.set('name', 'sub_id');
});
}
},
initialize() {
elementor.modules.controls.RepeaterRow.prototype.initialize.apply(this, arguments);
this.config = elementor.config.document.theme_builder;
},
updateOptions() {
if (this.model.changed.name) {
this.model.set({
sub_name: '',
sub_id: ''
});
}
if (this.model.changed.name || this.model.changed.sub_name) {
this.model.set('sub_id', '', {
silent: true
});
var subIdModel = this.collection.findWhere({
name: 'sub_id'
});
subIdModel.set({
type: 'select',
options: {
'': 'All'
}
});
this.render();
}
if (this.model.changed.type) {
this.setTypeAttribute();
}
},
getOptions() {
var self = this,
conditionConfig = self.config.conditions[this.model.get('name')];
if (!conditionConfig) {
return;
}
var options = {
'': conditionConfig.all_label
};
_(conditionConfig.sub_conditions).each(function (conditionId, conditionIndex) {
var subConditionConfig = self.config.conditions[conditionId],
group;
if (!subConditionConfig) {
return;
}
if (subConditionConfig.sub_conditions.length) {
group = {
label: subConditionConfig.label,
options: {}
};
group.options[conditionId] = subConditionConfig.all_label;
_(subConditionConfig.sub_conditions).each(function (subConditionId) {
group.options[subConditionId] = self.config.conditions[subConditionId].label;
});
// Use a sting key - to keep order
options['key' + conditionIndex] = group;
} else {
options[conditionId] = subConditionConfig.label;
}
});
return options;
},
setTypeAttribute() {
var typeView = this.children.findByModel(this.collection.findWhere({
name: 'type'
}));
typeView.$el.attr('data-elementor-condition-type', typeView.getControlValue());
},
// Moved from `modules/theme-builder/assets/js/editor/conditions/repeater.js`.
checkConflicts() {
var modelId = this.model.get('_id'),
rowId = 'elementor-condition-id-' + modelId,
errorMessageId = 'elementor-conditions-conflict-message-' + modelId,
$error = jQuery('#' + errorMessageId);
// On render - the row isn't exist, so don't cache it.
jQuery('#' + rowId).removeClass('elementor-error');
$error.remove();
elementorPro.ajax.addRequest('theme_builder_conditions_check_conflicts', {
unique_id: rowId,
data: {
condition: this.model.toJSON()
},
success(data) {
if (!_.isEmpty(data)) {
jQuery('#' + rowId).addClass('elementor-error').after('
' + data + '
');
}
}
});
},
onRender() {
var nameModel = this.collection.findWhere({
name: 'name'
}),
subNameModel = this.collection.findWhere({
name: 'sub_name'
}),
subIdModel = this.collection.findWhere({
name: 'sub_id'
}),
nameView = this.children.findByModel(nameModel),
subNameView = this.children.findByModel(subNameModel),
subIdView = this.children.findByModel(subIdModel),
conditionConfig = this.config.conditions[this.model.attributes.name],
subConditionConfig = this.config.conditions[this.model.attributes.sub_name],
typeConfig = this.config.types[this.config.settings.template_type];
if (typeConfig.condition_type === nameView.getControlValue() && 'general' !== nameView.getControlValue() && !_.isEmpty(conditionConfig.sub_conditions)) {
nameView.$el.hide();
}
if (!conditionConfig || _.isEmpty(conditionConfig.sub_conditions) && _.isEmpty(conditionConfig.controls) || !nameView.getControlValue() || 'general' === nameView.getControlValue()) {
subNameView.$el.hide();
}
if (!subConditionConfig || _.isEmpty(subConditionConfig.controls) || !subNameView.getControlValue()) {
subIdView.$el.hide();
}
// Avoid set a `single` for a-l-l singular types. (conflicted with 404 & custom cpt like Shops and Events plugins).
if ('singular' === typeConfig.condition_type) {
if ('' === subNameView.getControlValue()) {
subNameView.setValue('post');
}
}
this.setTypeAttribute();
if (!this.conflictCheckedOnFirstRender) {
this.checkConflicts();
this.conflictCheckedOnFirstRender = true;
}
},
onModelChange() {
this.updateOptions();
this.checkConflicts();
}
});
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/conditions/repeater.js":
/*!************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/conditions/repeater.js ***!
\************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _repeaterRow = _interopRequireDefault(__webpack_require__(/*! ./repeater-row */ "../modules/theme-builder/assets/js/editor/conditions/repeater-row.js"));
module.exports = elementor.modules.controls.Repeater.extend({
childView: _repeaterRow.default,
updateActiveRow() {},
initialize() {
elementor.modules.controls.Repeater.prototype.initialize.apply(this, arguments);
this.config = elementor.config.document.theme_builder;
this.updateConditionsOptions(this.config.settings.template_type);
},
updateConditionsOptions(templateType) {
var self = this,
conditionType = self.config.types[templateType].condition_type,
options = {};
_([conditionType]).each(function (conditionId, conditionIndex) {
var conditionConfig = self.config.conditions[conditionId],
group = {
label: conditionConfig.label,
options: {}
};
group.options[conditionId] = conditionConfig.all_label;
_(conditionConfig.sub_conditions).each(function (subConditionId) {
group.options[subConditionId] = self.config.conditions[subConditionId].label;
});
options[conditionIndex] = group;
});
var fields = this.model.get('fields');
fields[1].default = conditionType;
if ('general' === conditionType) {
fields[1].groups = options;
} else {
fields[2].groups = options;
}
},
onRender() {
this.ui.btnAddRow.text(__('Add Condition', 'elementor-pro'));
}
});
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/conditions/view.js":
/*!********************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/conditions/view.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var inlineControlsStack = __webpack_require__(/*! elementor-pro/editor/inline-controls-stack.js */ "../assets/dev/js/editor/inline-controls-stack.js");
module.exports = inlineControlsStack.extend({
id: 'elementor-theme-builder-conditions-view',
template: '#tmpl-elementor-theme-builder-conditions-view',
childViewContainer: '#elementor-theme-builder-conditions-controls',
childViewOptions() {
return {
elementSettingsModel: this.model
};
}
});
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/index.js":
/*!************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/index.js ***!
\************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "ThemeBuilderSaveAndReload", ({
enumerable: true,
get: function () {
return _saveAndReload.ThemeBuilderSaveAndReload;
}
}));
Object.defineProperty(exports, "ThemeBuilderUpdatePreviewOptions", ({
enumerable: true,
get: function () {
return _updatePreviewOptions.ThemeBuilderUpdatePreviewOptions;
}
}));
var _saveAndReload = __webpack_require__(/*! ./save-and-reload */ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/save-and-reload.js");
var _updatePreviewOptions = __webpack_require__(/*! ./update-preview-options */ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/update-preview-options.js");
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/save-and-reload.js":
/*!**********************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/save-and-reload.js ***!
\**********************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderSaveAndReload = void 0;
/**
* Hook fired when template: 'single' page layout changed.
*/
class ThemeBuilderSaveAndReload extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'elementor-pro-theme-builder-save-and-reload';
}
getContainerType() {
return 'document';
}
getConditions(args) {
return args.settings && args.settings.page_template;
}
apply() {
$e.run('document/save/auto', {
force: true,
onSuccess: () => {
elementor.reloadPreview();
elementor.once('preview:loaded', () => {
$e.route('panel/page-settings/settings');
});
}
});
}
}
exports.ThemeBuilderSaveAndReload = ThemeBuilderSaveAndReload;
var _default = ThemeBuilderSaveAndReload;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/update-preview-options.js":
/*!*****************************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/update-preview-options.js ***!
\*****************************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderUpdatePreviewOptions = void 0;
class ThemeBuilderUpdatePreviewOptions extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'elementor-pro-theme-builder-update-preview-options';
}
getContainerType() {
return 'document';
}
getConditions(args) {
return args.settings && args.settings.preview_type;
}
apply(args) {
const {
containers = [args.container]
} = args,
{
themeBuilder
} = elementorPro.modules;
$e.run('document/elements/settings', {
containers,
settings: {
preview_id: '',
preview_search_term: ''
}
});
if ($e.routes.is('panel/page-settings/settings')) {
themeBuilder.updatePreviewIdOptions(true);
}
}
}
exports.ThemeBuilderUpdatePreviewOptions = ThemeBuilderUpdatePreviewOptions;
var _default = ThemeBuilderUpdatePreviewOptions;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/document/save/save-conditions.js":
/*!*********************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/document/save/save-conditions.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderSaveConditions = void 0;
class ThemeBuilderSaveConditions extends $e.modules.hookData.After {
getCommand() {
return 'document/save/save';
}
getId() {
return 'elementor-pro-theme-builder-save-conditions';
}
getConditions() {
return !!elementor.config.document.theme_builder;
}
apply() {
const {
conditionsModel
} = elementorPro.modules.themeBuilder;
elementorPro.ajax.addRequest('theme_builder_save_conditions', {
data: conditionsModel.toJSON({
remove: ['default']
}),
success: () => {
elementor.config.document.theme_builder.settings.conditions = conditionsModel.get('conditions');
}
});
}
}
exports.ThemeBuilderSaveConditions = ThemeBuilderSaveConditions;
var _default = ThemeBuilderSaveConditions;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/document/save/show-conditions.js":
/*!*********************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/document/save/show-conditions.js ***!
\*********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderShowConditions = void 0;
class ThemeBuilderShowConditions extends $e.modules.hookData.Dependency {
getCommand() {
return 'document/save/default';
}
getId() {
return 'elementor-pro-theme-builder-show-conditions';
}
getConditions(args) {
const {
force = false
} = args;
// If force save, do not show conditions.
if (force) {
return false;
}
let showConditions = false;
const themeBuilder = elementor.config.document.theme_builder;
if (themeBuilder) {
const hasConditions = themeBuilder.settings.conditions.length,
hasLocation = themeBuilder.settings.location,
isDraft = 'draft' === elementor.settings.page.model.get('post_status');
if (hasLocation && (!hasConditions || isDraft)) {
showConditions = true;
}
}
return showConditions;
}
apply() {
$e.route('theme-builder-publish/conditions');
return false; // HookBreak.
}
}
exports.ThemeBuilderShowConditions = ThemeBuilderShowConditions;
var _default = ThemeBuilderShowConditions;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/editor/documents/preview/preview-break.js":
/*!******************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/editor/documents/preview/preview-break.js ***!
\******************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderPreviewBreak = void 0;
class ThemeBuilderPreviewBreak extends $e.modules.hookData.Dependency {
getCommand() {
return 'editor/documents/preview';
}
getId() {
return 'elementor-pro-theme-builder-preview-break';
}
getConditions(args) {
// If preview is forced, do not break it.
if (args.force) {
return false;
}
return !!elementor.documents.get(args.id).config.theme_builder;
}
apply() {
return false; // HookBreak.
}
}
exports.ThemeBuilderPreviewBreak = ThemeBuilderPreviewBreak;
var _default = ThemeBuilderPreviewBreak;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/data/index.js":
/*!*********************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/data/index.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
var _exportNames = {
ThemeBuilderSaveConditions: true,
ThemeBuilderShowConditions: true,
ThemeBuilderPreviewBreak: true
};
Object.defineProperty(exports, "ThemeBuilderPreviewBreak", ({
enumerable: true,
get: function () {
return _previewBreak.ThemeBuilderPreviewBreak;
}
}));
Object.defineProperty(exports, "ThemeBuilderSaveConditions", ({
enumerable: true,
get: function () {
return _saveConditions.ThemeBuilderSaveConditions;
}
}));
Object.defineProperty(exports, "ThemeBuilderShowConditions", ({
enumerable: true,
get: function () {
return _showConditions.ThemeBuilderShowConditions;
}
}));
var _settings = __webpack_require__(/*! ./document/elements/settings */ "../modules/theme-builder/assets/js/editor/hooks/data/document/elements/settings/index.js");
Object.keys(_settings).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _settings[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _settings[key];
}
});
});
var _saveConditions = __webpack_require__(/*! ./document/save/save-conditions */ "../modules/theme-builder/assets/js/editor/hooks/data/document/save/save-conditions.js");
var _showConditions = __webpack_require__(/*! ./document/save/show-conditions */ "../modules/theme-builder/assets/js/editor/hooks/data/document/save/show-conditions.js");
var _previewBreak = __webpack_require__(/*! ./editor/documents/preview/preview-break */ "../modules/theme-builder/assets/js/editor/hooks/data/editor/documents/preview/preview-break.js");
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/index.js":
/*!****************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/index.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
var _data = __webpack_require__(/*! ./data/ */ "../modules/theme-builder/assets/js/editor/hooks/data/index.js");
Object.keys(_data).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _data[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _data[key];
}
});
});
var _ui = __webpack_require__(/*! ./ui/ */ "../modules/theme-builder/assets/js/editor/hooks/ui/index.js");
Object.keys(_ui).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _ui[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ui[key];
}
});
});
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/document/elements/settings/toggle-menu-conditions.js":
/*!**********************************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/ui/editor/document/elements/settings/toggle-menu-conditions.js ***!
\**********************************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderToggleMenuConditions = void 0;
class ThemeBuilderToggleMenuConditions extends $e.modules.hookUI.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'elementor-pro-theme-builder-toggle-menu-conditions';
}
getContainerType() {
return 'document';
}
getConditions(args) {
return args.settings && args.settings.location;
}
apply() {
const {
themeBuilder
} = elementorPro.modules;
themeBuilder.ui.menuConditions.toggle(!!elementor.config.document.theme_builder.settings.location);
}
}
exports.ThemeBuilderToggleMenuConditions = ThemeBuilderToggleMenuConditions;
var _default = ThemeBuilderToggleMenuConditions;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/close/remove-editor-ui.js":
/*!*****************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/close/remove-editor-ui.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderRemoveEditorUI = void 0;
class ThemeBuilderRemoveEditorUI extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/unload';
}
getId() {
return 'elementor-pro-theme-builder-remove-editor-ui';
}
getConditions(args) {
const {
document
} = args;
return document.config.theme_builder;
}
apply() {
this.removePanelFooterSubmenuItems();
this.removePublishTabs();
}
removePanelFooterSubmenuItems() {
const footerView = elementor.getPanelView().footer.currentView,
behavior = footerView._behaviors[Object.keys(footerView.behaviors()).indexOf('saver')];
elementor.getPanelView().footer.currentView.removeSubMenuItem('saver-options', {
name: 'conditions'
});
behavior.ui.buttonPreview.tipsy('enable').removeClass('elementor-panel-footer-theme-builder-buttons-wrapper elementor-toggle-state');
}
removePublishTabs() {
const component = $e.components.get('theme-builder-publish');
component.removeTab('conditions');
}
}
exports.ThemeBuilderRemoveEditorUI = ThemeBuilderRemoveEditorUI;
var _default = ThemeBuilderRemoveEditorUI;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/open/add-editor-ui.js":
/*!*************************************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/open/add-editor-ui.js ***!
\*************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ThemeBuilderAddEditorUI = void 0;
var _view = _interopRequireDefault(__webpack_require__(/*! ../../../../../conditions/view */ "../modules/theme-builder/assets/js/editor/conditions/view.js"));
class ThemeBuilderAddEditorUI extends $e.modules.hookUI.After {
getCommand() {
return 'editor/documents/open';
}
getId() {
return 'elementor-pro-theme-builder-add-editor-ui';
}
getConditions(args) {
return elementor.documents.get(args.id).config.theme_builder;
}
apply() {
if (elementor.panel) {
this.addUI();
} else {
// First open, the panel is not available yet.
elementor.once('preview:loaded', this.addUI.bind(this));
}
}
addUI() {
this.addRepeaterControlView();
this.addPanelFooterSubmenuItems();
this.addPublishTabs();
}
addRepeaterControlView() {
elementor.addControlView('Conditions_repeater', __webpack_require__(/*! ../../../../../conditions/repeater */ "../modules/theme-builder/assets/js/editor/conditions/repeater.js"));
}
addPublishTabs() {
const component = $e.components.get('theme-builder-publish'),
themeBuilderModuleConfig = elementor.config.document.theme_builder,
settings = themeBuilderModuleConfig.settings;
component.manager.conditionsModel = new elementorModules.editor.elements.models.BaseSettings(settings, {
controls: themeBuilderModuleConfig.template_conditions.controls
});
component.addTab('conditions', {
title: __('Conditions', 'elementor-pro'),
View: _view.default,
viewOptions: {
model: component.manager.conditionsModel,
controls: component.manager.conditionsModel.controls
},
name: 'conditions',
description: __('Apply current template to these pages.', 'elementor-pro'),
image: elementorPro.config.urls.modules + 'theme-builder/assets/images/conditions-tab.svg'
});
}
addPanelFooterSubmenuItems() {
const footerView = elementor.getPanelView().footer.currentView,
behavior = footerView._behaviors[Object.keys(footerView.behaviors()).indexOf('saver')];
footerView.ui.menuConditions = footerView.addSubMenuItem('saver-options', {
before: 'save-template',
name: 'conditions',
icon: 'eicon-flow',
title: __('Display Conditions', 'elementor-pro'),
callback: () => $e.route('theme-builder-publish/conditions')
});
footerView.ui.menuConditions.toggle(!!elementor.config.document.theme_builder.settings.location);
behavior.ui.buttonPreview.tipsy('disable').html(jQuery('#tmpl-elementor-theme-builder-button-preview').html()).addClass('elementor-panel-footer-theme-builder-buttons-wrapper elementor-toggle-state');
}
}
exports.ThemeBuilderAddEditorUI = ThemeBuilderAddEditorUI;
var _default = ThemeBuilderAddEditorUI;
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/ui/index.js":
/*!*******************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/ui/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "ThemeBuilderAddEditorUI", ({
enumerable: true,
get: function () {
return _addEditorUi.ThemeBuilderAddEditorUI;
}
}));
Object.defineProperty(exports, "ThemeBuilderFooterSaverAfterSave", ({
enumerable: true,
get: function () {
return _after.ThemeBuilderFooterSaverAfterSave;
}
}));
Object.defineProperty(exports, "ThemeBuilderRemoveEditorUI", ({
enumerable: true,
get: function () {
return _removeEditorUi.ThemeBuilderRemoveEditorUI;
}
}));
Object.defineProperty(exports, "ThemeBuilderToggleMenuConditions", ({
enumerable: true,
get: function () {
return _toggleMenuConditions.ThemeBuilderToggleMenuConditions;
}
}));
var _addEditorUi = __webpack_require__(/*! ./editor/documents/open/add-editor-ui */ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/open/add-editor-ui.js");
var _removeEditorUi = __webpack_require__(/*! ./editor/documents/close/remove-editor-ui */ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/documents/close/remove-editor-ui.js");
var _toggleMenuConditions = __webpack_require__(/*! ./editor/document/elements/settings/toggle-menu-conditions */ "../modules/theme-builder/assets/js/editor/hooks/ui/editor/document/elements/settings/toggle-menu-conditions.js");
var _after = __webpack_require__(/*! ./save/after */ "../modules/theme-builder/assets/js/editor/hooks/ui/save/after.js");
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/hooks/ui/save/after.js":
/*!************************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/hooks/ui/save/after.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.ThemeBuilderFooterSaverAfterSave = void 0;
class ThemeBuilderFooterSaverAfterSave extends $e.modules.hookUI.After {
getCommand() {
return 'document/save/save';
}
getId() {
return 'theme-builder-footer-saver-after-save';
}
getConditions() {
return elementor.config.document.support_site_editor;
}
apply(args, result) {
const {
status
} = args;
if (result.statusChanged) {
this.onPageStatusChange(status);
}
}
onPageStatusChange(newStatus) {
if ('publish' !== newStatus) {
return;
}
const options = {
classes: 'e-theme-builder-save-toaster',
message: elementor.config.document.panel.messages.publish_notification,
buttons: [{
name: 'open_site_editor',
text: '
' + __('Open Site Editor', 'elementor-pro') + '',
callback() {
$e.run('app/open');
}
}, {
name: 'view_live_site',
text: '
' + __('View Live Site', 'elementor-pro') + '',
callback() {
open(elementor.config.document.urls.permalink);
}
}]
};
elementor.notifications.showToast(options);
}
}
exports.ThemeBuilderFooterSaverAfterSave = ThemeBuilderFooterSaverAfterSave;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/module.js":
/*!***********************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/module.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _component = _interopRequireDefault(__webpack_require__(/*! ./publish/component */ "../modules/theme-builder/assets/js/editor/publish/component.js"));
class ThemeBuilderModule extends elementorModules.editor.utils.Module {
__construct() {
super.__construct(...arguments);
Object.defineProperty(elementorPro.config, 'theme_builder', {
get() {
elementorCommon.helpers.softDeprecated('theme_builder', '2.9.0', 'elementor.config.document.theme_builder');
return elementor.config.document.theme_builder;
}
});
}
onElementorLoaded() {
this.component = $e.components.register(new _component.default({
manager: this
}));
elementor.on('document:loaded', this.onDocumentLoaded.bind(this));
elementor.on('document:unload', this.onDocumentUnloaded.bind(this));
this.onApplyPreview = this.onApplyPreview.bind(this);
this.onSectionPreviewSettingsActive = this.onSectionPreviewSettingsActive.bind(this);
elementor.channels.editor.on('elementorProSiteLogo:change', this.openSiteIdentity);
}
onDocumentLoaded(document) {
if (!document.config.theme_builder) {
return;
}
elementor.getPanelView().on('set:page:page_settings', this.updatePreviewIdOptions);
elementor.channels.editor.on('elementorThemeBuilder:ApplyPreview', this.onApplyPreview);
elementor.channels.editor.on('page_settings:preview_settings:activated', this.onSectionPreviewSettingsActive);
}
onDocumentUnloaded(document) {
if (!document.config.theme_builder) {
return;
}
elementor.getPanelView().off('set:page:page_settings', this.updatePreviewIdOptions);
elementor.channels.editor.off('elementorThemeBuilder:ApplyPreview', this.onApplyPreview);
elementor.channels.editor.off('page_settings:preview_settings:activated', this.onSectionPreviewSettingsActive);
}
saveAndReload() {
$e.run('document/save/auto', {
force: true,
onSuccess: () => {
elementor.dynamicTags.cleanCache();
const isInitialDocument = elementor.config.initial_document.id === elementor.documents.getCurrentId();
if (isInitialDocument) {
// Page templates (e.g. single) with header/footer requires a full reload in order
// to change the main query also for them.
elementor.reloadPreview();
} else {
$e.internal('editor/documents/attach-preview');
}
}
});
}
onApplyPreview() {
this.saveAndReload();
}
onSectionPreviewSettingsActive() {
this.updatePreviewIdOptions(true);
}
updatePreviewIdOptions(render) {
let previewType = elementor.settings.page.model.get('preview_type');
if (!previewType) {
return;
}
previewType = previewType.split('/');
const currentView = elementor.getPanelView().getCurrentPageView(),
controlModel = currentView.collection.findWhere({
name: 'preview_id'
});
if ('author' === previewType[1]) {
controlModel.set({
autocomplete: {
object: 'author'
}
});
} else if ('taxonomy' === previewType[0]) {
controlModel.set({
autocomplete: {
object: 'tax',
query: {
taxonomy: previewType[1]
}
}
});
} else if ('single' === previewType[0]) {
controlModel.set({
autocomplete: {
object: 'post',
query: {
post_type: previewType[1]
}
}
});
} else {
controlModel.set({
autocomplete: {
object: ''
}
});
}
if (true === render) {
// Can be model.
const controlView = currentView.children.findByModel(controlModel);
controlView.render();
controlView.$el.toggle(!!controlModel.get('autocomplete').object);
}
}
async openSiteIdentity() {
await $e.run('panel/global/open');
$e.route('panel/global/settings-site-identity');
}
}
exports["default"] = ThemeBuilderModule;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/publish/component.js":
/*!**********************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/publish/component.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _content = _interopRequireDefault(__webpack_require__(/*! ./content */ "../modules/theme-builder/assets/js/editor/publish/content.js"));
var _layout = _interopRequireDefault(__webpack_require__(/*! ./layout */ "../modules/theme-builder/assets/js/editor/publish/layout.js"));
var hooks = _interopRequireWildcard(__webpack_require__(/*! ../hooks */ "../modules/theme-builder/assets/js/editor/hooks/index.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
class Component extends $e.modules.ComponentModalBase {
getNamespace() {
// TODO: should be 'theme-builder/publish'.
return 'theme-builder-publish';
}
getModalLayout() {
return _layout.default;
}
defaultCommands() {
return {
next: () => {
const tabs = Object.keys(this.tabs),
next = tabs[this.currentTabIndex + 1];
if (next) {
$e.route(this.getTabRoute(next));
}
},
save: () => {
$e.run('document/save/default', {
force: true
});
this.layout.hideModal();
},
'preview-settings': () => {
// TODO: This is function is not part of this component.
const panel = elementor.getPanelView();
$e.route('panel/page-settings/settings');
panel.getCurrentPageView().activateSection('preview_settings')._renderChildren();
}
};
}
defaultHooks() {
return this.importHooks(hooks);
}
getTabsWrapperSelector() {
return '#elementor-publish__tabs';
}
renderTab(tab) {
const tabs = this.getTabs(),
keys = Object.keys(tabs),
tabArgs = tabs[tab];
this.currentTabIndex = keys.indexOf(tab);
const isLastTab = !keys[this.currentTabIndex + 1];
this.layout.modalContent.currentView.screen.show(new tabArgs.View(tabArgs.viewOptions));
this.layout.modal.getElements('next').toggle(!isLastTab);
this.layout.modal.getElements('publish').toggleClass('e-primary', isLastTab);
}
activateTab(tab) {
$e.routes.saveState(this.getNamespace());
super.activateTab(tab);
}
open() {
super.open();
if (!this.layoutContent) {
this.layout.showLogo();
this.layout.modalContent.show(new _content.default({
component: this
}));
this.layoutContent = true;
}
return true;
}
}
exports["default"] = Component;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/publish/content.js":
/*!********************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/publish/content.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class _default extends Marionette.LayoutView {
id() {
return 'elementor-publish';
}
getTemplate() {
return Marionette.TemplateCache.get('#tmpl-elementor-component-publish');
}
regions() {
return {
screen: '#elementor-publish__screen'
};
}
templateHelpers() {
return {
tabs: this.getOption('component').getTabs()
};
}
}
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-builder/assets/js/editor/publish/layout.js":
/*!*******************************************************************!*\
!*** ../modules/theme-builder/assets/js/editor/publish/layout.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class _default extends elementorModules.common.views.modal.Layout {
getModalOptions() {
return {
id: 'elementor-publish__modal',
hide: {
onButtonClick: false
}
};
}
getLogoOptions() {
return {
title: __('Publish Settings', 'elementor-pro')
};
}
initModal() {
super.initModal();
this.modal.addButton({
name: 'publish',
text: __('Save & Close', 'elementor-pro'),
callback: () => $e.run('theme-builder-publish/save')
});
this.modal.getElements('publish').addClass('e-btn-txt');
this.modal.addButton({
name: 'next',
text: __('Next', 'elementor-pro'),
callback: () => $e.run('theme-builder-publish/next')
});
const $publishButton = this.modal.getElements('publish');
this.modal.getElements('next').addClass('e-primary').add($publishButton).addClass('elementor-button').removeClass('dialog-button');
}
}
exports["default"] = _default;
/***/ }),
/***/ "../modules/theme-elements/assets/js/editor/comments-skin.js":
/*!*******************************************************************!*\
!*** ../modules/theme-elements/assets/js/editor/comments-skin.js ***!
\*******************************************************************/
/***/ ((module) => {
"use strict";
module.exports = function () {
var self = this;
self.onPanelShow = function (panel, model) {
var settingsModel = model.get('settings');
// If no skins - set the skin to `theme_comments`.
if (!settingsModel.controls._skin.default) {
settingsModel.set('_skin', 'theme_comments');
}
};
self.init = function () {
elementor.hooks.addAction('panel/open_editor/widget/post-comments', self.onPanelShow);
};
self.init();
};
/***/ }),
/***/ "../modules/theme-elements/assets/js/editor/editor.js":
/*!************************************************************!*\
!*** ../modules/theme-elements/assets/js/editor/editor.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
module.exports = elementorModules.editor.utils.Module.extend({
onElementorPreviewLoaded() {
var CommentsSkin = __webpack_require__(/*! ./comments-skin */ "../modules/theme-elements/assets/js/editor/comments-skin.js");
this.commentsSkin = new CommentsSkin();
}
});
/***/ }),
/***/ "../modules/video-playlist/assets/js/editor/component.js":
/*!***************************************************************!*\
!*** ../modules/video-playlist/assets/js/editor/component.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var hooks = _interopRequireWildcard(__webpack_require__(/*! ./hooks/ui */ "../modules/video-playlist/assets/js/editor/hooks/ui/index.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
class VideoPlaylistComponent extends $e.modules.ComponentBase {
getNamespace() {
return 'video-playlist';
}
defaultHooks() {
return this.importHooks(hooks);
}
}
exports["default"] = VideoPlaylistComponent;
/***/ }),
/***/ "../modules/video-playlist/assets/js/editor/hooks/ui/document/elements/settings/active-tab.js":
/*!****************************************************************************************************!*\
!*** ../modules/video-playlist/assets/js/editor/hooks/ui/document/elements/settings/active-tab.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ActiveTab = void 0;
/**
* Hook fired when template: 'single' page layout changed.
*/
class ActiveTab extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'active-tab--document/elements/settings';
}
getContainerType() {
return 'repeater';
}
getConditions(args) {
return args.settings.inner_tab_content_1 || args.settings.inner_tab_content_2;
}
apply(args) {
if (args.settings.inner_tab_content_1) {
args.container.view.model.get('editSettings').set('innerActiveIndex', 0);
} else if (args.settings.inner_tab_content_2) {
args.container.view.model.get('editSettings').set('innerActiveIndex', 1);
}
}
}
exports.ActiveTab = ActiveTab;
var _default = ActiveTab;
exports["default"] = _default;
/***/ }),
/***/ "../modules/video-playlist/assets/js/editor/hooks/ui/index.js":
/*!********************************************************************!*\
!*** ../modules/video-playlist/assets/js/editor/hooks/ui/index.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "ActiveTab", ({
enumerable: true,
get: function () {
return _activeTab.ActiveTab;
}
}));
var _activeTab = __webpack_require__(/*! ./document/elements/settings/active-tab */ "../modules/video-playlist/assets/js/editor/hooks/ui/document/elements/settings/active-tab.js");
/***/ }),
/***/ "../modules/video-playlist/assets/js/editor/module.js":
/*!************************************************************!*\
!*** ../modules/video-playlist/assets/js/editor/module.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/video-playlist/assets/js/editor/component.js"));
class Module extends elementorModules.editor.utils.Module {
/**
* Init
*/
onInit() {
super.onInit();
$e.components.register(new _component.default());
}
onElementorLoaded() {
elementor.channels.editor.on('elementorPlaylistWidget:setVideoData', e => {
$e.run('document/elements/settings', {
container: e.container,
settings: {
thumbnail: {
url: e.currentItem.thumbnail ? e.currentItem.thumbnail.url : ''
},
title: e.currentItem.video_title ? e.currentItem.video_title : '',
duration: e.currentItem.duration ? e.currentItem.duration : ''
},
options: {
external: true
}
});
});
}
}
exports["default"] = Module;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/component.js":
/*!************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/component.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var hooks = _interopRequireWildcard(__webpack_require__(/*! ./hooks/ */ "../modules/woocommerce/assets/js/editor/hooks/index.js"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
class Component extends $e.modules.ComponentBase {
getNamespace() {
return 'woocommerce';
}
defaultHooks() {
return this.importHooks(hooks);
}
}
exports["default"] = Component;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/data/create-widget-activate-settings-modal.js":
/*!***************************************************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/data/create-widget-activate-settings-modal.js ***!
\***************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.WoocommerceCreateWidgetActivateSettingsModal = void 0;
class WoocommerceCreateWidgetActivateSettingsModal extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/create';
}
getId() {
return 'elementor-pro-woocommerce-create-widget-activate-settings-modal';
}
getContainerType() {
return 'column';
}
getConditions(args, container) {
return Object.prototype.hasOwnProperty.call(elementorPro.modules.woocommerce.pageSettingsWidgets, container.model.get('widgetType'));
}
apply(args, container) {
elementorPro.modules.woocommerce.onCreateWidget(container);
}
}
exports.WoocommerceCreateWidgetActivateSettingsModal = WoocommerceCreateWidgetActivateSettingsModal;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/data/delete-widget-deactivate-settings-modal.js":
/*!*****************************************************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/data/delete-widget-deactivate-settings-modal.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.WoocommerceDeleteWidgetDeactivateSettingsModal = void 0;
class WoocommerceDeleteWidgetDeactivateSettingsModal extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/delete';
}
getId() {
return 'elementor-pro-woocommerce-delete-widget-deactivate-settings-modal';
}
getContainerType() {
return 'widget';
}
getConditions(args, container) {
return Object.prototype.hasOwnProperty.call(elementorPro.modules.woocommerce.pageSettingsWidgets, container.model.get('widgetType'));
}
apply(args, container) {
elementorPro.modules.woocommerce.onDeleteWidget(container);
}
}
exports.WoocommerceDeleteWidgetDeactivateSettingsModal = WoocommerceDeleteWidgetDeactivateSettingsModal;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/data/index.js":
/*!*******************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/data/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "WoocommerceCreateWidgetActivateSettingsModal", ({
enumerable: true,
get: function () {
return _createWidgetActivateSettingsModal.WoocommerceCreateWidgetActivateSettingsModal;
}
}));
Object.defineProperty(exports, "WoocommerceDeleteWidgetDeactivateSettingsModal", ({
enumerable: true,
get: function () {
return _deleteWidgetDeactivateSettingsModal.WoocommerceDeleteWidgetDeactivateSettingsModal;
}
}));
Object.defineProperty(exports, "WoocommerceNotices", ({
enumerable: true,
get: function () {
return _notices.WoocommerceNotices;
}
}));
Object.defineProperty(exports, "WoocommerceSaveShowModal", ({
enumerable: true,
get: function () {
return _saveShowModal.WoocommerceSaveShowModal;
}
}));
var _saveShowModal = __webpack_require__(/*! ./save-show-modal */ "../modules/woocommerce/assets/js/editor/hooks/data/save-show-modal.js");
var _createWidgetActivateSettingsModal = __webpack_require__(/*! ./create-widget-activate-settings-modal */ "../modules/woocommerce/assets/js/editor/hooks/data/create-widget-activate-settings-modal.js");
var _deleteWidgetDeactivateSettingsModal = __webpack_require__(/*! ./delete-widget-deactivate-settings-modal */ "../modules/woocommerce/assets/js/editor/hooks/data/delete-widget-deactivate-settings-modal.js");
var _notices = __webpack_require__(/*! ./notices */ "../modules/woocommerce/assets/js/editor/hooks/data/notices.js");
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/data/notices.js":
/*!*********************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/data/notices.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.WoocommerceNotices = void 0;
class WoocommerceNotices extends $e.modules.hookData.After {
getCommand() {
return 'document/elements/settings';
}
getId() {
return 'woocommerce-notices';
}
getConditions(args) {
return 'kit' === elementor.documents.getCurrent().config.type && Array.isArray(args.settings.woocommerce_notices_elements);
}
apply(args) {
const {
woocommerce
} = elementorPro.modules;
woocommerce.renderMockNotices(args.settings.woocommerce_notices_elements);
}
}
exports.WoocommerceNotices = WoocommerceNotices;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/data/save-show-modal.js":
/*!*****************************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/data/save-show-modal.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.WoocommerceSaveShowModal = void 0;
class WoocommerceSaveShowModal extends $e.modules.hookData.After {
getCommand() {
return 'document/save/save';
}
getId() {
return 'elementor-pro-woocommerce-save-show-modal';
}
getConditions(args) {
return args.status && -1 !== ['private', 'publish'].indexOf(args.status);
}
apply() {
elementorPro.modules.woocommerce.onUpdateDocument();
}
}
exports.WoocommerceSaveShowModal = WoocommerceSaveShowModal;
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/hooks/index.js":
/*!**************************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/hooks/index.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
var _data = __webpack_require__(/*! ./data/ */ "../modules/woocommerce/assets/js/editor/hooks/data/index.js");
Object.keys(_data).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _data[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _data[key];
}
});
});
/***/ }),
/***/ "../modules/woocommerce/assets/js/editor/module.js":
/*!*********************************************************!*\
!*** ../modules/woocommerce/assets/js/editor/module.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../modules/woocommerce/assets/js/editor/component.js"));
class WoocommerceModule extends elementorModules.editor.utils.Module {
constructor() {
super(...arguments);
this.pageSettingsWidgets = {
'woocommerce-checkout-page': {
headerMessage: __('Want to save this as your checkout page?', 'elementor-pro'),
message: __('Changes you make here will override your existing WooCommerce settings.', 'elementor-pro'),
confirmMessage: __('You\'ve updated your checkout page.', 'elementor-pro'),
cancelMessage: __('
Set up a checkout page
Without a checkout page, visitors can\'t complete transactions on your site. To set one up, go to Site Settings.', 'elementor-pro'),
failedMessage: __('
Sorry, something went wrong.
To define a checkout page for your site, head over to Site Settings.', 'elementor-pro'),
optionName: 'woocommerce_checkout_page_id',
woocommercePageName: 'checkout'
},
'woocommerce-cart': {
headerMessage: __('Want to save this as your cart page?', 'elementor-pro'),
message: __('Changes you make here will override your existing WooCommerce settings.', 'elementor-pro'),
confirmMessage: __('You\'ve updated your cart page.', 'elementor-pro'),
cancelMessage: __('
Set up a cart page
The cart page shows an order summary. To set one up, go to Site Settings.', 'elementor-pro'),
failedMessage: __('
Sorry, something went wrong.
To define a cart page for your site, head over to Site Settings.', 'elementor-pro'),
optionName: 'woocommerce_cart_page_id',
woocommercePageName: 'cart'
},
'woocommerce-my-account': {
headerMessage: __('Want to save this as your my account page?', 'elementor-pro'),
message: __('Changes you make here will override your existing WooCommerce settings.', 'elementor-pro'),
confirmMessage: __('You\'ve updated your my account page.', 'elementor-pro'),
cancelMessage: __('
Set up a My Account page
Without it, customers can\'t update their billing details, review past orders, etc. To set up My Account, go to Site Settings.', 'elementor-pro'),
failedMessage: __('
Sorry, something went wrong.
To define a my account page for your site, head over to Site Settings.', 'elementor-pro'),
optionName: 'woocommerce_myaccount_page_id',
woocommercePageName: 'myaccount'
},
'woocommerce-purchase-summary': {
headerMessage: __('Want to save this as your purchase summary page?', 'elementor-pro'),
message: __('Changes you make here will override your WooCommerce default purchase summary page.', 'elementor-pro'),
confirmMessage: __('You\'ve updated your summary page.', 'elementor-pro'),
cancelMessage: __('
Set up a purchase summary page
This page shows payment and order details. To set one up, go to Site Settings.', 'elementor-pro'),
failedMessage: __('
Sorry, something went wrong.
To define a purchase summary page for your site, head over to Site Settings.', 'elementor-pro'),
optionName: 'elementor_woocommerce_purchase_summary_page_id',
woocommercePageName: 'summary'
}
};
this.createdPageSettingsWidgets = [];
}
addWooCommerceClassToLoopWrapper(LoopGridHandler) {
LoopGridHandler.$element.addClass('woocommerce');
}
onElementorInit() {
elementor.hooks.addAction('editor/widgets/loop-grid/on-init', this.addWooCommerceClassToLoopWrapper);
}
onElementorFrontendInit() {
elementorFrontend.elements.$body.on('added_to_cart', (e, data) => {
// We do not want the page to reload in the Editor after we triggered the 'added_to_cart' event.
if (this.didManuallyTriggerAddToCartEvent(data)) {
return false;
}
});
if ('loop-item' === elementor.documents.currentDocument.config.type && 'product' === elementor.documents.currentDocument.config.settings.settings.source) {
// Add the 'woocommerce' class to the Loop document wrapper only when editing a Product Loop Template in the
// theme builder.
elementor.on('document:loaded', () => {
elementor.$previewContents[0].querySelector('.e-loop-item').classList.add('woocommerce');
});
}
}
didManuallyTriggerAddToCartEvent() {
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
return data?.e_manually_triggered;
}
onElementorLoaded() {
this.component = $e.components.register(new _component.default({
manager: this
}));
// WooCommerce Notice Settings.
const noticeSections = ['section_woocommerce_notices', 'woocommerce_message_notices', 'woocommerce_info_notices', 'woocommerce_error_notices'];
for (const section of noticeSections) {
elementor.channels.editor.on('kit_settings:' + section + ':activated', () => {
this.renderMockNotices(elementor.documents.getCurrent().container.settings.get('woocommerce_notices_elements'));
});
}
// Custom Empty Cart Template.
elementor.channels.editor.on('editor:widget:woocommerce-cart:section_additional_options:activated', () => {
this.onTemplateIdChange('additional_template_select');
});
// Custom My Account Dashboard Template
elementor.channels.editor.on('editor:widget:woocommerce-my-account:section_additional_options:activated', () => {
this.onTemplateIdChange('customize_dashboard_select');
});
}
renderMockNotices(noticeElements) {
const noticesWrapper = elementor.$previewContents.find('.woocommerce-notices-wrapper');
if (noticeElements.length <= 0) {
noticesWrapper.remove();
return;
}
let noticesClass = '';
for (const notice of noticeElements) {
const className = notice.replace('_', '-');
noticesClass += 'e-' + className + '-notice ';
}
elementorFrontend.elements.$body.addClass(noticesClass.trim());
noticesWrapper.addClass('elementor-loading');
// Wait for the Ajax call to finish before the select2 can be changed again.
jQuery('.elementor-select2').attr('disabled', 'disabled');
elementorPro.ajax.addRequest('woocommerce_mock_notices', {
data: {
notice_elements: noticeElements
},
success(data) {
noticesWrapper.remove();
elementor.$previewContents.find('.elementor-editor-preview').prepend(data);
noticesWrapper.removeClass('elementor-loading');
// Enable the select2 again.
jQuery('.elementor-select2').removeAttr('disabled');
}
});
}
onTemplateIdChange(sectionActive) {
const editor = elementor.getPanelView().getCurrentPageView(),
model = editor.getOption('editedElementView').getEditModel(),
settingsModel = model.get('settings'),
templateID = settingsModel.get(sectionActive),
$editButton = editor.$el.find('.elementor-edit-template');
if (!templateID) {
$editButton.addClass('e-control-tool-disabled').hide();
} else {
const editUrl = ElementorConfig.home_url + '?p=' + templateID + '&elementor';
$editButton.prop('href', editUrl).removeClass('e-control-tool-disabled').show();
}
}
onCreateWidget(container) {
const widgetType = container.model.get('widgetType');
if (undefined === this.createdPageSettingsWidgets[widgetType]) {
this.createdPageSettingsWidgets[widgetType] = 0;
}
this.createdPageSettingsWidgets[widgetType]++;
}
onDeleteWidget(container) {
const widgetType = container.model.get('widgetType');
this.createdPageSettingsWidgets[widgetType]--;
if (!this.createdPageSettingsWidgets[widgetType]) {
delete this.createdPageSettingsWidgets[widgetType];
}
}
onUpdateDocument() {
// On page Save trigger the 'added_to_cart' event so that the persistent cart cache can refresh so that the 'Preview' can be immediately updated without having to go and make a change in the Cart first.
elementorFrontend.elements.$body.trigger('added_to_cart', [{
e_manually_triggered: true
}]);
const saveWoocommercePageSettingKeys = Object.keys(this.createdPageSettingsWidgets),
lastWidgetCreated = saveWoocommercePageSettingKeys[saveWoocommercePageSettingKeys.length - 1],
postId = elementor.documents.getCurrent().id;
if (1 !== saveWoocommercePageSettingKeys.length) {
return;
}
const lastWidgetCreatedOptions = this.pageSettingsWidgets[lastWidgetCreated];
// Bail if this page is already set as the corresponding WC page.
if (postId === elementorPro.config.woocommerce.woocommercePages[lastWidgetCreatedOptions.woocommercePageName]) {
return;
}
elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-woocommerce-save-pages',
className: 'e-global__confirm-add',
headerMessage: lastWidgetCreatedOptions.headerMessage,
message: lastWidgetCreatedOptions.message,
position: {
my: 'center center',
at: 'center center'
},
strings: {
confirm: __('Save', 'elementor-pro'),
cancel: __('No thanks', 'elementor-pro')
},
onConfirm: () => this.onConfirmModal(lastWidgetCreatedOptions),
onCancel: () => this.onCancelModal(lastWidgetCreatedOptions)
}).show();
this.createdPageSettingsWidgets = [];
}
onConfirmModal(lastWidgetCreatedOptions) {
elementorPro.ajax.addRequest('woocommerce_update_page_option', {
data: {
option_name: lastWidgetCreatedOptions.optionName
},
success: () => {
elementor.notifications.showToast({
message: lastWidgetCreatedOptions.confirmMessage
});
},
error: () => this.showPagesSettingsToast(lastWidgetCreatedOptions.failedMessage)
});
}
onCancelModal(lastWidgetCreatedOptions) {
this.showPagesSettingsToast(lastWidgetCreatedOptions.cancelMessage);
}
showPagesSettingsToast(message) {
const buttons = [];
elementor.notifications.initToast();
buttons.push({
name: 'take_me_there',
text: __('Take me there', 'elementor'),
callback: () => this.openSiteSettingsTab('settings-woocommerce')
});
elementor.notifications.showToast({
message,
buttons
});
}
// TODO: Add this as a reusable core function - to be able to open any settings tab.
openSiteSettingsTab() {
let tabId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let sectionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
const isWPPreviewMode = elementorCommon.elements.$body.hasClass('elementor-editor-preview');
if (isWPPreviewMode) {
elementor.exitPreviewMode();
}
const isInSettingsPanelActive = 'panel/global/menu' === elementor.documents.currentDocument.config.panel.default_route;
if (isInSettingsPanelActive) {
$e.run('panel/global/close');
return;
}
$e.run('editor/documents/switch', {
id: elementor.config.kit_id,
mode: 'autosave'
}).then(() => {
if (tabId) {
$e.route('panel/global/' + tabId);
}
})
// TODO: Replace with a standard routing solution once one is available
.then(() => {
if (sectionId) {
const sectionElement = jQuery('.elementor-control-' + sectionId);
if (sectionElement.length) {
sectionElement.trigger('click');
}
}
});
}
}
module.exports = WoocommerceModule;
/***/ }),
/***/ "@wordpress/i18n":
/*!**************************!*\
!*** external "wp.i18n" ***!
\**************************/
/***/ ((module) => {
"use strict";
module.exports = wp.i18n;
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
/*!***********************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\***********************************************************************/
/***/ ((module) => {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames not based on template
/******/ if (chunkId === "page-transitions-editor") return "" + chunkId + ".930bfd9119ee62d5ccd6.bundle.js";
/******/ if (chunkId === "mega-menu-editor") return "" + chunkId + ".de9dd6d5a71e58af98ef.bundle.js";
/******/ if (chunkId === "nested-carousel-editor") return "" + chunkId + ".04e1965a317cbb6d22df.bundle.js";
/******/ if (chunkId === "modules_query-control_assets_js_editor_template-query-control_js") return "e1314d8e113e32e00c20.bundle.js";
/******/ // return url for filenames based on template
/******/ return undefined;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/load script */
/******/ (() => {
/******/ var inProgress = {};
/******/ var dataWebpackPrefix = "elementor-pro:";
/******/ // loadScript function to load a script via script tag
/******/ __webpack_require__.l = (url, done, key, chunkId) => {
/******/ if(inProgress[url]) { inProgress[url].push(done); return; }
/******/ var script, needAttach;
/******/ if(key !== undefined) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ for(var i = 0; i < scripts.length; i++) {
/******/ var s = scripts[i];
/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
/******/ }
/******/ }
/******/ if(!script) {
/******/ needAttach = true;
/******/ script = document.createElement('script');
/******/
/******/ script.charset = 'utf-8';
/******/ script.timeout = 120;
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
/******/ script.src = url;
/******/ }
/******/ inProgress[url] = [done];
/******/ var onScriptComplete = (prev, event) => {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var doneFns = inProgress[url];
/******/ delete inProgress[url];
/******/ script.parentNode && script.parentNode.removeChild(script);
/******/ doneFns && doneFns.forEach((fn) => (fn(event)));
/******/ if(prev) return prev(event);
/******/ };
/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
/******/ script.onerror = onScriptComplete.bind(null, script.onerror);
/******/ script.onload = onScriptComplete.bind(null, script.onload);
/******/ needAttach && document.head.appendChild(script);
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript)
/******/ scriptUrl = document.currentScript.src
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
/******/ // no baseURI
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "editor": 0
/******/ };
/******/
/******/ __webpack_require__.f.j = (chunkId, promises) => {
/******/ // JSONP chunk loading for javascript
/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunkData) {
/******/ promises.push(installedChunkData[2]);
/******/ } else {
/******/ if(true) { // all chunks have JS
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
/******/ promises.push(installedChunkData[2] = promise);
/******/
/******/ // start chunk loading
/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
/******/ // create error before stack unwound to get useful stacktrace later
/******/ var error = new Error();
/******/ var loadingEnded = (event) => {
/******/ if(__webpack_require__.o(installedChunks, chunkId)) {
/******/ installedChunkData = installedChunks[chunkId];
/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
/******/ if(installedChunkData) {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realSrc = event && event.target && event.target.src;
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ error.name = 'ChunkLoadError';
/******/ error.type = errorType;
/******/ error.request = realSrc;
/******/ installedChunkData[1](error);
/******/ }
/******/ }
/******/ };
/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
/******/ } else installedChunks[chunkId] = 0;
/******/ }
/******/ }
/******/ };
/******/
/******/ // no prefetching
/******/
/******/ // no preloaded
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/
/******/ // no on chunks loaded
/******/
/******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0;
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
/******/ for(moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) var result = runtime(__webpack_require__);
/******/ }
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/
/******/ }
/******/
/******/ var chunkLoadingGlobal = self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/*!*****************************************!*\
!*** ../assets/dev/js/editor/editor.js ***!
\*****************************************/
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _editor = _interopRequireDefault(__webpack_require__(/*! ../../../../modules/custom-css/assets/js/editor/editor */ "../modules/custom-css/assets/js/editor/editor.js"));
var _editor2 = _interopRequireDefault(__webpack_require__(/*! ../../../../modules/motion-fx/assets/js/editor/editor */ "../modules/motion-fx/assets/js/editor/editor.js"));
var _module = _interopRequireDefault(__webpack_require__(/*! modules/popup/assets/js/editor/module */ "../modules/popup/assets/js/editor/module.js"));
var _module2 = _interopRequireDefault(__webpack_require__(/*! modules/global-widget/assets/js/editor/module */ "../modules/global-widget/assets/js/editor/module.js"));
var _module3 = _interopRequireDefault(__webpack_require__(/*! modules/theme-builder/assets/js/editor/module */ "../modules/theme-builder/assets/js/editor/module.js"));
var _module4 = _interopRequireDefault(__webpack_require__(/*! modules/forms/assets/js/editor/module */ "../modules/forms/assets/js/editor/module.js"));
var _module5 = _interopRequireDefault(__webpack_require__(/*! modules/screenshots/assets/js/editor/module */ "../modules/screenshots/assets/js/editor/module.js"));
var _editor3 = _interopRequireDefault(__webpack_require__(/*! ../../../../core/app/modules/site-editor/assets/js/editor */ "../core/app/modules/site-editor/assets/js/editor.js"));
var _module6 = _interopRequireDefault(__webpack_require__(/*! modules/video-playlist/assets/js/editor/module */ "../modules/video-playlist/assets/js/editor/module.js"));
var _module7 = _interopRequireDefault(__webpack_require__(/*! modules/woocommerce/assets/js/editor/module */ "../modules/woocommerce/assets/js/editor/module.js"));
var _module8 = _interopRequireDefault(__webpack_require__(/*! modules/scroll-snap/assets/js/editor/module */ "../modules/scroll-snap/assets/js/editor/module.js"));
var _module9 = _interopRequireDefault(__webpack_require__(/*! modules/payments/assets/js/editor/module */ "../modules/payments/assets/js/editor/module.js"));
var _module10 = _interopRequireDefault(__webpack_require__(/*! modules/loop-builder/assets/js/editor/module */ "../modules/loop-builder/assets/js/editor/module.js"));
var ElementorPro = Marionette.Application.extend({
config: {},
modules: {},
initModules() {
var QueryControl = __webpack_require__(/*! modules/query-control/assets/js/editor */ "../modules/query-control/assets/js/editor.js"),
Library = __webpack_require__(/*! modules/library/assets/js/editor */ "../modules/library/assets/js/editor.js"),
FlipBox = __webpack_require__(/*! modules/flip-box/assets/js/editor/editor */ "../modules/flip-box/assets/js/editor/editor.js"),
ShareButtons = __webpack_require__(/*! modules/share-buttons/assets/js/editor/editor */ "../modules/share-buttons/assets/js/editor/editor.js"),
AssetsManager = __webpack_require__(/*! modules/assets-manager/assets/js/editor/editor */ "../modules/assets-manager/assets/js/editor/editor.js"),
ThemeElements = __webpack_require__(/*! modules/theme-elements/assets/js/editor/editor */ "../modules/theme-elements/assets/js/editor/editor.js");
this.modules = {
queryControl: new QueryControl(),
forms: new _module4.default(),
library: new Library(),
customCSS: new _editor.default(),
globalWidget: new _module2.default(),
flipBox: new FlipBox(),
motionFX: new _editor2.default(),
shareButtons: new ShareButtons(),
assetsManager: new AssetsManager(),
themeElements: new ThemeElements(),
themeBuilder: new _module3.default(),
siteEditor: new _editor3.default(),
screenshots: new _module5.default(),
woocommerce: new _module7.default(),
stripe: new _module9.default(),
loopBuilder: new _module10.default(),
// Popup is depended on Theme Builder.
popup: new _module.default(),
videoPlaylistModule: new _module6.default(),
ScrollSnapModule: new _module8.default()
};
// Import the Page Transitions editor module dynamically.
if (elementorCommon.config.experimentalFeatures['page-transitions']) {
__webpack_require__.e(/*! import() | page-transitions-editor */ "page-transitions-editor").then(__webpack_require__.bind(__webpack_require__, /*! modules/page-transitions/assets/js/editor/module */ "../modules/page-transitions/assets/js/editor/module.js")).then(_ref => {
let {
default: PageTransitions
} = _ref;
this.modules.pageTransitions = new PageTransitions();
});
}
if (elementorCommon.config.experimentalFeatures['mega-menu']) {
elementorCommon.elements.$window.on('elementor/nested-element-type-loaded', async () => {
// The module should be loaded only when `nestedElements` is available.
this.modules.megaMenu = new (await __webpack_require__.e(/*! import() | mega-menu-editor */ "mega-menu-editor").then(__webpack_require__.bind(__webpack_require__, /*! modules/mega-menu/assets/js/editor/module */ "../modules/mega-menu/assets/js/editor/module.js"))).default();
});
}
if (elementorCommon.config.experimentalFeatures['nested-elements']) {
elementorCommon.elements.$window.on('elementor/nested-element-type-loaded', async () => {
// The module should be loaded only when `nestedElements` is available.
this.modules.nestedCarousel = new (await __webpack_require__.e(/*! import() | nested-carousel-editor */ "nested-carousel-editor").then(__webpack_require__.bind(__webpack_require__, /*! modules/nested-carousel/assets/js/editor/module */ "../modules/nested-carousel/assets/js/editor/module.js"))).default();
});
}
},
ajax: {
prepareArgs(args) {
args[0] = 'pro_' + args[0];
return args;
},
send() {
return elementorCommon.ajax.send.apply(elementorCommon.ajax, this.prepareArgs(arguments));
},
addRequest() {
return elementorCommon.ajax.addRequest.apply(elementorCommon.ajax, this.prepareArgs(arguments));
}
},
translate(stringKey, templateArgs) {
return elementorCommon.translate(stringKey, null, templateArgs, this.config.i18n);
},
onStart() {
this.config = elementorProEditorConfig;
this.initModules();
jQuery(window).on('elementor:init', () => this.onElementorInit()).on('elementor/connect/success/editor-pro-activate', this.onActivateSuccess);
},
onElementorInit() {
elementor.on('preview:loaded', () => this.onElementorPreviewLoaded());
elementorPro.libraryRemoveGetProButtons();
elementorCommon.debug.addURLToWatch('elementor-pro/assets');
},
onElementorPreviewLoaded() {
elementor.$preview[0].contentWindow.elementorPro = this;
},
libraryRemoveGetProButtons() {
elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', function (viewID, templateData) {
if (templateData.accessLevel === undefined || elementor.config?.library_connect?.current_access_level === undefined) {
// BC support.
return templateData.isPro && !elementorPro.config.isActive ? '#tmpl-elementor-pro-template-library-activate-license-button' : '#tmpl-elementor-template-library-insert-button';
}
// When the template should be at least "pro" and the license is not active.
if (templateData.accessLevel > 0 && !elementorPro.config.isActive) {
return '#tmpl-elementor-pro-template-library-activate-license-button';
}
// When the template access levels is greater than the current license access level it should
// return the "core" view template which is by default "go pro" or "go expert" button.
if (templateData.accessLevel > elementor.config.library_connect.current_access_level) {
return viewID;
}
// When the current license can insert the template.
return '#tmpl-elementor-template-library-insert-button';
});
},
onActivateSuccess() {
// Hide notice.
elementor.noticeBar.onCloseClick();
// Mark site connect for insert templates connect screen.
elementor.config.library_connect.is_connected = true;
// Mark pro is active - for `this.libraryRemoveGetProButtons`.
elementorPro.config.isActive = true;
elementor.notifications.showToast({
message: __('Connected Successfully', 'elementor')
});
}
});
window.elementorPro = new ElementorPro();
elementorPro.start();
})();
/******/ })()
;
//# sourceMappingURL=editor.js.map