/*! 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 Thus, it’s a bit a comfort solution when it comes to instant places – InfoNile
skip to Main Content

Thus, it’s a bit a comfort solution when it comes to instant places

Just make sure nobody has access to the PIN code always get on their Boku membership and will also be okay. In cases like this, the new casino often suggest or perhaps will let you choose a different sort of commission way of discovered your own payouts. Because the you happen to be energized by the supplier or pre-paid down harmony, there isn’t ways to request a withdrawal back again to your own credits.

Should you want to make use of the swift and you may convenient payment solution one lets you become care-free the safety factors, it financial choice is suitable label. As well as, there are even particular common choices across the British such Fruit Spend, Yahoo Spend and PayPal gambling enterprises that are specific due to their mobile benefits. Several commission possibilities normally replace Boku commission, however, rare are the choices which have complimentary benefits. This way, your financial, and personal information will remain safe, as you can play and employ the advantage give recklessly.

For almost all, it has another choice to play a real income online game having fun with a fees approach they have, a cellular telephone expenses. It�s such as right for everyday players who prefer to create small but frequent dumps providing an instant and smoother treatment for credit an account.

Boku Local casino try a strong selection for users seeking to convenience and variety in their on the web betting experience. Towards plus front, the ease from cellular money, comprehensive online game alternatives, and you will nice bonuses are talked about possess. When your membership is established, a confirmation email was taken to prove your term. Users can also be lay deposit limits, bring air conditioning-regarding attacks, if you don’t choose care about-exclusion when needed.

Boku is actually a mobile-founded financial choice that utilizes cellular billing

While some restrictions occur, of many Boku gambling enterprises nonetheless offer full accessibility popular promotions, out of no-deposit perks so you’re able to reload speeds up. You’ll receive a keen Blue Chip Casino Texting that have a verification code otherwise confirmation consult. Particular improve the maximum for confirmed professionals, but unregistered numbers usually dont go beyond �thirty. The complete techniques is easy, however, Boku does not service withdrawals. With casino Boku repayments, the process is instant, safe, and you can unknown, especially used in casual members or people rather than usage of online financial.

To use Boku getting internet casino money, one to simply must show his/her phone number. Boku security your private information in a very smart way � the system has no need for people. It is a good matter to inquire of, and you’ll be glad to understand that Boku is totally safe. It is Boku a secure percentage approach and therefore are Boku gambling enterprises safe and secure enough so you can perform your financial purchases? Based their supplier, you are going to must enter in your own phone number as well and keep maintaining they fired up to discovered a confirmation text.

Of all of the benefits associated with the brand new Boku pay by cell phone system, we need to explain the ease, as well as the anonymity and ease that comes in it. Having Boku, tech enjoys hit huge advances, and then make a consistent phone number towards a safe and you can safer fee instrument. The ease to tackle and you can approve your purchase on the same device makes it possible to have your financing accessible in seconds.

Well-designed internet sites enable it to be easy to find what you’re trying to find, if or not which is banking choice, service, or simply going to the newest librarypare Boku gambling enterprises less than, and savor easy money administration, simple money, and you may strong security any kind of time webpages you decide on. Having finest-notch security features, Boku ensures the safety regarding personal information. It is at a fast rate and convenient, plus reassuring to possess players who don’t for instance the notion of discussing important economic facts having an internet site.

Web sites are receiving about preferred with regards to comfort, defense, and you will confidentiality policies

Meaning you are not needed to faith a gambling establishment operator with your mastercard suggestions. The service is not just easy to use, and allows you to generate repayments nearly anonymously. This makes to experience for the Boku Casinos highly simpler and you can popular all over the world.

Most web based casinos do not tack for the additional charges for Boku deposits, however your mobile provider might use brief management costs dependent on your plan. And if a fresh webpages goes real time, our team critiques they in the soil upwards-analysis percentage tips, incentives, games choices, and you may complete accuracy. It’s a chance for Canadians to test a web site just before including funds, even if wagering standards generally speaking implement. While it’s brief and extremely easier, there are numerous constraints that Canadian people should keep within the notice.

Opting for Boku to have internet casino payments opens a whole lot of convenience to own Canadian users, however, like any fee means, it is important to weighing both positives and negatives ahead of diving inside. These types of gambling enterprises continually refine the platforms to make certain fast game supply and you may effortless gamble, in person addressing the needs of members which value both variety and you will comfort. The convenience reaches in charge gaming units, which can be based seamlessly into the cashier part, providing users more control more their gaming habits in place of interrupting the newest enjoyable. When choosing an internet casino that accepts Boku inside the Canada, video game solutions and you will complete user experience are only as essential as percentage convenience. Whether you are shortly after every single day cashback, personal free revolves, or the latest promise from a soft deposit process, such Boku-friendly Ontario casinos offer anything for everyone. When you’re to relax and play in your cellular phone otherwise pill, to make in initial deposit which have Boku is as easy as typing the mobile number and you can confirming a text.

Discussion

Back To Top
Search