/*! 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}} Casino Bono Carente Depósito 2026: Las 10 Excelentes Casinos con Bonos De Juega night Slot en línea balde 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

Casino Bono Carente Depósito 2026: Las 10 Excelentes Casinos con Bonos De Juega night Slot en línea balde

Algunos de los casinos más profusamente cero millas de el comercio castellano ya los incorporan. Esta promoción suele dar un costo presumiblemente sobre saldo sobre bono referente a Juega night Slot en línea recursos real falto depósito indumentarias giros regalado solamente para completar el asignación. Continue reading “Casino Bono Carente Depósito 2026: Las 10 Excelentes Casinos con Bonos De Juega night Slot en línea balde”

Finest slot Montezuma Blackjack Gambling enterprises 2024 Play Black-jack the real deal Currency

You should be totally involved with the video game, hearing the cards that’s worked. Interruptions could be the downfall of probably the very competent cards prevent, so it’s vital to get rid of any external items that can divert your own interest. Continue reading “Finest slot Montezuma Blackjack Gambling enterprises 2024 Play Black-jack the real deal Currency”

Totally biggest no deposit YoyoSpins free Spins No-deposit Sep 2024 Keep Everything you Winnings

If you’re looking for such bonuses, we provide you Starburst 100 percent free revolves no-deposit, which you can claim instantly. When you are a thousand free revolves also offers are generally accessible to the new professionals, there are methods to possess present players to get their practical similar rewards. Lower than, we’ve detailed typically the most popular means to own participants for one thousand totally free revolves. Continue reading “Totally biggest no deposit YoyoSpins free Spins No-deposit Sep 2024 Keep Everything you Winnings”

50 Tiradas Gratuito jimi hendrix giros sin ranura Casinos DGOJ Septiembre 2026

Si RoyalGame Códigos de promoción encontrás una propuesta mismamente, analizá ahora las palabras con el fin de asegurarte de aprovecharla alrededor del máximo y no ha transpirado nunca ha transpirado no llevarte un desilusión. Las opciones resultan geniales para crecer tus tiradas así­ como sumar mayormente oportunidades sobre ganar. Sirve tener en cuenta cual las ganancias obtenidas sobre todos estos giros gratuito están sujetas en algún condición de apuesta sobre x40. Continue reading “50 Tiradas Gratuito jimi hendrix giros sin ranura Casinos DGOJ Septiembre 2026”

Enchanted Meadow online casino Metal no deposit Slot: Tips, Totally free Revolves and a lot more

As the mode try triggered, the fresh display screen often display screen a forest in which truth be told there of many fairies is covering up. To earn the fresh honor, players would have to gather a couple of signs of your own Fairy Queen on one spin. Enchanted Meadow – a video condition that takes professionals to your a good a good the newest field of fantasy is one of the most recent position video game away from Gamble’letter Go. Continue reading “Enchanted Meadow online casino Metal no deposit Slot: Tips, Totally free Revolves and a lot more”

100 percent free Revolves 2024 best online casinos for slots Greatest 100 percent free Revolves Internet casino Bonuses

Lower than i’ll mention them in more detail and offer much more expertise to the the characteristics they supply, very definitely see the 2nd section. When selecting a position, you should believe items such as RTP (come back to pro) rate, volatility, and you will layouts. RTP indicates the potential payment over the years, while you are volatility steps the chance quantity of the online game. Continue reading “100 percent free Revolves 2024 best online casinos for slots Greatest 100 percent free Revolves Internet casino Bonuses”