import { computed, shallowRef, toRef } from "vue"; import { useRouteLocale } from "vuepress/client"; import { searchIndex } from "@internal/minisearchIndex"; //#region src/client/composables/locale.ts const defaultLocales = { "/": { placeholder: "Search", resetButtonTitle: "Reset search", backButtonTitle: "Close search", noResultsText: "No results for", footer: { selectText: "to select", selectKeyAriaLabel: "enter", navigateText: "to navigate", navigateUpKeyAriaLabel: "up arrow", navigateDownKeyAriaLabel: "down arrow", closeText: "to close", closeKeyAriaLabel: "escape" } } }; function useLocale(locales) { const localesRef = toRef(locales); const routeLocale = useRouteLocale(); return computed(() => localesRef.value[routeLocale.value] ?? defaultLocales[routeLocale.value] ?? defaultLocales["/"]); } //#endregion //#region src/client/composables/searchIndex.ts const searchIndexData = shallowRef(searchIndex); function useSearchIndex() { return searchIndexData; } if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) __VUE_HMR_RUNTIME__.updateSearchIndex = (data) => { searchIndexData.value = data; }; //#endregion export { useLocale, useSearchIndex };