/*! 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}} Buffalo Huge Video slot: Enjoy Free Casino Sizzling Hot Deluxe slot no deposit Position Game On line 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

Buffalo Huge Video slot: Enjoy Free Casino Sizzling Hot Deluxe slot no deposit Position Game On line

More often than not, payouts away from free spins trust wagering requirements just before detachment. Another special feature on the game ‘s the black colored diamond symbol which is the nuts cards but can even be a trigger for the modern jackpot awards. Continue reading “Buffalo Huge Video slot: Enjoy Free Casino Sizzling Hot Deluxe slot no deposit Position Game On line”

Juegue a cats casino las Superiores Tragaperras Sobre Línea Sin Registrarse

Si bien juguetear con dinero positivo posee sus ventajas, los casino en internet sin cargo te posibilitan experimentar desprovisto arriesgar ninguna cosa, dándote lapso de mejorar tu estrategia antes de situar. Elegir juegos con válidas alternativas de conseguir es decisivo para superar las chances en el plazo largo. El blackjack así­ como ciertas versiones de ruleta normalmente dar excelentes alternativas sobre éxito si inscribirí¡ hace el trabajo online sobre modo estratégica. Continue reading “Juegue a cats casino las Superiores Tragaperras Sobre Línea Sin Registrarse”

Colorado Casinos on the internet Finest Real cash Online casinos inside the Tx CO Gambling slot Alchymedes enterprises

At all, betting is always to first be enjoyable, as well as the online game i enjoy during the web based casinos greatly influence which factor. Whether or not normal gambling enterprises commonly court, the fresh laws and regulations allows public casinos which wear’t require that you spend money to play their game. These nevertheless be the actual casinos on the internet, because the professionals can invariably victory cash and you can withdraw the payouts. Continue reading “Colorado Casinos on the internet Finest Real cash Online casinos inside the Tx CO Gambling slot Alchymedes enterprises”

Spinin British: Speak about Greatest Casino Games within the The Wild Dice welcome bonus united kingdomt

Whether your’lso are an amateur looking to learn the ropes or an experienced user trying to another challenge, totally free casino games offer a fun, risk-totally free solution to take advantage of the adventure away from betting. The organization out of mobile playing continues to take over the online betting surroundings, that have the brand new position games inside 2024 built to be completely suitable which have android and ios products. Continue reading “Spinin British: Speak about Greatest Casino Games within the The Wild Dice welcome bonus united kingdomt”

Casino 50 Tiradas abertura steam Cleopatra Ganar tower Gratuito Carente Depósito España

Todos gama masculina se Cleopatra Ganar encuentran inspirados en el garbo así­ como vienen nuestro sustantivo de uno de los juegos cual inscribirí¡ incorporan alrededor del cuestionario original, llegan a convertirse en focos de luces os remuneración de 125 a ningún. Continue reading “Casino 50 Tiradas abertura steam Cleopatra Ganar tower Gratuito Carente Depósito España”

Bet-nox Casino Bonus 20 Eye of Horus Strategie-Slot für echtes Geld Freispiele abzüglich Einzahlung

Aber und abermal hatten kleinere Spieleentwickler einen bestimmten Fasson, & so lange ihr Ihnen gefällt, schubsen Sie auf diese weise nach mehrere Automatenspiele nach Einem Geschmack. Vortragen Diese ruhig fleck das paar Runden, zwar beachten Die leser nach Tische über enorm niedrigem Einsatz. Keine schnitte haben Dusel aufstöbern Die leser vielleicht den Live Blackjack Tisch nicht vor 1 Euroletten Einsatz. Continue reading “Bet-nox Casino Bonus 20 Eye of Horus Strategie-Slot für echtes Geld Freispiele abzüglich Einzahlung”