/*! elementor-pro - v3.30.0 - 01-07-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["loop-filter-editor"],{ /***/ "../modules/loop-filter/assets/js/editor/module.js": /*!*********************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/module.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 _taxonomyFilter = _interopRequireDefault(__webpack_require__(/*! ./taxonomy-filter */ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js")); class LoopFilter extends elementorModules.editor.utils.Module { onElementorInit() { this.taxonomyFilter = new _taxonomyFilter.default('taxonomy-filter'); } } exports["default"] = LoopFilter; /***/ }), /***/ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js": /*!******************************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/taxonomy-filter.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; const ElementEditorModule = __webpack_require__(/*! elementor-pro/editor/element-editor-module */ "../assets/dev/js/editor/element-editor-module.js"); module.exports = ElementEditorModule.extend({ __construct() { this.cache = {}; ElementEditorModule.prototype.__construct.apply(this, arguments); }, onInit() { elementor.channels.editor.on('editor:widget:taxonomy-filter:section_taxonomy_filter:activated', this.onTaxonomyFilterSectionActive); }, onTaxonomyFilterSectionActive() { this.updateSelectedElementOptions(); const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(); if (selectedElementControlValue) { this.updateTaxonomyOptions(selectedElementControlValue); } }, updateSelectedElementOptions() { const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(), selectedElement = !!selectedElementControlValue ? elementor.$previewContents[0].querySelector(`[data-elementor-id="${elementor.config.document.id}"] .elementor-element-${selectedElementControlValue}`) : ''; if (!selectedElement) { selectedElementControlView.setValue(''); } const loopWidgets = elementor.$previewContents[0].querySelectorAll(`[data-elementor-id="${elementor.config.document.id}"] .elementor-widget-loop-grid`), selectedElementControlOptions = { '': __('Select a widget', 'elementor-pro') }; if (!loopWidgets.length) { this.updateOptions('selected_element', selectedElementControlOptions); selectedElementControlView.setValue(''); } let index = 1; for (const loopWidget of loopWidgets) { selectedElementControlOptions[loopWidget.dataset.id] = `${__('Loop Grid', 'elementor-pro')} ${index++}`; } this.updateOptions('selected_element', selectedElementControlOptions); }, onElementChange(setting, controlView) { if ('selected_element' !== setting) { return; } const controlValue = controlView.getControlValue(); if (controlValue) { this.updateTaxonomyOptions(controlValue); } else { this.updateOptions('taxonomy', { '': __('Select a taxonomy', 'elementor-pro') }); } }, getPostSourceQueryPostType(loopWidgetContainer) { const querySource = loopWidgetContainer.settings.attributes.post_query_post_type; let queryPostType = ''; switch (querySource) { case 'current_query': queryPostType = elementorPro.config.loopFilter.mainQueryPostType; break; case 'by_id': // Currently 'by ID' is not supported since it can include multiple post types. queryPostType = 'post'; break; case 'related': queryPostType = 'post'; break; default: queryPostType = querySource; } return queryPostType; }, getLoopQueryPostType(loopWidgetId) { const loopWidgetContainer = elementor.getContainer(loopWidgetId); const loopSource = loopWidgetContainer.settings.attributes._skin; if ('post' === loopSource) { return this.getPostSourceQueryPostType(loopWidgetContainer); } return 'product'; }, updateTaxonomyOptions(loopWidgetId) { // TODO: Add control spinner. const postType = this.getLoopQueryPostType(loopWidgetId); const postTypeTaxonomies = this.getPostTypeTaxonomies(postType).then(response => { if (!(response instanceof Response)) { return response; } else if (!response.ok || 400 <= response.status) { this.displayErrorDialog(); return {}; } return response.json(); }).catch(() => { this.displayErrorDialog(); return {}; }).then(response => { let data = response?.data || response; if (!Object.keys(data).length) { this.updateOptions('taxonomy', { '': __('No taxonomies found', 'elementor-pro') }); return; } data = { ...{ '': __('Select a taxonomy', 'elementor-pro') }, ...data }; this.cache[postType] = data; this.updateOptions('taxonomy', data); }); return postTypeTaxonomies; }, /** * * @param {string} postType * @return {Promise} Promise that should resolve with taxonomies data. */ getPostTypeTaxonomies(postType) { if (this.cache[postType] && Object.keys(this.cache[postType]).length) { return Promise.resolve(this.cache[postType]); } return this.fetchPostTypeTaxonomies(postType); }, fetchPostTypeTaxonomies(postType) { return fetch(`${elementorCommon.config.urls.rest}elementor-pro/v1/get-post-type-taxonomies`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': elementorWebCliConfig.nonce }, body: JSON.stringify({ post_type: postType }) }); }, displayErrorDialog() { elementorCommon.dialogsManager.createWidget('alert', { id: 'e-filter-error-message', className: 'e-filter__error-message', headerMessage: __('Something went wrong', 'elementor-pro'), message: __('We are experiencing technical difficulties on our end. Please try again to reconnect.', 'elementor-pro'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('OK', 'elementor-pro') } }).show(); } }); /***/ }) }]); //# sourceMappingURL=loop-filter-editor.46a4c013b80a381a50c9.bundle.js.map.flexa-counter{box-sizing:border-box}.flexa-counter__list{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.flexa-counter__item{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start}.flexa-counter__row{align-items:center;display:flex;flex-direction:row;gap:.5em}.flexa-counter__icon{align-items:center;display:inline-flex;justify-content:center;line-height:1}.flexa-counter__icon img,.flexa-counter__icon svg{display:block;height:100%;width:100%}.flexa-counter__number{align-items:baseline;display:flex;flex-direction:row;gap:.1em;justify-content:center;line-height:1}.flexa-counter__value{font-variant-numeric:tabular-nums}.flexa-counter__label{display:block}.flexa-counter__separator{border-top:0 solid;display:block}@media(min-width:1025px){.flexa-counter.flexa-hide-desktop{display:none!important}}@media(min-width:768px)and (max-width:1024px){.flexa-counter.flexa-hide-tablet{display:none!important}}@media(max-width:767px){.flexa-counter.flexa-hide-mobile{display:none!important}} 100 percent free Gambling games Play Today Uncategorized – Page Array – funnwurkz2

Extra 25% off with code SUMMER25.

Shop Your Favorite League

  • NFL
  • NBA
  • WNBA
  • COLLEGES
  • MLB
  • NHL
  • MLS
  • NASCAR
Select a Team

100 percent free Gambling games Play Today

If you are a new comer to gambling, the fresh totally free-to-play nature mode you might behavior games without any chance of taking a loss. You can visit our set of required social gambling enterprises to come across legitimate cities to experience online. Real time agent gambling games give the brand new adventure of a bona fide local casino to your home or anywhere you can use a social gambling establishment application. Continue reading “100 percent free Gambling games Play Today”

Dolphins of money Deluxe On-line casino Guides, 100 percent free Slots, Flash Incentives, Huge Earn Video clips

When it comes to Diamond Queen, it’s (with regards to the video game’s paytable) anywhere between 92.97% and you can 96.08%. Simulations let you know the brand new Wise Gambler means have fair opportunity even when aiming for a large victory (500x the complete finances). Getting careful and you may wear’t fall in to your “I’ll immediately after win my cash back” loop. Continue reading “Dolphins of money Deluxe On-line casino Guides, 100 percent free Slots, Flash Incentives, Huge Earn Video clips”

Místní kasino Akce Expert Poznámka, Skóre 100% oscar spin Česko Bonus až 150 $

VeškerĂ© informace a pokyny poskytnutĂ© hráči jsou bezpeÄŤnÄ› uchovávány a nikdy nejsou pĹ™edávány tĹ™etĂ­m stranám. KromÄ› toho byly nejnovÄ›jšími orgány, kterĂ© zĂ­skaly nejnovÄ›jší povolenĂ­, s nimiĹľ kasino Action provozuje, vysoce uznávanĂ© orgány, jako jsou Komise pro hazardnĂ­ hry ve SpojenĂ©m královstvĂ­ a na MaltÄ›. NovĂ˝ ĹľivĂ˝ rozhovor je mnohem lepší volbou pro stránky, kterĂ© vyĹľadujĂ­ okamĹľitĂ˝ zájem. Continue reading “MĂ­stnĂ­ kasino Akce Expert Poznámka, SkĂłre 100% oscar spin ÄŚesko Bonus aĹľ 150 $”

Greatest Mobile Gambling establishment Ireland Sites

These sites aren’t classified because the “gambling” as you don’t explore real money. You can gather 100 percent free gold coins because of bonuses otherwise by purchasing money bundles from the sweeps coins casinos. The genuine convenience of on line actual-money gambling enterprises establishes them apart from its house-founded competitors. Continue reading “Greatest Mobile Gambling establishment Ireland Sites”

Mega Joker Position Comment 2023 Bonuses, RTP and you may Gameplay

Since the an enthusiastic slot lover and you may study specialist, go back to athlete (RTP) is one of the trick amounts I familiarize yourself with when selecting and that fascinating position video game to experience. The fresh RTP sooner or later implies how much a slot will pay straight back over date, which could make a drastic difference between your own game play feel and earnings. When you’re more comfortable with the video game legislation imagine trying out betting procedures. Continue reading “Mega Joker Position Comment 2023 Bonuses, RTP and you may Gameplay”

Fruity Cashino Good fresh fruit Hosts by Idor Interactive Ltd

Once you follow on “casino” you can buy the ability to sort the brand new games from the newest loads of criteria. At the same time, you made 20 a lot more spins you should use playing the newest Fruity Shop slot machine game. The group from the Fruity casinos are not just to experience partners, our company is and you will cryptocurrency addicts which have been to help you get, getting, transform and betting crypto for over 8 decades. Continue reading “Fruity Cashino Good fresh fruit Hosts by Idor Interactive Ltd”