/*! elementor - v3.11.5 - 14-03-2023 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../assets/dev/js/admin/maintenance-mode.js": /*!**************************************************!*\ !*** ../assets/dev/js/admin/maintenance-mode.js ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorModules.ViewModule.extend({ getDefaultSettings: function getDefaultSettings() { return { selectors: { modeSelect: '.elementor_maintenance_mode_mode select', maintenanceModeTable: '#tab-maintenance_mode table', maintenanceModeDescriptions: '.elementor-maintenance-mode-description', excludeModeSelect: '.elementor_maintenance_mode_exclude_mode select', excludeRolesArea: '.elementor_maintenance_mode_exclude_roles', templateSelect: '.elementor_maintenance_mode_template_id select', editTemplateButton: '.elementor-edit-template', maintenanceModeError: '.elementor-maintenance-mode-error' }, classes: { isEnabled: 'elementor-maintenance-mode-is-enabled' } }; }, getDefaultElements: function getDefaultElements() { var elements = {}, selectors = this.getSettings('selectors'); elements.$modeSelect = jQuery(selectors.modeSelect); elements.$maintenanceModeTable = elements.$modeSelect.parents(selectors.maintenanceModeTable); elements.$excludeModeSelect = elements.$maintenanceModeTable.find(selectors.excludeModeSelect); elements.$excludeRolesArea = elements.$maintenanceModeTable.find(selectors.excludeRolesArea); elements.$templateSelect = elements.$maintenanceModeTable.find(selectors.templateSelect); elements.$editTemplateButton = elements.$maintenanceModeTable.find(selectors.editTemplateButton); elements.$maintenanceModeDescriptions = elements.$maintenanceModeTable.find(selectors.maintenanceModeDescriptions); elements.$maintenanceModeError = elements.$maintenanceModeTable.find(selectors.maintenanceModeError); return elements; }, handleModeSelectChange: function handleModeSelectChange() { var settings = this.getSettings(), elements = this.elements; elements.$maintenanceModeTable.toggleClass(settings.classes.isEnabled, !!elements.$modeSelect.val()); elements.$maintenanceModeDescriptions.hide(); elements.$maintenanceModeDescriptions.filter('[data-value="' + elements.$modeSelect.val() + '"]').show(); }, handleExcludeModeSelectChange: function handleExcludeModeSelectChange() { var elements = this.elements; elements.$excludeRolesArea.toggle('custom' === elements.$excludeModeSelect.val()); }, handleTemplateSelectChange: function handleTemplateSelectChange() { var elements = this.elements; var templateID = elements.$templateSelect.val(); if (!templateID) { elements.$editTemplateButton.hide(); elements.$maintenanceModeError.show(); return; } var editUrl = elementorAdmin.config.home_url + '?p=' + templateID + '&elementor'; elements.$editTemplateButton.prop('href', editUrl).show(); elements.$maintenanceModeError.hide(); }, bindEvents: function bindEvents() { var elements = this.elements; elements.$modeSelect.on('change', this.handleModeSelectChange.bind(this)); elements.$excludeModeSelect.on('change', this.handleExcludeModeSelectChange.bind(this)); elements.$templateSelect.on('change', this.handleTemplateSelectChange.bind(this)); }, onAdminInit: function onAdminInit() { this.handleModeSelectChange(); this.handleExcludeModeSelectChange(); this.handleTemplateSelectChange(); }, onInit: function onInit() { elementorModules.ViewModule.prototype.onInit.apply(this, arguments); elementorCommon.elements.$window.on('elementor/admin/init', this.onAdminInit); } }); /***/ }), /***/ "../assets/dev/js/admin/menu-handler.js": /*!**********************************************!*\ !*** ../assets/dev/js/admin/menu-handler.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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var MenuHandler = /*#__PURE__*/function (_elementorModules$Vie) { (0, _inherits2.default)(MenuHandler, _elementorModules$Vie); var _super = _createSuper(MenuHandler); function MenuHandler() { (0, _classCallCheck2.default)(this, MenuHandler); return _super.apply(this, arguments); } (0, _createClass2.default)(MenuHandler, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { currentSubmenuItems: '#adminmenu .current' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var settings = this.getSettings(); return { $currentSubmenuItems: jQuery(settings.selectors.currentSubmenuItems), $adminPageMenuLink: jQuery("a[href=\"".concat(settings.path, "\"]")) }; } // This method highlights the currently visited submenu item for the slug provided as an argument to this handler. // This method also accepts a jQuery instance of a custom submenu item to highlight. If provided, the provided // item will be the one highlighted. }, { key: "highlightSubMenuItem", value: function highlightSubMenuItem() { var $element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var $submenuItem = $element || this.elements.$adminPageMenuLink; if (this.elements.$currentSubmenuItems.length) { this.elements.$currentSubmenuItems.removeClass('current'); } $submenuItem.addClass('current'); // Need to add the 'current' class to the link element's parent `
  • ` element as well. $submenuItem.parent().addClass('current'); } }, { key: "highlightTopLevelMenuItem", value: function highlightTopLevelMenuItem($elementToHighlight) { var $elementToRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var activeClasses = 'wp-has-current-submenu wp-menu-open current'; $elementToHighlight.parent().addClass(activeClasses).removeClass('wp-not-current-submenu'); if ($elementToRemove) { $elementToRemove.removeClass(activeClasses); } } }, { key: "onInit", value: function onInit() { (0, _get2.default)((0, _getPrototypeOf2.default)(MenuHandler.prototype), "onInit", this).call(this); var settings = this.getSettings(); if (window.location.href.includes(settings.path)) { this.highlightSubMenuItem(); } } }]); return MenuHandler; }(elementorModules.ViewModule); exports["default"] = MenuHandler; /***/ }), /***/ "../assets/dev/js/admin/new-template/template-controls.js": /*!****************************************************************!*\ !*** ../assets/dev/js/admin/new-template/template-controls.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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var TemplateControls = /*#__PURE__*/function () { function TemplateControls() { (0, _classCallCheck2.default)(this, TemplateControls); } (0, _createClass2.default)(TemplateControls, [{ key: "setDynamicControlsVisibility", value: function setDynamicControlsVisibility(lookupControlIdPrefix, controls) { if (undefined === controls) { return; } var controlsArray = Object.entries(controls); for (var _i = 0, _controlsArray = controlsArray; _i < _controlsArray.length; _i++) { var _controlsArray$_i = (0, _slicedToArray2.default)(_controlsArray[_i], 2), controlId = _controlsArray$_i[0], controlSettings = _controlsArray$_i[1]; this.setVisibilityForControl(lookupControlIdPrefix, controlSettings, controlId); } } }, { key: "setVisibilityForControl", value: function setVisibilityForControl(lookupControlIdPrefix, controlSettings, controlId) { var _controlSettings$cond, _this = this; var conditions = Object.entries((_controlSettings$cond = controlSettings.conditions) !== null && _controlSettings$cond !== void 0 ? _controlSettings$cond : {}); conditions.forEach(function (condition) { _this.changeVisibilityBasedOnCondition(lookupControlIdPrefix, condition, controlId); }); } }, { key: "changeVisibilityBasedOnCondition", value: function changeVisibilityBasedOnCondition(lookupControlIdPrefix, condition, controlId) { var _condition = (0, _slicedToArray2.default)(condition, 2), conditionKey = _condition[0], conditionValue = _condition[1]; var targetControlWrapper = document.getElementById(lookupControlIdPrefix + controlId + '__wrapper'); var lookupControl = document.getElementById(lookupControlIdPrefix + conditionKey); targetControlWrapper.classList.toggle('elementor-hidden', !lookupControl || conditionValue !== lookupControl.value); } }]); return TemplateControls; }(); exports["default"] = TemplateControls; /***/ }), /***/ "../assets/dev/js/editor/utils/files-upload-handler.js": /*!*************************************************************!*\ !*** ../assets/dev/js/editor/utils/files-upload-handler.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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var FilesUploadHandler = /*#__PURE__*/function () { function FilesUploadHandler() { (0, _classCallCheck2.default)(this, FilesUploadHandler); } (0, _createClass2.default)(FilesUploadHandler, null, [{ key: "isUploadEnabled", value: function isUploadEnabled(mediaType) { var unfilteredFilesTypes = ['svg', 'application/json']; if (!unfilteredFilesTypes.includes(mediaType)) { return true; } return elementorCommon.config.filesUpload.unfilteredFiles; } }, { key: "setUploadTypeCaller", value: function setUploadTypeCaller(frame) { frame.uploader.uploader.param('uploadTypeCaller', 'elementor-wp-media-upload'); } }, { key: "getUnfilteredFilesNotEnabledDialog", value: function getUnfilteredFilesNotEnabledDialog(callback) { var onConfirm = function onConfirm() { elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {}, true); elementorCommon.config.filesUpload.unfilteredFiles = true; callback(); }; return elementor.helpers.getSimpleDialog('e-enable-unfiltered-files-dialog', __('Enable Unfiltered File Uploads', 'elementor'), __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor'), __('Enable', 'elementor'), onConfirm); } }, { key: "getUnfilteredFilesNotEnabledImportTemplateDialog", value: function getUnfilteredFilesNotEnabledImportTemplateDialog(callback) { return elementorCommon.dialogsManager.createWidget('confirm', { id: 'e-enable-unfiltered-files-dialog-import-template', headerMessage: __('Enable Unfiltered File Uploads', 'elementor'), message: __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor') + '

    ' + __('If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.', 'elementor'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('Enable and Import', 'elementor'), cancel: __('Import Without Enabling', 'elementor') }, onConfirm: function onConfirm() { elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', { success: function success() { // This utility is used in both the admin and the Editor. elementorCommon.config.filesUpload.unfilteredFiles = true; callback(); } }, true); }, onCancel: function onCancel() { return callback(); } }); } }]); return FilesUploadHandler; }(); exports["default"] = FilesUploadHandler; /***/ }), /***/ "../assets/dev/js/utils/events.js": /*!****************************************!*\ !*** ../assets/dev/js/utils/events.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.Events = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var Events = /*#__PURE__*/function () { function Events() { (0, _classCallCheck2.default)(this, Events); } (0, _createClass2.default)(Events, null, [{ key: "dispatch", value: /** * Dispatch an Elementor event. * * Will dispatch both native event & jQuery event (as BC). * By default, `bcEvent` is `null`. * * @param {Object} context - The context that will dispatch the event. * @param {string} event - Event to dispatch. * @param {*} data - Data to pass to the event, default to `null`. * @param {string|null} bcEvent - BC event to dispatch, default to `null`. * * @return {void} */ function dispatch(context, event) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var bcEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; // Make sure to use the native context if it's a jQuery instance. context = context instanceof jQuery ? context[0] : context; // Dispatch the BC event only if exists. if (bcEvent) { context.dispatchEvent(new CustomEvent(bcEvent, { detail: data })); } // jQuery's `.on()` listens also to native custom events, so there is no need // to dispatch also a jQuery event. context.dispatchEvent(new CustomEvent(event, { detail: data })); } }]); return Events; }(); exports.Events = Events; var _default = Events; exports["default"] = _default; /***/ }), /***/ "../core/common/assets/js/utils/environment.js": /*!*****************************************************!*\ !*** ../core/common/assets/js/utils/environment.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var matchUserAgent = function matchUserAgent(UserAgentStr) { return userAgent.indexOf(UserAgentStr) >= 0; }, userAgent = navigator.userAgent, // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser // Opera 8.0+ isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'), // Firefox 1.0+ isFirefox = matchUserAgent('Firefox'), // Safari 3.0+ "[object HTMLElementConstructor]" isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function (p) { return '[object SafariRemoteNotification]' === p.toString(); }(!window.safari || typeof safari !== 'undefined' && safari.pushNotification), // Internet Explorer 6-11 isIE = /Trident|MSIE/.test(userAgent) && ( /* @cc_on!@*/ false || !!document.documentMode), // Edge 20+ isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'), // Google Chrome (Not accurate) isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera), // Blink engine isBlink = matchUserAgent('Chrome') && !!window.CSS, // Apple Webkit engine isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink, environment = { appleWebkit: isAppleWebkit, blink: isBlink, chrome: isChrome, edge: isEdge, firefox: isFirefox, ie: isIE, mac: matchUserAgent('Macintosh'), opera: isOpera, safari: isSafari, webkit: matchUserAgent('AppleWebKit') }; var _default = environment; exports["default"] = _default; /***/ }), /***/ "../core/experiments/assets/js/admin/behaviors/experiments-dependency.js": /*!*******************************************************************************!*\ !*** ../core/experiments/assets/js/admin/behaviors/experiments-dependency.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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var STATE_ACTIVE = 'active'; var STATE_INACTIVE = 'inactive'; var STATE_DEFAULT = 'default'; var ExperimentsDependency = /*#__PURE__*/function () { function ExperimentsDependency(_ref) { var selects = _ref.selects, submit = _ref.submit; (0, _classCallCheck2.default)(this, ExperimentsDependency); (0, _defineProperty2.default)(this, "elements", {}); this.elements = { /** * @type {HTMLSelectElement[]} */ selects: selects, /** * @type {HTMLInputElement} */ submit: submit }; } (0, _createClass2.default)(ExperimentsDependency, [{ key: "bindEvents", value: function bindEvents() { var _this = this; this.elements.selects.forEach(function (select) { select.addEventListener('change', function (e) { return _this.onExperimentStateChange(e); }); }); } }, { key: "onExperimentStateChange", value: function onExperimentStateChange(e) { var experimentId = e.currentTarget.dataset.experimentId, experimentNewState = this.getExperimentActualState(experimentId); switch (experimentNewState) { case STATE_ACTIVE: if (this.shouldShowDependenciesDialog(experimentId)) { this.showDependenciesDialog(experimentId); } break; case STATE_INACTIVE: this.deactivateDependantExperiments(experimentId); break; default: break; } } }, { key: "getExperimentData", value: function getExperimentData(experimentId) { return elementorAdminConfig.experiments[experimentId]; } }, { key: "getExperimentDependencies", value: function getExperimentDependencies(experimentId) { var _this2 = this; return this.getExperimentData(experimentId).dependencies.map(function (dependencyId) { return _this2.getExperimentData(dependencyId); }); } }, { key: "getExperimentSelect", value: function getExperimentSelect(experimentId) { return this.elements.selects.find(function (select) { return select.matches("[data-experiment-id=\"".concat(experimentId, "\"]")); }); } }, { key: "setExperimentState", value: function setExperimentState(experimentId, state) { this.getExperimentSelect(experimentId).value = state; } }, { key: "getExperimentActualState", value: function getExperimentActualState(experimentId) { var state = this.getExperimentSelect(experimentId).value; if (state !== STATE_DEFAULT) { return state; } // Normalize the "default" state to the actual state value. return this.isExperimentActiveByDefault(experimentId) ? STATE_ACTIVE : STATE_INACTIVE; } }, { key: "isExperimentActive", value: function isExperimentActive(experimentId) { return this.getExperimentActualState(experimentId) === STATE_ACTIVE; } }, { key: "isExperimentActiveByDefault", value: function isExperimentActiveByDefault(experimentId) { return this.getExperimentData(experimentId).default === STATE_ACTIVE; } }, { key: "areAllDependenciesActive", value: function areAllDependenciesActive(dependencies) { var _this3 = this; return dependencies.every(function (dependency) { return _this3.isExperimentActive(dependency.name); }); } }, { key: "deactivateDependantExperiments", value: function deactivateDependantExperiments(experimentId) { var _this4 = this; Object.entries(elementorAdminConfig.experiments).forEach(function (_ref2) { var _ref3 = (0, _slicedToArray2.default)(_ref2, 2), id = _ref3[0], experimentData = _ref3[1]; var isDependant = experimentData.dependencies.includes(experimentId); if (isDependant) { _this4.setExperimentState(id, STATE_INACTIVE); } }); } }, { key: "shouldShowDependenciesDialog", value: function shouldShowDependenciesDialog(experimentId) { var dependencies = this.getExperimentDependencies(experimentId); return !this.areAllDependenciesActive(dependencies); } }, { key: "showDependenciesDialog", value: function showDependenciesDialog(experimentId) { var _this5 = this; var experiment = this.getExperimentData(experimentId), dependencies = this.getExperimentDependencies(experimentId); var dependenciesList = this.joinDepenednciesNames(dependencies.map(function (d) { return d.title; }), ', ', ' & '); // Translators: %1$s: Experiment title, %2$s: Experiment dependencies list var message = __('In order to use %1$s, first you need to activate %2$s.', 'elementor').replace('%1$s', "".concat(experiment.title, "")).replace('%2$s', "".concat(dependenciesList, "")); elementorCommon.dialogsManager.createWidget('confirm', { id: 'e-experiments-dependency-dialog', headerMessage: __('First, activate another experiment.', 'elementor'), message: message, position: { my: 'center center', at: 'center center' }, strings: { confirm: __('Activate', 'elementor'), cancel: __('Cancel', 'elementor') }, hide: { onOutsideClick: false, onBackgroundClick: false, onEscKeyPress: false }, onConfirm: function onConfirm() { dependencies.forEach(function (dependency) { _this5.setExperimentState(dependency.name, STATE_ACTIVE); }); _this5.elements.submit.click(); }, onCancel: function onCancel() { _this5.setExperimentState(experimentId, STATE_INACTIVE); } }).show(); } }, { key: "joinDepenednciesNames", value: function joinDepenednciesNames(array, glue) { var finalGlue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; if ('' === finalGlue) { return array.join(glue); } if (!array.length) { return ''; } if (1 === array.length) { return array[0]; } var clone = (0, _toConsumableArray2.default)(array), lastItem = clone.pop(); return clone.join(glue) + finalGlue + lastItem; } }]); return ExperimentsDependency; }(); exports["default"] = ExperimentsDependency; /***/ }), /***/ "../core/experiments/assets/js/admin/module.js": /*!*****************************************************!*\ !*** ../core/experiments/assets/js/admin/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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _experimentsDependency = _interopRequireDefault(__webpack_require__(/*! ./behaviors/experiments-dependency */ "../core/experiments/assets/js/admin/behaviors/experiments-dependency.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ExperimentsModule = /*#__PURE__*/function (_elementorModules$Vie) { (0, _inherits2.default)(ExperimentsModule, _elementorModules$Vie); var _super = _createSuper(ExperimentsModule); function ExperimentsModule() { (0, _classCallCheck2.default)(this, ExperimentsModule); return _super.apply(this, arguments); } (0, _createClass2.default)(ExperimentsModule, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { experimentIndicators: '.e-experiment__title__indicator', experimentForm: '#elementor-settings-form', experimentSelects: '.e-experiment__select', experimentsButtons: '.e-experiment__button' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var _this$getSettings = this.getSettings(), selectors = _this$getSettings.selectors; return { $experimentIndicators: jQuery(selectors.experimentIndicators), $experimentForm: jQuery(selectors.experimentForm), $experimentSelects: jQuery(selectors.experimentSelects), $experimentsButtons: jQuery(selectors.experimentsButtons) }; } }, { key: "bindEvents", value: function bindEvents() { var _this = this; this.elements.$experimentsButtons.on('click', function (event) { return _this.onExperimentsButtonsClick(event); }); } }, { key: "onExperimentsButtonsClick", value: function onExperimentsButtonsClick(event) { var submitButton = jQuery(event.currentTarget); this.elements.$experimentSelects.val(submitButton.val()); this.elements.$experimentForm.find('#submit').trigger('click'); } }, { key: "addTipsy", value: function addTipsy($element) { $element.tipsy({ gravity: 's', offset: 8, title: function title() { return this.getAttribute('data-tooltip'); } }); } }, { key: "addIndicatorsTooltips", value: function addIndicatorsTooltips() { var _this2 = this; this.elements.$experimentIndicators.each(function (index, experimentIndicator) { return _this2.addTipsy(jQuery(experimentIndicator)); }); } }, { key: "onInit", value: function onInit() { var _this3 = this; (0, _get2.default)((0, _getPrototypeOf2.default)(ExperimentsModule.prototype), "onInit", this).call(this); this.experimentsDependency = new _experimentsDependency.default({ selects: this.elements.$experimentSelects.toArray(), submit: this.elements.$experimentForm.find('#submit').get(0) }); this.experimentsDependency.bindEvents(); if (this.elements.$experimentIndicators.length) { import( /* webpackIgnore: true */"".concat(elementorCommon.config.urls.assets, "lib/tipsy/tipsy.min.js?ver=1.0.0")).then(function () { return _this3.addIndicatorsTooltips(); }); } } }]); return ExperimentsModule; }(elementorModules.ViewModule); exports["default"] = ExperimentsModule; /***/ }), /***/ "../modules/landing-pages/assets/js/admin/landing-pages.js": /*!*****************************************************************!*\ !*** ../modules/landing-pages/assets/js/admin/landing-pages.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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _menuHandler = _interopRequireDefault(__webpack_require__(/*! elementor-admin/menu-handler */ "../assets/dev/js/admin/menu-handler.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var LandingPagesHandler = /*#__PURE__*/function (_AdminMenuHandler) { (0, _inherits2.default)(LandingPagesHandler, _AdminMenuHandler); var _super = _createSuper(LandingPagesHandler); function LandingPagesHandler() { (0, _classCallCheck2.default)(this, LandingPagesHandler); return _super.apply(this, arguments); } (0, _createClass2.default)(LandingPagesHandler, [{ key: "getDefaultSettings", value: function getDefaultSettings() { var pageName = 'e-landing-page', adminMenuSelectors = { // The escaping is done because jQuery requires it for selectors. landingPagesTablePage: 'a[href="edit.php?post_type=' + pageName + '"]', landingPagesAddNewPage: 'a[href="edit.php?post_type=elementor_library&page=' + pageName + '"]' }; return { selectors: { addButton: '.page-title-action:first', pagesMenuItemAndLink: '#menu-pages, #menu-pages > a', landingPagesMenuItem: "".concat(adminMenuSelectors.landingPagesTablePage, ", ").concat(adminMenuSelectors.landingPagesAddNewPage), templatesMenuItem: '.menu-icon-elementor_library' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var selectors = this.getSettings('selectors'), elements = (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "getDefaultElements", this).call(this); elements.$landingPagesMenuItem = jQuery(selectors.landingPagesMenuItem); elements.$templatesMenuItem = jQuery(selectors.templatesMenuItem); elements.$pagesMenuItemAndLink = jQuery(selectors.pagesMenuItemAndLink); return elements; } }, { key: "onInit", value: function onInit() { (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "onInit", this).call(this); var settings = this.getSettings(), isLandingPagesTablePage = !!window.location.href.includes(settings.paths.landingPagesTablePage), isLandingPagesTrashPage = !!window.location.href.includes(settings.paths.landingPagesTrashPage), isLandingPagesCreateYourFirstPage = !!window.location.href.includes(settings.paths.landingPagesAddNewPage); // If the current page is a Landing Pages Page (the Posts Table page, "Create Your First.." page, or a native // WordPress dashboard page edit screen when using WordPress' Classic Editor). if (isLandingPagesTablePage || isLandingPagesTrashPage || isLandingPagesCreateYourFirstPage || settings.isLandingPageAdminEdit) { // Make sure the active admin top level menu item is 'Templates', and not 'Pages'. this.highlightTopLevelMenuItem(this.elements.$templatesMenuItem, this.elements.$pagesMenuItemAndLink); this.highlightSubMenuItem(this.elements.$landingPagesMenuItem); // Overwrite the 'Add New' button at the top of the page to open in Elementor with the library module open. jQuery(settings.selectors.addButton).attr('href', elementorAdminConfig.urls.addNewLandingPageUrl); } } }]); return LandingPagesHandler; }(_menuHandler.default); exports["default"] = LandingPagesHandler; /***/ }), /***/ "../modules/landing-pages/assets/js/admin/module.js": /*!**********************************************************!*\ !*** ../modules/landing-pages/assets/js/admin/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 _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _landingPages = _interopRequireDefault(__webpack_require__(/*! ./landing-pages */ "../modules/landing-pages/assets/js/admin/landing-pages.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = _createSuper(_default); function _default() { var _this; (0, _classCallCheck2.default)(this, _default); _this = _super.call(this); elementorCommon.elements.$window.on('elementor/admin/init', function () { _this.runHandler(); }); return _this; } (0, _createClass2.default)(_default, [{ key: "runHandler", value: function runHandler() { var _elementorAdmin$confi, _elementorAdmin$confi2; var pageName = 'e-landing-page', paths = { landingPagesTablePage: 'edit.php?post_type=' + pageName, landingPagesAddNewPage: 'edit.php?post_type=elementor_library&page=' + pageName, landingPagesTrashPage: 'edit.php?post_status=trash&post_type=' + pageName }, args = { path: (_elementorAdmin$confi = elementorAdmin.config.landingPages) !== null && _elementorAdmin$confi !== void 0 && _elementorAdmin$confi.landingPagesHasPages ? paths.landingPagesTablePage : paths.landingPagesAddNewPage, isLandingPageAdminEdit: (_elementorAdmin$confi2 = elementorAdmin.config.landingPages) === null || _elementorAdmin$confi2 === void 0 ? void 0 : _elementorAdmin$confi2.isLandingPageAdminEdit, paths: paths }; // This class modifies elements in the WordPress admin that are rendered "wrong" by the WordPress core // and could not be modified in the backend. new _landingPages.default(args); } }]); return _default; }(elementorModules.Module); exports["default"] = _default; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return arrayLikeToArray(arr); } module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/get.js": /*!*****************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/get.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js"); function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; } else { module.exports = _get = function _get(target, property, receiver) { var base = superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }, module.exports.__esModule = true, module.exports["default"] = module.exports; } return _get.apply(this, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _getPrototypeOf(o); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../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; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***! \*****************************************************************/ /***/ ((module) => { function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! \*******************************************************************/ /***/ ((module) => { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js"); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function _toPropertyKey(arg) { var key = toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(obj) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, 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 ***! \***************************************/ /* 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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _module = _interopRequireDefault(__webpack_require__(/*! elementor/modules/landing-pages/assets/js/admin/module */ "../modules/landing-pages/assets/js/admin/module.js")); var _module2 = _interopRequireDefault(__webpack_require__(/*! elementor/core/experiments/assets/js/admin/module */ "../core/experiments/assets/js/admin/module.js")); var _environment = _interopRequireDefault(__webpack_require__(/*! ../../../../core/common/assets/js/utils/environment */ "../core/common/assets/js/utils/environment.js")); var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js")); var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js")); var _templateControls = _interopRequireDefault(__webpack_require__(/*! ./new-template/template-controls.js */ "../assets/dev/js/admin/new-template/template-controls.js")); (function ($) { var ElementorAdmin = elementorModules.ViewModule.extend({ maintenanceMode: null, config: elementorAdminConfig, getDefaultElements: function getDefaultElements() { var elements = { $switchMode: $('#elementor-switch-mode'), $goToEditLink: $('#elementor-go-to-edit-page-link'), $switchModeInput: $('#elementor-switch-mode-input'), $switchModeButton: $('#elementor-switch-mode-button'), $elementorLoader: $('.elementor-loader'), $builderEditor: $('#elementor-editor'), $importButton: $('#elementor-import-template-trigger'), $importNowButton: $('#e-import-template-action'), $importArea: $('#elementor-import-template-area'), $importForm: $('#elementor-import-template-form'), $importFormFileInput: $('#elementor-import-template-form input[type="file"]'), $settingsForm: $('#elementor-settings-form'), $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'), $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'), $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"]'), $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button') }; elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page'); elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active'); elements.$settingsTabs = elements.$settingsTabsWrapper.children(); elements.$activeSettingsTab = elements.$settingsTabs.filter('.nav-tab-active'); return elements; }, toggleStatus: function toggleStatus() { var isElementorMode = this.isElementorMode(); elementorCommon.elements.$body.toggleClass('elementor-editor-active', isElementorMode).toggleClass('elementor-editor-inactive', !isElementorMode); }, bindEvents: function bindEvents() { var self = this; self.elements.$switchModeButton.on('click', function (event) { event.preventDefault(); if (self.isElementorMode()) { elementorCommon.dialogsManager.createWidget('confirm', { message: __('Please note that you are switching to WordPress default editor. Your current layout, design and content might break.', 'elementor'), headerMessage: __('Back to WordPress Editor', 'elementor'), strings: { confirm: __('Continue', 'elementor'), cancel: __('Cancel', 'elementor') }, defaultOption: 'confirm', onConfirm: function onConfirm() { self.elements.$switchModeInput.val(''); self.toggleStatus(); } }).show(); } else { self.elements.$switchModeInput.val(true); var $wpTitle = $('#title'); if (!$wpTitle.val()) { $wpTitle.val('Elementor #' + $('#post_ID').val()); } if (wp.autosave) { wp.autosave.server.triggerSave(); } self.animateLoader(); $(document).on('heartbeat-tick.autosave', function () { elementorCommon.elements.$window.off('beforeunload.edit-post'); location.href = self.elements.$goToEditLink.attr('href'); }); self.toggleStatus(); } }); self.elements.$goToEditLink.on('click', function () { self.animateLoader(); }); $('.e-notice--dismissible').on('click', '.e-notice__dismiss, .e-notice-dismiss', function (event) { event.preventDefault(); var $wrapperElm = $(this).closest('.e-notice--dismissible'); $.post(ajaxurl, { action: 'elementor_set_admin_notice_viewed', notice_id: $wrapperElm.data('notice_id') }); $wrapperElm.fadeTo(100, 0, function () { $wrapperElm.slideUp(100, function () { $wrapperElm.remove(); }); }); }); $('#elementor-clear-cache-button').on('click', function (event) { event.preventDefault(); var $thisButton = $(this); $thisButton.removeClass('success').addClass('loading'); $.post(ajaxurl, { action: 'elementor_clear_cache', _nonce: $thisButton.data('nonce') }).done(function () { $thisButton.removeClass('loading').addClass('success'); }); }); $('#elementor-library-sync-button').on('click', function (event) { event.preventDefault(); var $thisButton = $(this); $thisButton.removeClass('success').addClass('loading'); $.post(ajaxurl, { action: 'elementor_reset_library', _nonce: $thisButton.data('nonce') }).done(function () { $thisButton.removeClass('loading').addClass('success'); }); }); $('#elementor-recreate-kit-button').on('click', function (event) { event.preventDefault(); var $thisButton = $(this); $thisButton.removeClass('success error').addClass('loading').next('.e-recreate-kit-error-message').remove(); $.post(ajaxurl, { action: 'elementor_recreate_kit', _nonce: $thisButton.data('nonce') }).done(function () { $thisButton.removeClass('loading').addClass('success'); }).fail(function (_ref) { var _responseJSON$data; var responseJSON = _ref.responseJSON; $thisButton.removeClass('loading').addClass('error'); if ((_responseJSON$data = responseJSON.data) !== null && _responseJSON$data !== void 0 && _responseJSON$data.message) { $thisButton.after("
    ".concat(responseJSON.data.message, "
    ")); } }); }); $('#elementor-replace-url-button').on('click', function (event) { event.preventDefault(); var $this = $(this), $tr = $this.parents('tr'), $from = $tr.find('[name="from"]'), $to = $tr.find('[name="to"]'); $this.removeClass('success').addClass('loading'); $.post(ajaxurl, { action: 'elementor_replace_url', from: $from.val(), to: $to.val(), _nonce: $this.data('nonce') }).done(function (response) { $this.removeClass('loading'); if (response.success) { $this.addClass('success'); } elementorCommon.dialogsManager.createWidget('alert', { message: response.data }).show(); }); }); $('#elementor_upgrade_fa_button').on('click', function (event) { event.preventDefault(); var $updateButton = $(this); $updateButton.addClass('loading'); elementorCommon.dialogsManager.createWidget('confirm', { id: 'confirm_fa_migration_admin_modal', message: __('I understand that by upgrading to Font Awesome 5,', 'elementor') + '
    ' + __('I acknowledge that some changes may affect my website and that this action cannot be undone.', 'elementor'), headerMessage: __('Font Awesome 5 Migration', 'elementor'), strings: { confirm: __('Continue', 'elementor'), cancel: __('Cancel', 'elementor') }, defaultOption: 'confirm', onConfirm: function onConfirm() { $updateButton.removeClass('error').addClass('loading'); var _$updateButton$data = $updateButton.data(), _nonce = _$updateButton$data._nonce, action = _$updateButton$data.action, redirectUrl = _$updateButton$data.redirectUrl; $.post(ajaxurl, { action: action, _nonce: _nonce }).done(function (response) { $updateButton.removeClass('loading').addClass('success'); var messageElement = document.createElement('p'); messageElement.appendChild(document.createTextNode(response.data.message)); $('#elementor_upgrade_fa_button').parent().append(messageElement); if (redirectUrl) { location.href = decodeURIComponent(redirectUrl); return; } history.go(-1); }).fail(function () { $updateButton.removeClass('loading').addClass('error'); }); }, onCancel: function onCancel() { $updateButton.removeClass('loading').addClass('error'); } }).show(); }); self.elements.$settingsTabs.on({ click: function click(event) { event.preventDefault(); event.currentTarget.focus(); // Safari does not focus the tab automatically }, focus: function focus() { // Using focus event to enable navigation by tab key var hrefWithoutHash = location.href.replace(/#.*/, ''); history.pushState({}, '', hrefWithoutHash + this.hash); self.goToSettingsTabFromHash(); } }); $('select.elementor-rollback-select').on('change', function () { var $this = $(this), $rollbackButton = $this.next('.elementor-rollback-button'), placeholderText = $rollbackButton.data('placeholder-text'), placeholderUrl = $rollbackButton.data('placeholder-url'); $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val())); $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val())); }).trigger('change'); $('.elementor-rollback-button').on('click', function (event) { event.preventDefault(); var $this = $(this); elementorCommon.dialogsManager.createWidget('confirm', { headerMessage: __('Rollback to Previous Version', 'elementor'), message: __('Are you sure you want to reinstall previous version?', 'elementor'), strings: { confirm: __('Continue', 'elementor'), cancel: __('Cancel', 'elementor') }, onConfirm: function onConfirm() { $this.addClass('loading'); location.href = $this.attr('href'); } }).show(); }); self.elements.$reMigrateGlobalsButton.on('click', function (event) { event.preventDefault(); var $this = $(event.currentTarget); elementorCommon.dialogsManager.createWidget('confirm', { headerMessage: __('Migrate to v3.0', 'elementor'), message: __('Please note that this process will revert all changes made to Global Colors and Fonts since upgrading to v3.x.', 'elementor'), strings: { confirm: __('Continue', 'elementor'), cancel: __('Cancel', 'elementor') }, onConfirm: function onConfirm() { $this.removeClass('success').addClass('loading'); elementorCommon.ajax.addRequest('re_migrate_globals', { success: function success() { return $this.removeClass('loading').addClass('success'); } }); } }).show(); }); $('.elementor_css_print_method select').on('change', function () { var $descriptions = $('.elementor-css-print-method-description'); $descriptions.hide(); $descriptions.filter('[data-value="' + $(this).val() + '"]').show(); }).trigger('change'); $('.elementor_google_font select').on('change', function () { $('.elementor_font_display').toggle('1' === $(this).val()); }).trigger('change'); }, onInit: function onInit() { elementorModules.ViewModule.prototype.onInit.apply(this, arguments); this.initTemplatesImport(); this.initMaintenanceMode(); this.goToSettingsTabFromHash(); this.openLinksInNewTab(); this.addUserAgentClasses(); this.roleManager.init(); if (elementorCommon.config.experimentalFeatures['landing-pages']) { new _module.default(); } this.templateControls = new _templateControls.default(); new _module2.default(); }, addUserAgentClasses: function addUserAgentClasses() { var body = document.querySelector('body'); Object.entries(_environment.default).forEach(function (_ref2) { var _ref3 = (0, _slicedToArray2.default)(_ref2, 2), key = _ref3[0], value = _ref3[1]; if (!value) { return; } body.classList.add('e--ua-' + key); }); }, /** * Open Links in New Tab * * Adds a `target="_blank"` attribute to the Admin Dashboard menu items specified in the `elements` array, * if the elements are found in the DOM. The items in the `elements` array should be jQuery instances. * * @since 3.6.0 */ openLinksInNewTab: function openLinksInNewTab() { var elements = [this.elements.$menuGetHelpLink, this.elements.$menuGoProLink]; elements.forEach(function ($element) { // Only add the attribute if the element is found. if ($element.length) { $element.attr('target', '_blank'); } }); }, initTemplatesImport: function initTemplatesImport() { if (!elementorCommon.elements.$body.hasClass('post-type-elementor_library')) { return; } var self = this, $importForm = self.elements.$importForm, $importButton = self.elements.$importButton, $importArea = self.elements.$importArea, $importNowButton = self.elements.$importNowButton, $importFormFileInput = self.elements.$importFormFileInput; self.elements.$formAnchor = $('.wp-header-end'); $('#wpbody-content').find('.page-title-action').last().after($importButton); self.elements.$formAnchor.after($importArea); $importButton.on('click', function () { $('#elementor-import-template-area').toggle(); }); $importForm.on('submit', function (event) { $importNowButton[0].disabled = true; $importNowButton[0].value = __('Importing...', 'elementor'); if ($importFormFileInput[0].files.length && !elementorCommon.config.filesUpload.unfilteredFiles) { event.preventDefault(); var enableUnfilteredFilesModal = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(function () { $importForm.trigger('submit'); }); enableUnfilteredFilesModal.show(); } }); }, initMaintenanceMode: function initMaintenanceMode() { var MaintenanceMode = __webpack_require__(/*! elementor-admin/maintenance-mode */ "../assets/dev/js/admin/maintenance-mode.js"); this.maintenanceMode = new MaintenanceMode(); }, isElementorMode: function isElementorMode() { return !!this.elements.$switchModeInput.val(); }, animateLoader: function animateLoader() { this.elements.$goToEditLink.addClass('elementor-animate'); }, goToSettingsTabFromHash: function goToSettingsTabFromHash() { var hash = location.hash.slice(1); if (hash) { this.goToSettingsTab(hash); } }, goToSettingsTab: function goToSettingsTab(tabName) { var $pages = this.elements.$settingsFormPages; if (!$pages.length) { return; } var $activePage = $pages.filter('#' + tabName); this.elements.$activeSettingsPage.removeClass('elementor-active'); this.elements.$activeSettingsTab.removeClass('nav-tab-active'); var $activeTab = this.elements.$settingsTabs.filter('#elementor-settings-' + tabName); $activePage.addClass('elementor-active'); $activeTab.addClass('nav-tab-active'); this.elements.$settingsForm.attr('action', 'options.php#' + tabName); this.elements.$activeSettingsPage = $activePage; this.elements.$activeSettingsTab = $activeTab; }, translate: function translate(stringKey, templateArgs) { return elementorCommon.translate(stringKey, null, templateArgs, this.config.i18n); }, roleManager: { selectors: { body: 'elementor-role-manager', row: '.elementor-role-row', label: '.elementor-role-label', excludedIndicator: '.elementor-role-excluded-indicator', excludedField: 'input[name="elementor_exclude_user_roles[]"]', controlsContainer: '.elementor-role-controls', toggleHandle: '.elementor-role-toggle', arrowUp: 'dashicons-arrow-up', arrowDown: 'dashicons-arrow-down' }, toggle: function toggle($trigger) { var self = this, $row = $trigger.closest(self.selectors.row), $toggleHandleIcon = $row.find(self.selectors.toggleHandle).find('.dashicons'), $controls = $row.find(self.selectors.controlsContainer); $controls.toggleClass('hidden'); if ($controls.hasClass('hidden')) { $toggleHandleIcon.removeClass(self.selectors.arrowUp).addClass(self.selectors.arrowDown); } else { $toggleHandleIcon.removeClass(self.selectors.arrowDown).addClass(self.selectors.arrowUp); } self.updateLabel($row); }, updateLabel: function updateLabel($row) { var self = this, $indicator = $row.find(self.selectors.excludedIndicator), excluded = $row.find(self.selectors.excludedField).is(':checked'); if (excluded) { $indicator.html($indicator.data('excluded-label')); } else { $indicator.html(''); } self.setAdvancedState($row, excluded); }, setAdvancedState: function setAdvancedState($row, state) { var self = this, $controls = $row.find('input[type="checkbox"]').not(self.selectors.excludedField); $controls.each(function (index, input) { $(input).prop('disabled', state); }); }, bind: function bind() { var self = this; $(document).on('click', self.selectors.label + ',' + self.selectors.toggleHandle, function (event) { event.stopPropagation(); event.preventDefault(); self.toggle($(this)); }).on('change', self.selectors.excludedField, function () { self.updateLabel($(this).closest(self.selectors.row)); }); }, init: function init() { var self = this; if (!$('body[class*="' + self.selectors.body + '"]').length) { return; } self.bind(); $(self.selectors.row).each(function (index, row) { self.updateLabel($(row)); }); } } }); $(function () { window.elementorAdmin = new ElementorAdmin(); _events.default.dispatch(elementorCommon.elements.$window, 'elementor/admin/init'); }); })(jQuery); })(); /******/ })() ; //# sourceMappingURL=admin.js.map 1xbet Türkiye 1xbet Resmi Sitesi Ve 1xbet Tr Ile Spor Bahisleri – Shredded Wolves

    1xbet Türkiye 1xbet Resmi Sitesi Ve 1xbet Tr Ile Spor Bahisleri

    1xbet Türkiye: Resmi Sitesi Üzerinden Spor Bahisleri Ve Canli Bahisler

    Yüksek bahis oranları ile bahis müdavimleri tarafından gün geçtikçe fark edilen site, 1xbet giriş işlemleri esnasında herhangi bir ücret ödemesi talep etmiyor. Üyelerinin güvenilir bir ortamda hizmet almasını isteyen 1xbet güncel giriş için öncelikle hesabın aktif edilmesini talep etmektedir. Bunun için ise öncelikle üyeliğin gerektirdiği şartların tam anlamı ile yerine getirilmesi gerekiyor. Kayıt ve giriş işlemleri oldukça basittir empieza kullanıcılar kolayca hesaplarını yönetebilirler. Ayrıca, 1xBet’in mobil uygulaması de uma kullanıcıların istedikleri zaman ve yerde bahis yapmalarına olanak tanır. Çoklu Canlı modda aynı anda birden fazla maça canlı bahis yapılabilir.

    • Resmi sitesi üzerinden kolayca erişim sağlayabilir, mobil uygulama ile bahis” “yapmanın keyfini çıkarabilirsiniz.
    • Bu genellikle 1xBet’in choix web sitesinin ülke içinde engellenmesine yol açar.
    • Bahis yapmak istediğiniz spor dalını, ligi ya da maçı kolayca bulabilir, bahislerinizi birkaç tıklama ile gerçekleştirebilirsiniz.
    • Futbol, dünya genelinde olduğu gibi Türkiye’de de durante çok ilgi gören spor dalıdır empieza 1xBet, Avrupa liglerinden yerel liglere, geniş bir futbol bahis seçeneği sunar.
    • Ancak Türkiye’de yasal düzenlemeler empieza erişim kısıtlamaları nedeniyle 1xBet’e giriş yapmak zaman zaman zorlaşabilmektedir.

    Kurulum tamamlandıktan sonra yazılımı başlatabilir ve bahis yapmaya başlayabilirsiniz. 1xBet’te yakın gelecekte gerçekleşecek spor müsabakalarının farklı sonuçlarına bahis oynayabilir veya maçlar sırasında bahis oynayabilirsiniz. ” seçeneğini kullanmak suretiyle hesap giriş şifrenizi sıfırlayabilirsiniz.

    Bet Bonusları: Bölgesel Bir İlişki

    Spor bahisleri dünyasında heyecan arayanlar için 1xBet, Türkiye’de benzersiz bir platform sunuyor. Uluslararası alanda güçlü bir itibara sahip olan 1xBet, zengin spor bahis seçenekleri, rekabetçi oranlar empieza kullanıcı dostu arayüzü ile dikkat çekiyor. Türkiye’deki bahis severler, futboldan basketbola, tenisten e-sporlara kadar geniş bir yelpazede spor dallarında bahis yapma imkanı buluyor. Seçilen yöntem ne olursa olsun, misafir kişisel bilgilerini teyit edene kadar kayıt tamamlanmayacaktır. Bahisçinin 21 yaşının üzerinde olması ve 1xbet’te hesabının bulunmaması gerekmektedir 1xbet.

    Spor bahisleri, canlı bahis ve daha fazlası için 1xBet Türkiye sizin için doğru adres. Tenis maçları da 1xbet spor bahisleri arasında önemli bir yer tutar. Grand Slam turnuvaları, ATP ve WTA maçlarına bahis yapma imkanı sunan 1xBet, tenis severler için cazip bahis seçenekleri sunar. 1xbet orjinal sitesi üzerinden yapılan tenis bahisleri, yüksek oranlar ve çeşitli bahis seçenekleri ile dikkat çeker.

    Bet Mobil Ve Masaüstü

    Programı indirmek için sayfanın sol üst köşesinde bulunan monitör simgesine tıklamanız gerekir. Oynatıcının bu yazılımın kurulumuna ilişkin ayrıntılı talimatları burada bulabilirsiniz. 1xBet TR’yi Android’e indirmek isteyenler için sayfanın sol üst köşesinde yer alan telefon şeklindeki butona tıklamanız yeterli.

    • Şirket, bahisçilerin ve kumarhanelerin faaliyetlerini denetleyen bir düzenleyici kurum olan Curacao’dan resmi bir lisansa sahiptir.
    • Dünya çapında hizmet sağlayan bahis siteleri arasında yer alan 1xbet Türkiye, ülke genelinde pek çok bahis sever tarafından takip ediliyor.
    • Yüksek bahis oranları ile bahis müdavimleri tarafından gün geçtikçe fark edilen site, 1xbet giriş işlemleri esnasında herhangi bir ücret ödemesi talep etmiyor.
    • Evet, 1xbet web sitesinde kapsamlı bir canlı bahis bölümü bulunmaktadır.
    • Portalımız ayrıca, her gün 1xbet çalışan bir ayna bulabileceğiniz benzersiz bir 1XBet Erişim uygulamasını indirme olanağı da sunmaktadır.
    • 1xbet orjinal sitesi üzerinden yapılan tenis bahisleri, yüksek oranlar ve çeşitli bahis seçenekleri ile dikkat çeker.

    Güncel aynaları BC 1xbet’in resmi kanalındaki Telegram’da da bulabilirsiniz. Portalımız ayrıca, her gün 1xbet çalışan bir ayna bulabileceğiniz benzersiz bir 1XBet Erişim uygulamasını indirme olanağı da sunmaktadır. Çoğu durumda, em virtude de yatırma işlemleri anında işleme alınır ve para çekme işlemleri 15 dakikadan fazla sürmez. Mobil bahis rahatlığını takdir edenler için 1xBet sorunsuz bir deneyim sağlar.

    Bet Üyelik Sonrası Giriş Nasıl Yapılıyor?

    Müşteriler, belirli bir etkinliğin olası sonuçlarını kolayca karşılaştırarak tahminlerini yapabilir ve bir bahis kuponu oluşturabilirler. Ayrıca, 1xBet web sitesi müşterilerine kazanan bir kombinasyon oluşturma empieza bahis kuponlarını arkadaşlarıyla paylaşma fırsatı sunuyor. 1xBet Bahis Şirketi her ay düzenli bir şekilde bir Bahis Kuponu Savaşı düzenleyerek oyunculara ek bonus kazanma fırsatı verir. Sistem basit üyelik hizmetleri neticesinde bahis severlerin hızlı ve kolay bir şekilde üye olmaları için gerekli olan tüm şartları sağlıyor. Sistem ayrıca, yaptığı bahislerden kazanç sahip olan üyelerine de rahatlıkla para çekme işlemleri için farklı yöntemler alternatif olarak sunuluyor.

    • Güçlü bir sistem alt yapı ile bahis hizmetleri sağlayan site, dünya genelinde olduğu gibi ülkemizde de bu yönü ile öne çıkıyor.
    • 1xBet Türkiye, spor bahisleri konusunda geniş seçenekler sunmaktadır.
    • Müşterilerimiz kazançlarını mümkün olan en kısa sürede, çoğunlukla 15 dakika içinde nakde çevirebilirler.
    • 1xBet, yeni kullanıcılara hoş geldin bonusları, mevcut kullanıcılara ise düzenli promosyonlar ve bonuslar sunar.

    Bu sayede, herhangi bir metode sorunla karşılaştığınızda ya da bir bahis konusunda yardıma ihtiyacınız olduğunda hızlıca destek alabilirsiniz. 1XBet bahis şirketi, yasal statüsü empieza mükemmel spor bahis fırsatları nedeniyle Türkiye’de büyük bir popülerlik kazanmıştır. Bahisçi, belirli bir sporu empieza oyuncunun ilgisini çeken bir spor etkinliğini seçerek, bahisçinin maçın farklı sonuçlarına ilişkin oranlarına erişebilir. Oyuncunun ilgi katsayısına tıkladığınızda sağ tarafta yer alan kupona aktarılır.

    Bc Güvenli Mi?

    Bir dahaki sefere yorum yaptığımda kullanılmak üzere adımı, e-posta adresimi ve web site adresimi bu tarayıcıya kaydet. 1xbet en ünlü bahis şirketlerinden biridir, ancak Türkiye’de 1xbet’in popülaritesi yalnızca ivme kazanıyor. 1xbet sıklıkla şirketin çalışmaları hakkında incelemeler yayınlar empieza bu da gelişmemize yardımcı olur.

    • Ayrıca sistem üyelerine yatırım için farklı ödeme seçenekleri para sunuyor.
    • 1xbet resmi sitesi, bu bonusları çeşitli şekillerde sunarak yeni kullanıcıları çekmeyi hedefler.
    • 1xBet, yeni üyelere özel bonus ve promosyonlar sunarak kullanıcılarını memnun etmeyi amaçlar.
    • Bu genellikle düzenleyici kısıtlamalar ve farklı bölgelerdeki değişen piyasa koşullarından kaynaklanmaktadır.

    1XBet TR’nin resmi web sitesinde gezinmek kolaydır ve hem yeni müşteriler hem de normal oyuncular için birçok farklı bonus ve promosyon sunar. 1xBet’in web sitesi ve mobil uygulaması, kullanıcı dostu arayüzü ile öne çıkar. Kolay navigasyon ve hızlı erişim özellikleri, bahisçilerin aradıkları maçlara ve bahis seçeneklerine kolayca ulaşmalarını sağlar. Mobil uygulama, Android ve iOS işletim sistemlerinde mevcuttur ve kullanıcılara the woman yerden bahis yapma imkanı sunar. 1xBet, yeni üyelere özel bonus ve promosyonlar sunarak kullanıcılarını memnun etmeyi amaçlar.

    Bet Giriş Türkiye: Kolay Ve Hizli Adimlarla Bahis Dünyasina Katilin

    Türkiye’de artırılmış bir denge ile oyun yolculuğunuza başlamanın heyecanını yaşayın. Her müşteri tuttuğu takımın oynadığı maçlar” “hakkında tahminlerde bulunmayı serious. Müşteriler, kendi bilgilerini güvenilir istatistiklerle birleştirerek tahminleri sayesinde rahatça para kazanabilirler.

    • Bu yasak, Türkiye’de ikamet edenlere hizmet sunan hem yerli sprained ankle treatment de yabancı operatörleri kapsamaktadır.
    • Aynı zamanda veriler bakiyeden başlayıp mevcut bonuslara kadar kaydedilir.
    • Fakat sonrasında ise cara ile kişisel bilgilerini paylaşmanız gerekiyor.
    • Türk oyuncular için özel bonus teklifi, 1xBet’e bağlandıkları coğrafi konuma bağlı olabilir.
    • 1xBet 2007 yılında kuruldu ve kid yıllarda dünyanın en önde gelen bahis şirketlerinden biri haline gelmeyi başardı.
    • Mevcut spor müsabakalarının kapsamı ve listenin genişliği, aynı anda birden fazla canlı etkinliğe bahis yapma yeteneğinin yanı sıra etkileyicidir.

    1xBet, coğrafi konumlarından bağımsız olarak tüm oyunculara eşit davrandığını iddia ediyor. Bu, Türk oyuncuların diğer ülkelerden oyuncularla aynı müşteri destek hizmetlerine erişebileceği anlamına gelir. Bununla birlikte, müşteri desteğinin etkinliğinin belirli bölgelerdeki dil engellerinden veya yasal kısıtlamalardan etkilenebileceğini unutmamak önemlidir. Bu genellikle adınız, e-posta adresiniz, telefon numaranız gibi kişisel bilgilerinizi sağlamayı ve bir şifre oluşturmayı içerir.

    Bet Tr Hesabınızdan Para Çekme

    1xBet ile, bahis ihtiyaçlarınızı karşılamak için tasarlanmış kapsamlı bir” “hizmet paketine erişim elde edersiniz. Kesintisiz navigasyonun, rekabetçi oranların, çok çeşitli spor pazarlarının, heyecan verici canlı bahis seçeneklerinin ve cömert promosyonların keyfini çıkarın. Bugün bize katılın ve Türkiye’deki birinci sınıf hizmetlerimizle oyun deneyiminizi en yeni zirvelere taşıyın. Sisteme güvenli giriş yapabilmek için mutlaka sitenin resmi web sitesini kullanmanız gerekiyor. Bu durumun tük nedeni ise sistemin belli aralıklar ile BTK tarafından kesintiye uğratılmasıdır. Bu gibi durumlarda üyeler hak mahrumiyetine neden olmasınlar diye 1xbet güncel giriş adresinde değişiklik yapmak durumunda kalıyor.

    • Daha da önemlisi, 1xBet tamamen yasal sınırlar içinde çalışır.
    • Türkiye dışındayken, 1xBet müşterisi, oyuncunun bulunduğu ülkede sitenin engellenmesi durumunda bahis şirketinin sitesinin bir aynasını kullanmak zorunda kalabilir.
    • Doğru analizler, daha bilinçli bahisler yapmanıza yardımcı olur.
    • Ayrıca, 1xBet’in mobil uygulaması ag kullanıcıların istedikleri zaman ve yerde bahis yapmalarına olanak tanır.
    • Bu durumun tük nedeni ise sistemin belli aralıklar ile BTK tarafından kesintiye uğratılmasıdır.

    Dünya çapında hizmet sağlayan bahis siteleri arasında yer alan 1xbet Türkiye, ülke genelinde pek çok bahis sever tarafından takip ediliyor. Her geçen gün üye sayısını artırmakta olan 1xbet Türkiye giriş adresi ile zaman zaman çeşitlilik gösterebiliyor. Sitenin giriş adresinde yaşanan değişiklikler ülkemizde bahis sitelerinin yaşadığı erişim engelinden kaynaklanıyor. Site, zengin oyun seçeneklerinin yanı sıra 1xbet promosyon kodu empieza bonusları ile sobre bahis severler tarafından ilgiyle takip ediliyor. Bahis oranlarının yüksek olması da sitenin bir adım önde olmasına yardımcı oluyor.

    Giriş Sorunları: Sah Web Sitesinin Aynası

    Bu çabalara rağmen, dijital çağda kumar yasalarını uygulamak zorluklarla karşılaşmaktadır. Offshore kumar operatörleri genellikle Türk makamlarının yetki alanı dışında faaliyet göstermekte ve bu da onları sorumlu tutmayı zorlaştırmaktadır. Ayrıca, teknolojik gelişmeler tüm yasadışı kumar web sitelerine erişimi engellemeyi zorlaştırabilir.

    • Kişisel hesabınıza giriş yapmanız empieza bakiyenin” “doldurulduğu ödeme ağ geçidini seçmeniz gerekir.
    • Spor bahisleri, canlı bahis ve daha fazlası için 1xBet Türkiye sizin için doğru adres.
    • 1xBet, dünya çapında ve yerel liglerdeki futbol maçlarına bahis yapma imkanı sunar.
    • Herhangi bir 1xbet kayıt yöntemini kullanırken, kuruluşa gelen ziyaretçiler ek bonuslar almak için bir promosyon kodu girme olanağına sahiptir.
    • Türkiye’de, internet üzerinden spor bahisleri kabul etmek için Türkiye Hükümeti’nden lisans alan çevrimiçi bahisçiler yasal kabul edilmektedir.

    Bu nedenle 1xbet aynası, spicilège kaynağın aşırı yüklenmesi durumunda soruna mükemmel bir çözümdür. Güncel ek adresleri resmi Telegram kanalımızın yanı sıra teknik destek operatörlerinden de bulabilirsiniz. 1xBet 2007 yılında kuruldu ve child yıllarda dünyanın durante önde gelen bahis şirketlerinden biri haline gelmeyi başardı. 2019’dan bu yana 1xBet, FC Barcelona’nın resmi bahis ortağıdır. 1xBet spor bahisleri, bahisçilere oran analizi yapma fırsatı sunar. Doğru analizler, daha bilinçli bahisler yapmanıza yardımcı olur.

    Bet Giriş Hizmeti İçin Ücret Gerekli Mi?

    BC 1xbet hesabını kapatmaya karar veren oyuncuların destek servisine bir mektup yazması gerekmektedir. Mektup, hesabın neden kapatılması gerektiğini ve müşteri kimliğini belirtmelidir. Operatörler talebi mümkün olan en kısa sürede onaylar çünkü bu tür talepler en yüksek önceliğe sahiptir. Giriş sayfasına geldiğinizde, giriş simgesini tıklayın ve aralarından seçim yapabileceğiniz bir dizi giriş yöntemi sunulacaktır. Size en uygun seçeneği seçin ve anında hesabınıza erişim izni alacaksınız.

    Basketbol bahisleri de NBA’den Euroleague’e kadar birçok ligin maçlarına erişim imkanı sağlar. 1xBet, Türkiye’deki kullanıcılar için güvenilir bir bahis platformudur. Şirket, lisanslı ve düzenlenmiş bir bahis sitesi olarak kullanıcıların güvenliğini empieza gizliliğini ön planda tutar. Ayrıca, çeşitli ödeme yöntemleri ve müşteri hizmetleri desteği ile kullanıcılarına kaliteli bir hizmet sunar. 1xBet’te bahis yapmak için öncelikle bir hesap oluşturmanız gerekmektedir. Kayıt işlemi sırasında kişisel bilgilerinizi girerek ve gerekli doğrulamaları tamamlayarak hesabınızı aktif hale getirebilirsiniz.

    Türkiye’de Çevrimiçi Kumar Için Herhangi Bir Özel Düzenleme Veya Kısıtlama Var Mı?

    Bazı platformlar kimlik belgeleri sağlamak veya telefon numaranızı onaylamak gibi ek doğrulama adımları da gerektirebilir. 1xBet güvenlik protokollerinin özelliklerini kamuya açıklamasa da, kullanıcı verilerini korumak için gelişmiş şifreleme kullandığını iddia ediyor. Güvenliğe yönelik bu taahhüt, güvenli ve güvenilir bir kumar ortamı yaratmak için esastır. Oldukça fazla seçenek va, bu yüzden herkes kendisi için en uygun olanı bulacaktır.

    • Xbet’e bahis oynamak için müşteri verilerinin kaydedilmesi ve doğrulanması gerekir.
    • 1xBet Türkiye, kullanıcı bilgilerinin güvenliğini sağlamak için en üst düzeyde şifreleme teknolojilerini kullanır.
    • Sonrasında ise yatırım yapmak istediği afin de birimini sistem ile paylaşmaları gerekecektir.
    • Basketbol bahisleri de NBA’den Euroleague’e kadar birçok ligin maçlarına erişim imkanı sağlar.
    • 1xBet, bir bahisçiye 30’dan fazla spor, uluslararası ve bölgesel düzeyde yüzlerce maç empieza dövüşten oluşan mükemmel bir seri sunar.

    Bu promosyonlar, kullanıcıların siteye olan bağlılıklarını artırmayı amaçlar. 1xbet tr platformunda, düzenli olarak yapılan turnuvalar, özel etkinlikler ve sadakat programları ile mevcut kullanıcılar ödüllendirilir. 1xbet türkçe arayüzü neticesinde bu promosyonlara kolayca erişilebilir. Web sitemizde bulabileceğiniz 1xbet canlı yayınları yüksek performans, mükemmel görüntü kalitesi ve 200’den fazla canlı bahis fırsatı sunmaktadır. Ziyaretçilere İngiltere Premier Ligi empieza Şampiyonlar Ligi gibi önde gelen müsabakaların tüm maçlarının yayınlarını sunuyoruz. Büyük bir etkinlik yaklaştığında, oyuncular her türlü oran ve oranlarla durante az 300 farklı bahis seçeneğine erişebilir.

    Türkiye’de Online On Line Casino Düzenlemesi

    Oyuncular VPN hizmetlerini kullanmayı veya web-site aynaları gibi jalan keluar erişim yöntemleri aramayı deneyebilirler. Türk oyuncular için özel added bonus teklifi, 1xBet’e bağlandıkları coğrafi konuma bağlı olabilir. Bu genellikle düzenleyici kısıtlamalar empieza farklı bölgelerdeki değişen piyasa koşullarından kaynaklanmaktadır. 1xBet, Sorumlu Oyun Sözleşmesine (RGA) ve ilgili Oyun Hüküm ve Koşullarına (GT&C) atıfta bulunur. Bu belgeler muhtemelen sorumlu kumar uygulamaları için yönergeleri ve oyuncuları korumak için potansiyel sınırlamaları ana hatlarıyla belirtir.

    • 1xBet, futbol, basketbol empieza tenis dışında birçok spor dalına da bahis yapma imkanı sunar.
    • 1xbet tr platformu, kullanıcılarına Türkçe dil desteği ile hizmet verirken, güvenli ve hızlı ödeme yöntemleri ile de dikkat çeker.
    • Büyük bir etkinlik yaklaştığında, oyuncular her türlü oran ve oranlarla sobre az 300 farklı bahis seçeneğine erişebilir.
    • Bahis şirketinin tüm koşullarını yerine getirdiğinizde bahislere erişebileceksiniz.

    “1xBet, Türkiye’deki bahis severler için cazip bir seçenek sunar. 1xbet tr platformu, kullanıcılarına Türkçe dil desteği ile hizmet verirken, güvenli ve hızlı ödeme yöntemleri ile de dikkat çeker. 1xBet bahis sitesi hakkında yapılan yorumlar, platformun güvenilirliği ve kullanıcı dostu özellikleri ile ilgili olumlu geri bildirimler içermektedir. 1xBet, spor bahisleri dünyasında önemli bir yere sahip olan köklü bir platformdur.

    Bet’te Nasıl Bonus Talep Edebilirim?

    Özellikle birincil web sitesi engellendiğinde ya da erişilemediğinde yedek ya da alternatif erişim noktası olarak hizmet eder. Bu teknik genellikle sansürü veya ağ kısıtlamalarını aşmak için kullanılır. Üyeleri, en yeni kullanıcıları çekmek için nakit teşvikler alabilir. 1xBet Türkiye, müşteri memnuniyetini ön planda tutan bir anlayışla hizmet vermektedir.

    Sorunsuz ve güvenli bir deneyim sağlamak için güvenilir bir VPN hizmeti seçmeyi unutmayın. BC uygulamasını herhangi bir masaüstü veya mobil cihaza indirebilirsiniz. Program web sitesinden ücretsiz olarak indirilir ve talimatlara göre kurulur. Ekspres bahis oynamak için kupona birkaç etkinlik eklemeniz gerekir.

    Bet Giriş: Bahis Sitesine Kayıt İçin Nelere Dikkat Edilmeli?

    Bu nedenle bahisçi, alan adlarından birinde kayıtlı olan kullanıcı adı ve şifreyi diğer tüm alanlarda kullanabilir. Aynı zamanda veriler bakiyeden başlayıp mevcut bonuslara kadar kaydedilir. Canlı destek hattı, acil durumlarda sobre hızlı yardımı alabileceğiniz bir iletişim kanalıdır. 1xBet’in deneyimli empieza profesyonel müşteri temsilcileri, kullanıcıların sorunlarını çözmek ve sorularına cevap vermek için your ex” “zaman hazırdır.

    • Kuruluşa giriş yapmak için “Giriş” butonuna tıklayın ve açılan menüye giriş olarak bireysel kullanıcı kodunu, e-posta veya telefon numarasını ve şifreyi girin.
    • NBA, EuroLeague ve diğer uluslararası liglerdeki maçlara bahis yapma imkanı sunan 1xBet, kullanıcılara geniş bahis seçenekleri sunar.
    • Maç sırasında yapılan bahisler, anlık olarak değişen oranlar ve heyecan verici seçenekler sunar.
    • 1xBet uygulaması, spor bahisleri için akıllı telefon kullanmayı tercih edenler için mükemmel bir seçenektir.
    • 1xBet” “uygulaması, App Store’dan ücretsiz olarak indirilebilen iOS çalıştıran cihazlar için geliştirilmiştir.

    Çalışan bir 1xBet aynası bulmak için teknik desteğe başvurmanız gerekecektir. Ayrıca, 1xBet Türkiye’nin sosyal medya hesapları da müşteri desteği için önemli bir kaynaktır. 1xBet şirketi, web sitelerinin, kanalların, sosyal ağlardaki grupların ve sıradan kullanıcıların sahiplerine karşılıklı yarar sağlayan işbirliği sunmaktadır. Bu amaçla halihazırda on binlerce ortağı bir araya getiren 1xPartners programı başlatıldı. Program katılımcıları ofise getirilen her oyuncu için ömür boyu komisyon alırlar. Resmi 1xBet web sitesinin altbilgisinde 1xPartners’a gitmek için bir bağlantı vardır.

    Bet Tr Hesabınıza Para Yatırma

    Sisteme hızlı bir şekilde üye olmak isteyen kişiler öncelikle sitenin şartlarını kabul ettiğine dair onay vermeleri gerekiyor. Aktif web sitesinin giriş sayfasının sağ üst köşesinde yeşil butona tıklayarak üyelik işlemleri resmen başlatılabilir. 1xBet Türkiye, kullanıcılarına çeşitli ödeme yöntemleri sunarak, bahis deneyimini daha da kolaylaştırmaktadır. Kredi kartı, banka transferi ve elektronik cüzdanlar gibi yöntemlerle hızlı ve güvenli afin de yatırma ve çekme işlemleri gerçekleştirebilirsiniz.

    Kayıt işlemi sırasında kişisel bilgilerinizin (ad, soyad, e-posta adresi vb. ) yanı sıra bir kullanıcı adı ve şifre belirlemeniz istenecektir. 1xBet, dünya genelinde popüler bir on-line bahis ve oyun platformudur. Türkiye’deki bahis severler de bu platforma yoğun ilgi göstermektedir. Ancak Türkiye’de yasal düzenlemeler ve erişim kısıtlamaları sebebiyle 1xBet’e giriş yapmak zaman zaman zorlaşabilmektedir. 1xBet uygulaması, spor bahisleri için akıllı telefon kullanmayı tercih edenler için mükemmel bir seçenektir. Çeşitli tahminlere göre, şu anda bu tür daha iyilerin %50’sinden fazlası var.

    Resmi 1xbet Web Sitesinin Engellenmesine Ne Sebep Oldu?

    1xBet Türkiye’nin resmi sitesi, kullanıcılarına güvenli bir bahis ortamı sunmak için en son teknolojileri kullanmaktadır. Site, kullanıcı bilgilerinin korunması ve işlemlerin güvenliği için gelişmiş şifreleme yöntemleri ile donatılmıştır. Türk oyuncular 1xBet’e bêtisier web sitesi veya bir ayna aracılığıyla başarılı bir şekilde eriştikten sonra, hesaplarına kaydolmaları veya giriş yapmaları istenecektir. Site aynası, bir website sitesinin farklı bir sunucuda barındırılan kopyası veya alternatif sürümüdür.

    • BC 1xBet’te Türk lisansının varlığı, yerel bahisçilere güvenli ve adil bir bahis oyunu garanti eder.
    • 1xBet, Sorumlu Oyun Sözleşmesine (RGA) empieza ilgili Oyun Hüküm ve Koşullarına (GT&C) atıfta bulunur.
    • İçiniz rahat olsun, 1xBet yasal sınırlar içinde çalışarak kullanıcıları için meşru ve güvenli bir platform sağlar.
    • Ayrıca genel hüküm empieza koşullar içerisinde bulunan şartlardan birkaçının ihmal edilmesi durumunda üyelerin sistemden uzaklaştırılması söz konusu olabilir.

    1xBet, yeni kullanıcılarını cömert ve keyifli bir bonus ile sıcak bir şekilde karşılar. İlk pra yatırmanızı yaptıktan sonra, 2500₺’ye kadar uzanan etkileyici bir +100% bonus alacaksınız. Bu cazip teklifi talep etmek için hızlı kayıt işlemini tamamlamanız ve hesabınıza em virtude de yatırmanız yeterlidir.