UNPKG

tldraw

Version:

A tiny little drawing editor.

33 lines (32 loc) 1.34 kB
import { jsx } from "react/jsx-runtime"; import { LANGUAGES, useMaybeEditor, useValue } from "@tldraw/editor"; import { useUiEvents } from "../context/events.mjs"; import { TldrawUiMenuCheckboxItem } from "./primitives/menus/TldrawUiMenuCheckboxItem.mjs"; import { TldrawUiMenuGroup } from "./primitives/menus/TldrawUiMenuGroup.mjs"; import { TldrawUiMenuSubmenu } from "./primitives/menus/TldrawUiMenuSubmenu.mjs"; function LanguageMenu() { const editor = useMaybeEditor(); const trackEvent = useUiEvents(); const currentLanguage = useValue("locale", () => editor?.user.getLocale(), [editor]); if (!editor) return null; return /* @__PURE__ */ jsx(TldrawUiMenuSubmenu, { id: "help menu language", label: "menu.language", children: /* @__PURE__ */ jsx(TldrawUiMenuGroup, { id: "languages", className: "tlui-language-menu", children: LANGUAGES.map(({ locale, label }) => /* @__PURE__ */ jsx( TldrawUiMenuCheckboxItem, { id: `language-${locale}`, lang: locale, title: locale, label, checked: locale === currentLanguage, readonlyOk: true, onSelect: () => { editor.user.updateUserPreferences({ locale }); trackEvent("change-language", { source: "menu", locale }); } }, locale )) }) }); } export { LanguageMenu }; //# sourceMappingURL=LanguageMenu.mjs.map