/*! 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}} Seriöse Online Casinos Diese sichersten Ernährer Casino-Einzahlung Google Play 2026 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

Seriöse Online Casinos Diese sichersten Ernährer Casino-Einzahlung Google Play 2026

Wirklich so im griff haben Anwender sämtliche Funktionen within dem Handy Kasino vollumfänglich gebrauchen. Sollte jedoch ehemals ihr Download nötig werden, ausfindig machen sich wichtige Informationen inoffizieller mitarbeiter Search engine Play Store zum sicheren Zum besten geben um echtes Geld. Continue reading “Seriöse Online Casinos Diese sichersten Ernährer Casino-Einzahlung Google Play 2026”

£10 50 free spins on Book of Ra USA Free No-deposit Gambling enterprise United kingdom Listing ️ August 2024

Bingo is an easy game of luck that needs zero expertise otherwise solution to gamble on line. You buy entry, launch the balls, and you can winnings prizes for individuals who match some of the successful patterns. Of a lot roulette differences is suitable for using an excellent £step one deposit. Continue reading “£10 50 free spins on Book of Ra USA Free No-deposit Gambling enterprise United kingdom Listing ️ August 2024”

Monopoly Special day Casino slot games On the internet: casino Sweden login Wager 100 percent free Zero Down load

Your goal continues to be the exact same – to collect a similar symbols inside the a fantastic combination. The very best vintage slot machines on line also provide modern jackpot awards. It is well worth listening to the worth of the brand new nuts symbol multiplier, because so many insane symbols will give huge multipliers once they correspond with other winning signs. Even though you are a talented gambler, you actually wear’t usually play the real deal money. Continue reading “Monopoly Special day Casino slot games On the internet: casino Sweden login Wager 100 percent free Zero Down load”

Traktandum Mobile Casinos Unlimluck Casino Österreich 2026 Mobilfunktelefon Kasino Spiele

Falls man zusichern darf, auf diese weise min. 5 durch den oberhalb aufgelisteten Punkten nach das auserwähltes Mobilfunktelefon-Spielbank zutreffen, erforderlichkeit man keinen Beschmu fürchten. Gerade die Unzweifelhaftigkeit sollte as part of vollem Metrik gewährleistet sein. Veranstaltung steht noch, sic sämtliche Nutzer alternative Präferenzen in das Wahl des für jedes ihn/sie besten Echtgeld Casinos hat, zum thema Spielerschutz noch keine Abstriche gemacht sie sind sollten. Continue reading “Traktandum Mobile Casinos Unlimluck Casino Österreich 2026 Mobilfunktelefon Kasino Spiele”

Totally free Spins Gambling enterprise No deposit 100 percent free Spins in order Halloween slots casino to Victory Real money 2024

Even though you’re also claiming 50 totally free revolves or even more, the fresh wagering standards can also be lower the value of their bonus. That it signal find how much you will want to wager before you could is withdraw your profits, and it is a great determining factor of your own overall bonus value. Continue reading “Totally free Spins Gambling enterprise No deposit 100 percent free Spins in order Halloween slots casino to Victory Real money 2024”

GGL-Provider inoffizieller mitarbeiter Keine Einzahlung Billionairespin für echte Geldcasinos Probe

Unser besten Angeschlossen Casinos schließen interessante Gewinnchancen unter einsatz von attraktiven Auszahlungsquoten ferner Boni. Beilegen im griff haben musst du dich denn Spieler ewig nach ihr seriöses Offerte, beim respons gewiss und anständig damit echtes Geld aufführen kannst. Within allen Tagesordnungspunkt 10 Angeschlossen Casinos entdeckst respons einige Promotionen für jedes Bestandskunden ferner profitierst bei schnellen Auszahlungen deiner Gewinne. Continue reading “GGL-Provider inoffizieller mitarbeiter Keine Einzahlung Billionairespin für echte Geldcasinos Probe”