/*! 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 Обзоры репутации диалоговый-игорный дом а ПокерДом официальный сайт вход также доклады об довольства пользователей. – InfoNile
skip to Main Content

Обзоры репутации диалоговый-игорный дом а ПокерДом официальный сайт вход также доклады об довольства пользователей.

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

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

Справедливость

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

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

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

безобидность платежей

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

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

Удобство применения учетной записи

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

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

Бонусы

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

Всё это важно, вследствие рейтинги диалоговый-казино являются неотделимой долею игрового хода.

Отзвуки что касается популярности а еще отчеты о удовлетворенности пользователей.

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

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

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

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

Discussion

Back To Top
Search