/*! 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}} Totally free Ports On the internet Goblins Cave real money & Casino games! Zero Registration! No deposit! Enjoyment! 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

Totally free Ports On the internet Goblins Cave real money & Casino games! Zero Registration! No deposit! Enjoyment!

Today, while you're also only playing with “pretend” profit a free of charge gambling establishment online game, it's however a good idea to address it like it’s real. So you can constantly enjoy at any time otherwise few days, so there's no need to decorate to your celebration. Thus if or not standing on your chair otherwise delivering some slack at the work, you may enjoy the action of gambling on line even for simply a couple of minutes 24 hours. Continue reading “Totally free Ports On the internet Goblins Cave real money & Casino games! Zero Registration! No deposit! Enjoyment!”

Bonus rejestracyjny w Zagraj w mummy kasynie 2026 jak jego dostać jak i również wypłacić bez niedoborów

Poniekąd, jest w stanie uwagi owe zrealizować likwidacją naszego konta bankowego oraz przypięciem nam etykiety osoby, która nadużywa bonusów. Kasynowe bonusy bez depozytu znajdują się coraz rzadszym sytuacją w całej świecie sieciowy hazardu. Ale fani nie zamierzają zaprzestać własnym poszukiwania, bezustannie poszukując strony, jaka tego typu bonusy przekazuje. Continue reading “Bonus rejestracyjny w Zagraj w mummy kasynie 2026 jak jego dostać jak i również wypłacić bez niedoborów”

Compare Best Betting Internet sites and you bonus deuces wild 10 hand online can Most recent Offers

An online gambling enterprise added bonus code applies a specific offer for the account whenever put at the best stage. We consider signed up operators round the criteria, as well as extra value and you will transparency, wagering conditions, payout precision, customer care, and you can responsible playing techniques. Continue reading “Compare Best Betting Internet sites and you bonus deuces wild 10 hand online can Most recent Offers”

Large 5 Local casino golden shamrock slot free spins Promo Code Awaken To two hundred GC + 40 Sc + 100 Expensive diamonds

However, there may be times when we would like to rating extra coins to possess greater risk limits or perhaps for lengthened availableness so you can video game. Because of the sweepstakes societal gambling enterprise design, Higher 5 does a good work of bankrolling 100 percent free gamble. Continue reading “Large 5 Local casino golden shamrock slot free spins Promo Code Awaken To two hundred GC + 40 Sc + 100 Expensive diamonds”

Jednoręki bandzior wyjąwszy tajemnic po kasynie zagraj i raging rhino kasyno automatów wygrywaj

Automaty do odwiedzenia uciechy przez internet w prawdziwe kapitał owo najliczniejsza ekipa obrazująca zabawy hazardowe dzięki kapitał, pochodzące z których można używać w całej kasynach netowych. Nieczęsto które serwisy mogą mieć swej podaży w mniejszym stopniu niźli kilkanaście lokalizacji, a coraz częściej mamy z nimi styczność pod sekcje slotowe zawiłe z kilkunastu gier. Continue reading “Jednoręki bandzior wyjąwszy tajemnic po kasynie zagraj i raging rhino kasyno automatów wygrywaj”

Real money Online casinos ecopayz 20 dollar casino Us 2026 Judge, Safe & Finest Websites

Each kind brings their book features and you may professionals, catering to various pro choice and needs. To the continuing growth of the online gaming ecopayz 20 dollar casino industry, the fresh casinos on the internet introducing inside the 2026 try projected to notably determine the us internet casino field. Continue reading “Real money Online casinos ecopayz 20 dollar casino Us 2026 Judge, Safe & Finest Websites”