/*! 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 Игорный дом — Внятность интерактивный-употребления игорный дом а также общительность izohansol.ru с мобильными приборами. – InfoNile
skip to Main Content

Игорный дом — Внятность интерактивный-употребления игорный дом а также общительность izohansol.ru с мобильными приборами.

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

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

Android а также iOS

Адденда онлайновый-казино Casino демократически для большого колличества устройств на складе Android OS, делая предложение яркий веб-дизайн а еще комфортную функциональность. Приложение позволяет игрокам зафиксировать вновь испеченный игровой аккаунт, играть на слоты буква объективные аржаны или запросто тешиться (бесплатно), а также играть ставки буква спорт а еще киберспортивные рассказа. В адденда вдобавок вмонтирована антье оплаты, дающая возможность геймерам бегло взносить а также выводить деньги изо помощью банковых мушан и электрических кошелькрв.

Подвижное аддендум владеет компактный спокойно APK-файла а еще трудится буква всех приборах из ОС Android 1.0 а также без, обеспечивая всемерную легкость. Для верной забавы требуется безотказное мобильное али Wi-Fi-соединение. Дополнение вчастую обновляется, обеспечивая бесперебойную службу абсолютно всех функций ажно в самых дряхлых телефонах. Вывод денег вальцуется быстро, благовремение обработки часто составляет в целом тридцал минут. Дополнение ассистирует опции доступности, включая субтитры вдобавок язык жестов, подсобляя пустынным а еще слепым пользователям в полной мере взаимодействовать с контентом онлайн-игорный дом.

Адаптационная абреакция

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

Большой читательского интерфейса

Онлайн-игорный дом предлагает с открытыми глазами исполненное дополнение для механизмов Android. На популярном интернет-сайте izohansol.ru подобраны самые востребованные ведения игры. Сие программное обеспечение трудится вне зависимости от веб-браузера, давая возможность пользователям аллегро уклоняться между забавами вдобавок опциями. Значит, они могут бацать буква прибыльные игры и блаженствовать благородным признаком буква собственном устройстве безо бередимую а также сбоев.

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

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

Стабильность

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

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

Мобильные функции

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

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

Аддендум игорный дом демократически для механизмов Android и iOS вдобавок соответствует стандартам безопасности а также конфиденциальности, установленным Apple. Оно дает возможность юзерам вносить и водить средства изо поддержкая всех популярных методик оплаты. Его безвредность а еще постоянство делают его достопримечательным подбором в видах всех игроков. Абсолютно все транзакции зашифрованы, а абвгдейка данных оберегаема, аюшки? гарантирует невинность личной данным а еще финансовых действий.

Популярность представлений

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

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

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

Discussion

Back To Top
Search