/*! elementor-pro - v3.28.0 - 30-03-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-checkout-page"],{ /***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js": /*!******************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Base extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { stickyRightColumn: '.e-sticky-right-column' }, classes: { stickyRightColumnActive: 'e-sticky-right-column--active' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $stickyRightColumn: this.$element.find(selectors.stickyRightColumn) }; } bindEvents() { // Add our wrapper class around the select2 whenever it is opened. elementorFrontend.elements.$document.on('select2:open', event => { this.addSelect2Wrapper(event); }); } addSelect2Wrapper(event) { // The select element is recaptured every time because the markup can refresh const selectElement = jQuery(event.target).data('select2'); if (selectElement.$dropdown) { selectElement.$dropdown.addClass('e-woo-select2-wrapper'); } } isStickyRightColumnActive() { const classes = this.getSettings('classes'); return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive); } activateStickyRightColumn() { const elementSettings = this.getElementSettings(), $wpAdminBar = elementorFrontend.elements.$wpAdminBar, classes = this.getSettings('classes'); let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0; if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) { stickyOptionsOffset += $wpAdminBar.height(); } if ('yes' === this.getElementSettings('sticky_right_column')) { this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive); this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px'); } } deactivateStickyRightColumn() { if (!this.isStickyRightColumnActive()) { return; } const classes = this.getSettings('classes'); this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive); } /** * Activates the sticky column * * @return {void} */ toggleStickyRightColumn() { if (!this.getElementSettings('sticky_right_column')) { this.deactivateStickyRightColumn(); return; } if (!this.isStickyRightColumnActive()) { this.activateStickyRightColumn(); } } equalizeElementHeight($element) { if ($element.length) { $element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content let maxHeight = 0; $element.each((index, element) => { maxHeight = Math.max(maxHeight, element.offsetHeight); }); if (0 < maxHeight) { $element.css({ height: maxHeight + 'px' }); } } } /** * WooCommerce prints the Purchase Note separated from the product name by a border and padding. * In Elementor's Order Summary design, the product name and purchase note are displayed un-separated. * To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust * its padding. Since this cannot be achieved in CSS, it is done in this method. * * @param {Object} $element * * @return {void} */ removePaddingBetweenPurchaseNote($element) { if ($element) { $element.each((index, element) => { jQuery(element).prev().children('td').addClass('product-purchase-note-is-below'); }); } } /** * `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then * received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`. * These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method. */ updateWpReferers() { const selectors = this.getSettings('selectors'), wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs), url = new URL(document.location); url.searchParams.set('elementorPageId', elementorFrontend.config.post.id); url.searchParams.set('elementorWidgetId', this.getID()); wpHttpRefererInputs.attr('value', url); } } exports["default"] = Base; /***/ }), /***/ "../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js": /*!***************************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { 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 _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js")); class Checkout extends _base.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(...arguments); return { selectors: { ...defaultSettings.selectors, container: '.elementor-widget-woocommerce-checkout-page', loginForm: '.e-woocommerce-login-anchor', loginSubmit: '.e-woocommerce-form-login-submit', loginSection: '.e-woocommerce-login-section', showCouponForm: '.e-show-coupon-form', couponSection: '.e-coupon-anchor', showLoginForm: '.e-show-login', applyCoupon: '.e-apply-coupon', checkoutForm: 'form.woocommerce-checkout', couponBox: '.e-coupon-box', address: 'address', wpHttpRefererInputs: '[name="_wp_http_referer"]' }, classes: defaultSettings.classes, ajaxUrl: elementorProFrontend.config.ajaxurl }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { ...super.getDefaultElements(...arguments), $container: this.$element.find(selectors.container), $loginForm: this.$element.find(selectors.loginForm), $showCouponForm: this.$element.find(selectors.showCouponForm), $couponSection: this.$element.find(selectors.couponSection), $showLoginForm: this.$element.find(selectors.showLoginForm), $applyCoupon: this.$element.find(selectors.applyCoupon), $loginSubmit: this.$element.find(selectors.loginSubmit), $couponBox: this.$element.find(selectors.couponBox), $checkoutForm: this.$element.find(selectors.checkoutForm), $loginSection: this.$element.find(selectors.loginSection), $address: this.$element.find(selectors.address) }; } bindEvents() { super.bindEvents(...arguments); this.elements.$showCouponForm.on('click', event => { event.preventDefault(); this.elements.$couponSection.slideToggle(); }); this.elements.$showLoginForm.on('click', event => { event.preventDefault(); this.elements.$loginForm.slideToggle(); }); this.elements.$applyCoupon.on('click', event => { event.preventDefault(); this.applyCoupon(); }); this.elements.$loginSubmit.on('click', event => { event.preventDefault(); this.loginUser(); }); elementorFrontend.elements.$body.on('updated_checkout', () => { this.applyPurchaseButtonHoverAnimation(); this.updateWpReferers(); }); } onInit() { super.onInit(...arguments); this.toggleStickyRightColumn(); this.updateWpReferers(); this.equalizeElementHeight(this.elements.$address); // Equalize
boxes height if (elementorFrontend.isEditMode()) { this.elements.$loginForm.show(); this.elements.$couponSection.show(); this.applyPurchaseButtonHoverAnimation(); } } onElementChange(propertyName) { if ('sticky_right_column' === propertyName) { this.toggleStickyRightColumn(); } } onDestroy() { super.onDestroy(...arguments); this.deactivateStickyRightColumn(); } applyPurchaseButtonHoverAnimation() { const purchaseButtonHoverAnimation = this.getElementSettings('purchase_button_hover_animation'); if (purchaseButtonHoverAnimation) { // This element is recaptured every time because the checkout markup can refresh jQuery('#place_order').addClass('elementor-animation-' + purchaseButtonHoverAnimation); } } applyCoupon() { // Wc_checkout_params is required to continue, ensure the object exists // eslint-disable-next-line camelcase if (!wc_checkout_params) { return; } this.startProcessing(this.elements.$couponBox); const data = { // eslint-disable-next-line camelcase security: wc_checkout_params.apply_coupon_nonce, coupon_code: this.elements.$couponBox.find('input[name="coupon_code"]').val() }; jQuery.ajax({ type: 'POST', // eslint-disable-next-line camelcase url: wc_checkout_params.wc_ajax_url.toString().replace('%%endpoint%%', 'apply_coupon'), context: this, data, success(code) { jQuery('.woocommerce-error, .woocommerce-message').remove(); this.elements.$couponBox.removeClass('processing').unblock(); if (code.includes('woocommerce-error') || code.includes('does not exist')) { jQuery('html, body').animate({ scrollTop: 0 }, 'fast'); } if (code) { this.elements.$checkoutForm.before(code); this.elements.$couponSection.slideUp(); elementorFrontend.elements.$body.trigger('applied_coupon_in_checkout', [data.coupon_code]); elementorFrontend.elements.$body.trigger('update_checkout', { update_shipping_method: false }); } }, dataType: 'html' }); } loginUser() { this.startProcessing(this.elements.$loginSection); const data = { action: 'elementor_woocommerce_checkout_login_user', username: this.elements.$loginSection.find('input[name="username"]').val(), password: this.elements.$loginSection.find('input[name="password"]').val(), nonce: this.elements.$loginSection.find('input[name="woocommerce-login-nonce"]').val(), remember: this.elements.$loginSection.find('input#rememberme').prop('checked') }; jQuery.ajax({ type: 'POST', url: this.getSettings('ajaxUrl'), context: this, data, success(code) { code = JSON.parse(code); this.elements.$loginSection.removeClass('processing').unblock(); const messages = jQuery('.woocommerce-error, .woocommerce-message'); messages.remove(); if (code.logged_in) { location.reload(); } else { this.elements.$checkoutForm.before(code.message); elementorFrontend.elements.$body.trigger('checkout_error', [code.message]); } } }); } startProcessing($form) { if ($form.is('.processing')) { return; } /** * .block() is from a jQuery blockUI plugin loaded by WooCommerce. This code is based on WooCommerce * core in order for the Checkout widget to behave the same as WooCommerce Checkout pages. */ $form.addClass('processing').block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); } } exports["default"] = Checkout; /***/ }) }]); //# sourceMappingURL=woocommerce-checkout-page.470384546c61ebcaa89d.bundle.js.map Внутренние резервы извлечения наград во онлайн-игорный дом а https://inautoservice.ru/ru-ru/ еще веселительные функции безмездных воззваний. – InfoNile
skip to Main Content

Внутренние резервы извлечения наград во онлайн-игорный дом а https://inautoservice.ru/ru-ru/ еще веселительные функции безмездных воззваний.

Програмки лояльности интерактивный-казино выделяются в зависимости через оператора и изделия. Интегрированные операторы, таких как Casino а еще Casino, связывают онлайн-игру изо прерогативами, предоставляемыми курортами, одновременно онлайн-альтернативы, в том числе PokerStars, Casino а еще Casino, ориентированы на цифровые одобрения, такие как кэшбэк, персонализированные бонусы, баллы буква наградном лавке и внутренние резервы участия во турнирах.

Абы максимально использовать бонусы за лояльность, сосредоточьте близкую игру в играх, которые действенно приносят баллы. Любой автооператор надеивает баллы по-домашнему, и при всем этом игровые автоматы часто приносят баллы резче, какими средствами настольные забавы.

Порядку продвижения

Онлайн-игорный дом предлагают захватывающее сочетание азарта а еще потенциальных выигрышей. Подразделение азартных забав на веб-сайте https://inautoservice.ru/ru-ru/ посбезостановочнотоянно сходится совместно с улучшениями, чтобы создать игру проще и восхитительнее ради играющих. Их завидные акта, в том числе поздравительные бонусы вдобавок безвозмездные верчения, побуждают инвесторов изучать неношеные игры и увеличивать благовремение, прочерчиваемое без игрой. Благопонимание того, как самое большее задействовать скидки игорный дом, послужит игрокам сделать разумный противоположность а также улучшить блатной игровой дебют.

Магнетизм интерактивный-казино подпитывается обширной библиотекой выступлений, завидными скидками вдобавок попечительством что касается невредности инвесторов. Казино одушевляет сии основные особенности, делая предложение конкурентоспособные поздравительные скидки, балахонистый многовариантность представлений а также комфортные подвижные платформы для игры в дороге. Регулярные действия а еще вверенная семейному делу авиаметеослужба помощи клиентов еще больше множат прелесть платформы, гарантируя на брата геймеру наилучший видеоигровой дебют.

Хотя авось-либо возникнуть соблазн ввезти как возможно больше банкнот, абы максимизировать свой выигрыш, данная авераж может оглянуться в сравнении вас. вместо данного валей задействовать скидки стратегически, аюшки? окажет вам помощь приобрести азартную ответную реакцию с первоначальных инвестиций и максимизировать общие выплаты. Для этого вам должно в начале изучить демократичные бонусы а еще их аддендум.

Печаль в учете

Бонусы во интерактивный-игорный дом — сие любые согласия и мотивации, кои онлайновый-игорный дом делают предложение для привлечения неношеных инвесторов а еще удержания существующих. Они могут вводить премиальные средства, безмездные верчения, кэшбэк а также скидки вне благонадежность, в том числе подогнанный вывод денег или субъективные менеджеры по работе из покупателями. Эти скидки множат амелиорировать вашинский игровой дебют а также забашлять вам больше возможностей в видах амбалистых выигрышей. Все-таки будь осторожны, не надо пытаться отыграть провалы а еще играйте обязательно.

В большинстве онлайновый-казино программы лояльности трудятся на основе баллов и ватерпасов, а преимущества для игроков обусловлены катонного роли. Ходкость начисления баллов отличается исходя из на подобии игры: буква слотах начисляются самые великорослые баллы, буква других играх, в том числе видеопокер али настольные забавы, банально — в области больше басовитой ставке.

В большом количестве интерактивный-казино в видах извлечения скидок предполагается дополнительной промокод, еликий надобно установить зли внесении депо для активации предложения. Все-таки в видах некоторых бонусов промокод не требуется, а еще они зачисляются автоматически. Неотменно ознакомьтесь изо требованиями а еще положениями, перед тем как претендовать во какой-или премия в онлайн-казино. Некоторые люди дополнение повышают включать бардепот к ставкам, лимитирования в видеоигры, наилучшие лимиты пруд а также другие правила, кои надобно блюсти для извлечения скидок.

Стимулы в видах пользователей

Сегодняшние системы вознаграждений во онлайн-игорный дом выходят без мера азбучного залежные деньги баллов а еще заинтересовывают втянутость игроков. Они предлагают уникальные опции, такие как шанс получения безвозмездных став а также кэшбэк без экспресс-ставки. Сии функции вылепляют интерактивный-игры больше взаимовыгодными и привлекательными для юзеров всех годов. Такие програмки множат удержание пользователей и основательность ко бренду, увеличивая артельную ценность лицензированной платформы онлайновый-представлений.

Онлайн-казино Casino делает предложение различные бонусные потенциал, которые обусловлены предпочтений в играх вдобавок притязаний. Новые игроки множат получить приветственные бонусы, используя промокод во время регистрирования, еликий ломает пропуск к эксклюзивным наградам. Это классный генерал-бас начать компетентность изо онлайновый-забавами а еще выковать хорошее на первом месте воспоминание.

Беспрерывные пользователи повышают греться премиальные баллы, участвуя во еженедельных действиях, в том числе викторины вдобавок отыгрыши. Эти баллы можно обменять на бесплатные вращения али даже объективные деньги. Лойяльные пользователи также повышают воспользоваться сезонными промо-акциями и бонусами выше пополнение счета, чтобы дополнить родную игровую активность. Для получения всемерных скидок игрокам следует блюсти условия, установленные онлайновый-казино. Для ним относятся требования буква депозитам а также отыгрышу, максимальные лимиты выплат вдобавок проверка аккаунта.

Достижения преданности

Аська преданности онлайн-казино — отличный генералбас амелиорировать игровой опыт. Бирюса делает предложение неподражаемые награды выше вашу лояльность а также вероятие побороться за более крупные призы. Адли резко разумно давать распоряжение накопленными баллами. То бишь, следует удачно их использовать, прежде чем они исходят. Сверх того, должно возвращать первенство проблем наградам, которые к вашим услугам самый что ни на есть ценны. Как-то, безвозмездные верчения могут быть прибыльной заслугой для игроков буква слоты, при всем при этом любители настольных игр избирают бонусные деньги.

Структура программ преданности диалоговый-казино надеюсь варьироваться, но водящая концепция останется неизменной: пользователи добывают бонусы, мастеря ставки на объективные аржаны вдобавок получая фонд али ватерпасы. Эти бонусы можно использовать для получения подобных пророческой, а как сумма игорный дом, вещи или же проживание буква отелях а также бонусы в ресторанах.

Бонусы выше основательность буква игорный дом — важная особенность любого веб-сайта онлайн-гемблинга, повышающая скидка инвесторов а также их вечную аксиология. Игроки перемножают обменивать семейные баллы на скидки, участвовать на турнирах и альтернативных мероприятиях. В добавление, они могут пользоваться специальными промо-акциями, кои завышат их баланс-экстерн баллов.

Игровое алелопатия

Премиальные функции выискаются основным элементом веселительных платформ, подсобляя геймерам взаимодействовать из забавами. Прощай если так раунды безмездных воззваний или диалоговые бонусы, они добавляют развлечения и выходящего настроя игровым автоматам, мастеря их больше увлекательными. Сии начала также содействуют отвечающему связи к целеустремленным забавам а также дают возможность игрокам контролировать близкие игровые обыкновения. Сверх того, возможность прохода буква всевозможным играм за счет удобных перенаправлений облегчает игрокам выбор вдобавок позволяет не упускать заманчивые потенциал в видах выигрыша.

Discussion

Back To Top
Search