PageSourceSearch

https://tienda.mazapanesalguacil.com/build/assets/LanguageSelector-DdGWza6W.js

js mazapanesalguacil.com collected 2026-10-06 09:28:20 UTC 4,132 bytes, 98 lines download raw bytes

1import { $ as watch, G as renderList, Ht as normalizeClass, Kt as toDisplayString, M as init_runtime_core_esm_bundler, O as defineComponent, S as createElementBlock, U as openBlock, Xt as __exportAll, h as Fragment, kt as init_shared_esm_bundler, m as withModifiers, o as init_runtime_dom_esm_bundler, ot as init_reactivity_esm_bundler, pt as ref, v as computed, y as createBaseVNode } from "./vue.runtime.esm-bundler-Dh_z576G.js";
2import { s as router } from "./dist-ozU5CFlQ.js";
3import { n as useI18n } from "./vue-i18n.esm-browser.prod-Bny5Vh2t.js";
4import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
5import { t as useCmsStore } from "./cms-DdA-_bD3.js";
6import { t as useCmsLocale } from "./cms-locale-BlxrAZUh.js";
7//#region resources/js/Pages/Consumer/components/cms/elements/LanguageSelector.vue?vue&type=script&setup=true&lang.ts
8init_runtime_core_esm_bundler();
9init_shared_esm_bundler(), init_runtime_dom_esm_bundler();
10init_reactivity_esm_bundler();
11var _hoisted_1 = { class: "dropdown-list" };
12var _hoisted_2 = [
13	"href",
14	"hreflang",
15	"onClick"
16];
17var LanguageSelector_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
18	__name: "LanguageSelector",
19	props: { disabled: {
20		type: Boolean,
21		default: false
22	} },
23	setup(__props) {
24		const props = __props;
25		const cms = useCmsStore();
26		const { locale } = useI18n();
27		const { onUpdateLocale } = useCmsLocale();
28		const showMenu = ref(false);
29		function onClick() {
30			if (props.disabled) return;
31			showMenu.value = !showMenu.value;
32		}
33		watch(() => props.disabled, () => {
34			showMenu.value = false;
35		});
36		const langs = {
37			en: "English",
38			nl: "Nederlands",
39			fr: "Français",
40			de: "Deutsch",
41			es: "Español",
42			pt: "Português",
43			it: "Italiano",
44			gr: "Ελληνικά",
45			hu: "magyar",
46			ro: "Română",
47			pl: "Polski",
48			ca: "Català",
49			sv: "Svenska"
50		};
51		const currentLanguage = computed(() => cms.language);
52		const languages = computed(() => {
53			if (cms.config == null) return [];
54			return cms.config.locales.map((l) => ({
55				code: `${l.country}-${l.language}`,
56				url: `/${l.country}-${l.language}`,
57				lang: l.language,
58				label: langs[l.language],
59				iso: `${l.language}-${l.country.toUpperCase()}`
60			})).filter((f) => f.lang !== cms.language);
61		});
62		const onSelectLanguage = (item) => {
63			showMenu.value = false;
64			locale.value = item.iso;
65			onUpdateLocale(item.code);
66			const segments = window.location.pathname.split("/").filter((segment) => segment !== "");
67			if (segments.length === 0) segments.push(item.code);
68			else segments[0] = item.code;
69			router.get("/" + segments.join("/") + window.location.search, {}, { replace: true });
70		};
71		return (_ctx, _cache) => {
72			return openBlock(), createElementBlock("div", { class: normalizeClass([{ active: showMenu.value }, "language-dropdown dropdown"]) }, [
73				createBaseVNode("button", {
74					class: "btn btn-lang btn-dropdown",
75					type: "button",
76					onClick
77				}, toDisplayString(currentLanguage.value.toUpperCase()), 1),
78				createBaseVNode("ul", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(languages.value, (option) => {
79					return openBlock(), createElementBlock("li", { key: option.code }, [createBaseVNode("a", {
80						href: option.url,
81						hreflang: option.lang,
82						onClick: withModifiers(($event) => onSelectLanguage(option), ["prevent"])
83					}, toDisplayString(option.label), 9, _hoisted_2)]);
84				}), 128))]),
85				createBaseVNode("span", {
86					class: "click-area",
87					onClick: _cache[0] || (_cache[0] = ($event) => showMenu.value = false)
88				})
89			], 2);
90		};
91	}
92});
93//#endregion
94//#region resources/js/Pages/Consumer/components/cms/elements/LanguageSelector.vue
95var LanguageSelector_exports = /* @__PURE__ */ __exportAll({ default: () => LanguageSelector_default });
96var LanguageSelector_default = /*#__PURE__*/ _plugin_vue_export_helper_default(LanguageSelector_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-78061c06"]]);
97//#endregion
98export { LanguageSelector_exports as n, LanguageSelector_default as t };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.