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.