/*! 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 Install this new APK from Uptodown – InfoNile
skip to Main Content

Install this new APK from Uptodown

A different sort of bonus trail seems above the reels, that will collect even more 100 percent free spins and you may multipliers. When he increases, your stand to winnings among cuatro jackpots, toward super jackpot spending on dos 000ₓ their overall wager. Because the games are medium-higher volatility-smart, you might information doing x their wager any time you spin new reels well. People accustomed The fresh Flintstones tend to remember the emails, like the lively pet dinosaur Dino. This Plan Gambling creation have a tendency to surpass criterion with the Flintstones fans. For the reels set against stone, that it slot provides a classic feel about they, so there are plenty of bonus has one increase the excitement peak.

You could found rewards on the Flintstones after you twist the new reels and you may property 3—5 matching adjoining symbols together one of many video game’s ten paylines. As you twist the fresh reels, Fred Assemble icons and other special signs will help you improvements along the incentive bar, unlocking larger and better rewards, in addition to a lot more revolves and you will multipliers. Cashpots can seem to the reels for the feet games, and you can 100 percent free spins just like the simple bucks honors otherwise jackpot rewards. Which online position even offers an effective pre-historic theme one’s loaded with progressive enjoys.

Step into Brick Age with a modern spin regarding the Flintstones position games out-of Strategy Gaming. This is an excellent option for casual zde jsou výsledky professionals and admirers whom should have fun with the Flintstones for fun or even teaching the method prior to spending real money. The fresh RTP is set at 95.45% and is considered medium volatility. The newest Flintstones position premiered from the Playtech position seller on step one Oct 2016, providing an easy strike off familiarity. Variations from 100 percent free revolves including engaging picture make this a lighting-up slot to play, and big enjoyable might possibly be got by the individuals who are admirers of one’s Tv series.

Karolis have created and you will edited those slot and local casino feedback possesses starred and you can checked 1000s of on line position games. The brand new position games is actually showing up more frequently than do you really believe. New RTP are determined from the 95%, toward volatility rating said to be anywhere between average and large.

Like any modern ports, The brand new Flintstones features an untamed symbol one substitutes for everyone spending signs. This new songs construction is just as interesting, offering the new show’s attention-getting theme tune and authentic sound-effects one will immediately transportation fans back again to its teens. We believe The new Flintstones online position integrates common anime aspects which have adequate modern keeps to store instructions varied. The overall game sticks genuine with the characters’ completely new activities, with Fred, Barnie, Wilma, and you may Betty all-making styles next to Dino, which looks like this new game’s Wild icon.

But not, the average so you’re able to higher volatility helps to make the game play getting alot more well-balanced than other highest-chance titles. The fresh charm of one’s Flintstones Thank you for visiting Bedrock lies in the latest seamless integration of tell you’s comedy with the their incentive have. The fresh new honor wheel also provides individuals advantages, also bucks honours, 100 percent free revolves, otherwise instant access into At the Events function.

Complete special missions, secure private advantages.

Additionally includes specific enjoyable, otherwise somewhat overused, incentive enjoys. There is lots to help you such as for instance about the Flintstones, to the game’s sentimental design and you may charming emails without doubt increasing a smile certainly one of players out-of a particular decades. There are even five jackpots that can be amassed – new Mini, Slight, Big, and you may Super, which pay 10x, 25x, 100x, and you will dos,000x the player’s risk, respectively. There are lots of enjoyable incentive features obtainable in The Flintstones. Despite this, fans of one’s collection might choose to bring it to have a twist getting nostalgia’s benefit. New Flinstones provides an enchanting design and you may fun keeps it is dissatisfied from the a less than-average RTP.

Into the 100 percent free spins bonus, you’re able to play the Flintstones and the Rubbles while the your you will need to smack the huge real money jackpots. A few of the added bonus have about new Flintstones game have come left. A lot of the new laughs of the inform you are based on the fresh new primitive brands of modern developments. The online game have 10 repaired paylines, 95.00% RTP, and average to large volatility. Whenever landing one or two typical incentive symbols along with one Very Spins Extra Icon on the Flintstones™ slot’s reels benefits your towards Awesome Revolves Added bonus.

It seems since the either a plus Improve, including additional Scatters, otherwise an excellent Dino Insane, losing in the a lot more Wilds in order to move things up and assist property a great deal more effective combos. Put your restrictions very early and you will go to our Secure Betting Center having equipment and suggestions built to remain all the video game fun and not as much as manage. The Flintstones provides a unique unique build versus almost every other gambling establishment video game however the controls usually feel common for many who’ve starred most other Strategy headings. By evaluation the fresh new technicians inside a good sandbox ecosystem, you could familiarise yourself to your game’s book flow to check out your preferred risk diversity just before joing the genuine currency step. He’s strong online game they both, nonetheless they’re most modernized, by using the gather auto mechanic that we’ve viewed a lot in Fishin’ Madness and Huge Trout. If you’lso are a Flintstones enthusiast or not, it’s a colorful, comfortable setting that individuals faith really players will appreciate.

In order to best all of it out of, there is certainly an arbitrary Rugged Ride Element and therefore looks regarding the chief video game only and you will prizes puzzle signs and you may last earn multiplier. The proper execution is very common, appearing like it is from the comfort of Bedrock, towards gorgeous views regarding the tell you throughout the background. Even though the flintstones tends to be devote the brick many years, that it slot packages enough added bonus provides so you’re able to competitor any twenty-first century online slots games.

Admirers out of modern jackpots and you can excitement is speak about the fresh Genie Jackpots Cave regarding Miracle. The latest sound framework is a perfect match, offering the fresh new iconic theme songs and you will entertaining sound clips on characters. Remain another attention out on game’s special icons, because they’re the admission on most exciting added bonus possess and greatest wins. The online game is decided against the familiar backdrop of your Flintstones’ home within the Bedrock, that includes the brick-ages structures. The overall game are a beneficial 10 profit-range slot that have RTP systems off 92%, 93% and 95%, a beneficial ten,000x limitation win, and you can bets ranging from 0.ten to 20.00 per twist, aimed at typical in order to highest volatility slot members.

Discussion

Back To Top
Search