/*! 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}} Mr Bet Kasino: interessante Online Spielhalle via vielen Bruce Bet Partner-App APK herunterladen Promotionen 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

Mr Bet Kasino: interessante Online Spielhalle via vielen Bruce Bet Partner-App APK herunterladen Promotionen

Irgendeiner Willkommensbonus mess im bereich von 14 Diskutieren 50x ausgeführt sind. NetEnt Casinos sie sind zurecht untern Kunden jede menge repräsentabel unter anderem fest im Netz vermitteln. Diese Spielhäuser ausüben unser kundenfreundliche 10 € Gratisguthaben Strategie. Ein Starteinsatz qua diesem geschenkten Bonusgeld wird inoffizieller mitarbeiter Europa Kasino weiter aufgegriffen, Sie einbehalten 100% pro so weit wie 100 € Einzahlung. Continue reading “Mr Bet Kasino: interessante Online Spielhalle via vielen Bruce Bet Partner-App APK herunterladen Promotionen”

Greatest Internet casino Ireland suitable link 2024 Top Irish Casinos to have Ie Participants

We now review CloudBet as the greatest crypto local casino to own participants inside Ireland. Most other celebrated instances chosen by the our team from professionals will be available on all of our directory of best crypto local casino websites. All of our skillfully developed focus on crypto casinos as a result of our twenty-five-step opinion technique to find the high-top quality of them. Continue reading “Greatest Internet casino Ireland suitable link 2024 Top Irish Casinos to have Ie Participants”

Ranking 2025: age of discovery Ganar los cinco casinos online más confiables de situar acerca de España

Una taller para los juegos sobre azar en internet serí­a cualquier universo repleto de divertimento. No obstante, los jugadores podrán sentirse desbordados dentro de los centenas de ofertas y no ha transpirado propuestas para jugar. El superior casino online es nuestro cual llegan a convertirse en focos de luces ajusta a tu presupuesto y provee los excelentes juegos de Blackjack. Continue reading “Ranking 2025: age of discovery Ganar los cinco casinos online más confiables de situar acerca de España”

Mr Green Bonus » 2 Codes & BetPrimeiro Promo Kupon bloß Einzahlung

Wer spezifisch qua kleinem Finanzplan unter anderem bestimmten Features spielt, braucht schnelle Orientierung. Unser passt zur Markenfigur des “Gentleman”, kann aber untergeordnet dafür führen, so viele Suchfunktionen nüchterner handhaben wie in stärker gamifizierten Konkurrenten. Die Nutzbarkeit einer Slot-Interessenverband entscheidet aber und abermal schneller wanneer nachfolgende reine Spielzahl. Nicht die gesamtheit Slot bietet eine leer zugängliche Spielgeldversion. Continue reading “Mr Green Bonus » 2 Codes & BetPrimeiro Promo Kupon bloß Einzahlung”

Lobstermania Slots, Real money Slot machine & 100 percent free Play bonus code Mega Moolah Demonstration

That’s a get back compared to casino slot games terminals during the house-founded casinos. IGT made a long group of sequels so you can Lucky Larry’s Lobstermania, per with its own book set of extra icons and other signs. You may also bonus code Mega Moolah belongings special jackpot symbols otherwise a multiplier ability to own higher volatility and large victories. Continue reading “Lobstermania Slots, Real money Slot machine & 100 percent free Play bonus code Mega Moolah Demonstration”

Bewertungen nach Löwen Play Verbunden Verschlingen Sie Kundenbewertungen dahinter loewen-play de 2 bei gehen 52

Ließ dir vorab ohne ausnahme die genauen Teilnahmebedingungen bei, damit das gelbe vom ei von Promos gewinnen nach im griff haben. Qua Lionline habe ich dir sodann sekundär direkt diesseitigen ersten Spielehersteller geheißen. Unter einsatz von einen hauseigenen Games verschafft gegenseitig unser Verbunden Spielhölle inoffizieller mitarbeiter Test selbstverständlich das Alleinstellungsmerkmal. Continue reading “Bewertungen nach Löwen Play Verbunden Verschlingen Sie Kundenbewertungen dahinter loewen-play de 2 bei gehen 52”