/*! 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 Click on the classes less than for additional info on its purposes – InfoNile
skip to Main Content

Click on the classes less than for additional info on its purposes

However, the group about Mr Wager is created regarding experts with many different many years of knowledge of the newest iGaming world and is as to why they already know that range is the vital thing. Each one of these online game was enhanced to own cell phones and certainly will manage efficiently.

Starting from the Mr Bet Casino was a breeze

Lowest deposit numbers normally initiate from Jackbit bonuscodes the ten EUR or currency comparable, if you are restriction limits differ by commission means and you can account reputation. The fresh new software holds log on instruction getting smoother availability when you find yourself using automatic logout after stretched inactivity to possess defense purposes. Initially withdrawals want identity verification owing to file upload, typically canned in 24 hours or less off distribution. To possess done info on latest has the benefit of as well as their terms and conditions, you can explore our over extra conditions and marketing also offers.

Mr Choice Casino caters individuals global commission tips, from the frontrunners including Visa and Bank card for the use of cryptocurrencies. Particular data, like your username, cannot be altered after, very excite take a look at the accuracy. Participants can be look at the domestic legislation, remark the fresh new licenses, view regulating conformity, contact assistance plus.

We offer a big greeting bonus – thirty FS having Subscription two hundred% Added bonus + 100 FS in your Basic Ceposit to acquire already been. The latest Mr Wager software is the most efficient way of getting gambling establishment recreation in your mobile device with the have incorporated. Discover the most popular Mr Bet gambling games, and a give-selected selection of slots, desk game, and live broker games that may entertain your attention.

Regardless if you are using your apple ipad or new iphone, all of our ios software will give you accessibility hundreds of humorous online game. The responsive support team is ready to aid you if you are trapped. When the a person will not comprehend the link to the newest cellular app, then it’s unavailable in their area. A giant group of online game, along with financially rewarding marketing and advertising also offers, awaits you at the Mr.Wager Casino. Needless to say, no modern online casino may go rather than some kind of live broker games. The newest user makes bound to were all the popular video game in the business and a lot of most other titles you may also not have even observed.

The newest fee choices are safe and there can be several online game options to make you stay captivated. That it betting home is totally modified to have desktop and you may cell phones, making it possible for participants to love a bunch of engaging online game for the go otherwise from the comfort of their homes. Our dedicated cluster went the additional kilometer to try all of them aside into the additional gadgets and discovered away the top quality are unfailingly exceptional. This can be due to its strategic relationship having business leadership particularly Microgaming, Big-time Gaming, NetEnt, and you will Amatic, and this be sure a memorable playing feel for all people. You could potentially not, here are some the post on the fresh Classic Gambling establishment no-deposit bonus if this is something you actually want to fool around with. No deposit bonuses are among the sweetest bonuses on industry and Mr Bet could have been giving them in earlier times so you can draw in users into the the virtual doorways.

At the Mr Wager Gambling enterprise, you’ll find an enormous distinctive line of online slots with a high RTP cost, and a comprehensive sportsbook getting sports betting in the Asia. Whether you are a fan of rotating reels towards real money slot machines on the web otherwise gain benefit from the excitement of sports betting inside Asia, we something special for you. Regardless if you are a laid-back player otherwise an individual who has testing their chance, totally free ports obtain Are you ready to understand more about ins and outs of the favorite online game?

Whether you are found in the United kingdom otherwise a returning user, these types of vouchers give beneficial perks to compliment the experience. As a result of the most easier online casino application, you have access to NZ Mr. Choice casino games anytime, anywhere, throughout your cell phone. Mr Bet Gambling enterprise plus helps certain financial actions, together with fiat and you may cryptocurrencies, and make purchases easy and smoother. Should you want to find out about the latest gambling establishment, check it out to check out yourself as to the reasons a lot of members like Mr Bet Gambling establishment. The latest filtering system is more than average whilst also offers unnecessary possibilities which you can have to click on the miss off eating plan observe everyone.

Be it on the web slots otherwise wagering within the Asia, pick your favorite and begin!

User assistance is available 24/eight, so you’ll never be leftover by yourself along with your state. You can even conveniently filter the latest offered type of activity by developer. You could gamble many of these casino games in your favourite mobile device. On top of incentives and you can campaigns, Mr Wager on-line casino also provides totally free admission tournaments for example Thrill Walk, the newest already offers a real currency prize as much as four,five hundred CAD. That often, gamblers transform online casinos because they want to get the give to your a massive variety of incentives and you may advertisements. Canadian members like casinos on the internet you to take on a wide range of commission choices.

Monetary surgery are processed thanks to typically the most popular financial expertise, record where changes by located area of the athlete. Every one of them is really a specialist inside their industry, since confirmed by many people certificates, licenses and simply wider desire on the video gaming people. It has got of a lot bonuses so you’re able to claim along with match incentives, cashback bonuses, totally free spins, support program perks, and you can competitions that have unbelievable honor swimming pools. If it is not enjoyable, and you also feel like you need certain help, Mr Wager possess everything you we’d be prepared to get in destination to assist. There is also a parece getting gamblers exactly who love RNG-driven game. He could be due to renowned studios like Pragmatic Play, Playtech Alive, Creedroomz, and you will Ezugi, so you learn it will be a good.

Discussion

Back To Top
Search