/*! 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 Internet casino Assessment – On line casino Free Spin and rewrite Alternatives and https://rocketcasinoaussie.net/ begin Bonus Agreement Is victorious – InfoNile
skip to Main Content

Internet casino Assessment – On line casino Free Spin and rewrite Alternatives and https://rocketcasinoaussie.net/ begin Bonus Agreement Is victorious

Gambling establishment a powerful positive aspects program which you can use if you need to open up a variety of online flash games and commence reward possibilities. The web page also kicks affordability checks to keep what the law states and start be sure that contributors are able a wagering requirements.

Individuals may possibly business the girl Pincoins for even more signup bonuses and start no cost re-writes for a price the particular advances at Vip stage. Right here advertisements can be utilized on computer and commence mobile devices.

Marketing forms

No cost revolves are an easy way to test new game titles without having having to https://rocketcasinoaussie.net/ stake all of your have got money. Nevertheless, they are not any kind of good quality. A include heavy wagering requirements, high win less difficult, as well as constraints inside the rounded volume. Arrangement in this article subtleties might help be able to and start improve the most notable totally free spins has.

Gambling houses use no cost moves to help you connection and begin boost the experience with their members. They are ended in quickly in return for carrying out a procedure, as well as they may be available on the web page’ersus slot machine games. Anyhow, they are a intense media device which may great time individual bridal and start maintenance.

The top totally free re-writes offers are individuals that posting no or non-existent bets unique codes and allow you to enjoy a number of qualified online games. Those two features may possibly enhance your chances of earning a real income.

Person contribution

Free of charge re-writes are a fun way to try out casino position online games with no investing your own money. They bundle enjoyable within the chance for genuine earnings all of which will continue to be much more efficient regarding beginners to the rounded. But, individuals has to be mindful to read the small print and initiate analyze the easiest way below signup bonuses generator. The top free of charge whirl features could possibly get non or neo-existing wagering codes and commence received’michael restriction what you can acquire.

The slot machine video games specific of those ads also can significantly obtain a earning options. No volatility online games submitting typical is victorious, since large volatility online games can result in a lesser amount of is the winner but higher payout amounts.

On the internet gambling establishments tend to aspect forms of totally free spins to help interaction and begin improve the sense with regard to people. Some will wisdom the crooks to existing members depending on the woman’s work varies while others consists of these phones require a deposit formerly they are used.

Dedication offers

Today’s dedication platform makes use of correct-hr information to contributors help make advantages which can be exclusively relevant in their mind. The following directions derive from a farmer’ersus gambling work, driving them to better imprinted when compared with classic determination signup bonuses. This sort of podium too sustains conversation and initiate increases the full really feel with regard to users.

Free of charge spins are a fun way to understand more about fresh video games without risking a individual money. Many on the internet casinos submitting it included in the welcome benefit as well as like a bonus pertaining to dedicated participants. Yet, make certain you look into the phrases of those promises to make sure that you may not be violating the legislation. Additionally, a free moves are located accurate with certain slot machines, so make certain you start to see the fine print once you begin enjoying. You may also try to observe a enhancements and become inside the entire wagering limit every spin and rewrite.

Wagering benefits

Free of charge re-writes are an easy way to learn slot game titles with out getting any money. They allow members to learn new position games and begin provoke extra with-rounded has, and so they also can make Sweeps Coins which are ransomed for real gifts. While the terms of below bonuses selection, reputable bets is the fact that recommended. Have a tendency to, free re-writes come for brand spanking new and commence present individuals, sometimes as no-put in additional bonuses as well as in downpayment advertisements. On the other hand, these are open up rounded tournament gambling establishments the where under People sweepstakes legislations and use any increase-foreign kind at Money and commence Sweeps Loose change that might either put on funds signal and turn redeemed the real deal cash incentives.

As opposed to antique accurate-funds internet casino signup bonuses, most no cost spin additional bonuses should have absolutely no moment inside the master in order to get. Have a tendency to, the site will definitely whisk one to any qualified round(s) once your reward will be productive.

On line casino Free Spin and rewrite Possibilities and commence Extra Agreement Wins

On line casino stood a bit to deliver for bettors which have been checking out to try the woman’s luck from slot machine games, video wagering or controls games. A multitude of advertising shapes, large bonus deals and begin open customer service give you the position the edge on competition.

The web page is actually listed within Curacao authorization, where promises master wellbeing and initiate honest participate in. To further improve the actual, the website uses situation-of-the-technology file encryption to cover individuals’ identity and commence fiscal specifics.

Brand new bettors may possibly change in the online game which has a large pleasant container that comes with seventy totally free re-writes with Gates regarding Olympus. The particular offers are ready to accept individuals which apply through the committed to marketing link and use marketing signal LCB.

In the event the pleasant extra, individuals expects a trusted flow regarding gifts. Any Current Pot element is just like digital trove, wherein gamblers may well reach peculiar advantages including bonus funds and initiate Totally free Moves if you need to exclusive provides. It is really an contemporary supply of help to make for each trip to a new on line casino feel like an adventure.

A new tiered devotion arrangement is also up, and begin players may well industry bonus pincoins with regard to unusual bonus offers the actual influence often. In this article money is with different master’ersus Vip point and include many methods from more money if you need to custom betting reports. Your positive aspects platform beams discussion and begin increases the complete sense regarding users, it does not matter the girl allowance as well as betting execute.

Discussion

Back To Top
Search