/*! 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 La equipacii?n sobre apoyo suele asistir en compania de dificultades sobre perfil, dudas estrategias en el caso de que nos lo olvidemos preguntas de transacciones – InfoNile
skip to Main Content

La equipacii?n sobre apoyo suele asistir en compania de dificultades sobre perfil, dudas estrategias en el caso de que nos lo olvidemos preguntas de transacciones

Sobre relacion an una servicio al usuario, el chat en listo 24/8 y el foco sobre ayuda en linea son dinero validos para resolver consultas pronto. Pero es invierno propuesta de juegos de caja de ahorros es reducida acerca de contraposicion con las tragaperras, la calidad y no ha transpirado sentimiento de los juegos disponibles resultan indiscutibles. Provee una destreza de juego interesante una amplia variedad de tragaperras asi� como una rutina de fidelizacion �Gym One� cual accesit a los jugadores leales.

OneCasino guarda una gran seleccion sobre juegos, incluidas tragamonedas, juegos sobre asiento asi� como crupieres sobre vivo

OneCasino presenta un bono sobre recepcion cual iguala el https://euro-casinos.org/es/bono inicial deposito en el 100 % hasta 500 �, que puedes recla, la Tarima ofrece mas de 1000 tragaperras, 25 juegos sobre banco y no ha transpirado 11 juegos con manga larga dealer en avispado. Las usuarios sobre Portugal podran obtener favorece del equipo de amabilidad del usuario sobre OneCasino acerca de castellano. Lo cual comprende conocidas maquinas tragamonedas, juegos de caja de ahorros igual que blackjack y no ha transpirado ruleta asi� como video poquer.

Los campanas de bonificacion semanales ofrecen de mas giros sin cargo como accesit para individuos leales cual usan el sitio en compania de repeticion. Una vez que adquieras giros gratis referente a nuestro casino, deberias iniciar a ganar de contiguo. Las tipos de blackjack ofrecen a las pensadores estrategicos alguna cosa que elaborar. Nuestro casino guarda bastantes juegos sobre banco utilizadas, igual que tipos de blackjack, ruleta asi� como baccarat. En caso de que tendri�as cualquier inconveniente para iniciar sesion, el aparato sobre ayuda al consumidor esta disponible los seis jornadas de el cantidad de dias de simplificarte referente a castellano.

Una parte sobre crupieres referente a presto de One Casino ofrece una habilidad de juego mejor cual combina la comodidad del entretenimiento sobre linea mediante un ambiente sobre algun casino cierto. Al completo esparcimiento se encuentre disenado con el fin de ser sencillo sobre asimilar, no obstante provee suficiente profundidad con el fin de que los participantes con experiencia disfruten. Los corredores podrian percibir fortuna sobre la ruleta europea o en la barra americana, canjear dentro de dispares formatos de blackjack o en la barra enfrentarse alrededor del crupier referente a juegos igual que Casino Hold’em indumentarias Pontoon. Para aficionados a las juegos de casino tipicos, One Casino brinda la inimaginable escala sobre opciones. Si, suele sufrir las versiones de prueba de su mayoridad para juegos de manera gratuita en comprometer dinero eficaz. Si, la totalidad de las bonos sobre One Casino tienen cualquier exigencia sobre postura sobre 35 ocasiones en permitirse arrinconar cualquier ganancia.

Con el fin de que te sea posible comenzar a apostar a las tragamonedas, juegos sobre mesa y no ha transpirado anuncios especificas sobre contiguo. Hoy por hoy, si queremos disfrutar de nuestros juegos de casino preferidos, tendremos que acceder referente a empezando por nuestro smartphone en el caso de que nos lo olvidemos tablet.

Una ayuda al consumidor de este casino nos deberian cercano bastante excelente. Tambien debes destacar en caso de que deseas tomar nuestro bono sobre admision y diferentes promociones a traves del e-mail. Para ello, debes reponer el cuestionario sobre juego formal y la equipacii?n revisara a mano tu demanda. Este tipo de juegos sobre One casino en presto facilita conectarte sobre en direccion con un crupier real de disfrutar sobre una medio sobre casino mucho mas absoluta. Ademi?s es posible divertirte del casino sobre preparado si entras en la parte �acerca de directo’.

A la mayoria para metodos de paga, se puede rescatar tu dinero sobre 24 situaciones

Cuando se podri�an mover cobran documentos de alta calidad, una engendro. En el anular temporalmente las cuestiones si hallaremos dificultades, le informamos que realizar posteriormente. Andamos pendiente a la marcha, las huellas dactilares del mecanismo y tambien en la geolocalizacion de suprimir el timo sobre retribucion referente a One Play Casino suin que llegue a su cuenta. Utilice solo metodos sobre pago cual hayan ya significado comprobados como efectivamente tu.

Discussion

Back To Top
Search