[{"data":1,"prerenderedAt":2620},["ShallowReactive",2],{"navigation":3,"-docs-getting-started-integrations-i18n-vue":899,"-docs-getting-started-integrations-i18n-vue-description":2610},[4],{"title":5,"path":6,"stem":7,"children":8,"page":36},"Docs","/docs","docs",[9,157,777,798],{"title":10,"path":11,"stem":12,"children":13,"framework":16,"category":16,"description":16,"icon":30},"Get Started","/docs/getting-started","docs/1.getting-started/1.index",[14,19,37,47,53,76,140],{"title":15,"path":11,"stem":12,"framework":16,"category":16,"description":17,"icon":18},"Introduction",null,"Nuxt UI is a comprehensive UI library for Vue and Nuxt applications, offering a collection of fully styled and accessible components.","i-lucide-house",{"title":20,"framework":16,"category":16,"description":16,"shadow":21,"path":22,"stem":23,"children":24,"page":36},"Installation",true,"/docs/getting-started/installation","docs/1.getting-started/2.installation",[25,31],{"title":20,"path":26,"stem":27,"framework":28,"category":16,"description":29,"icon":30},"/docs/getting-started/installation/nuxt","docs/1.getting-started/2.installation/1.nuxt","nuxt","Learn how to install and configure Nuxt UI in your Nuxt application.","i-lucide-square-play",{"title":20,"path":32,"stem":33,"framework":34,"category":16,"description":35,"icon":30},"/docs/getting-started/installation/vue","docs/1.getting-started/2.installation/2.vue","vue","Learn how to install and configure Nuxt UI in your Vue application, compatible with both plain Vite and Inertia.",false,{"title":38,"framework":16,"category":16,"description":16,"icon":39,"shadow":21,"path":40,"stem":41,"children":42,"page":36},"Migration","i-lucide-arrow-right-left","/docs/getting-started/migration","docs/1.getting-started/3.migration",[43],{"title":38,"path":44,"stem":45,"framework":16,"category":16,"description":46,"icon":39},"/docs/getting-started/migration/v4","docs/1.getting-started/3.migration/1.v4","A comprehensive guide to migrate your application from Nuxt UI v3 to Nuxt UI v4.",{"title":48,"path":49,"stem":50,"framework":16,"category":16,"description":51,"icon":52},"Contribution","/docs/getting-started/contribution","docs/1.getting-started/4.contribution","A comprehensive guide on contributing to Nuxt UI, including project structure, development workflow, and best practices.","i-lucide-handshake",{"title":54,"path":55,"stem":56,"children":57,"page":36},"Theme","/docs/getting-started/theme","docs/1.getting-started/5.theme",[58,64,70],{"title":59,"path":60,"stem":61,"framework":16,"category":16,"description":62,"icon":63},"Design System","/docs/getting-started/theme/design-system","docs/1.getting-started/5.theme/1.design-system","Nuxt UI's design system uses Tailwind CSS for simple theming and easy customization.","i-lucide-palette",{"title":65,"path":66,"stem":67,"framework":16,"category":16,"description":68,"icon":69},"CSS Variables","/docs/getting-started/theme/css-variables","docs/1.getting-started/5.theme/2.css-variables","Nuxt UI uses CSS variables as design tokens for flexible, consistent theming with built-in light and dark mode support.","i-lucide-swatch-book",{"title":71,"path":72,"stem":73,"framework":16,"category":16,"description":74,"icon":75},"Components","/docs/getting-started/theme/components","docs/1.getting-started/5.theme/3.components","Learn how to customize Nuxt UI components with the Tailwind Variants API for advanced, flexible, and maintainable styling.","i-lucide-layout-grid",{"title":77,"framework":16,"category":16,"description":16,"path":78,"stem":79,"children":80,"page":36},"Integrations","/docs/getting-started/integrations","docs/1.getting-started/6.integrations",[81,95,101,115,129,135],{"title":82,"framework":16,"category":16,"description":16,"shadow":21,"path":83,"stem":84,"children":85,"page":36},"Icons","/docs/getting-started/integrations/icons","docs/1.getting-started/6.integrations/1.icons",[86,91],{"title":82,"path":87,"stem":88,"framework":28,"category":16,"description":89,"icon":90},"/docs/getting-started/integrations/icons/nuxt","docs/1.getting-started/6.integrations/1.icons/1.nuxt","Nuxt UI integrates with Nuxt Icon to access over 200,000+ icons from Iconify.","i-lucide-smile",{"title":82,"path":92,"stem":93,"framework":34,"category":16,"description":94,"icon":90},"/docs/getting-started/integrations/icons/vue","docs/1.getting-started/6.integrations/1.icons/2.vue","Nuxt UI integrates with Iconify to access over 200,000+ icons.",{"title":96,"path":97,"stem":98,"framework":28,"category":16,"description":99,"icon":100},"Fonts","/docs/getting-started/integrations/fonts","docs/1.getting-started/6.integrations/2.fonts","Nuxt UI integrates with Nuxt Fonts to provide plug-and-play font optimization.","i-lucide-a-large-small",{"title":102,"framework":16,"category":16,"description":16,"shadow":21,"path":103,"stem":104,"children":105,"page":36},"Color Mode","/docs/getting-started/integrations/color-mode","docs/1.getting-started/6.integrations/3.color-mode",[106,111],{"title":102,"path":107,"stem":108,"framework":28,"category":16,"description":109,"icon":110},"/docs/getting-started/integrations/color-mode/nuxt","docs/1.getting-started/6.integrations/3.color-mode/1.nuxt","Nuxt UI integrates with Nuxt Color Mode to allow for easy switching between light and dark themes.","i-lucide-sun-moon",{"title":102,"path":112,"stem":113,"framework":34,"category":16,"description":114,"icon":110},"/docs/getting-started/integrations/color-mode/vue","docs/1.getting-started/6.integrations/3.color-mode/2.vue","Nuxt UI integrates with VueUse to allow for easy switching between light and dark themes.",{"title":116,"framework":16,"category":16,"description":16,"shadow":21,"path":117,"stem":118,"children":119,"page":36},"I18n","/docs/getting-started/integrations/i18n","docs/1.getting-started/6.integrations/4.i18n",[120,126],{"title":121,"path":122,"stem":123,"framework":28,"category":16,"description":124,"icon":125},"Internationalization (i18n)","/docs/getting-started/integrations/i18n/nuxt","docs/1.getting-started/6.integrations/4.i18n/1.nuxt","Nuxt UI supports 50+ locales and multi-directional (LTR/RTL) internationalization.","i-lucide-languages",{"title":121,"path":127,"stem":128,"framework":34,"category":16,"description":124,"icon":125},"/docs/getting-started/integrations/i18n/vue","docs/1.getting-started/6.integrations/4.i18n/2.vue",{"title":130,"path":131,"stem":132,"framework":28,"category":16,"description":133,"icon":134},"Content","/docs/getting-started/integrations/content","docs/1.getting-started/6.integrations/5.content","Nuxt UI integrates with Nuxt Content to deliver beautiful typography and consistent component styling.","i-simple-icons-markdown",{"title":136,"path":137,"stem":138,"framework":34,"category":16,"description":139,"icon":134},"SSR","/docs/getting-started/integrations/ssr","docs/1.getting-started/6.integrations/6.ssr","Nuxt UI have first-party support for Vue.js SSR. This guide will help you have it fully enabled.",{"title":141,"framework":16,"category":16,"description":16,"path":142,"stem":143,"children":144,"page":36},"AI Tools","/docs/getting-started/ai","docs/1.getting-started/7.ai",[145,151],{"title":146,"path":147,"stem":148,"framework":16,"category":16,"description":149,"icon":150},"MCP Server","/docs/getting-started/ai/mcp","docs/1.getting-started/7.ai/1.mcp","Use Nuxt UI components in your AI assistants with Model Context Protocol support.","i-lucide-server",{"title":152,"path":153,"stem":154,"framework":16,"category":16,"description":155,"icon":156},"LLMs.txt","/docs/getting-started/ai/llms-txt","docs/1.getting-started/7.ai/2.llms-txt","How to get AI tools like Cursor, Windsurf, GitHub Copilot, ChatGPT, and Claude to understand Nuxt UI components, theming, and best practices.","i-lucide-bot",{"title":71,"framework":16,"category":16,"description":16,"icon":158,"path":159,"stem":160,"children":161,"page":36},"i-lucide-square-code","/docs/components","docs/2.components",[162,168,174,180,186,191,196,201,206,211,216,222,227,232,237,242,247,252,258,263,268,273,278,284,289,294,299,305,310,315,320,325,330,335,340,346,351,356,361,366,372,378,383,388,393,398,403,408,413,418,423,428,433,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,526,531,536,541,546,551,556,562,567,572,577,582,587,592,597,602,607,612,617,622,627,632,637,642,647,652,657,662,667,672,677,682,687,692,697,702,707,712,717,722,727,732,737,742,747,752,757,762,767,772],{"title":163,"path":164,"stem":165,"framework":16,"category":166,"description":167},"Accordion","/docs/components/accordion","docs/2.components/accordion","data","A stacked set of collapsible panels.",{"title":169,"path":170,"stem":171,"framework":16,"category":172,"description":173},"Alert","/docs/components/alert","docs/2.components/alert","element","A callout to draw user's attention.",{"title":175,"path":176,"stem":177,"framework":16,"category":178,"description":179},"App","/docs/components/app","docs/2.components/app","layout","Wraps your app to provide global configurations and more.",{"title":181,"path":182,"stem":183,"framework":16,"category":184,"description":185},"AuthForm","/docs/components/auth-form","docs/2.components/auth-form","page","A customizable Form to create login, register or password reset forms.",{"title":187,"path":188,"stem":189,"framework":16,"category":172,"description":190},"Avatar","/docs/components/avatar","docs/2.components/avatar","An img element with fallback and Nuxt Image support.",{"title":192,"path":193,"stem":194,"framework":16,"category":172,"description":195},"AvatarGroup","/docs/components/avatar-group","docs/2.components/avatar-group","Stack multiple avatars in a group.",{"title":197,"path":198,"stem":199,"framework":16,"category":172,"description":200},"Badge","/docs/components/badge","docs/2.components/badge","A short text to represent a status or a category.",{"title":202,"path":203,"stem":204,"framework":16,"category":172,"description":205},"Banner","/docs/components/banner","docs/2.components/banner","Display a banner at the top of your website to inform users about important information.",{"title":207,"path":208,"stem":209,"framework":16,"category":184,"description":210},"BlogPost","/docs/components/blog-post","docs/2.components/blog-post","A customizable article to display in a blog page.",{"title":212,"path":213,"stem":214,"framework":16,"category":184,"description":215},"BlogPosts","/docs/components/blog-posts","docs/2.components/blog-posts","Display a list of blog posts in a responsive grid layout.",{"title":217,"path":218,"stem":219,"framework":16,"category":220,"description":221},"Breadcrumb","/docs/components/breadcrumb","docs/2.components/breadcrumb","navigation","A hierarchy of links to navigate through a website.",{"title":223,"path":224,"stem":225,"framework":16,"category":172,"description":226},"Button","/docs/components/button","docs/2.components/button","A button element that can act as a link or trigger an action.",{"title":228,"path":229,"stem":230,"framework":16,"category":172,"description":231},"Calendar","/docs/components/calendar","docs/2.components/calendar","A calendar component for selecting single dates, multiple dates or date ranges.",{"title":233,"path":234,"stem":235,"framework":16,"category":172,"description":236},"Card","/docs/components/card","docs/2.components/card","Display content in a card with a header, body and footer.",{"title":238,"path":239,"stem":240,"framework":16,"category":166,"description":241},"Carousel","/docs/components/carousel","docs/2.components/carousel","A carousel with motion and swipe built using Embla.",{"title":243,"path":244,"stem":245,"framework":16,"category":184,"description":246},"ChangelogVersion","/docs/components/changelog-version","docs/2.components/changelog-version","A customizable article to display in a changelog.",{"title":248,"path":249,"stem":250,"framework":16,"category":184,"description":251},"ChangelogVersions","/docs/components/changelog-versions","docs/2.components/changelog-versions","Display a list of changelog versions in a timeline.",{"title":253,"path":254,"stem":255,"framework":16,"category":256,"description":257},"ChatMessage","/docs/components/chat-message","docs/2.components/chat-message","chat","Display a chat message with icon, avatar, and actions.",{"title":259,"path":260,"stem":261,"framework":16,"category":256,"description":262},"ChatMessages","/docs/components/chat-messages","docs/2.components/chat-messages","Display a list of chat messages, designed to work seamlessly with Vercel AI SDK.",{"title":264,"path":265,"stem":266,"framework":16,"category":256,"description":267},"ChatPalette","/docs/components/chat-palette","docs/2.components/chat-palette","A chat palette to create a chatbot interface inside an overlay.",{"title":269,"path":270,"stem":271,"framework":16,"category":256,"description":272},"ChatPrompt","/docs/components/chat-prompt","docs/2.components/chat-prompt","An enhanced Textarea for submitting prompts in AI chat interfaces.",{"title":274,"path":275,"stem":276,"framework":16,"category":256,"description":277},"ChatPromptSubmit","/docs/components/chat-prompt-submit","docs/2.components/chat-prompt-submit","A Button for submitting chat prompts with automatic status handling.",{"title":279,"path":280,"stem":281,"framework":16,"category":282,"description":283},"Checkbox","/docs/components/checkbox","docs/2.components/checkbox","form","An input element to toggle between checked and unchecked states.",{"title":285,"path":286,"stem":287,"framework":16,"category":282,"description":288},"CheckboxGroup","/docs/components/checkbox-group","docs/2.components/checkbox-group","A set of checklist buttons to select multiple option from a list.",{"title":290,"path":291,"stem":292,"framework":16,"category":172,"description":293},"Chip","/docs/components/chip","docs/2.components/chip","An indicator of a numeric value or a state.",{"title":295,"path":296,"stem":297,"framework":16,"category":172,"description":298},"Collapsible","/docs/components/collapsible","docs/2.components/collapsible","A collapsible element to toggle visibility of its content.",{"title":300,"path":301,"stem":302,"framework":16,"category":303,"description":304},"ColorModeAvatar","/docs/components/color-mode-avatar","docs/2.components/color-mode-avatar","color-mode","An Avatar with a different source for light and dark mode.",{"title":306,"path":307,"stem":308,"framework":16,"category":303,"description":309},"ColorModeButton","/docs/components/color-mode-button","docs/2.components/color-mode-button","A Button to switch between light and dark mode.",{"title":311,"path":312,"stem":313,"framework":16,"category":303,"description":314},"ColorModeImage","/docs/components/color-mode-image","docs/2.components/color-mode-image","An image element with a different source for light and dark mode.",{"title":316,"path":317,"stem":318,"framework":16,"category":303,"description":319},"ColorModeSelect","/docs/components/color-mode-select","docs/2.components/color-mode-select","A Select to switch between system, dark & light mode.",{"title":321,"path":322,"stem":323,"framework":16,"category":303,"description":324},"ColorModeSwitch","/docs/components/color-mode-switch","docs/2.components/color-mode-switch","A switch to toggle between light and dark mode.",{"title":326,"path":327,"stem":328,"framework":16,"category":282,"description":329},"ColorPicker","/docs/components/color-picker","docs/2.components/color-picker","A component to select a color.",{"title":331,"path":332,"stem":333,"framework":16,"category":220,"description":334},"CommandPalette","/docs/components/command-palette","docs/2.components/command-palette","A command palette with full-text search powered by Fuse.js for efficient fuzzy matching.",{"title":336,"path":337,"stem":338,"framework":16,"category":178,"description":339},"Container","/docs/components/container","docs/2.components/container","A container lets you center and constrain the width of your content.",{"title":341,"path":342,"stem":343,"framework":28,"category":344,"description":345},"ContentNavigation","/docs/components/content-navigation","docs/2.components/content-navigation","content","An accordion-style navigation component for organizing page links.",{"title":347,"path":348,"stem":349,"framework":28,"category":344,"description":350},"ContentSearch","/docs/components/content-search","docs/2.components/content-search","A ready to use CommandPalette to add to your documentation.",{"title":352,"path":353,"stem":354,"framework":28,"category":344,"description":355},"ContentSearchButton","/docs/components/content-search-button","docs/2.components/content-search-button","A pre-styled Button to open the ContentSearch modal.",{"title":357,"path":358,"stem":359,"framework":28,"category":344,"description":360},"ContentSurround","/docs/components/content-surround","docs/2.components/content-surround","A pair of prev and next links to navigate between pages.",{"title":362,"path":363,"stem":364,"framework":28,"category":344,"description":365},"ContentToc","/docs/components/content-toc","docs/2.components/content-toc","A sticky Table of Contents with automatic active anchor link highlighting.",{"title":367,"path":368,"stem":369,"framework":16,"category":370,"description":371},"ContextMenu","/docs/components/context-menu","docs/2.components/context-menu","overlay","A menu to display actions when right-clicking on an element.",{"title":373,"path":374,"stem":375,"framework":16,"category":376,"description":377},"DashboardGroup","/docs/components/dashboard-group","docs/2.components/dashboard-group","dashboard","A fixed layout component that provides context for dashboard components with sidebar state management and persistence.",{"title":379,"path":380,"stem":381,"framework":16,"category":376,"description":382},"DashboardNavbar","/docs/components/dashboard-navbar","docs/2.components/dashboard-navbar","A responsive navbar to display in a dashboard.",{"title":384,"path":385,"stem":386,"framework":16,"category":376,"description":387},"DashboardPanel","/docs/components/dashboard-panel","docs/2.components/dashboard-panel","A resizable panel to display in a dashboard.",{"title":389,"path":390,"stem":391,"framework":16,"category":376,"description":392},"DashboardResizeHandle","/docs/components/dashboard-resize-handle","docs/2.components/dashboard-resize-handle","A handle to resize a sidebar or panel.",{"title":394,"path":395,"stem":396,"framework":16,"category":376,"description":397},"DashboardSearch","/docs/components/dashboard-search","docs/2.components/dashboard-search","A ready to use CommandPalette to add to your dashboard.",{"title":399,"path":400,"stem":401,"framework":16,"category":376,"description":402},"DashboardSearchButton","/docs/components/dashboard-search-button","docs/2.components/dashboard-search-button","A pre-styled Button to open the DashboardSearch modal.",{"title":404,"path":405,"stem":406,"framework":16,"category":376,"description":407},"DashboardSidebar","/docs/components/dashboard-sidebar","docs/2.components/dashboard-sidebar","A resizable and collapsible sidebar to display in a dashboard.",{"title":409,"path":410,"stem":411,"framework":16,"category":376,"description":412},"DashboardSidebarCollapse","/docs/components/dashboard-sidebar-collapse","docs/2.components/dashboard-sidebar-collapse","A Button to collapse the sidebar on desktop.",{"title":414,"path":415,"stem":416,"framework":16,"category":376,"description":417},"DashboardSidebarToggle","/docs/components/dashboard-sidebar-toggle","docs/2.components/dashboard-sidebar-toggle","A Button to toggle the sidebar on mobile.",{"title":419,"path":420,"stem":421,"framework":16,"category":376,"description":422},"DashboardToolbar","/docs/components/dashboard-toolbar","docs/2.components/dashboard-toolbar","A toolbar to display under the navbar in a dashboard.",{"title":424,"path":425,"stem":426,"framework":16,"category":370,"description":427},"Drawer","/docs/components/drawer","docs/2.components/drawer","A drawer that smoothly slides in & out of the screen.",{"title":429,"path":430,"stem":431,"framework":16,"category":370,"description":432},"DropdownMenu","/docs/components/dropdown-menu","docs/2.components/dropdown-menu","A menu to display actions when clicking on an element.",{"title":434,"path":435,"stem":436,"framework":16,"category":437,"description":438,"badge":439},"Editor","/docs/components/editor","docs/2.components/editor","editor","A rich text editor component based on TipTap with support for markdown, HTML, and JSON content types.","Soon",{"title":441,"path":442,"stem":443,"framework":16,"category":437,"description":444,"badge":439},"EditorDragHandle","/docs/components/editor-drag-handle","docs/2.components/editor-drag-handle","A draggable handle for reordering and selecting blocks in the editor.",{"title":446,"path":447,"stem":448,"framework":16,"category":437,"description":449,"badge":439},"EditorEmojiMenu","/docs/components/editor-emoji-menu","docs/2.components/editor-emoji-menu","An emoji picker menu that displays emoji suggestions when typing the : character in the editor.",{"title":451,"path":452,"stem":453,"framework":16,"category":437,"description":454,"badge":439},"EditorMentionMenu","/docs/components/editor-mention-menu","docs/2.components/editor-mention-menu","A mention menu that displays user suggestions when typing the @ character in the editor.",{"title":456,"path":457,"stem":458,"framework":16,"category":437,"description":459,"badge":439},"EditorSuggestionMenu","/docs/components/editor-suggestion-menu","docs/2.components/editor-suggestion-menu","A command menu that displays formatting and action suggestions when typing the / character in the editor.",{"title":461,"path":462,"stem":463,"framework":16,"category":437,"description":464,"badge":439},"EditorToolbar","/docs/components/editor-toolbar","docs/2.components/editor-toolbar","A customizable toolbar for editor actions that can be displayed as fixed, bubble, or floating menu.",{"title":466,"path":467,"stem":468,"framework":16,"category":166,"description":469},"Empty","/docs/components/empty","docs/2.components/empty","A component to display an empty state.",{"title":471,"path":472,"stem":473,"framework":16,"category":178,"description":474},"Error","/docs/components/error","docs/2.components/error","A pre-built error component with NuxtError support.",{"title":476,"path":477,"stem":478,"framework":16,"category":172,"description":479},"FieldGroup","/docs/components/field-group","docs/2.components/field-group","Group multiple button-like elements together.",{"title":481,"path":482,"stem":483,"framework":16,"category":282,"description":484},"FileUpload","/docs/components/file-upload","docs/2.components/file-upload","An input element to upload files.",{"title":486,"path":487,"stem":488,"framework":16,"category":178,"description":489},"Footer","/docs/components/footer","docs/2.components/footer","A responsive footer component.",{"title":491,"path":492,"stem":493,"framework":16,"category":220,"description":494},"FooterColumns","/docs/components/footer-columns","docs/2.components/footer-columns","A list of links as columns to display in your Footer.",{"title":496,"path":497,"stem":498,"framework":16,"category":282,"description":499},"Form","/docs/components/form","docs/2.components/form","A form component with built-in validation and submission handling.",{"title":501,"path":502,"stem":503,"framework":16,"category":282,"description":504},"FormField","/docs/components/form-field","docs/2.components/form-field","A wrapper for form elements that provides validation and error handling.",{"title":506,"path":507,"stem":508,"framework":16,"category":178,"description":509},"Header","/docs/components/header","docs/2.components/header","A responsive header component.",{"title":511,"path":512,"stem":513,"framework":16,"category":172,"description":514},"Icon","/docs/components/icon","docs/2.components/icon","A component to display any icon from Iconify or another component.",{"title":516,"path":517,"stem":518,"framework":16,"category":282,"description":519},"Input","/docs/components/input","docs/2.components/input","An input element to enter text.",{"title":521,"path":522,"stem":523,"framework":16,"category":282,"description":524,"badge":525},"InputDate","/docs/components/input-date","docs/2.components/input-date","An input component for date selection.","New",{"title":527,"path":528,"stem":529,"framework":16,"category":282,"description":530},"InputMenu","/docs/components/input-menu","docs/2.components/input-menu","An autocomplete input with real-time suggestions.",{"title":532,"path":533,"stem":534,"framework":16,"category":282,"description":535},"InputNumber","/docs/components/input-number","docs/2.components/input-number","An input for numerical values with a customizable range.",{"title":537,"path":538,"stem":539,"framework":16,"category":282,"description":540},"InputTags","/docs/components/input-tags","docs/2.components/input-tags","An input element that displays interactive tags.",{"title":542,"path":543,"stem":544,"framework":16,"category":282,"description":545,"badge":525},"InputTime","/docs/components/input-time","docs/2.components/input-time","An input for selecting a time.",{"title":547,"path":548,"stem":549,"framework":16,"category":172,"description":550},"Kbd","/docs/components/kbd","docs/2.components/kbd","A kbd element to display a keyboard key.",{"title":552,"path":553,"stem":554,"framework":16,"category":220,"description":555},"Link","/docs/components/link","docs/2.components/link","A wrapper around \u003CNuxtLink> with extra props.",{"title":557,"path":558,"stem":559,"framework":16,"category":560,"description":561},"LocaleSelect","/docs/components/locale-select","docs/2.components/locale-select","i18n","A Select to switch between locales.",{"title":563,"path":564,"stem":565,"framework":16,"category":178,"description":566},"Main","/docs/components/main","docs/2.components/main","A main element that fills the available viewport height.",{"title":568,"path":569,"stem":570,"framework":16,"category":166,"description":571},"Marquee","/docs/components/marquee","docs/2.components/marquee","A component to create infinite scrolling content.",{"title":573,"path":574,"stem":575,"framework":16,"category":370,"description":576},"Modal","/docs/components/modal","docs/2.components/modal","A dialog window that can be used to display a message or request user input.",{"title":578,"path":579,"stem":580,"framework":16,"category":220,"description":581},"NavigationMenu","/docs/components/navigation-menu","docs/2.components/navigation-menu","A list of links that can be displayed horizontally or vertically.",{"title":583,"path":584,"stem":585,"framework":16,"category":184,"description":586},"Page","/docs/components/page","docs/2.components/page","A grid layout for your pages with left and right columns.",{"title":588,"path":589,"stem":590,"framework":16,"category":184,"description":591},"PageAnchors","/docs/components/page-anchors","docs/2.components/page-anchors","A list of anchors to be displayed in the page.",{"title":593,"path":594,"stem":595,"framework":16,"category":184,"description":596},"PageAside","/docs/components/page-aside","docs/2.components/page-aside","A sticky aside to display your page navigation.",{"title":598,"path":599,"stem":600,"framework":16,"category":184,"description":601},"PageBody","/docs/components/page-body","docs/2.components/page-body","The main content of your page.",{"title":603,"path":604,"stem":605,"framework":16,"category":184,"description":606},"PageCard","/docs/components/page-card","docs/2.components/page-card","A pre-styled card component that displays a title, description and optional link.",{"title":608,"path":609,"stem":610,"framework":16,"category":184,"description":611},"PageColumns","/docs/components/page-columns","docs/2.components/page-columns","A responsive multi-column layout system for organizing content side-by-side.",{"title":613,"path":614,"stem":615,"framework":16,"category":184,"description":616},"PageCTA","/docs/components/page-cta","docs/2.components/page-cta","A call to action section to display in your pages.",{"title":618,"path":619,"stem":620,"framework":16,"category":184,"description":621},"PageFeature","/docs/components/page-feature","docs/2.components/page-feature","A component to showcase key features of your application.",{"title":623,"path":624,"stem":625,"framework":16,"category":184,"description":626},"PageGrid","/docs/components/page-grid","docs/2.components/page-grid","A responsive grid system for displaying content in a flexible layout.",{"title":628,"path":629,"stem":630,"framework":16,"category":184,"description":631},"PageHeader","/docs/components/page-header","docs/2.components/page-header","A responsive header for your pages.",{"title":633,"path":634,"stem":635,"framework":16,"category":184,"description":636},"PageHero","/docs/components/page-hero","docs/2.components/page-hero","A responsive hero for your pages.",{"title":638,"path":639,"stem":640,"framework":16,"category":184,"description":641},"PageLinks","/docs/components/page-links","docs/2.components/page-links","A list of links to be displayed in the page.",{"title":643,"path":644,"stem":645,"framework":16,"category":184,"description":646},"PageList","/docs/components/page-list","docs/2.components/page-list","A vertical list layout for displaying content in a stacked format.",{"title":648,"path":649,"stem":650,"framework":16,"category":184,"description":651},"PageLogos","/docs/components/page-logos","docs/2.components/page-logos","A list of logos or images to display on your pages.",{"title":653,"path":654,"stem":655,"framework":16,"category":184,"description":656},"PageSection","/docs/components/page-section","docs/2.components/page-section","A responsive section for your pages.",{"title":658,"path":659,"stem":660,"framework":16,"category":220,"description":661},"Pagination","/docs/components/pagination","docs/2.components/pagination","A list of buttons or links to navigate through pages.",{"title":663,"path":664,"stem":665,"framework":16,"category":282,"description":666},"PinInput","/docs/components/pin-input","docs/2.components/pin-input","An input element to enter a pin.",{"title":668,"path":669,"stem":670,"framework":16,"category":370,"description":671},"Popover","/docs/components/popover","docs/2.components/popover","A non-modal dialog that floats around a trigger element.",{"title":673,"path":674,"stem":675,"framework":16,"category":184,"description":676},"PricingPlan","/docs/components/pricing-plan","docs/2.components/pricing-plan","A customizable pricing plan to display in a pricing page.",{"title":678,"path":679,"stem":680,"framework":16,"category":184,"description":681},"PricingPlans","/docs/components/pricing-plans","docs/2.components/pricing-plans","Display a list of pricing plans in a responsive grid layout.",{"title":683,"path":684,"stem":685,"framework":16,"category":184,"description":686},"PricingTable","/docs/components/pricing-table","docs/2.components/pricing-table","A responsive pricing table component that displays tiered pricing plans with feature comparisons.",{"title":688,"path":689,"stem":690,"framework":16,"category":172,"description":691},"Progress","/docs/components/progress","docs/2.components/progress","An indicator showing the progress of a task.",{"title":693,"path":694,"stem":695,"framework":16,"category":282,"description":696},"RadioGroup","/docs/components/radio-group","docs/2.components/radio-group","A set of radio buttons to select a single option from a list.",{"title":698,"path":699,"stem":700,"framework":16,"category":282,"description":701},"Select","/docs/components/select","docs/2.components/select","A select element to choose from a list of options.",{"title":703,"path":704,"stem":705,"framework":16,"category":282,"description":706},"SelectMenu","/docs/components/select-menu","docs/2.components/select-menu","An advanced searchable select element.",{"title":708,"path":709,"stem":710,"framework":16,"category":172,"description":711},"Separator","/docs/components/separator","docs/2.components/separator","Separates content horizontally or vertically.",{"title":713,"path":714,"stem":715,"framework":16,"category":172,"description":716},"Skeleton","/docs/components/skeleton","docs/2.components/skeleton","A placeholder to show while content is loading.",{"title":718,"path":719,"stem":720,"framework":16,"category":370,"description":721},"Slideover","/docs/components/slideover","docs/2.components/slideover","A dialog that slides in from any side of the screen.",{"title":723,"path":724,"stem":725,"framework":16,"category":282,"description":726},"Slider","/docs/components/slider","docs/2.components/slider","An input to select a numeric value within a range.",{"title":728,"path":729,"stem":730,"framework":16,"category":220,"description":731},"Stepper","/docs/components/stepper","docs/2.components/stepper","A set of steps that are used to indicate progress through a multi-step process.",{"title":733,"path":734,"stem":735,"framework":16,"category":282,"description":736},"Switch","/docs/components/switch","docs/2.components/switch","A control that toggles between two states.",{"title":738,"path":739,"stem":740,"framework":16,"category":166,"description":741},"Table","/docs/components/table","docs/2.components/table","A responsive table element to display data in rows and columns.",{"title":743,"path":744,"stem":745,"framework":16,"category":220,"description":746},"Tabs","/docs/components/tabs","docs/2.components/tabs","A set of tab panels that are displayed one at a time.",{"title":748,"path":749,"stem":750,"framework":16,"category":282,"description":751},"Textarea","/docs/components/textarea","docs/2.components/textarea","A textarea element to input multi-line text.",{"title":753,"path":754,"stem":755,"framework":16,"category":166,"description":756},"Timeline","/docs/components/timeline","docs/2.components/timeline","A component that displays a sequence of events with dates, titles, icons or avatars.",{"title":758,"path":759,"stem":760,"framework":16,"category":370,"description":761},"Toast","/docs/components/toast","docs/2.components/toast","A succinct message to provide information or feedback to the user.",{"title":763,"path":764,"stem":765,"framework":16,"category":370,"description":766},"Tooltip","/docs/components/tooltip","docs/2.components/tooltip","A popup that reveals information when hovering over an element.",{"title":768,"path":769,"stem":770,"framework":16,"category":166,"description":771},"Tree","/docs/components/tree","docs/2.components/tree","A tree view component to display and interact with hierarchical data structures.",{"title":773,"path":774,"stem":775,"framework":16,"category":166,"description":776},"User","/docs/components/user","docs/2.components/user","Display user information with name, description and avatar.",{"title":778,"framework":16,"category":16,"description":16,"icon":779,"path":780,"stem":781,"children":782,"page":36},"Composables","i-lucide-square-function","/docs/composables","docs/3.composables",[783,788,793],{"title":784,"path":785,"stem":786,"framework":16,"category":16,"description":787},"defineShortcuts","/docs/composables/define-shortcuts","docs/3.composables/define-shortcuts","A composable to define keyboard shortcuts in your app.",{"title":789,"path":790,"stem":791,"framework":16,"category":16,"description":792},"useOverlay","/docs/composables/use-overlay","docs/3.composables/use-overlay","A composable to programmatically control overlays.",{"title":794,"path":795,"stem":796,"framework":16,"category":16,"description":797},"useToast","/docs/composables/use-toast","docs/3.composables/use-toast","A composable to display toast notifications in your app.",{"title":799,"path":800,"stem":801,"children":802,"framework":28,"category":16,"description":16,"icon":898},"Typography","/docs/typography","docs/4.typography/1.index",[803,805,810,815,820,825,830,834,839,843,848,853,858,863,868,872,877,881,885,889,894],{"title":15,"path":800,"stem":801,"framework":28,"category":16,"description":804},"Beautiful typography components and utilities to style your content with Nuxt UI.",{"title":806,"path":807,"stem":808,"framework":28,"category":16,"description":809},"Headers and text","/docs/typography/headers-and-text","docs/4.typography/2.headers-and-text","Beautifully styled headings, paragraphs, text formatting, and links for optimal readability.",{"title":811,"path":812,"stem":813,"framework":28,"category":16,"description":814},"Lists and tables","/docs/typography/lists-and-tables","docs/4.typography/3.lists-and-tables","Organize information with styled lists and responsive tables for clear, consistent readability.",{"title":816,"path":817,"stem":818,"framework":28,"category":16,"description":819},"Images and embeds","/docs/typography/images-and-embeds","docs/4.typography/4.images-and-embeds","Responsive images, videos, and rich media embeds to enhance and illustrate your documentation.",{"title":821,"path":822,"stem":823,"framework":28,"category":16,"description":824},"Code","/docs/typography/code","docs/4.typography/5.code","Display inline code and syntax-highlighted code blocks with copy-to-clipboard support.",{"title":163,"path":826,"stem":827,"framework":28,"category":828,"description":829},"/docs/typography/accordion","docs/4.typography/accordion","components","Create expandable content sections for better information organization.",{"title":197,"path":831,"stem":832,"framework":28,"category":828,"description":833},"/docs/typography/badge","docs/4.typography/badge","Display version numbers, status labels, and tags within your content.",{"title":835,"path":836,"stem":837,"framework":28,"category":828,"description":838},"Callout","/docs/typography/callout","docs/4.typography/callout","Highlight important information with eye-catching colored boxes and icons.",{"title":233,"path":840,"stem":841,"framework":28,"category":828,"description":842},"/docs/typography/card","docs/4.typography/card","Create highlighted content blocks with optional links and navigation.",{"title":844,"path":845,"stem":846,"framework":28,"category":828,"description":847},"CardGroup","/docs/typography/card-group","docs/4.typography/card-group","Organize multiple cards in responsive grid layouts for better content presentation.",{"title":849,"path":850,"stem":851,"framework":28,"category":828,"description":852},"CodeCollapse","/docs/typography/code-collapse","docs/4.typography/code-collapse","Make long code blocks collapsible to save space and improve readability.",{"title":854,"path":855,"stem":856,"framework":28,"category":828,"description":857},"CodeGroup","/docs/typography/code-group","docs/4.typography/code-group","Group multiple code examples in tabbed interfaces for easy comparison.",{"title":859,"path":860,"stem":861,"framework":28,"category":828,"description":862},"CodePreview","/docs/typography/code-preview","docs/4.typography/code-preview","Display code examples with a preview and their source for clearer documentation.",{"title":864,"path":865,"stem":866,"framework":28,"category":828,"description":867},"CodeTree","/docs/typography/code-tree","docs/4.typography/code-tree","Visualize file and folder structures with syntax-highlighted code.",{"title":295,"path":869,"stem":870,"framework":28,"category":828,"description":871},"/docs/typography/collapsible","docs/4.typography/collapsible","Toggle content visibility with smooth expand and collapse animations.",{"title":873,"path":874,"stem":875,"framework":28,"category":828,"description":876},"Field","/docs/typography/field","docs/4.typography/field","Document API parameters, props, and configuration options clearly.",{"title":476,"path":878,"stem":879,"framework":28,"category":828,"description":880},"/docs/typography/field-group","docs/4.typography/field-group","Group related fields together for comprehensive API documentation.",{"title":511,"path":882,"stem":883,"framework":28,"category":828,"description":884},"/docs/typography/icon","docs/4.typography/icon","Display icons from popular icon libraries to enhance your content.",{"title":547,"path":886,"stem":887,"framework":28,"category":828,"description":888},"/docs/typography/kbd","docs/4.typography/kbd","Display keyboard shortcuts and key combinations with proper styling.",{"title":890,"path":891,"stem":892,"framework":28,"category":828,"description":893},"Steps","/docs/typography/steps","docs/4.typography/steps","Transform headings into numbered step-by-step guides and tutorials.",{"title":743,"path":895,"stem":896,"framework":28,"category":828,"description":897},"/docs/typography/tabs","docs/4.typography/tabs","Organize related content in interactive tabbed interfaces.","i-lucide-square-pilcrow",{"id":900,"title":121,"body":901,"category":16,"description":124,"extension":2605,"framework":34,"links":16,"meta":2606,"navigation":2607,"path":127,"seo":2608,"stem":128,"__hash__":2609},"docs/docs/1.getting-started/6.integrations/4.i18n/2.vue.md",{"type":902,"value":903,"toc":2595},"minimark",[904,919,924,933,938,949,1101,1105,1112,1363,1388,1392,1405,1613,1617,1628,2263,2267,2277,2296,2585,2589,2591],[905,906,910],"callout",{"className":907,"icon":909,"to":122},[908],"hidden","i-logos-nuxt-icon",[911,912,913,914,918],"p",{},"Looking for the ",[915,916,917],"strong",{},"Nuxt"," version?",[920,921,923],"h2",{"id":922},"usage","Usage",[925,926,927],"note",{"to":176},[911,928,929,930,932],{},"Nuxt UI provides an ",[915,931,175],{}," component that wraps your app to provide global configurations.",[934,935,937],"h3",{"id":936},"locale","Locale",[911,939,940,941,944,945,948],{},"Use the ",[942,943,936],"code",{}," prop with the locale you want to use from ",[942,946,947],{},"@nuxt/ui/locale",":",[950,951,956],"pre",{"className":952,"code":953,"filename":954,"language":34,"meta":955,"style":955},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { fr } from '@nuxt/ui/locale'\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUApp :locale=\"fr\">\n    \u003CRouterView />\n  \u003C/UApp>\n\u003C/template>\n","App.vue","",[942,957,958,993,1021,1031,1037,1047,1070,1082,1092],{"__ignoreMap":955},[959,960,963,967,971,975,978,981,984,988,990],"span",{"class":961,"line":962},"line",1,[959,964,966],{"class":965},"sMK4o","\u003C",[959,968,970],{"class":969},"swJcz","script",[959,972,974],{"class":973},"spNyl"," setup",[959,976,977],{"class":973}," lang",[959,979,980],{"class":965},"=",[959,982,983],{"class":965},"\"",[959,985,987],{"class":986},"sfazB","ts",[959,989,983],{"class":965},[959,991,992],{"class":965},">\n",[959,994,996,1000,1003,1007,1010,1013,1016,1018],{"class":961,"line":995},2,[959,997,999],{"class":998},"s7zQu","import",[959,1001,1002],{"class":965}," {",[959,1004,1006],{"class":1005},"sTEyZ"," fr",[959,1008,1009],{"class":965}," }",[959,1011,1012],{"class":998}," from",[959,1014,1015],{"class":965}," '",[959,1017,947],{"class":986},[959,1019,1020],{"class":965},"'\n",[959,1022,1024,1027,1029],{"class":961,"line":1023},3,[959,1025,1026],{"class":965},"\u003C/",[959,1028,970],{"class":969},[959,1030,992],{"class":965},[959,1032,1034],{"class":961,"line":1033},4,[959,1035,1036],{"emptyLinePlaceholder":21},"\n",[959,1038,1040,1042,1045],{"class":961,"line":1039},5,[959,1041,966],{"class":965},[959,1043,1044],{"class":969},"template",[959,1046,992],{"class":965},[959,1048,1050,1053,1056,1059,1061,1063,1066,1068],{"class":961,"line":1049},6,[959,1051,1052],{"class":965},"  \u003C",[959,1054,1055],{"class":969},"UApp",[959,1057,1058],{"class":973}," :locale",[959,1060,980],{"class":965},[959,1062,983],{"class":965},[959,1064,1065],{"class":986},"fr",[959,1067,983],{"class":965},[959,1069,992],{"class":965},[959,1071,1073,1076,1079],{"class":961,"line":1072},7,[959,1074,1075],{"class":965},"    \u003C",[959,1077,1078],{"class":969},"RouterView",[959,1080,1081],{"class":965}," />\n",[959,1083,1085,1088,1090],{"class":961,"line":1084},8,[959,1086,1087],{"class":965},"  \u003C/",[959,1089,1055],{"class":969},[959,1091,992],{"class":965},[959,1093,1095,1097,1099],{"class":961,"line":1094},9,[959,1096,1026],{"class":965},[959,1098,1044],{"class":969},[959,1100,992],{"class":965},[934,1102,1104],{"id":1103},"custom-locale","Custom locale",[911,1106,1107,1108,1111],{},"You can create your own locale using the ",[942,1109,1110],{},"defineLocale"," composable:",[950,1113,1115],{"className":952,"code":1114,"filename":954,"language":34,"meta":955,"style":955},"\u003Cscript setup lang=\"ts\">\nimport type { Messages } from '@nuxt/ui'\nimport { defineLocale } from '@nuxt/ui/composables/defineLocale.js'\n\nconst locale = defineLocale\u003CMessages>({\n  name: 'My custom locale',\n  code: 'en',\n  dir: 'ltr',\n  messages: {\n    // implement pairs\n  }\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUApp :locale=\"locale\">\n    \u003CRouterView />\n  \u003C/UApp>\n\u003C/template>\n",[942,1116,1117,1137,1160,1180,1184,1212,1230,1246,1262,1272,1279,1285,1294,1303,1308,1317,1336,1345,1354],{"__ignoreMap":955},[959,1118,1119,1121,1123,1125,1127,1129,1131,1133,1135],{"class":961,"line":962},[959,1120,966],{"class":965},[959,1122,970],{"class":969},[959,1124,974],{"class":973},[959,1126,977],{"class":973},[959,1128,980],{"class":965},[959,1130,983],{"class":965},[959,1132,987],{"class":986},[959,1134,983],{"class":965},[959,1136,992],{"class":965},[959,1138,1139,1141,1144,1146,1149,1151,1153,1155,1158],{"class":961,"line":995},[959,1140,999],{"class":998},[959,1142,1143],{"class":998}," type",[959,1145,1002],{"class":965},[959,1147,1148],{"class":1005}," Messages",[959,1150,1009],{"class":965},[959,1152,1012],{"class":998},[959,1154,1015],{"class":965},[959,1156,1157],{"class":986},"@nuxt/ui",[959,1159,1020],{"class":965},[959,1161,1162,1164,1166,1169,1171,1173,1175,1178],{"class":961,"line":1023},[959,1163,999],{"class":998},[959,1165,1002],{"class":965},[959,1167,1168],{"class":1005}," defineLocale",[959,1170,1009],{"class":965},[959,1172,1012],{"class":998},[959,1174,1015],{"class":965},[959,1176,1177],{"class":986},"@nuxt/ui/composables/defineLocale.js",[959,1179,1020],{"class":965},[959,1181,1182],{"class":961,"line":1033},[959,1183,1036],{"emptyLinePlaceholder":21},[959,1185,1186,1189,1192,1194,1197,1199,1203,1206,1209],{"class":961,"line":1039},[959,1187,1188],{"class":973},"const",[959,1190,1191],{"class":1005}," locale ",[959,1193,980],{"class":965},[959,1195,1168],{"class":1196},"s2Zo4",[959,1198,966],{"class":965},[959,1200,1202],{"class":1201},"sBMFI","Messages",[959,1204,1205],{"class":965},">",[959,1207,1208],{"class":1005},"(",[959,1210,1211],{"class":965},"{\n",[959,1213,1214,1217,1219,1221,1224,1227],{"class":961,"line":1049},[959,1215,1216],{"class":969},"  name",[959,1218,948],{"class":965},[959,1220,1015],{"class":965},[959,1222,1223],{"class":986},"My custom locale",[959,1225,1226],{"class":965},"'",[959,1228,1229],{"class":965},",\n",[959,1231,1232,1235,1237,1239,1242,1244],{"class":961,"line":1072},[959,1233,1234],{"class":969},"  code",[959,1236,948],{"class":965},[959,1238,1015],{"class":965},[959,1240,1241],{"class":986},"en",[959,1243,1226],{"class":965},[959,1245,1229],{"class":965},[959,1247,1248,1251,1253,1255,1258,1260],{"class":961,"line":1084},[959,1249,1250],{"class":969},"  dir",[959,1252,948],{"class":965},[959,1254,1015],{"class":965},[959,1256,1257],{"class":986},"ltr",[959,1259,1226],{"class":965},[959,1261,1229],{"class":965},[959,1263,1264,1267,1269],{"class":961,"line":1094},[959,1265,1266],{"class":969},"  messages",[959,1268,948],{"class":965},[959,1270,1271],{"class":965}," {\n",[959,1273,1275],{"class":961,"line":1274},10,[959,1276,1278],{"class":1277},"sHwdD","    // implement pairs\n",[959,1280,1282],{"class":961,"line":1281},11,[959,1283,1284],{"class":965},"  }\n",[959,1286,1288,1291],{"class":961,"line":1287},12,[959,1289,1290],{"class":965},"}",[959,1292,1293],{"class":1005},")\n",[959,1295,1297,1299,1301],{"class":961,"line":1296},13,[959,1298,1026],{"class":965},[959,1300,970],{"class":969},[959,1302,992],{"class":965},[959,1304,1306],{"class":961,"line":1305},14,[959,1307,1036],{"emptyLinePlaceholder":21},[959,1309,1311,1313,1315],{"class":961,"line":1310},15,[959,1312,966],{"class":965},[959,1314,1044],{"class":969},[959,1316,992],{"class":965},[959,1318,1320,1322,1324,1326,1328,1330,1332,1334],{"class":961,"line":1319},16,[959,1321,1052],{"class":965},[959,1323,1055],{"class":969},[959,1325,1058],{"class":973},[959,1327,980],{"class":965},[959,1329,983],{"class":965},[959,1331,936],{"class":986},[959,1333,983],{"class":965},[959,1335,992],{"class":965},[959,1337,1339,1341,1343],{"class":961,"line":1338},17,[959,1340,1075],{"class":965},[959,1342,1078],{"class":969},[959,1344,1081],{"class":965},[959,1346,1348,1350,1352],{"class":961,"line":1347},18,[959,1349,1087],{"class":965},[959,1351,1055],{"class":969},[959,1353,992],{"class":965},[959,1355,1357,1359,1361],{"class":961,"line":1356},19,[959,1358,1026],{"class":965},[959,1360,1044],{"class":969},[959,1362,992],{"class":965},[1364,1365,1366,1372],"tip",{},[911,1367,1368,1369,1371],{},"Look at the ",[942,1370,942],{}," parameter, there you need to pass the iso code of the language. Example:",[1373,1374,1375,1382],"ul",{},[1376,1377,1378,1381],"li",{},[942,1379,1380],{},"hi"," Hindi (language)",[1376,1383,1384,1387],{},[942,1385,1386],{},"de-AT",": German (language) as used in Austria (region)",[934,1389,1391],{"id":1390},"extend-locale","Extend locale",[911,1393,1394,1395,1398,1399,1401,1402,1111],{},"You can customize an existing locale by overriding its ",[942,1396,1397],{},"messages"," or ",[942,1400,942],{}," using the ",[942,1403,1404],{},"extendLocale",[950,1406,1408],{"className":952,"code":1407,"filename":954,"language":34,"meta":955,"style":955},"\u003Cscript setup lang=\"ts\">\nimport { en } from '@nuxt/ui/locale'\nimport { extendLocale } from '@nuxt/ui/composables/defineLocale.js'\n\nconst locale = extendLocale(en, {\n  code: 'en-GB',\n  messages: {\n    commandPalette: {\n      placeholder: 'Search a component...'\n    }\n  }\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUApp :locale=\"locale\">\n    \u003CRouterView />\n  \u003C/UApp>\n\u003C/template>\n",[942,1409,1410,1430,1449,1468,1472,1490,1505,1513,1522,1536,1541,1545,1551,1559,1563,1571,1589,1597,1605],{"__ignoreMap":955},[959,1411,1412,1414,1416,1418,1420,1422,1424,1426,1428],{"class":961,"line":962},[959,1413,966],{"class":965},[959,1415,970],{"class":969},[959,1417,974],{"class":973},[959,1419,977],{"class":973},[959,1421,980],{"class":965},[959,1423,983],{"class":965},[959,1425,987],{"class":986},[959,1427,983],{"class":965},[959,1429,992],{"class":965},[959,1431,1432,1434,1436,1439,1441,1443,1445,1447],{"class":961,"line":995},[959,1433,999],{"class":998},[959,1435,1002],{"class":965},[959,1437,1438],{"class":1005}," en",[959,1440,1009],{"class":965},[959,1442,1012],{"class":998},[959,1444,1015],{"class":965},[959,1446,947],{"class":986},[959,1448,1020],{"class":965},[959,1450,1451,1453,1455,1458,1460,1462,1464,1466],{"class":961,"line":1023},[959,1452,999],{"class":998},[959,1454,1002],{"class":965},[959,1456,1457],{"class":1005}," extendLocale",[959,1459,1009],{"class":965},[959,1461,1012],{"class":998},[959,1463,1015],{"class":965},[959,1465,1177],{"class":986},[959,1467,1020],{"class":965},[959,1469,1470],{"class":961,"line":1033},[959,1471,1036],{"emptyLinePlaceholder":21},[959,1473,1474,1476,1478,1480,1482,1485,1488],{"class":961,"line":1039},[959,1475,1188],{"class":973},[959,1477,1191],{"class":1005},[959,1479,980],{"class":965},[959,1481,1457],{"class":1196},[959,1483,1484],{"class":1005},"(en",[959,1486,1487],{"class":965},",",[959,1489,1271],{"class":965},[959,1491,1492,1494,1496,1498,1501,1503],{"class":961,"line":1049},[959,1493,1234],{"class":969},[959,1495,948],{"class":965},[959,1497,1015],{"class":965},[959,1499,1500],{"class":986},"en-GB",[959,1502,1226],{"class":965},[959,1504,1229],{"class":965},[959,1506,1507,1509,1511],{"class":961,"line":1072},[959,1508,1266],{"class":969},[959,1510,948],{"class":965},[959,1512,1271],{"class":965},[959,1514,1515,1518,1520],{"class":961,"line":1084},[959,1516,1517],{"class":969},"    commandPalette",[959,1519,948],{"class":965},[959,1521,1271],{"class":965},[959,1523,1524,1527,1529,1531,1534],{"class":961,"line":1094},[959,1525,1526],{"class":969},"      placeholder",[959,1528,948],{"class":965},[959,1530,1015],{"class":965},[959,1532,1533],{"class":986},"Search a component...",[959,1535,1020],{"class":965},[959,1537,1538],{"class":961,"line":1274},[959,1539,1540],{"class":965},"    }\n",[959,1542,1543],{"class":961,"line":1281},[959,1544,1284],{"class":965},[959,1546,1547,1549],{"class":961,"line":1287},[959,1548,1290],{"class":965},[959,1550,1293],{"class":1005},[959,1552,1553,1555,1557],{"class":961,"line":1296},[959,1554,1026],{"class":965},[959,1556,970],{"class":969},[959,1558,992],{"class":965},[959,1560,1561],{"class":961,"line":1305},[959,1562,1036],{"emptyLinePlaceholder":21},[959,1564,1565,1567,1569],{"class":961,"line":1310},[959,1566,966],{"class":965},[959,1568,1044],{"class":969},[959,1570,992],{"class":965},[959,1572,1573,1575,1577,1579,1581,1583,1585,1587],{"class":961,"line":1319},[959,1574,1052],{"class":965},[959,1576,1055],{"class":969},[959,1578,1058],{"class":973},[959,1580,980],{"class":965},[959,1582,983],{"class":965},[959,1584,936],{"class":986},[959,1586,983],{"class":965},[959,1588,992],{"class":965},[959,1590,1591,1593,1595],{"class":961,"line":1338},[959,1592,1075],{"class":965},[959,1594,1078],{"class":969},[959,1596,1081],{"class":965},[959,1598,1599,1601,1603],{"class":961,"line":1347},[959,1600,1087],{"class":965},[959,1602,1055],{"class":969},[959,1604,992],{"class":965},[959,1606,1607,1609,1611],{"class":961,"line":1356},[959,1608,1026],{"class":965},[959,1610,1044],{"class":969},[959,1612,992],{"class":965},[934,1614,1616],{"id":1615},"dynamic-locale","Dynamic locale",[911,1618,1619,1620,1627],{},"To dynamically switch between languages, you can use the ",[1621,1622,1626],"a",{"href":1623,"rel":1624},"https://vue-i18n.intlify.dev/",[1625],"nofollow","Vue I18n"," plugin.",[1629,1630,1632,1637,1702,1709,2104,2114],"steps",{"level":1631},"4",[1633,1634,1636],"h4",{"id":1635},"install-the-vue-i18n-package","Install the Vue I18n package",[1638,1639,1641,1659,1673,1688],"code-group",{"sync":1640},"pm",[950,1642,1647],{"className":1643,"code":1644,"filename":1645,"language":1646,"meta":955,"style":955},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add vue-i18n@11\n","pnpm","bash",[942,1648,1649],{"__ignoreMap":955},[959,1650,1651,1653,1656],{"class":961,"line":962},[959,1652,1645],{"class":1201},[959,1654,1655],{"class":986}," add",[959,1657,1658],{"class":986}," vue-i18n@11\n",[950,1660,1663],{"className":1643,"code":1661,"filename":1662,"language":1646,"meta":955,"style":955},"yarn add vue-i18n@11\n","yarn",[942,1664,1665],{"__ignoreMap":955},[959,1666,1667,1669,1671],{"class":961,"line":962},[959,1668,1662],{"class":1201},[959,1670,1655],{"class":986},[959,1672,1658],{"class":986},[950,1674,1677],{"className":1643,"code":1675,"filename":1676,"language":1646,"meta":955,"style":955},"npm install vue-i18n@11\n","npm",[942,1678,1679],{"__ignoreMap":955},[959,1680,1681,1683,1686],{"class":961,"line":962},[959,1682,1676],{"class":1201},[959,1684,1685],{"class":986}," install",[959,1687,1658],{"class":986},[950,1689,1692],{"className":1643,"code":1690,"filename":1691,"language":1646,"meta":955,"style":955},"bun add vue-i18n@11\n","bun",[942,1693,1694],{"__ignoreMap":955},[959,1695,1696,1698,1700],{"class":961,"line":962},[959,1697,1691],{"class":1201},[959,1699,1655],{"class":986},[959,1701,1658],{"class":986},[1633,1703,1705,1706],{"id":1704},"use-the-vue-i18n-plugin-in-your-maints","Use the Vue I18n plugin in your ",[942,1707,1708],{},"main.ts",[950,1710,1722],{"className":1711,"code":1712,"filename":1708,"highlights":1713,"language":987,"meta":955,"style":955},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router'\nimport { createI18n } from 'vue-i18n'\nimport ui from '@nuxt/ui/vue-plugin'\nimport App from './App.vue'\n\nconst app = createApp(App)\n\nconst router = createRouter({\n  routes: [],\n  history: createWebHistory()\n})\n\nconst i18n = createI18n({\n  legacy: false,\n  locale: 'en',\n  availableLocales: ['en', 'de'],\n  messages: {\n    en: {\n      // ...\n    },\n    de: {\n      // ...\n    }\n  }\n})\n\napp.use(router)\napp.use(i18n)\napp.use(ui)\n\napp.mount('#app')\n",[1023,1305,1310,1319,1338,1347,1356,1714,1715,1716,1717,1718,1719,1720,1721],20,21,22,23,24,25,26,29,[942,1723,1724,1743,1768,1790,1807,1823,1827,1841,1845,1860,1872,1884,1890,1894,1910,1924,1940,1971,1980,1990,1996,2002,2012,2017,2022,2027,2034,2039,2054,2066,2078,2083],{"__ignoreMap":955},[959,1725,1726,1728,1730,1733,1735,1737,1739,1741],{"class":961,"line":962},[959,1727,999],{"class":998},[959,1729,1002],{"class":965},[959,1731,1732],{"class":1005}," createApp",[959,1734,1009],{"class":965},[959,1736,1012],{"class":998},[959,1738,1015],{"class":965},[959,1740,34],{"class":986},[959,1742,1020],{"class":965},[959,1744,1745,1747,1749,1752,1754,1757,1759,1761,1763,1766],{"class":961,"line":995},[959,1746,999],{"class":998},[959,1748,1002],{"class":965},[959,1750,1751],{"class":1005}," createRouter",[959,1753,1487],{"class":965},[959,1755,1756],{"class":1005}," createWebHistory",[959,1758,1009],{"class":965},[959,1760,1012],{"class":998},[959,1762,1015],{"class":965},[959,1764,1765],{"class":986},"vue-router",[959,1767,1020],{"class":965},[959,1769,1772,1774,1776,1779,1781,1783,1785,1788],{"class":1770,"line":1023},[961,1771],"highlight",[959,1773,999],{"class":998},[959,1775,1002],{"class":965},[959,1777,1778],{"class":1005}," createI18n",[959,1780,1009],{"class":965},[959,1782,1012],{"class":998},[959,1784,1015],{"class":965},[959,1786,1787],{"class":986},"vue-i18n",[959,1789,1020],{"class":965},[959,1791,1792,1794,1797,1800,1802,1805],{"class":961,"line":1033},[959,1793,999],{"class":998},[959,1795,1796],{"class":1005}," ui ",[959,1798,1799],{"class":998},"from",[959,1801,1015],{"class":965},[959,1803,1804],{"class":986},"@nuxt/ui/vue-plugin",[959,1806,1020],{"class":965},[959,1808,1809,1811,1814,1816,1818,1821],{"class":961,"line":1039},[959,1810,999],{"class":998},[959,1812,1813],{"class":1005}," App ",[959,1815,1799],{"class":998},[959,1817,1015],{"class":965},[959,1819,1820],{"class":986},"./App.vue",[959,1822,1020],{"class":965},[959,1824,1825],{"class":961,"line":1049},[959,1826,1036],{"emptyLinePlaceholder":21},[959,1828,1829,1831,1834,1836,1838],{"class":961,"line":1072},[959,1830,1188],{"class":973},[959,1832,1833],{"class":1005}," app ",[959,1835,980],{"class":965},[959,1837,1732],{"class":1196},[959,1839,1840],{"class":1005},"(App)\n",[959,1842,1843],{"class":961,"line":1084},[959,1844,1036],{"emptyLinePlaceholder":21},[959,1846,1847,1849,1852,1854,1856,1858],{"class":961,"line":1094},[959,1848,1188],{"class":973},[959,1850,1851],{"class":1005}," router ",[959,1853,980],{"class":965},[959,1855,1751],{"class":1196},[959,1857,1208],{"class":1005},[959,1859,1211],{"class":965},[959,1861,1862,1865,1867,1870],{"class":961,"line":1274},[959,1863,1864],{"class":969},"  routes",[959,1866,948],{"class":965},[959,1868,1869],{"class":1005}," []",[959,1871,1229],{"class":965},[959,1873,1874,1877,1879,1881],{"class":961,"line":1281},[959,1875,1876],{"class":969},"  history",[959,1878,948],{"class":965},[959,1880,1756],{"class":1196},[959,1882,1883],{"class":1005},"()\n",[959,1885,1886,1888],{"class":961,"line":1287},[959,1887,1290],{"class":965},[959,1889,1293],{"class":1005},[959,1891,1892],{"class":961,"line":1296},[959,1893,1036],{"emptyLinePlaceholder":21},[959,1895,1897,1899,1902,1904,1906,1908],{"class":1896,"line":1305},[961,1771],[959,1898,1188],{"class":973},[959,1900,1901],{"class":1005}," i18n ",[959,1903,980],{"class":965},[959,1905,1778],{"class":1196},[959,1907,1208],{"class":1005},[959,1909,1211],{"class":965},[959,1911,1913,1916,1918,1922],{"class":1912,"line":1310},[961,1771],[959,1914,1915],{"class":969},"  legacy",[959,1917,948],{"class":965},[959,1919,1921],{"class":1920},"sfNiH"," false",[959,1923,1229],{"class":965},[959,1925,1927,1930,1932,1934,1936,1938],{"class":1926,"line":1319},[961,1771],[959,1928,1929],{"class":969},"  locale",[959,1931,948],{"class":965},[959,1933,1015],{"class":965},[959,1935,1241],{"class":986},[959,1937,1226],{"class":965},[959,1939,1229],{"class":965},[959,1941,1943,1946,1948,1951,1953,1955,1957,1959,1961,1964,1966,1969],{"class":1942,"line":1338},[961,1771],[959,1944,1945],{"class":969},"  availableLocales",[959,1947,948],{"class":965},[959,1949,1950],{"class":1005}," [",[959,1952,1226],{"class":965},[959,1954,1241],{"class":986},[959,1956,1226],{"class":965},[959,1958,1487],{"class":965},[959,1960,1015],{"class":965},[959,1962,1963],{"class":986},"de",[959,1965,1226],{"class":965},[959,1967,1968],{"class":1005},"]",[959,1970,1229],{"class":965},[959,1972,1974,1976,1978],{"class":1973,"line":1347},[961,1771],[959,1975,1266],{"class":969},[959,1977,948],{"class":965},[959,1979,1271],{"class":965},[959,1981,1983,1986,1988],{"class":1982,"line":1356},[961,1771],[959,1984,1985],{"class":969},"    en",[959,1987,948],{"class":965},[959,1989,1271],{"class":965},[959,1991,1993],{"class":1992,"line":1714},[961,1771],[959,1994,1995],{"class":1277},"      // ...\n",[959,1997,1999],{"class":1998,"line":1715},[961,1771],[959,2000,2001],{"class":965},"    },\n",[959,2003,2005,2008,2010],{"class":2004,"line":1716},[961,1771],[959,2006,2007],{"class":969},"    de",[959,2009,948],{"class":965},[959,2011,1271],{"class":965},[959,2013,2015],{"class":2014,"line":1717},[961,1771],[959,2016,1995],{"class":1277},[959,2018,2020],{"class":2019,"line":1718},[961,1771],[959,2021,1540],{"class":965},[959,2023,2025],{"class":2024,"line":1719},[961,1771],[959,2026,1284],{"class":965},[959,2028,2030,2032],{"class":2029,"line":1720},[961,1771],[959,2031,1290],{"class":965},[959,2033,1293],{"class":1005},[959,2035,2037],{"class":961,"line":2036},27,[959,2038,1036],{"emptyLinePlaceholder":21},[959,2040,2042,2045,2048,2051],{"class":961,"line":2041},28,[959,2043,2044],{"class":1005},"app",[959,2046,2047],{"class":965},".",[959,2049,2050],{"class":1196},"use",[959,2052,2053],{"class":1005},"(router)\n",[959,2055,2057,2059,2061,2063],{"class":2056,"line":1721},[961,1771],[959,2058,2044],{"class":1005},[959,2060,2047],{"class":965},[959,2062,2050],{"class":1196},[959,2064,2065],{"class":1005},"(i18n)\n",[959,2067,2069,2071,2073,2075],{"class":961,"line":2068},30,[959,2070,2044],{"class":1005},[959,2072,2047],{"class":965},[959,2074,2050],{"class":1196},[959,2076,2077],{"class":1005},"(ui)\n",[959,2079,2081],{"class":961,"line":2080},31,[959,2082,1036],{"emptyLinePlaceholder":21},[959,2084,2086,2088,2090,2093,2095,2097,2100,2102],{"class":961,"line":2085},32,[959,2087,2044],{"class":1005},[959,2089,2047],{"class":965},[959,2091,2092],{"class":1196},"mount",[959,2094,1208],{"class":1005},[959,2096,1226],{"class":965},[959,2098,2099],{"class":986},"#app",[959,2101,1226],{"class":965},[959,2103,1293],{"class":1005},[1633,2105,2107,2108,2110,2111],{"id":2106},"set-the-locale-prop-using-usei18n","Set the ",[942,2109,936],{}," prop using ",[942,2112,2113],{},"useI18n",[950,2115,2117],{"className":952,"code":2116,"filename":954,"language":34,"meta":955,"style":955},"\u003Cscript setup lang=\"ts\">\nimport { useI18n } from 'vue-i18n'\nimport * as locales from '@nuxt/ui/locale'\n\nconst { locale } = useI18n()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUApp :locale=\"locales[locale]\">\n    \u003CRouterView />\n  \u003C/UApp>\n\u003C/template>\n",[942,2118,2119,2139,2158,2179,2183,2200,2208,2212,2220,2239,2247,2255],{"__ignoreMap":955},[959,2120,2121,2123,2125,2127,2129,2131,2133,2135,2137],{"class":961,"line":962},[959,2122,966],{"class":965},[959,2124,970],{"class":969},[959,2126,974],{"class":973},[959,2128,977],{"class":973},[959,2130,980],{"class":965},[959,2132,983],{"class":965},[959,2134,987],{"class":986},[959,2136,983],{"class":965},[959,2138,992],{"class":965},[959,2140,2141,2143,2145,2148,2150,2152,2154,2156],{"class":961,"line":995},[959,2142,999],{"class":998},[959,2144,1002],{"class":965},[959,2146,2147],{"class":1005}," useI18n",[959,2149,1009],{"class":965},[959,2151,1012],{"class":998},[959,2153,1015],{"class":965},[959,2155,1787],{"class":986},[959,2157,1020],{"class":965},[959,2159,2160,2162,2165,2168,2171,2173,2175,2177],{"class":961,"line":1023},[959,2161,999],{"class":998},[959,2163,2164],{"class":965}," *",[959,2166,2167],{"class":998}," as",[959,2169,2170],{"class":1005}," locales ",[959,2172,1799],{"class":998},[959,2174,1015],{"class":965},[959,2176,947],{"class":986},[959,2178,1020],{"class":965},[959,2180,2181],{"class":961,"line":1033},[959,2182,1036],{"emptyLinePlaceholder":21},[959,2184,2185,2187,2189,2191,2193,2196,2198],{"class":961,"line":1039},[959,2186,1188],{"class":973},[959,2188,1002],{"class":965},[959,2190,1191],{"class":1005},[959,2192,1290],{"class":965},[959,2194,2195],{"class":965}," =",[959,2197,2147],{"class":1196},[959,2199,1883],{"class":1005},[959,2201,2202,2204,2206],{"class":961,"line":1049},[959,2203,1026],{"class":965},[959,2205,970],{"class":969},[959,2207,992],{"class":965},[959,2209,2210],{"class":961,"line":1072},[959,2211,1036],{"emptyLinePlaceholder":21},[959,2213,2214,2216,2218],{"class":961,"line":1084},[959,2215,966],{"class":965},[959,2217,1044],{"class":969},[959,2219,992],{"class":965},[959,2221,2222,2224,2226,2228,2230,2232,2235,2237],{"class":961,"line":1094},[959,2223,1052],{"class":965},[959,2225,1055],{"class":969},[959,2227,1058],{"class":973},[959,2229,980],{"class":965},[959,2231,983],{"class":965},[959,2233,2234],{"class":986},"locales[locale]",[959,2236,983],{"class":965},[959,2238,992],{"class":965},[959,2240,2241,2243,2245],{"class":961,"line":1274},[959,2242,1075],{"class":965},[959,2244,1078],{"class":969},[959,2246,1081],{"class":965},[959,2248,2249,2251,2253],{"class":961,"line":1281},[959,2250,1087],{"class":965},[959,2252,1055],{"class":969},[959,2254,992],{"class":965},[959,2256,2257,2259,2261],{"class":961,"line":1287},[959,2258,1026],{"class":965},[959,2260,1044],{"class":969},[959,2262,992],{"class":965},[934,2264,2266],{"id":2265},"dynamic-direction","Dynamic direction",[911,2268,2269,2270,2273,2274,2276],{},"Each locale has a ",[942,2271,2272],{},"dir"," property which will be used by the ",[942,2275,175],{}," component to set the directionality of all components.",[911,2278,2279,2280,2283,2284,2286,2287,2290,2291,1111],{},"In a multilingual application, you might want to set the ",[942,2281,2282],{},"lang"," and ",[942,2285,2272],{}," attributes on the ",[942,2288,2289],{},"\u003Chtml>"," element dynamically based on the user's locale, which you can do with the ",[1621,2292,2295],{"href":2293,"rel":2294},"https://unhead.unjs.io/usage/composables/use-head",[1625],"useHead",[950,2297,2299],{"className":952,"code":2298,"filename":954,"language":34,"meta":955,"style":955},"\u003Cscript setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useHead } from '@unhead/vue'\nimport * as locales from '@nuxt/ui/locale'\n\nconst { locale } = useI18n()\n\nconst lang = computed(() => locales[locale.value].code)\nconst dir = computed(() => locales[locale.value].dir)\n\nuseHead({\n  htmlAttrs: {\n    lang,\n    dir\n  }\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUApp :locale=\"locales[locale]\">\n    \u003CRouterView />\n  \u003C/UApp>\n\u003C/template>\n",[942,2300,2301,2321,2340,2358,2378,2396,2400,2416,2420,2452,2480,2484,2492,2501,2508,2513,2517,2523,2531,2535,2543,2561,2569,2577],{"__ignoreMap":955},[959,2302,2303,2305,2307,2309,2311,2313,2315,2317,2319],{"class":961,"line":962},[959,2304,966],{"class":965},[959,2306,970],{"class":969},[959,2308,974],{"class":973},[959,2310,977],{"class":973},[959,2312,980],{"class":965},[959,2314,983],{"class":965},[959,2316,987],{"class":986},[959,2318,983],{"class":965},[959,2320,992],{"class":965},[959,2322,2323,2325,2327,2330,2332,2334,2336,2338],{"class":961,"line":995},[959,2324,999],{"class":998},[959,2326,1002],{"class":965},[959,2328,2329],{"class":1005}," computed",[959,2331,1009],{"class":965},[959,2333,1012],{"class":998},[959,2335,1015],{"class":965},[959,2337,34],{"class":986},[959,2339,1020],{"class":965},[959,2341,2342,2344,2346,2348,2350,2352,2354,2356],{"class":961,"line":1023},[959,2343,999],{"class":998},[959,2345,1002],{"class":965},[959,2347,2147],{"class":1005},[959,2349,1009],{"class":965},[959,2351,1012],{"class":998},[959,2353,1015],{"class":965},[959,2355,1787],{"class":986},[959,2357,1020],{"class":965},[959,2359,2360,2362,2364,2367,2369,2371,2373,2376],{"class":961,"line":1033},[959,2361,999],{"class":998},[959,2363,1002],{"class":965},[959,2365,2366],{"class":1005}," useHead",[959,2368,1009],{"class":965},[959,2370,1012],{"class":998},[959,2372,1015],{"class":965},[959,2374,2375],{"class":986},"@unhead/vue",[959,2377,1020],{"class":965},[959,2379,2380,2382,2384,2386,2388,2390,2392,2394],{"class":961,"line":1039},[959,2381,999],{"class":998},[959,2383,2164],{"class":965},[959,2385,2167],{"class":998},[959,2387,2170],{"class":1005},[959,2389,1799],{"class":998},[959,2391,1015],{"class":965},[959,2393,947],{"class":986},[959,2395,1020],{"class":965},[959,2397,2398],{"class":961,"line":1049},[959,2399,1036],{"emptyLinePlaceholder":21},[959,2401,2402,2404,2406,2408,2410,2412,2414],{"class":961,"line":1072},[959,2403,1188],{"class":973},[959,2405,1002],{"class":965},[959,2407,1191],{"class":1005},[959,2409,1290],{"class":965},[959,2411,2195],{"class":965},[959,2413,2147],{"class":1196},[959,2415,1883],{"class":1005},[959,2417,2418],{"class":961,"line":1084},[959,2419,1036],{"emptyLinePlaceholder":21},[959,2421,2422,2424,2427,2429,2431,2433,2436,2439,2442,2444,2447,2449],{"class":961,"line":1094},[959,2423,1188],{"class":973},[959,2425,2426],{"class":1005}," lang ",[959,2428,980],{"class":965},[959,2430,2329],{"class":1196},[959,2432,1208],{"class":1005},[959,2434,2435],{"class":965},"()",[959,2437,2438],{"class":973}," =>",[959,2440,2441],{"class":1005}," locales[locale",[959,2443,2047],{"class":965},[959,2445,2446],{"class":1005},"value]",[959,2448,2047],{"class":965},[959,2450,2451],{"class":1005},"code)\n",[959,2453,2454,2456,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477],{"class":961,"line":1274},[959,2455,1188],{"class":973},[959,2457,2458],{"class":1005}," dir ",[959,2460,980],{"class":965},[959,2462,2329],{"class":1196},[959,2464,1208],{"class":1005},[959,2466,2435],{"class":965},[959,2468,2438],{"class":973},[959,2470,2441],{"class":1005},[959,2472,2047],{"class":965},[959,2474,2446],{"class":1005},[959,2476,2047],{"class":965},[959,2478,2479],{"class":1005},"dir)\n",[959,2481,2482],{"class":961,"line":1281},[959,2483,1036],{"emptyLinePlaceholder":21},[959,2485,2486,2488,2490],{"class":961,"line":1287},[959,2487,2295],{"class":1196},[959,2489,1208],{"class":1005},[959,2491,1211],{"class":965},[959,2493,2494,2497,2499],{"class":961,"line":1296},[959,2495,2496],{"class":969},"  htmlAttrs",[959,2498,948],{"class":965},[959,2500,1271],{"class":965},[959,2502,2503,2506],{"class":961,"line":1305},[959,2504,2505],{"class":1005},"    lang",[959,2507,1229],{"class":965},[959,2509,2510],{"class":961,"line":1310},[959,2511,2512],{"class":1005},"    dir\n",[959,2514,2515],{"class":961,"line":1319},[959,2516,1284],{"class":965},[959,2518,2519,2521],{"class":961,"line":1338},[959,2520,1290],{"class":965},[959,2522,1293],{"class":1005},[959,2524,2525,2527,2529],{"class":961,"line":1347},[959,2526,1026],{"class":965},[959,2528,970],{"class":969},[959,2530,992],{"class":965},[959,2532,2533],{"class":961,"line":1356},[959,2534,1036],{"emptyLinePlaceholder":21},[959,2536,2537,2539,2541],{"class":961,"line":1714},[959,2538,966],{"class":965},[959,2540,1044],{"class":969},[959,2542,992],{"class":965},[959,2544,2545,2547,2549,2551,2553,2555,2557,2559],{"class":961,"line":1715},[959,2546,1052],{"class":965},[959,2548,1055],{"class":969},[959,2550,1058],{"class":973},[959,2552,980],{"class":965},[959,2554,983],{"class":965},[959,2556,2234],{"class":986},[959,2558,983],{"class":965},[959,2560,992],{"class":965},[959,2562,2563,2565,2567],{"class":961,"line":1716},[959,2564,1075],{"class":965},[959,2566,1078],{"class":969},[959,2568,1081],{"class":965},[959,2570,2571,2573,2575],{"class":961,"line":1717},[959,2572,1087],{"class":965},[959,2574,1055],{"class":969},[959,2576,992],{"class":965},[959,2578,2579,2581,2583],{"class":961,"line":1718},[959,2580,1026],{"class":965},[959,2582,1044],{"class":969},[959,2584,992],{"class":965},[920,2586,2588],{"id":2587},"supported-languages","Supported languages",[2587,2590],{},[2592,2593,2594],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":955,"searchDepth":995,"depth":995,"links":2596},[2597,2604],{"id":922,"depth":995,"text":923,"children":2598},[2599,2600,2601,2602,2603],{"id":936,"depth":1023,"text":937},{"id":1103,"depth":1023,"text":1104},{"id":1390,"depth":1023,"text":1391},{"id":1615,"depth":1023,"text":1616},{"id":2265,"depth":1023,"text":2266},{"id":2587,"depth":995,"text":2588},"md",{},{"icon":125},{"title":121,"description":124},"oi3rZ3aKvUaUpFLGXgwiwfMskchw4Ymf8RL0AUt6fkc",{"data":2611,"body":2612},{},{"type":2613,"children":2614},"root",[2615],{"type":172,"tag":911,"props":2616,"children":2617},{},[2618],{"type":2619,"value":124},"text",1765201485280]