[{"data":1,"prerenderedAt":2663},["ShallowReactive",2],{"navigation":3,"-docs-getting-started-integrations-i18n-vue":918,"-docs-getting-started-integrations-i18n-vue-description":2653},[4],{"title":5,"path":6,"stem":7,"children":8,"page":36},"Docs","/docs","docs",[9,157,781,817],{"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 Vue UI component library (Nuxt optional), offering 125+ accessible, Tailwind CSS components for building modern web applications.","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 has first-party support for Vue 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,525,530,535,540,545,550,555,561,566,571,576,581,586,591,596,601,606,611,616,621,626,631,636,641,646,651,656,661,666,671,676,681,686,691,696,701,706,711,716,721,726,731,736,741,746,751,756,761,766,771,776],{"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.","New",{"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},"InputDate","/docs/components/input-date","docs/2.components/input-date","An input component for date selection.",{"title":526,"path":527,"stem":528,"framework":16,"category":282,"description":529},"InputMenu","/docs/components/input-menu","docs/2.components/input-menu","An autocomplete input with real-time suggestions.",{"title":531,"path":532,"stem":533,"framework":16,"category":282,"description":534},"InputNumber","/docs/components/input-number","docs/2.components/input-number","An input for numerical values with a customizable range.",{"title":536,"path":537,"stem":538,"framework":16,"category":282,"description":539},"InputTags","/docs/components/input-tags","docs/2.components/input-tags","An input element that displays interactive tags.",{"title":541,"path":542,"stem":543,"framework":16,"category":282,"description":544},"InputTime","/docs/components/input-time","docs/2.components/input-time","An input for selecting a time.",{"title":546,"path":547,"stem":548,"framework":16,"category":172,"description":549},"Kbd","/docs/components/kbd","docs/2.components/kbd","A kbd element to display a keyboard key.",{"title":551,"path":552,"stem":553,"framework":16,"category":220,"description":554},"Link","/docs/components/link","docs/2.components/link","A wrapper around \u003CNuxtLink> with extra props.",{"title":556,"path":557,"stem":558,"framework":16,"category":559,"description":560},"LocaleSelect","/docs/components/locale-select","docs/2.components/locale-select","i18n","A Select to switch between locales.",{"title":562,"path":563,"stem":564,"framework":16,"category":178,"description":565},"Main","/docs/components/main","docs/2.components/main","A main element that fills the available viewport height.",{"title":567,"path":568,"stem":569,"framework":16,"category":166,"description":570},"Marquee","/docs/components/marquee","docs/2.components/marquee","A component to create infinite scrolling content.",{"title":572,"path":573,"stem":574,"framework":16,"category":370,"description":575},"Modal","/docs/components/modal","docs/2.components/modal","A dialog window that can be used to display a message or request user input.",{"title":577,"path":578,"stem":579,"framework":16,"category":220,"description":580},"NavigationMenu","/docs/components/navigation-menu","docs/2.components/navigation-menu","A list of links that can be displayed horizontally or vertically.",{"title":582,"path":583,"stem":584,"framework":16,"category":184,"description":585},"Page","/docs/components/page","docs/2.components/page","A grid layout for your pages with left and right columns.",{"title":587,"path":588,"stem":589,"framework":16,"category":184,"description":590},"PageAnchors","/docs/components/page-anchors","docs/2.components/page-anchors","A list of anchors to be displayed in the page.",{"title":592,"path":593,"stem":594,"framework":16,"category":184,"description":595},"PageAside","/docs/components/page-aside","docs/2.components/page-aside","A sticky aside to display your page navigation.",{"title":597,"path":598,"stem":599,"framework":16,"category":184,"description":600},"PageBody","/docs/components/page-body","docs/2.components/page-body","The main content of your page.",{"title":602,"path":603,"stem":604,"framework":16,"category":184,"description":605},"PageCard","/docs/components/page-card","docs/2.components/page-card","A pre-styled card component that displays a title, description and optional link.",{"title":607,"path":608,"stem":609,"framework":16,"category":184,"description":610},"PageColumns","/docs/components/page-columns","docs/2.components/page-columns","A responsive multi-column layout system for organizing content side-by-side.",{"title":612,"path":613,"stem":614,"framework":16,"category":184,"description":615},"PageCTA","/docs/components/page-cta","docs/2.components/page-cta","A call to action section to display in your pages.",{"title":617,"path":618,"stem":619,"framework":16,"category":184,"description":620},"PageFeature","/docs/components/page-feature","docs/2.components/page-feature","A component to showcase key features of your application.",{"title":622,"path":623,"stem":624,"framework":16,"category":184,"description":625},"PageGrid","/docs/components/page-grid","docs/2.components/page-grid","A responsive grid system for displaying content in a flexible layout.",{"title":627,"path":628,"stem":629,"framework":16,"category":184,"description":630},"PageHeader","/docs/components/page-header","docs/2.components/page-header","A responsive header for your pages.",{"title":632,"path":633,"stem":634,"framework":16,"category":184,"description":635},"PageHero","/docs/components/page-hero","docs/2.components/page-hero","A responsive hero for your pages.",{"title":637,"path":638,"stem":639,"framework":16,"category":184,"description":640},"PageLinks","/docs/components/page-links","docs/2.components/page-links","A list of links to be displayed in the page.",{"title":642,"path":643,"stem":644,"framework":16,"category":184,"description":645},"PageList","/docs/components/page-list","docs/2.components/page-list","A vertical list layout for displaying content in a stacked format.",{"title":647,"path":648,"stem":649,"framework":16,"category":184,"description":650},"PageLogos","/docs/components/page-logos","docs/2.components/page-logos","A list of logos or images to display on your pages.",{"title":652,"path":653,"stem":654,"framework":16,"category":184,"description":655},"PageSection","/docs/components/page-section","docs/2.components/page-section","A responsive section for your pages.",{"title":657,"path":658,"stem":659,"framework":16,"category":220,"description":660},"Pagination","/docs/components/pagination","docs/2.components/pagination","A list of buttons or links to navigate through pages.",{"title":662,"path":663,"stem":664,"framework":16,"category":282,"description":665},"PinInput","/docs/components/pin-input","docs/2.components/pin-input","An input element to enter a pin.",{"title":667,"path":668,"stem":669,"framework":16,"category":370,"description":670},"Popover","/docs/components/popover","docs/2.components/popover","A non-modal dialog that floats around a trigger element.",{"title":672,"path":673,"stem":674,"framework":16,"category":184,"description":675},"PricingPlan","/docs/components/pricing-plan","docs/2.components/pricing-plan","A customizable pricing plan to display in a pricing page.",{"title":677,"path":678,"stem":679,"framework":16,"category":184,"description":680},"PricingPlans","/docs/components/pricing-plans","docs/2.components/pricing-plans","Display a list of pricing plans in a responsive grid layout.",{"title":682,"path":683,"stem":684,"framework":16,"category":184,"description":685},"PricingTable","/docs/components/pricing-table","docs/2.components/pricing-table","A responsive pricing table component that displays tiered pricing plans with feature comparisons.",{"title":687,"path":688,"stem":689,"framework":16,"category":172,"description":690},"Progress","/docs/components/progress","docs/2.components/progress","An indicator showing the progress of a task.",{"title":692,"path":693,"stem":694,"framework":16,"category":282,"description":695},"RadioGroup","/docs/components/radio-group","docs/2.components/radio-group","A set of radio buttons to select a single option from a list.",{"title":697,"path":698,"stem":699,"framework":16,"category":166,"description":700,"badge":439},"ScrollArea","/docs/components/scroll-area","docs/2.components/scroll-area","A flexible scroll container with virtualization support.",{"title":702,"path":703,"stem":704,"framework":16,"category":282,"description":705},"Select","/docs/components/select","docs/2.components/select","A select element to choose from a list of options.",{"title":707,"path":708,"stem":709,"framework":16,"category":282,"description":710},"SelectMenu","/docs/components/select-menu","docs/2.components/select-menu","An advanced searchable select element.",{"title":712,"path":713,"stem":714,"framework":16,"category":172,"description":715},"Separator","/docs/components/separator","docs/2.components/separator","Separates content horizontally or vertically.",{"title":717,"path":718,"stem":719,"framework":16,"category":172,"description":720},"Skeleton","/docs/components/skeleton","docs/2.components/skeleton","A placeholder to show while content is loading.",{"title":722,"path":723,"stem":724,"framework":16,"category":370,"description":725},"Slideover","/docs/components/slideover","docs/2.components/slideover","A dialog that slides in from any side of the screen.",{"title":727,"path":728,"stem":729,"framework":16,"category":282,"description":730},"Slider","/docs/components/slider","docs/2.components/slider","An input to select a numeric value within a range.",{"title":732,"path":733,"stem":734,"framework":16,"category":220,"description":735},"Stepper","/docs/components/stepper","docs/2.components/stepper","A set of steps that are used to indicate progress through a multi-step process.",{"title":737,"path":738,"stem":739,"framework":16,"category":282,"description":740},"Switch","/docs/components/switch","docs/2.components/switch","A control that toggles between two states.",{"title":742,"path":743,"stem":744,"framework":16,"category":166,"description":745},"Table","/docs/components/table","docs/2.components/table","A responsive table element to display data in rows and columns.",{"title":747,"path":748,"stem":749,"framework":16,"category":220,"description":750},"Tabs","/docs/components/tabs","docs/2.components/tabs","A set of tab panels that are displayed one at a time.",{"title":752,"path":753,"stem":754,"framework":16,"category":282,"description":755},"Textarea","/docs/components/textarea","docs/2.components/textarea","A textarea element to input multi-line text.",{"title":757,"path":758,"stem":759,"framework":16,"category":166,"description":760},"Timeline","/docs/components/timeline","docs/2.components/timeline","A component that displays a sequence of events with dates, titles, icons or avatars.",{"title":762,"path":763,"stem":764,"framework":16,"category":370,"description":765},"Toast","/docs/components/toast","docs/2.components/toast","A succinct message to provide information or feedback to the user.",{"title":767,"path":768,"stem":769,"framework":16,"category":370,"description":770},"Tooltip","/docs/components/tooltip","docs/2.components/tooltip","A popup that reveals information when hovering over an element.",{"title":772,"path":773,"stem":774,"framework":16,"category":166,"description":775},"Tree","/docs/components/tree","docs/2.components/tree","A tree view component to display and interact with hierarchical data structures.",{"title":777,"path":778,"stem":779,"framework":16,"category":166,"description":780},"User","/docs/components/user","docs/2.components/user","Display user information with name, description and avatar.",{"title":782,"framework":16,"category":16,"description":16,"icon":783,"path":784,"stem":785,"children":786,"page":36},"Composables","i-lucide-square-function","/docs/composables","docs/3.composables",[787,792,797,802,807,812],{"title":788,"path":789,"stem":790,"framework":16,"category":16,"description":791},"defineLocale","/docs/composables/define-locale","docs/3.composables/define-locale","A utility to create a custom locale for your app.",{"title":793,"path":794,"stem":795,"framework":16,"category":16,"description":796},"defineShortcuts","/docs/composables/define-shortcuts","docs/3.composables/define-shortcuts","A composable to define keyboard shortcuts in your app.",{"title":798,"path":799,"stem":800,"framework":16,"category":16,"description":801},"extendLocale","/docs/composables/extend-locale","docs/3.composables/extend-locale","A utility to extend an existing locale with custom translations.",{"title":803,"path":804,"stem":805,"framework":16,"category":16,"description":806},"extractShortcuts","/docs/composables/extract-shortcuts","docs/3.composables/extract-shortcuts","A utility to extract keyboard shortcuts from menu items.",{"title":808,"path":809,"stem":810,"framework":16,"category":16,"description":811},"useOverlay","/docs/composables/use-overlay","docs/3.composables/use-overlay","A composable to programmatically control overlays.",{"title":813,"path":814,"stem":815,"framework":16,"category":16,"description":816},"useToast","/docs/composables/use-toast","docs/3.composables/use-toast","A composable to display toast notifications in your app.",{"title":818,"path":819,"stem":820,"children":821,"framework":28,"category":16,"description":16,"icon":917},"Typography","/docs/typography","docs/4.typography/1.index",[822,824,829,834,839,844,849,853,858,862,867,872,877,882,887,891,896,900,904,908,913],{"title":15,"path":819,"stem":820,"framework":28,"category":16,"description":823},"Beautiful typography components and utilities to style your content with Nuxt UI.",{"title":825,"path":826,"stem":827,"framework":28,"category":16,"description":828},"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":830,"path":831,"stem":832,"framework":28,"category":16,"description":833},"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":835,"path":836,"stem":837,"framework":28,"category":16,"description":838},"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":840,"path":841,"stem":842,"framework":28,"category":16,"description":843},"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":845,"stem":846,"framework":28,"category":847,"description":848},"/docs/typography/accordion","docs/4.typography/accordion","components","Create expandable content sections for better information organization.",{"title":197,"path":850,"stem":851,"framework":28,"category":847,"description":852},"/docs/typography/badge","docs/4.typography/badge","Display version numbers, status labels, and tags within your content.",{"title":854,"path":855,"stem":856,"framework":28,"category":847,"description":857},"Callout","/docs/typography/callout","docs/4.typography/callout","Highlight important information with eye-catching colored boxes and icons.",{"title":233,"path":859,"stem":860,"framework":28,"category":847,"description":861},"/docs/typography/card","docs/4.typography/card","Create highlighted content blocks with optional links and navigation.",{"title":863,"path":864,"stem":865,"framework":28,"category":847,"description":866},"CardGroup","/docs/typography/card-group","docs/4.typography/card-group","Organize multiple cards in responsive grid layouts for better content presentation.",{"title":868,"path":869,"stem":870,"framework":28,"category":847,"description":871},"CodeCollapse","/docs/typography/code-collapse","docs/4.typography/code-collapse","Make long code blocks collapsible to save space and improve readability.",{"title":873,"path":874,"stem":875,"framework":28,"category":847,"description":876},"CodeGroup","/docs/typography/code-group","docs/4.typography/code-group","Group multiple code examples in tabbed interfaces for easy comparison.",{"title":878,"path":879,"stem":880,"framework":28,"category":847,"description":881},"CodePreview","/docs/typography/code-preview","docs/4.typography/code-preview","Display code examples with a preview and their source for clearer documentation.",{"title":883,"path":884,"stem":885,"framework":28,"category":847,"description":886},"CodeTree","/docs/typography/code-tree","docs/4.typography/code-tree","Visualize file and folder structures with syntax-highlighted code.",{"title":295,"path":888,"stem":889,"framework":28,"category":847,"description":890},"/docs/typography/collapsible","docs/4.typography/collapsible","Toggle content visibility with smooth expand and collapse animations.",{"title":892,"path":893,"stem":894,"framework":28,"category":847,"description":895},"Field","/docs/typography/field","docs/4.typography/field","Document API parameters, props, and configuration options clearly.",{"title":476,"path":897,"stem":898,"framework":28,"category":847,"description":899},"/docs/typography/field-group","docs/4.typography/field-group","Group related fields together for comprehensive API documentation.",{"title":511,"path":901,"stem":902,"framework":28,"category":847,"description":903},"/docs/typography/icon","docs/4.typography/icon","Display icons from popular icon libraries to enhance your content.",{"title":546,"path":905,"stem":906,"framework":28,"category":847,"description":907},"/docs/typography/kbd","docs/4.typography/kbd","Display keyboard shortcuts and key combinations with proper styling.",{"title":909,"path":910,"stem":911,"framework":28,"category":847,"description":912},"Steps","/docs/typography/steps","docs/4.typography/steps","Transform headings into numbered step-by-step guides and tutorials.",{"title":747,"path":914,"stem":915,"framework":28,"category":847,"description":916},"/docs/typography/tabs","docs/4.typography/tabs","Organize related content in interactive tabbed interfaces.","i-lucide-square-pilcrow",{"id":919,"title":121,"body":920,"category":16,"description":124,"extension":2648,"framework":34,"links":16,"meta":2649,"navigation":2650,"path":127,"seo":2651,"stem":128,"__hash__":2652},"docs/docs/1.getting-started/6.integrations/4.i18n/2.vue.md",{"type":921,"value":922,"toc":2638},"minimark",[923,938,943,957,961,971,1123,1151,1155,1161,1411,1435,1439,1451,1659,1663,1673,2307,2311,2320,2339,2628,2632,2634],[924,925,929],"callout",{"className":926,"icon":928,"to":122},[927],"hidden","i-logos-nuxt-icon",[930,931,932,933,937],"p",{},"Looking for the ",[934,935,936],"strong",{},"Nuxt"," version?",[939,940,942],"h2",{"id":941},"usage","Usage",[944,945,946],"note",{"to":176},[930,947,948,949,951,952,956],{},"Nuxt UI provides an ",[934,950,175],{}," component that wraps your app to provide global configurations, including the ",[953,954,955],"code",{},"locale"," prop.",[958,959,960],"h3",{"id":955},"Locale",[930,962,963,964,966,967,970],{},"Use the ",[953,965,955],{}," prop with the locale you want to use from ",[953,968,969],{},"@nuxt/ui/locale",":",[972,973,978],"pre",{"className":974,"code":975,"filename":976,"language":34,"meta":977,"style":977},"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","",[953,979,980,1015,1043,1053,1059,1069,1092,1104,1114],{"__ignoreMap":977},[981,982,985,989,993,997,1000,1003,1006,1010,1012],"span",{"class":983,"line":984},"line",1,[981,986,988],{"class":987},"sMK4o","\u003C",[981,990,992],{"class":991},"swJcz","script",[981,994,996],{"class":995},"spNyl"," setup",[981,998,999],{"class":995}," lang",[981,1001,1002],{"class":987},"=",[981,1004,1005],{"class":987},"\"",[981,1007,1009],{"class":1008},"sfazB","ts",[981,1011,1005],{"class":987},[981,1013,1014],{"class":987},">\n",[981,1016,1018,1022,1025,1029,1032,1035,1038,1040],{"class":983,"line":1017},2,[981,1019,1021],{"class":1020},"s7zQu","import",[981,1023,1024],{"class":987}," {",[981,1026,1028],{"class":1027},"sTEyZ"," fr",[981,1030,1031],{"class":987}," }",[981,1033,1034],{"class":1020}," from",[981,1036,1037],{"class":987}," '",[981,1039,969],{"class":1008},[981,1041,1042],{"class":987},"'\n",[981,1044,1046,1049,1051],{"class":983,"line":1045},3,[981,1047,1048],{"class":987},"\u003C/",[981,1050,992],{"class":991},[981,1052,1014],{"class":987},[981,1054,1056],{"class":983,"line":1055},4,[981,1057,1058],{"emptyLinePlaceholder":21},"\n",[981,1060,1062,1064,1067],{"class":983,"line":1061},5,[981,1063,988],{"class":987},[981,1065,1066],{"class":991},"template",[981,1068,1014],{"class":987},[981,1070,1072,1075,1078,1081,1083,1085,1088,1090],{"class":983,"line":1071},6,[981,1073,1074],{"class":987},"  \u003C",[981,1076,1077],{"class":991},"UApp",[981,1079,1080],{"class":995}," :locale",[981,1082,1002],{"class":987},[981,1084,1005],{"class":987},[981,1086,1087],{"class":1008},"fr",[981,1089,1005],{"class":987},[981,1091,1014],{"class":987},[981,1093,1095,1098,1101],{"class":983,"line":1094},7,[981,1096,1097],{"class":987},"    \u003C",[981,1099,1100],{"class":991},"RouterView",[981,1102,1103],{"class":987}," />\n",[981,1105,1107,1110,1112],{"class":983,"line":1106},8,[981,1108,1109],{"class":987},"  \u003C/",[981,1111,1077],{"class":991},[981,1113,1014],{"class":987},[981,1115,1117,1119,1121],{"class":983,"line":1116},9,[981,1118,1048],{"class":987},[981,1120,1066],{"class":991},[981,1122,1014],{"class":987},[1124,1125,1126],"tip",{},[930,1127,1128,1129,1131,1132,1135,1136,1135,1139,1141,1142,1135,1145,1147,1148,1150],{},"Each locale has a ",[953,1130,953],{}," property (e.g., ",[953,1133,1134],{},"en",", ",[953,1137,1138],{},"en-GB",[953,1140,1087],{},") that determines the date/time format in components like ",[1143,1144,228],"a",{"href":229},[1143,1146,521],{"href":522}," and ",[1143,1149,541],{"href":542},".",[958,1152,1154],{"id":1153},"custom-locale","Custom locale",[930,1156,1157,1158,1160],{},"You can create your own locale using the ",[1143,1159,788],{"href":789}," utility:",[972,1162,1164],{"className":974,"code":1163,"filename":976,"language":34,"meta":977,"style":977},"\u003Cscript setup lang=\"ts\">\nimport type { Messages } from '@nuxt/ui'\nimport { defineLocale } from '@nuxt/ui/composables/defineLocale'\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",[953,1165,1166,1186,1209,1229,1233,1261,1279,1294,1310,1320,1327,1333,1342,1351,1356,1365,1384,1393,1402],{"__ignoreMap":977},[981,1167,1168,1170,1172,1174,1176,1178,1180,1182,1184],{"class":983,"line":984},[981,1169,988],{"class":987},[981,1171,992],{"class":991},[981,1173,996],{"class":995},[981,1175,999],{"class":995},[981,1177,1002],{"class":987},[981,1179,1005],{"class":987},[981,1181,1009],{"class":1008},[981,1183,1005],{"class":987},[981,1185,1014],{"class":987},[981,1187,1188,1190,1193,1195,1198,1200,1202,1204,1207],{"class":983,"line":1017},[981,1189,1021],{"class":1020},[981,1191,1192],{"class":1020}," type",[981,1194,1024],{"class":987},[981,1196,1197],{"class":1027}," Messages",[981,1199,1031],{"class":987},[981,1201,1034],{"class":1020},[981,1203,1037],{"class":987},[981,1205,1206],{"class":1008},"@nuxt/ui",[981,1208,1042],{"class":987},[981,1210,1211,1213,1215,1218,1220,1222,1224,1227],{"class":983,"line":1045},[981,1212,1021],{"class":1020},[981,1214,1024],{"class":987},[981,1216,1217],{"class":1027}," defineLocale",[981,1219,1031],{"class":987},[981,1221,1034],{"class":1020},[981,1223,1037],{"class":987},[981,1225,1226],{"class":1008},"@nuxt/ui/composables/defineLocale",[981,1228,1042],{"class":987},[981,1230,1231],{"class":983,"line":1055},[981,1232,1058],{"emptyLinePlaceholder":21},[981,1234,1235,1238,1241,1243,1246,1248,1252,1255,1258],{"class":983,"line":1061},[981,1236,1237],{"class":995},"const",[981,1239,1240],{"class":1027}," locale ",[981,1242,1002],{"class":987},[981,1244,1217],{"class":1245},"s2Zo4",[981,1247,988],{"class":987},[981,1249,1251],{"class":1250},"sBMFI","Messages",[981,1253,1254],{"class":987},">",[981,1256,1257],{"class":1027},"(",[981,1259,1260],{"class":987},"{\n",[981,1262,1263,1266,1268,1270,1273,1276],{"class":983,"line":1071},[981,1264,1265],{"class":991},"  name",[981,1267,970],{"class":987},[981,1269,1037],{"class":987},[981,1271,1272],{"class":1008},"My custom locale",[981,1274,1275],{"class":987},"'",[981,1277,1278],{"class":987},",\n",[981,1280,1281,1284,1286,1288,1290,1292],{"class":983,"line":1094},[981,1282,1283],{"class":991},"  code",[981,1285,970],{"class":987},[981,1287,1037],{"class":987},[981,1289,1134],{"class":1008},[981,1291,1275],{"class":987},[981,1293,1278],{"class":987},[981,1295,1296,1299,1301,1303,1306,1308],{"class":983,"line":1106},[981,1297,1298],{"class":991},"  dir",[981,1300,970],{"class":987},[981,1302,1037],{"class":987},[981,1304,1305],{"class":1008},"ltr",[981,1307,1275],{"class":987},[981,1309,1278],{"class":987},[981,1311,1312,1315,1317],{"class":983,"line":1116},[981,1313,1314],{"class":991},"  messages",[981,1316,970],{"class":987},[981,1318,1319],{"class":987}," {\n",[981,1321,1323],{"class":983,"line":1322},10,[981,1324,1326],{"class":1325},"sHwdD","    // implement pairs\n",[981,1328,1330],{"class":983,"line":1329},11,[981,1331,1332],{"class":987},"  }\n",[981,1334,1336,1339],{"class":983,"line":1335},12,[981,1337,1338],{"class":987},"}",[981,1340,1341],{"class":1027},")\n",[981,1343,1345,1347,1349],{"class":983,"line":1344},13,[981,1346,1048],{"class":987},[981,1348,992],{"class":991},[981,1350,1014],{"class":987},[981,1352,1354],{"class":983,"line":1353},14,[981,1355,1058],{"emptyLinePlaceholder":21},[981,1357,1359,1361,1363],{"class":983,"line":1358},15,[981,1360,988],{"class":987},[981,1362,1066],{"class":991},[981,1364,1014],{"class":987},[981,1366,1368,1370,1372,1374,1376,1378,1380,1382],{"class":983,"line":1367},16,[981,1369,1074],{"class":987},[981,1371,1077],{"class":991},[981,1373,1080],{"class":995},[981,1375,1002],{"class":987},[981,1377,1005],{"class":987},[981,1379,955],{"class":1008},[981,1381,1005],{"class":987},[981,1383,1014],{"class":987},[981,1385,1387,1389,1391],{"class":983,"line":1386},17,[981,1388,1097],{"class":987},[981,1390,1100],{"class":991},[981,1392,1103],{"class":987},[981,1394,1396,1398,1400],{"class":983,"line":1395},18,[981,1397,1109],{"class":987},[981,1399,1077],{"class":991},[981,1401,1014],{"class":987},[981,1403,1405,1407,1409],{"class":983,"line":1404},19,[981,1406,1048],{"class":987},[981,1408,1066],{"class":991},[981,1410,1014],{"class":987},[1124,1412,1413,1419],{},[930,1414,1415,1416,1418],{},"Look at the ",[953,1417,953],{}," parameter, there you need to pass the iso code of the language. Example:",[1420,1421,1422,1429],"ul",{},[1423,1424,1425,1428],"li",{},[953,1426,1427],{},"hi"," Hindi (language)",[1423,1430,1431,1434],{},[953,1432,1433],{},"de-AT",": German (language) as used in Austria (region)",[958,1436,1438],{"id":1437},"extend-locale","Extend locale",[930,1440,1441,1442,1445,1446,1448,1449,1160],{},"You can customize an existing locale by overriding its ",[953,1443,1444],{},"messages"," or ",[953,1447,953],{}," using the ",[1143,1450,798],{"href":799},[972,1452,1454],{"className":974,"code":1453,"filename":976,"language":34,"meta":977,"style":977},"\u003Cscript setup lang=\"ts\">\nimport { en } from '@nuxt/ui/locale'\nimport { extendLocale } from '@nuxt/ui/composables/defineLocale'\n\nconst locale = extendLocale(en, {\n  code: 'en-AU',\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",[953,1455,1456,1476,1495,1514,1518,1536,1551,1559,1568,1582,1587,1591,1597,1605,1609,1617,1635,1643,1651],{"__ignoreMap":977},[981,1457,1458,1460,1462,1464,1466,1468,1470,1472,1474],{"class":983,"line":984},[981,1459,988],{"class":987},[981,1461,992],{"class":991},[981,1463,996],{"class":995},[981,1465,999],{"class":995},[981,1467,1002],{"class":987},[981,1469,1005],{"class":987},[981,1471,1009],{"class":1008},[981,1473,1005],{"class":987},[981,1475,1014],{"class":987},[981,1477,1478,1480,1482,1485,1487,1489,1491,1493],{"class":983,"line":1017},[981,1479,1021],{"class":1020},[981,1481,1024],{"class":987},[981,1483,1484],{"class":1027}," en",[981,1486,1031],{"class":987},[981,1488,1034],{"class":1020},[981,1490,1037],{"class":987},[981,1492,969],{"class":1008},[981,1494,1042],{"class":987},[981,1496,1497,1499,1501,1504,1506,1508,1510,1512],{"class":983,"line":1045},[981,1498,1021],{"class":1020},[981,1500,1024],{"class":987},[981,1502,1503],{"class":1027}," extendLocale",[981,1505,1031],{"class":987},[981,1507,1034],{"class":1020},[981,1509,1037],{"class":987},[981,1511,1226],{"class":1008},[981,1513,1042],{"class":987},[981,1515,1516],{"class":983,"line":1055},[981,1517,1058],{"emptyLinePlaceholder":21},[981,1519,1520,1522,1524,1526,1528,1531,1534],{"class":983,"line":1061},[981,1521,1237],{"class":995},[981,1523,1240],{"class":1027},[981,1525,1002],{"class":987},[981,1527,1503],{"class":1245},[981,1529,1530],{"class":1027},"(en",[981,1532,1533],{"class":987},",",[981,1535,1319],{"class":987},[981,1537,1538,1540,1542,1544,1547,1549],{"class":983,"line":1071},[981,1539,1283],{"class":991},[981,1541,970],{"class":987},[981,1543,1037],{"class":987},[981,1545,1546],{"class":1008},"en-AU",[981,1548,1275],{"class":987},[981,1550,1278],{"class":987},[981,1552,1553,1555,1557],{"class":983,"line":1094},[981,1554,1314],{"class":991},[981,1556,970],{"class":987},[981,1558,1319],{"class":987},[981,1560,1561,1564,1566],{"class":983,"line":1106},[981,1562,1563],{"class":991},"    commandPalette",[981,1565,970],{"class":987},[981,1567,1319],{"class":987},[981,1569,1570,1573,1575,1577,1580],{"class":983,"line":1116},[981,1571,1572],{"class":991},"      placeholder",[981,1574,970],{"class":987},[981,1576,1037],{"class":987},[981,1578,1579],{"class":1008},"Search a component...",[981,1581,1042],{"class":987},[981,1583,1584],{"class":983,"line":1322},[981,1585,1586],{"class":987},"    }\n",[981,1588,1589],{"class":983,"line":1329},[981,1590,1332],{"class":987},[981,1592,1593,1595],{"class":983,"line":1335},[981,1594,1338],{"class":987},[981,1596,1341],{"class":1027},[981,1598,1599,1601,1603],{"class":983,"line":1344},[981,1600,1048],{"class":987},[981,1602,992],{"class":991},[981,1604,1014],{"class":987},[981,1606,1607],{"class":983,"line":1353},[981,1608,1058],{"emptyLinePlaceholder":21},[981,1610,1611,1613,1615],{"class":983,"line":1358},[981,1612,988],{"class":987},[981,1614,1066],{"class":991},[981,1616,1014],{"class":987},[981,1618,1619,1621,1623,1625,1627,1629,1631,1633],{"class":983,"line":1367},[981,1620,1074],{"class":987},[981,1622,1077],{"class":991},[981,1624,1080],{"class":995},[981,1626,1002],{"class":987},[981,1628,1005],{"class":987},[981,1630,955],{"class":1008},[981,1632,1005],{"class":987},[981,1634,1014],{"class":987},[981,1636,1637,1639,1641],{"class":983,"line":1386},[981,1638,1097],{"class":987},[981,1640,1100],{"class":991},[981,1642,1103],{"class":987},[981,1644,1645,1647,1649],{"class":983,"line":1395},[981,1646,1109],{"class":987},[981,1648,1077],{"class":991},[981,1650,1014],{"class":987},[981,1652,1653,1655,1657],{"class":983,"line":1404},[981,1654,1048],{"class":987},[981,1656,1066],{"class":991},[981,1658,1014],{"class":987},[958,1660,1662],{"id":1661},"dynamic-locale","Dynamic locale",[930,1664,1665,1666,1672],{},"To dynamically switch between languages, you can use the ",[1143,1667,1671],{"href":1668,"rel":1669},"https://vue-i18n.intlify.dev/",[1670],"nofollow","Vue I18n"," plugin.",[1674,1675,1677,1682,1747,1754,2148,2158],"steps",{"level":1676},"4",[1678,1679,1681],"h4",{"id":1680},"install-the-vue-i18n-package","Install the Vue I18n package",[1683,1684,1686,1704,1718,1733],"code-group",{"sync":1685},"pm",[972,1687,1692],{"className":1688,"code":1689,"filename":1690,"language":1691,"meta":977,"style":977},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add vue-i18n@11\n","pnpm","bash",[953,1693,1694],{"__ignoreMap":977},[981,1695,1696,1698,1701],{"class":983,"line":984},[981,1697,1690],{"class":1250},[981,1699,1700],{"class":1008}," add",[981,1702,1703],{"class":1008}," vue-i18n@11\n",[972,1705,1708],{"className":1688,"code":1706,"filename":1707,"language":1691,"meta":977,"style":977},"yarn add vue-i18n@11\n","yarn",[953,1709,1710],{"__ignoreMap":977},[981,1711,1712,1714,1716],{"class":983,"line":984},[981,1713,1707],{"class":1250},[981,1715,1700],{"class":1008},[981,1717,1703],{"class":1008},[972,1719,1722],{"className":1688,"code":1720,"filename":1721,"language":1691,"meta":977,"style":977},"npm install vue-i18n@11\n","npm",[953,1723,1724],{"__ignoreMap":977},[981,1725,1726,1728,1731],{"class":983,"line":984},[981,1727,1721],{"class":1250},[981,1729,1730],{"class":1008}," install",[981,1732,1703],{"class":1008},[972,1734,1737],{"className":1688,"code":1735,"filename":1736,"language":1691,"meta":977,"style":977},"bun add vue-i18n@11\n","bun",[953,1738,1739],{"__ignoreMap":977},[981,1740,1741,1743,1745],{"class":983,"line":984},[981,1742,1736],{"class":1250},[981,1744,1700],{"class":1008},[981,1746,1703],{"class":1008},[1678,1748,1750,1751],{"id":1749},"use-the-vue-i18n-plugin-in-your-maints","Use the Vue I18n plugin in your ",[953,1752,1753],{},"main.ts",[972,1755,1767],{"className":1756,"code":1757,"filename":1753,"highlights":1758,"language":1009,"meta":977,"style":977},"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",[1045,1353,1358,1367,1386,1395,1404,1759,1760,1761,1762,1763,1764,1765,1766],20,21,22,23,24,25,26,29,[953,1768,1769,1788,1813,1835,1852,1868,1872,1886,1890,1905,1917,1929,1935,1939,1955,1969,1985,2016,2025,2035,2041,2047,2057,2062,2067,2072,2079,2084,2098,2110,2122,2127],{"__ignoreMap":977},[981,1770,1771,1773,1775,1778,1780,1782,1784,1786],{"class":983,"line":984},[981,1772,1021],{"class":1020},[981,1774,1024],{"class":987},[981,1776,1777],{"class":1027}," createApp",[981,1779,1031],{"class":987},[981,1781,1034],{"class":1020},[981,1783,1037],{"class":987},[981,1785,34],{"class":1008},[981,1787,1042],{"class":987},[981,1789,1790,1792,1794,1797,1799,1802,1804,1806,1808,1811],{"class":983,"line":1017},[981,1791,1021],{"class":1020},[981,1793,1024],{"class":987},[981,1795,1796],{"class":1027}," createRouter",[981,1798,1533],{"class":987},[981,1800,1801],{"class":1027}," createWebHistory",[981,1803,1031],{"class":987},[981,1805,1034],{"class":1020},[981,1807,1037],{"class":987},[981,1809,1810],{"class":1008},"vue-router",[981,1812,1042],{"class":987},[981,1814,1817,1819,1821,1824,1826,1828,1830,1833],{"class":1815,"line":1045},[983,1816],"highlight",[981,1818,1021],{"class":1020},[981,1820,1024],{"class":987},[981,1822,1823],{"class":1027}," createI18n",[981,1825,1031],{"class":987},[981,1827,1034],{"class":1020},[981,1829,1037],{"class":987},[981,1831,1832],{"class":1008},"vue-i18n",[981,1834,1042],{"class":987},[981,1836,1837,1839,1842,1845,1847,1850],{"class":983,"line":1055},[981,1838,1021],{"class":1020},[981,1840,1841],{"class":1027}," ui ",[981,1843,1844],{"class":1020},"from",[981,1846,1037],{"class":987},[981,1848,1849],{"class":1008},"@nuxt/ui/vue-plugin",[981,1851,1042],{"class":987},[981,1853,1854,1856,1859,1861,1863,1866],{"class":983,"line":1061},[981,1855,1021],{"class":1020},[981,1857,1858],{"class":1027}," App ",[981,1860,1844],{"class":1020},[981,1862,1037],{"class":987},[981,1864,1865],{"class":1008},"./App.vue",[981,1867,1042],{"class":987},[981,1869,1870],{"class":983,"line":1071},[981,1871,1058],{"emptyLinePlaceholder":21},[981,1873,1874,1876,1879,1881,1883],{"class":983,"line":1094},[981,1875,1237],{"class":995},[981,1877,1878],{"class":1027}," app ",[981,1880,1002],{"class":987},[981,1882,1777],{"class":1245},[981,1884,1885],{"class":1027},"(App)\n",[981,1887,1888],{"class":983,"line":1106},[981,1889,1058],{"emptyLinePlaceholder":21},[981,1891,1892,1894,1897,1899,1901,1903],{"class":983,"line":1116},[981,1893,1237],{"class":995},[981,1895,1896],{"class":1027}," router ",[981,1898,1002],{"class":987},[981,1900,1796],{"class":1245},[981,1902,1257],{"class":1027},[981,1904,1260],{"class":987},[981,1906,1907,1910,1912,1915],{"class":983,"line":1322},[981,1908,1909],{"class":991},"  routes",[981,1911,970],{"class":987},[981,1913,1914],{"class":1027}," []",[981,1916,1278],{"class":987},[981,1918,1919,1922,1924,1926],{"class":983,"line":1329},[981,1920,1921],{"class":991},"  history",[981,1923,970],{"class":987},[981,1925,1801],{"class":1245},[981,1927,1928],{"class":1027},"()\n",[981,1930,1931,1933],{"class":983,"line":1335},[981,1932,1338],{"class":987},[981,1934,1341],{"class":1027},[981,1936,1937],{"class":983,"line":1344},[981,1938,1058],{"emptyLinePlaceholder":21},[981,1940,1942,1944,1947,1949,1951,1953],{"class":1941,"line":1353},[983,1816],[981,1943,1237],{"class":995},[981,1945,1946],{"class":1027}," i18n ",[981,1948,1002],{"class":987},[981,1950,1823],{"class":1245},[981,1952,1257],{"class":1027},[981,1954,1260],{"class":987},[981,1956,1958,1961,1963,1967],{"class":1957,"line":1358},[983,1816],[981,1959,1960],{"class":991},"  legacy",[981,1962,970],{"class":987},[981,1964,1966],{"class":1965},"sfNiH"," false",[981,1968,1278],{"class":987},[981,1970,1972,1975,1977,1979,1981,1983],{"class":1971,"line":1367},[983,1816],[981,1973,1974],{"class":991},"  locale",[981,1976,970],{"class":987},[981,1978,1037],{"class":987},[981,1980,1134],{"class":1008},[981,1982,1275],{"class":987},[981,1984,1278],{"class":987},[981,1986,1988,1991,1993,1996,1998,2000,2002,2004,2006,2009,2011,2014],{"class":1987,"line":1386},[983,1816],[981,1989,1990],{"class":991},"  availableLocales",[981,1992,970],{"class":987},[981,1994,1995],{"class":1027}," [",[981,1997,1275],{"class":987},[981,1999,1134],{"class":1008},[981,2001,1275],{"class":987},[981,2003,1533],{"class":987},[981,2005,1037],{"class":987},[981,2007,2008],{"class":1008},"de",[981,2010,1275],{"class":987},[981,2012,2013],{"class":1027},"]",[981,2015,1278],{"class":987},[981,2017,2019,2021,2023],{"class":2018,"line":1395},[983,1816],[981,2020,1314],{"class":991},[981,2022,970],{"class":987},[981,2024,1319],{"class":987},[981,2026,2028,2031,2033],{"class":2027,"line":1404},[983,1816],[981,2029,2030],{"class":991},"    en",[981,2032,970],{"class":987},[981,2034,1319],{"class":987},[981,2036,2038],{"class":2037,"line":1759},[983,1816],[981,2039,2040],{"class":1325},"      // ...\n",[981,2042,2044],{"class":2043,"line":1760},[983,1816],[981,2045,2046],{"class":987},"    },\n",[981,2048,2050,2053,2055],{"class":2049,"line":1761},[983,1816],[981,2051,2052],{"class":991},"    de",[981,2054,970],{"class":987},[981,2056,1319],{"class":987},[981,2058,2060],{"class":2059,"line":1762},[983,1816],[981,2061,2040],{"class":1325},[981,2063,2065],{"class":2064,"line":1763},[983,1816],[981,2066,1586],{"class":987},[981,2068,2070],{"class":2069,"line":1764},[983,1816],[981,2071,1332],{"class":987},[981,2073,2075,2077],{"class":2074,"line":1765},[983,1816],[981,2076,1338],{"class":987},[981,2078,1341],{"class":1027},[981,2080,2082],{"class":983,"line":2081},27,[981,2083,1058],{"emptyLinePlaceholder":21},[981,2085,2087,2090,2092,2095],{"class":983,"line":2086},28,[981,2088,2089],{"class":1027},"app",[981,2091,1150],{"class":987},[981,2093,2094],{"class":1245},"use",[981,2096,2097],{"class":1027},"(router)\n",[981,2099,2101,2103,2105,2107],{"class":2100,"line":1766},[983,1816],[981,2102,2089],{"class":1027},[981,2104,1150],{"class":987},[981,2106,2094],{"class":1245},[981,2108,2109],{"class":1027},"(i18n)\n",[981,2111,2113,2115,2117,2119],{"class":983,"line":2112},30,[981,2114,2089],{"class":1027},[981,2116,1150],{"class":987},[981,2118,2094],{"class":1245},[981,2120,2121],{"class":1027},"(ui)\n",[981,2123,2125],{"class":983,"line":2124},31,[981,2126,1058],{"emptyLinePlaceholder":21},[981,2128,2130,2132,2134,2137,2139,2141,2144,2146],{"class":983,"line":2129},32,[981,2131,2089],{"class":1027},[981,2133,1150],{"class":987},[981,2135,2136],{"class":1245},"mount",[981,2138,1257],{"class":1027},[981,2140,1275],{"class":987},[981,2142,2143],{"class":1008},"#app",[981,2145,1275],{"class":987},[981,2147,1341],{"class":1027},[1678,2149,2151,2152,2154,2155],{"id":2150},"set-the-locale-prop-using-usei18n","Set the ",[953,2153,955],{}," prop using ",[953,2156,2157],{},"useI18n",[972,2159,2161],{"className":974,"code":2160,"filename":976,"language":34,"meta":977,"style":977},"\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",[953,2162,2163,2183,2202,2223,2227,2244,2252,2256,2264,2283,2291,2299],{"__ignoreMap":977},[981,2164,2165,2167,2169,2171,2173,2175,2177,2179,2181],{"class":983,"line":984},[981,2166,988],{"class":987},[981,2168,992],{"class":991},[981,2170,996],{"class":995},[981,2172,999],{"class":995},[981,2174,1002],{"class":987},[981,2176,1005],{"class":987},[981,2178,1009],{"class":1008},[981,2180,1005],{"class":987},[981,2182,1014],{"class":987},[981,2184,2185,2187,2189,2192,2194,2196,2198,2200],{"class":983,"line":1017},[981,2186,1021],{"class":1020},[981,2188,1024],{"class":987},[981,2190,2191],{"class":1027}," useI18n",[981,2193,1031],{"class":987},[981,2195,1034],{"class":1020},[981,2197,1037],{"class":987},[981,2199,1832],{"class":1008},[981,2201,1042],{"class":987},[981,2203,2204,2206,2209,2212,2215,2217,2219,2221],{"class":983,"line":1045},[981,2205,1021],{"class":1020},[981,2207,2208],{"class":987}," *",[981,2210,2211],{"class":1020}," as",[981,2213,2214],{"class":1027}," locales ",[981,2216,1844],{"class":1020},[981,2218,1037],{"class":987},[981,2220,969],{"class":1008},[981,2222,1042],{"class":987},[981,2224,2225],{"class":983,"line":1055},[981,2226,1058],{"emptyLinePlaceholder":21},[981,2228,2229,2231,2233,2235,2237,2240,2242],{"class":983,"line":1061},[981,2230,1237],{"class":995},[981,2232,1024],{"class":987},[981,2234,1240],{"class":1027},[981,2236,1338],{"class":987},[981,2238,2239],{"class":987}," =",[981,2241,2191],{"class":1245},[981,2243,1928],{"class":1027},[981,2245,2246,2248,2250],{"class":983,"line":1071},[981,2247,1048],{"class":987},[981,2249,992],{"class":991},[981,2251,1014],{"class":987},[981,2253,2254],{"class":983,"line":1094},[981,2255,1058],{"emptyLinePlaceholder":21},[981,2257,2258,2260,2262],{"class":983,"line":1106},[981,2259,988],{"class":987},[981,2261,1066],{"class":991},[981,2263,1014],{"class":987},[981,2265,2266,2268,2270,2272,2274,2276,2279,2281],{"class":983,"line":1116},[981,2267,1074],{"class":987},[981,2269,1077],{"class":991},[981,2271,1080],{"class":995},[981,2273,1002],{"class":987},[981,2275,1005],{"class":987},[981,2277,2278],{"class":1008},"locales[locale]",[981,2280,1005],{"class":987},[981,2282,1014],{"class":987},[981,2284,2285,2287,2289],{"class":983,"line":1322},[981,2286,1097],{"class":987},[981,2288,1100],{"class":991},[981,2290,1103],{"class":987},[981,2292,2293,2295,2297],{"class":983,"line":1329},[981,2294,1109],{"class":987},[981,2296,1077],{"class":991},[981,2298,1014],{"class":987},[981,2300,2301,2303,2305],{"class":983,"line":1335},[981,2302,1048],{"class":987},[981,2304,1066],{"class":991},[981,2306,1014],{"class":987},[958,2308,2310],{"id":2309},"dynamic-direction","Dynamic direction",[930,2312,1128,2313,2316,2317,2319],{},[953,2314,2315],{},"dir"," property which will be used by the ",[953,2318,175],{}," component to set the directionality of all components.",[930,2321,2322,2323,1147,2326,2328,2329,2332,2333,2338],{},"In a multilingual application, you might want to set the ",[953,2324,2325],{},"lang",[953,2327,2315],{}," attributes on the ",[953,2330,2331],{},"\u003Chtml>"," element dynamically based on the user's locale, which you can do with the ",[1143,2334,2337],{"href":2335,"rel":2336},"https://unhead.unjs.io/usage/composables/use-head",[1670],"useHead"," composable:",[972,2340,2342],{"className":974,"code":2341,"filename":976,"language":34,"meta":977,"style":977},"\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",[953,2343,2344,2364,2383,2401,2421,2439,2443,2459,2463,2495,2523,2527,2535,2544,2551,2556,2560,2566,2574,2578,2586,2604,2612,2620],{"__ignoreMap":977},[981,2345,2346,2348,2350,2352,2354,2356,2358,2360,2362],{"class":983,"line":984},[981,2347,988],{"class":987},[981,2349,992],{"class":991},[981,2351,996],{"class":995},[981,2353,999],{"class":995},[981,2355,1002],{"class":987},[981,2357,1005],{"class":987},[981,2359,1009],{"class":1008},[981,2361,1005],{"class":987},[981,2363,1014],{"class":987},[981,2365,2366,2368,2370,2373,2375,2377,2379,2381],{"class":983,"line":1017},[981,2367,1021],{"class":1020},[981,2369,1024],{"class":987},[981,2371,2372],{"class":1027}," computed",[981,2374,1031],{"class":987},[981,2376,1034],{"class":1020},[981,2378,1037],{"class":987},[981,2380,34],{"class":1008},[981,2382,1042],{"class":987},[981,2384,2385,2387,2389,2391,2393,2395,2397,2399],{"class":983,"line":1045},[981,2386,1021],{"class":1020},[981,2388,1024],{"class":987},[981,2390,2191],{"class":1027},[981,2392,1031],{"class":987},[981,2394,1034],{"class":1020},[981,2396,1037],{"class":987},[981,2398,1832],{"class":1008},[981,2400,1042],{"class":987},[981,2402,2403,2405,2407,2410,2412,2414,2416,2419],{"class":983,"line":1055},[981,2404,1021],{"class":1020},[981,2406,1024],{"class":987},[981,2408,2409],{"class":1027}," useHead",[981,2411,1031],{"class":987},[981,2413,1034],{"class":1020},[981,2415,1037],{"class":987},[981,2417,2418],{"class":1008},"@unhead/vue",[981,2420,1042],{"class":987},[981,2422,2423,2425,2427,2429,2431,2433,2435,2437],{"class":983,"line":1061},[981,2424,1021],{"class":1020},[981,2426,2208],{"class":987},[981,2428,2211],{"class":1020},[981,2430,2214],{"class":1027},[981,2432,1844],{"class":1020},[981,2434,1037],{"class":987},[981,2436,969],{"class":1008},[981,2438,1042],{"class":987},[981,2440,2441],{"class":983,"line":1071},[981,2442,1058],{"emptyLinePlaceholder":21},[981,2444,2445,2447,2449,2451,2453,2455,2457],{"class":983,"line":1094},[981,2446,1237],{"class":995},[981,2448,1024],{"class":987},[981,2450,1240],{"class":1027},[981,2452,1338],{"class":987},[981,2454,2239],{"class":987},[981,2456,2191],{"class":1245},[981,2458,1928],{"class":1027},[981,2460,2461],{"class":983,"line":1106},[981,2462,1058],{"emptyLinePlaceholder":21},[981,2464,2465,2467,2470,2472,2474,2476,2479,2482,2485,2487,2490,2492],{"class":983,"line":1116},[981,2466,1237],{"class":995},[981,2468,2469],{"class":1027}," lang ",[981,2471,1002],{"class":987},[981,2473,2372],{"class":1245},[981,2475,1257],{"class":1027},[981,2477,2478],{"class":987},"()",[981,2480,2481],{"class":995}," =>",[981,2483,2484],{"class":1027}," locales[locale",[981,2486,1150],{"class":987},[981,2488,2489],{"class":1027},"value]",[981,2491,1150],{"class":987},[981,2493,2494],{"class":1027},"code)\n",[981,2496,2497,2499,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520],{"class":983,"line":1322},[981,2498,1237],{"class":995},[981,2500,2501],{"class":1027}," dir ",[981,2503,1002],{"class":987},[981,2505,2372],{"class":1245},[981,2507,1257],{"class":1027},[981,2509,2478],{"class":987},[981,2511,2481],{"class":995},[981,2513,2484],{"class":1027},[981,2515,1150],{"class":987},[981,2517,2489],{"class":1027},[981,2519,1150],{"class":987},[981,2521,2522],{"class":1027},"dir)\n",[981,2524,2525],{"class":983,"line":1329},[981,2526,1058],{"emptyLinePlaceholder":21},[981,2528,2529,2531,2533],{"class":983,"line":1335},[981,2530,2337],{"class":1245},[981,2532,1257],{"class":1027},[981,2534,1260],{"class":987},[981,2536,2537,2540,2542],{"class":983,"line":1344},[981,2538,2539],{"class":991},"  htmlAttrs",[981,2541,970],{"class":987},[981,2543,1319],{"class":987},[981,2545,2546,2549],{"class":983,"line":1353},[981,2547,2548],{"class":1027},"    lang",[981,2550,1278],{"class":987},[981,2552,2553],{"class":983,"line":1358},[981,2554,2555],{"class":1027},"    dir\n",[981,2557,2558],{"class":983,"line":1367},[981,2559,1332],{"class":987},[981,2561,2562,2564],{"class":983,"line":1386},[981,2563,1338],{"class":987},[981,2565,1341],{"class":1027},[981,2567,2568,2570,2572],{"class":983,"line":1395},[981,2569,1048],{"class":987},[981,2571,992],{"class":991},[981,2573,1014],{"class":987},[981,2575,2576],{"class":983,"line":1404},[981,2577,1058],{"emptyLinePlaceholder":21},[981,2579,2580,2582,2584],{"class":983,"line":1759},[981,2581,988],{"class":987},[981,2583,1066],{"class":991},[981,2585,1014],{"class":987},[981,2587,2588,2590,2592,2594,2596,2598,2600,2602],{"class":983,"line":1760},[981,2589,1074],{"class":987},[981,2591,1077],{"class":991},[981,2593,1080],{"class":995},[981,2595,1002],{"class":987},[981,2597,1005],{"class":987},[981,2599,2278],{"class":1008},[981,2601,1005],{"class":987},[981,2603,1014],{"class":987},[981,2605,2606,2608,2610],{"class":983,"line":1761},[981,2607,1097],{"class":987},[981,2609,1100],{"class":991},[981,2611,1103],{"class":987},[981,2613,2614,2616,2618],{"class":983,"line":1762},[981,2615,1109],{"class":987},[981,2617,1077],{"class":991},[981,2619,1014],{"class":987},[981,2621,2622,2624,2626],{"class":983,"line":1763},[981,2623,1048],{"class":987},[981,2625,1066],{"class":991},[981,2627,1014],{"class":987},[939,2629,2631],{"id":2630},"supported-languages","Supported languages",[2630,2633],{},[2635,2636,2637],"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":977,"searchDepth":1017,"depth":1017,"links":2639},[2640,2647],{"id":941,"depth":1017,"text":942,"children":2641},[2642,2643,2644,2645,2646],{"id":955,"depth":1045,"text":960},{"id":1153,"depth":1045,"text":1154},{"id":1437,"depth":1045,"text":1438},{"id":1661,"depth":1045,"text":1662},{"id":2309,"depth":1045,"text":2310},{"id":2630,"depth":1017,"text":2631},"md",{},{"icon":125},{"title":121,"description":124},"8rLOW1G4U3WE87W17bSXQPmGEaOM_HAhae2c8zN6Ux4",{"data":2654,"body":2655},{},{"type":2656,"children":2657},"root",[2658],{"type":172,"tag":930,"props":2659,"children":2660},{},[2661],{"type":2662,"value":124},"text",1769700079636]