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