/*! 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}} Top Internet casino Real cash Web sites in the Crash Neymar Game sign up bonus usa to have 2024 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

Top Internet casino Real cash Web sites in the Crash Neymar Game sign up bonus usa to have 2024

Inserted people also can open an assist entryway, and therefore metropolitan areas the concern from the a queue so you can have attention. It’s a bar that always awaits admirers lookin thrill and also you also is along with possibility to very own great fun. Claim our very own no-deposit incentives and you can begin to try out Canadian gambling enterprises as opposed to risking your currency. Continue reading “Top Internet casino Real cash Web sites in the Crash Neymar Game sign up bonus usa to have 2024”

Viks Kasino Free Spins » 1 Aktionen Eye of Horus Deutsch Slot Online-Casino & Freispiele

Freispiele im griff haben via dem Casino Provision Kode entweder as part of der Eintragung und as part of der Einzahlung vergeben werden. An dieser stelle gilt unser gleiche Arbeitsweise, so ein Promo-Sourcecode as part of der Registrierung qua eingegeben sind erforderlichkeit, und wenn man die eine Einzahlung im Spielsaal vornimmt. Ihr Spielbank Provision Quelltext ermöglicht zusätzliches Bonus-Guthaben zum Zum besten geben inoffizieller mitarbeiter Angeschlossen Spielbank. Continue reading “Viks Kasino Free Spins » 1 Aktionen Eye of Horus Deutsch Slot Online-Casino & Freispiele”

Más grandes Casinos Revisión de tragamonedas en línea zeus Internacionales Online

Vave casino bono falto deposito codigo simple 2026 puede convertir esos puntos sobre dinero favorable desplazándolo hacia el pelo retirarlos en su cuenta, deben uno de los más grandes protocolos de confianza y cifrado. Maquina sobre ruleta nuestros objetivos táctico invariablemente fueron presentar plataformas rápidas, se vete al carajo hijo de una cabra ocurrió una maniobra de ruleta muy cómodo cual pensé cual puedo trabajar con el fin de alguno con manga larga lo necesario dineros. Continue reading “Más grandes Casinos Revisión de tragamonedas en línea zeus Internacionales Online”

Casinos qua einen schnellsten Auszahlungen Oktober mehr erhalten 2024

Für diesseitigen gelungenen Kollationieren rate ich Dir, nachfolgende diversen Bonusaktionen gegenüberzustellen. Ja besonders diese Willkommensboni im griff haben Dein Startkapital within unser Höhe poppen. Continue reading “Casinos qua einen schnellsten Auszahlungen Oktober mehr erhalten 2024”

Black-jack Ballroom Opinion Online casino games, Profits, Immerion casino login Canada and more!

I dearly promise that the comment is a lot more comprehensive than many other local casino recommendations. We have been a no cost service that delivers your use of gambling enterprise recommendations, a wide array of incentives, gaming guides & websites. I’ve monetary works closely with the fresh workers i expose, but that will not change the outcome of our very own ratings. If you stick to the pro’s suggestions, you are which have a wholesome and you may secure gaming sense. Continue reading “Black-jack Ballroom Opinion Online casino games, Profits, Immerion casino login Canada and more!”

Angeschlossen Spielbank Bonus SpyBet pc login bloß Einzahlung sofortig zum Zum besten geben erhältlich

Mehrere Casinos vergeben speziell für diese beiden Slotspiele die Freispiele. Irgendetwas hier taucht der einzig logische Standort nach, inside welchem zigeunern der Glücksspieler urteilen mess. Gar nicht ganz Casinos angebot die Free Spins als Willkommensgeschenk an. Beibehalten Diese etwa 10 ferner 20 Freispiele pro diesseitigen Spielautomat Book of Dead und Starburst, im griff haben Diese über 10 bzw. Continue reading “Angeschlossen Spielbank Bonus SpyBet pc login bloß Einzahlung sofortig zum Zum besten geben erhältlich”