[{"data":1,"prerenderedAt":1836},["ShallowReactive",2],{"navigation":3,"-docs-composables-define-shortcuts":914,"-docs-composables-define-shortcuts-description":1826},[4],{"title":5,"path":6,"stem":7,"children":8,"page":36},"Docs","/docs","docs",[9,157,777,813],{"title":10,"path":11,"stem":12,"children":13,"framework":16,"category":16,"description":16,"icon":30},"Get Started","/docs/getting-started","docs/1.getting-started/1.index",[14,19,37,47,53,76,140],{"title":15,"path":11,"stem":12,"framework":16,"category":16,"description":17,"icon":18},"Introduction",null,"Nuxt UI is a comprehensive UI library for Vue and Nuxt applications, offering a collection of fully styled and accessible components.","i-lucide-house",{"title":20,"framework":16,"category":16,"description":16,"shadow":21,"path":22,"stem":23,"children":24,"page":36},"Installation",true,"/docs/getting-started/installation","docs/1.getting-started/2.installation",[25,31],{"title":20,"path":26,"stem":27,"framework":28,"category":16,"description":29,"icon":30},"/docs/getting-started/installation/nuxt","docs/1.getting-started/2.installation/1.nuxt","nuxt","Learn how to install and configure Nuxt UI in your Nuxt application.","i-lucide-square-play",{"title":20,"path":32,"stem":33,"framework":34,"category":16,"description":35,"icon":30},"/docs/getting-started/installation/vue","docs/1.getting-started/2.installation/2.vue","vue","Learn how to install and configure Nuxt UI in your Vue application, compatible with both plain Vite and Inertia.",false,{"title":38,"framework":16,"category":16,"description":16,"icon":39,"shadow":21,"path":40,"stem":41,"children":42,"page":36},"Migration","i-lucide-arrow-right-left","/docs/getting-started/migration","docs/1.getting-started/3.migration",[43],{"title":38,"path":44,"stem":45,"framework":16,"category":16,"description":46,"icon":39},"/docs/getting-started/migration/v4","docs/1.getting-started/3.migration/1.v4","A comprehensive guide to migrate your application from Nuxt UI v3 to Nuxt UI v4.",{"title":48,"path":49,"stem":50,"framework":16,"category":16,"description":51,"icon":52},"Contribution","/docs/getting-started/contribution","docs/1.getting-started/4.contribution","A comprehensive guide on contributing to Nuxt UI, including project structure, development workflow, and best practices.","i-lucide-handshake",{"title":54,"path":55,"stem":56,"children":57,"page":36},"Theme","/docs/getting-started/theme","docs/1.getting-started/5.theme",[58,64,70],{"title":59,"path":60,"stem":61,"framework":16,"category":16,"description":62,"icon":63},"Design System","/docs/getting-started/theme/design-system","docs/1.getting-started/5.theme/1.design-system","Nuxt UI's design system uses Tailwind CSS for simple theming and easy customization.","i-lucide-palette",{"title":65,"path":66,"stem":67,"framework":16,"category":16,"description":68,"icon":69},"CSS Variables","/docs/getting-started/theme/css-variables","docs/1.getting-started/5.theme/2.css-variables","Nuxt UI uses CSS variables as design tokens for flexible, consistent theming with built-in light and dark mode support.","i-lucide-swatch-book",{"title":71,"path":72,"stem":73,"framework":16,"category":16,"description":74,"icon":75},"Components","/docs/getting-started/theme/components","docs/1.getting-started/5.theme/3.components","Learn how to customize Nuxt UI components with the Tailwind Variants API for advanced, flexible, and maintainable styling.","i-lucide-layout-grid",{"title":77,"framework":16,"category":16,"description":16,"path":78,"stem":79,"children":80,"page":36},"Integrations","/docs/getting-started/integrations","docs/1.getting-started/6.integrations",[81,95,101,115,129,135],{"title":82,"framework":16,"category":16,"description":16,"shadow":21,"path":83,"stem":84,"children":85,"page":36},"Icons","/docs/getting-started/integrations/icons","docs/1.getting-started/6.integrations/1.icons",[86,91],{"title":82,"path":87,"stem":88,"framework":28,"category":16,"description":89,"icon":90},"/docs/getting-started/integrations/icons/nuxt","docs/1.getting-started/6.integrations/1.icons/1.nuxt","Nuxt UI integrates with Nuxt Icon to access over 200,000+ icons from Iconify.","i-lucide-smile",{"title":82,"path":92,"stem":93,"framework":34,"category":16,"description":94,"icon":90},"/docs/getting-started/integrations/icons/vue","docs/1.getting-started/6.integrations/1.icons/2.vue","Nuxt UI integrates with Iconify to access over 200,000+ icons.",{"title":96,"path":97,"stem":98,"framework":28,"category":16,"description":99,"icon":100},"Fonts","/docs/getting-started/integrations/fonts","docs/1.getting-started/6.integrations/2.fonts","Nuxt UI integrates with Nuxt Fonts to provide plug-and-play font optimization.","i-lucide-a-large-small",{"title":102,"framework":16,"category":16,"description":16,"shadow":21,"path":103,"stem":104,"children":105,"page":36},"Color Mode","/docs/getting-started/integrations/color-mode","docs/1.getting-started/6.integrations/3.color-mode",[106,111],{"title":102,"path":107,"stem":108,"framework":28,"category":16,"description":109,"icon":110},"/docs/getting-started/integrations/color-mode/nuxt","docs/1.getting-started/6.integrations/3.color-mode/1.nuxt","Nuxt UI integrates with Nuxt Color Mode to allow for easy switching between light and dark themes.","i-lucide-sun-moon",{"title":102,"path":112,"stem":113,"framework":34,"category":16,"description":114,"icon":110},"/docs/getting-started/integrations/color-mode/vue","docs/1.getting-started/6.integrations/3.color-mode/2.vue","Nuxt UI integrates with VueUse to allow for easy switching between light and dark themes.",{"title":116,"framework":16,"category":16,"description":16,"shadow":21,"path":117,"stem":118,"children":119,"page":36},"I18n","/docs/getting-started/integrations/i18n","docs/1.getting-started/6.integrations/4.i18n",[120,126],{"title":121,"path":122,"stem":123,"framework":28,"category":16,"description":124,"icon":125},"Internationalization (i18n)","/docs/getting-started/integrations/i18n/nuxt","docs/1.getting-started/6.integrations/4.i18n/1.nuxt","Nuxt UI supports 50+ locales and multi-directional (LTR/RTL) internationalization.","i-lucide-languages",{"title":121,"path":127,"stem":128,"framework":34,"category":16,"description":124,"icon":125},"/docs/getting-started/integrations/i18n/vue","docs/1.getting-started/6.integrations/4.i18n/2.vue",{"title":130,"path":131,"stem":132,"framework":28,"category":16,"description":133,"icon":134},"Content","/docs/getting-started/integrations/content","docs/1.getting-started/6.integrations/5.content","Nuxt UI integrates with Nuxt Content to deliver beautiful typography and consistent component styling.","i-simple-icons-markdown",{"title":136,"path":137,"stem":138,"framework":34,"category":16,"description":139,"icon":134},"SSR","/docs/getting-started/integrations/ssr","docs/1.getting-started/6.integrations/6.ssr","Nuxt UI have first-party support for Vue.js SSR. This guide will help you have it fully enabled.",{"title":141,"framework":16,"category":16,"description":16,"path":142,"stem":143,"children":144,"page":36},"AI Tools","/docs/getting-started/ai","docs/1.getting-started/7.ai",[145,151],{"title":146,"path":147,"stem":148,"framework":16,"category":16,"description":149,"icon":150},"MCP Server","/docs/getting-started/ai/mcp","docs/1.getting-started/7.ai/1.mcp","Use Nuxt UI components in your AI assistants with Model Context Protocol support.","i-lucide-server",{"title":152,"path":153,"stem":154,"framework":16,"category":16,"description":155,"icon":156},"LLMs.txt","/docs/getting-started/ai/llms-txt","docs/1.getting-started/7.ai/2.llms-txt","How to get AI tools like Cursor, Windsurf, GitHub Copilot, ChatGPT, and Claude to understand Nuxt UI components, theming, and best practices.","i-lucide-bot",{"title":71,"framework":16,"category":16,"description":16,"icon":158,"path":159,"stem":160,"children":161,"page":36},"i-lucide-square-code","/docs/components","docs/2.components",[162,168,174,180,186,191,196,201,206,211,216,222,227,232,237,242,247,252,258,263,268,273,278,284,289,294,299,305,310,315,320,325,330,335,340,346,351,356,361,366,372,378,383,388,393,398,403,408,413,418,423,428,433,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,526,531,536,541,546,551,556,562,567,572,577,582,587,592,597,602,607,612,617,622,627,632,637,642,647,652,657,662,667,672,677,682,687,692,697,702,707,712,717,722,727,732,737,742,747,752,757,762,767,772],{"title":163,"path":164,"stem":165,"framework":16,"category":166,"description":167},"Accordion","/docs/components/accordion","docs/2.components/accordion","data","A stacked set of collapsible panels.",{"title":169,"path":170,"stem":171,"framework":16,"category":172,"description":173},"Alert","/docs/components/alert","docs/2.components/alert","element","A callout to draw user's attention.",{"title":175,"path":176,"stem":177,"framework":16,"category":178,"description":179},"App","/docs/components/app","docs/2.components/app","layout","Wraps your app to provide global configurations and more.",{"title":181,"path":182,"stem":183,"framework":16,"category":184,"description":185},"AuthForm","/docs/components/auth-form","docs/2.components/auth-form","page","A customizable Form to create login, register or password reset forms.",{"title":187,"path":188,"stem":189,"framework":16,"category":172,"description":190},"Avatar","/docs/components/avatar","docs/2.components/avatar","An img element with fallback and Nuxt Image support.",{"title":192,"path":193,"stem":194,"framework":16,"category":172,"description":195},"AvatarGroup","/docs/components/avatar-group","docs/2.components/avatar-group","Stack multiple avatars in a group.",{"title":197,"path":198,"stem":199,"framework":16,"category":172,"description":200},"Badge","/docs/components/badge","docs/2.components/badge","A short text to represent a status or a category.",{"title":202,"path":203,"stem":204,"framework":16,"category":172,"description":205},"Banner","/docs/components/banner","docs/2.components/banner","Display a banner at the top of your website to inform users about important information.",{"title":207,"path":208,"stem":209,"framework":16,"category":184,"description":210},"BlogPost","/docs/components/blog-post","docs/2.components/blog-post","A customizable article to display in a blog page.",{"title":212,"path":213,"stem":214,"framework":16,"category":184,"description":215},"BlogPosts","/docs/components/blog-posts","docs/2.components/blog-posts","Display a list of blog posts in a responsive grid layout.",{"title":217,"path":218,"stem":219,"framework":16,"category":220,"description":221},"Breadcrumb","/docs/components/breadcrumb","docs/2.components/breadcrumb","navigation","A hierarchy of links to navigate through a website.",{"title":223,"path":224,"stem":225,"framework":16,"category":172,"description":226},"Button","/docs/components/button","docs/2.components/button","A button element that can act as a link or trigger an action.",{"title":228,"path":229,"stem":230,"framework":16,"category":172,"description":231},"Calendar","/docs/components/calendar","docs/2.components/calendar","A calendar component for selecting single dates, multiple dates or date ranges.",{"title":233,"path":234,"stem":235,"framework":16,"category":172,"description":236},"Card","/docs/components/card","docs/2.components/card","Display content in a card with a header, body and footer.",{"title":238,"path":239,"stem":240,"framework":16,"category":166,"description":241},"Carousel","/docs/components/carousel","docs/2.components/carousel","A carousel with motion and swipe built using Embla.",{"title":243,"path":244,"stem":245,"framework":16,"category":184,"description":246},"ChangelogVersion","/docs/components/changelog-version","docs/2.components/changelog-version","A customizable article to display in a changelog.",{"title":248,"path":249,"stem":250,"framework":16,"category":184,"description":251},"ChangelogVersions","/docs/components/changelog-versions","docs/2.components/changelog-versions","Display a list of changelog versions in a timeline.",{"title":253,"path":254,"stem":255,"framework":16,"category":256,"description":257},"ChatMessage","/docs/components/chat-message","docs/2.components/chat-message","chat","Display a chat message with icon, avatar, and actions.",{"title":259,"path":260,"stem":261,"framework":16,"category":256,"description":262},"ChatMessages","/docs/components/chat-messages","docs/2.components/chat-messages","Display a list of chat messages, designed to work seamlessly with Vercel AI SDK.",{"title":264,"path":265,"stem":266,"framework":16,"category":256,"description":267},"ChatPalette","/docs/components/chat-palette","docs/2.components/chat-palette","A chat palette to create a chatbot interface inside an overlay.",{"title":269,"path":270,"stem":271,"framework":16,"category":256,"description":272},"ChatPrompt","/docs/components/chat-prompt","docs/2.components/chat-prompt","An enhanced Textarea for submitting prompts in AI chat interfaces.",{"title":274,"path":275,"stem":276,"framework":16,"category":256,"description":277},"ChatPromptSubmit","/docs/components/chat-prompt-submit","docs/2.components/chat-prompt-submit","A Button for submitting chat prompts with automatic status handling.",{"title":279,"path":280,"stem":281,"framework":16,"category":282,"description":283},"Checkbox","/docs/components/checkbox","docs/2.components/checkbox","form","An input element to toggle between checked and unchecked states.",{"title":285,"path":286,"stem":287,"framework":16,"category":282,"description":288},"CheckboxGroup","/docs/components/checkbox-group","docs/2.components/checkbox-group","A set of checklist buttons to select multiple option from a list.",{"title":290,"path":291,"stem":292,"framework":16,"category":172,"description":293},"Chip","/docs/components/chip","docs/2.components/chip","An indicator of a numeric value or a state.",{"title":295,"path":296,"stem":297,"framework":16,"category":172,"description":298},"Collapsible","/docs/components/collapsible","docs/2.components/collapsible","A collapsible element to toggle visibility of its content.",{"title":300,"path":301,"stem":302,"framework":16,"category":303,"description":304},"ColorModeAvatar","/docs/components/color-mode-avatar","docs/2.components/color-mode-avatar","color-mode","An Avatar with a different source for light and dark mode.",{"title":306,"path":307,"stem":308,"framework":16,"category":303,"description":309},"ColorModeButton","/docs/components/color-mode-button","docs/2.components/color-mode-button","A Button to switch between light and dark mode.",{"title":311,"path":312,"stem":313,"framework":16,"category":303,"description":314},"ColorModeImage","/docs/components/color-mode-image","docs/2.components/color-mode-image","An image element with a different source for light and dark mode.",{"title":316,"path":317,"stem":318,"framework":16,"category":303,"description":319},"ColorModeSelect","/docs/components/color-mode-select","docs/2.components/color-mode-select","A Select to switch between system, dark & light mode.",{"title":321,"path":322,"stem":323,"framework":16,"category":303,"description":324},"ColorModeSwitch","/docs/components/color-mode-switch","docs/2.components/color-mode-switch","A switch to toggle between light and dark mode.",{"title":326,"path":327,"stem":328,"framework":16,"category":282,"description":329},"ColorPicker","/docs/components/color-picker","docs/2.components/color-picker","A component to select a color.",{"title":331,"path":332,"stem":333,"framework":16,"category":220,"description":334},"CommandPalette","/docs/components/command-palette","docs/2.components/command-palette","A command palette with full-text search powered by Fuse.js for efficient fuzzy matching.",{"title":336,"path":337,"stem":338,"framework":16,"category":178,"description":339},"Container","/docs/components/container","docs/2.components/container","A container lets you center and constrain the width of your content.",{"title":341,"path":342,"stem":343,"framework":28,"category":344,"description":345},"ContentNavigation","/docs/components/content-navigation","docs/2.components/content-navigation","content","An accordion-style navigation component for organizing page links.",{"title":347,"path":348,"stem":349,"framework":28,"category":344,"description":350},"ContentSearch","/docs/components/content-search","docs/2.components/content-search","A ready to use CommandPalette to add to your documentation.",{"title":352,"path":353,"stem":354,"framework":28,"category":344,"description":355},"ContentSearchButton","/docs/components/content-search-button","docs/2.components/content-search-button","A pre-styled Button to open the ContentSearch modal.",{"title":357,"path":358,"stem":359,"framework":28,"category":344,"description":360},"ContentSurround","/docs/components/content-surround","docs/2.components/content-surround","A pair of prev and next links to navigate between pages.",{"title":362,"path":363,"stem":364,"framework":28,"category":344,"description":365},"ContentToc","/docs/components/content-toc","docs/2.components/content-toc","A sticky Table of Contents with automatic active anchor link highlighting.",{"title":367,"path":368,"stem":369,"framework":16,"category":370,"description":371},"ContextMenu","/docs/components/context-menu","docs/2.components/context-menu","overlay","A menu to display actions when right-clicking on an element.",{"title":373,"path":374,"stem":375,"framework":16,"category":376,"description":377},"DashboardGroup","/docs/components/dashboard-group","docs/2.components/dashboard-group","dashboard","A fixed layout component that provides context for dashboard components with sidebar state management and persistence.",{"title":379,"path":380,"stem":381,"framework":16,"category":376,"description":382},"DashboardNavbar","/docs/components/dashboard-navbar","docs/2.components/dashboard-navbar","A responsive navbar to display in a dashboard.",{"title":384,"path":385,"stem":386,"framework":16,"category":376,"description":387},"DashboardPanel","/docs/components/dashboard-panel","docs/2.components/dashboard-panel","A resizable panel to display in a dashboard.",{"title":389,"path":390,"stem":391,"framework":16,"category":376,"description":392},"DashboardResizeHandle","/docs/components/dashboard-resize-handle","docs/2.components/dashboard-resize-handle","A handle to resize a sidebar or panel.",{"title":394,"path":395,"stem":396,"framework":16,"category":376,"description":397},"DashboardSearch","/docs/components/dashboard-search","docs/2.components/dashboard-search","A ready to use CommandPalette to add to your dashboard.",{"title":399,"path":400,"stem":401,"framework":16,"category":376,"description":402},"DashboardSearchButton","/docs/components/dashboard-search-button","docs/2.components/dashboard-search-button","A pre-styled Button to open the DashboardSearch modal.",{"title":404,"path":405,"stem":406,"framework":16,"category":376,"description":407},"DashboardSidebar","/docs/components/dashboard-sidebar","docs/2.components/dashboard-sidebar","A resizable and collapsible sidebar to display in a dashboard.",{"title":409,"path":410,"stem":411,"framework":16,"category":376,"description":412},"DashboardSidebarCollapse","/docs/components/dashboard-sidebar-collapse","docs/2.components/dashboard-sidebar-collapse","A Button to collapse the sidebar on desktop.",{"title":414,"path":415,"stem":416,"framework":16,"category":376,"description":417},"DashboardSidebarToggle","/docs/components/dashboard-sidebar-toggle","docs/2.components/dashboard-sidebar-toggle","A Button to toggle the sidebar on mobile.",{"title":419,"path":420,"stem":421,"framework":16,"category":376,"description":422},"DashboardToolbar","/docs/components/dashboard-toolbar","docs/2.components/dashboard-toolbar","A toolbar to display under the navbar in a dashboard.",{"title":424,"path":425,"stem":426,"framework":16,"category":370,"description":427},"Drawer","/docs/components/drawer","docs/2.components/drawer","A drawer that smoothly slides in & out of the screen.",{"title":429,"path":430,"stem":431,"framework":16,"category":370,"description":432},"DropdownMenu","/docs/components/dropdown-menu","docs/2.components/dropdown-menu","A menu to display actions when clicking on an element.",{"title":434,"path":435,"stem":436,"framework":16,"category":437,"description":438,"badge":439},"Editor","/docs/components/editor","docs/2.components/editor","editor","A rich text editor component based on TipTap with support for markdown, HTML, and JSON content types.","Soon",{"title":441,"path":442,"stem":443,"framework":16,"category":437,"description":444,"badge":439},"EditorDragHandle","/docs/components/editor-drag-handle","docs/2.components/editor-drag-handle","A draggable handle for reordering and selecting blocks in the editor.",{"title":446,"path":447,"stem":448,"framework":16,"category":437,"description":449,"badge":439},"EditorEmojiMenu","/docs/components/editor-emoji-menu","docs/2.components/editor-emoji-menu","An emoji picker menu that displays emoji suggestions when typing the : character in the editor.",{"title":451,"path":452,"stem":453,"framework":16,"category":437,"description":454,"badge":439},"EditorMentionMenu","/docs/components/editor-mention-menu","docs/2.components/editor-mention-menu","A mention menu that displays user suggestions when typing the @ character in the editor.",{"title":456,"path":457,"stem":458,"framework":16,"category":437,"description":459,"badge":439},"EditorSuggestionMenu","/docs/components/editor-suggestion-menu","docs/2.components/editor-suggestion-menu","A command menu that displays formatting and action suggestions when typing the / character in the editor.",{"title":461,"path":462,"stem":463,"framework":16,"category":437,"description":464,"badge":439},"EditorToolbar","/docs/components/editor-toolbar","docs/2.components/editor-toolbar","A customizable toolbar for editor actions that can be displayed as fixed, bubble, or floating menu.",{"title":466,"path":467,"stem":468,"framework":16,"category":166,"description":469},"Empty","/docs/components/empty","docs/2.components/empty","A component to display an empty state.",{"title":471,"path":472,"stem":473,"framework":16,"category":178,"description":474},"Error","/docs/components/error","docs/2.components/error","A pre-built error component with NuxtError support.",{"title":476,"path":477,"stem":478,"framework":16,"category":172,"description":479},"FieldGroup","/docs/components/field-group","docs/2.components/field-group","Group multiple button-like elements together.",{"title":481,"path":482,"stem":483,"framework":16,"category":282,"description":484},"FileUpload","/docs/components/file-upload","docs/2.components/file-upload","An input element to upload files.",{"title":486,"path":487,"stem":488,"framework":16,"category":178,"description":489},"Footer","/docs/components/footer","docs/2.components/footer","A responsive footer component.",{"title":491,"path":492,"stem":493,"framework":16,"category":220,"description":494},"FooterColumns","/docs/components/footer-columns","docs/2.components/footer-columns","A list of links as columns to display in your Footer.",{"title":496,"path":497,"stem":498,"framework":16,"category":282,"description":499},"Form","/docs/components/form","docs/2.components/form","A form component with built-in validation and submission handling.",{"title":501,"path":502,"stem":503,"framework":16,"category":282,"description":504},"FormField","/docs/components/form-field","docs/2.components/form-field","A wrapper for form elements that provides validation and error handling.",{"title":506,"path":507,"stem":508,"framework":16,"category":178,"description":509},"Header","/docs/components/header","docs/2.components/header","A responsive header component.",{"title":511,"path":512,"stem":513,"framework":16,"category":172,"description":514},"Icon","/docs/components/icon","docs/2.components/icon","A component to display any icon from Iconify or another component.",{"title":516,"path":517,"stem":518,"framework":16,"category":282,"description":519},"Input","/docs/components/input","docs/2.components/input","An input element to enter text.",{"title":521,"path":522,"stem":523,"framework":16,"category":282,"description":524,"badge":525},"InputDate","/docs/components/input-date","docs/2.components/input-date","An input component for date selection.","New",{"title":527,"path":528,"stem":529,"framework":16,"category":282,"description":530},"InputMenu","/docs/components/input-menu","docs/2.components/input-menu","An autocomplete input with real-time suggestions.",{"title":532,"path":533,"stem":534,"framework":16,"category":282,"description":535},"InputNumber","/docs/components/input-number","docs/2.components/input-number","An input for numerical values with a customizable range.",{"title":537,"path":538,"stem":539,"framework":16,"category":282,"description":540},"InputTags","/docs/components/input-tags","docs/2.components/input-tags","An input element that displays interactive tags.",{"title":542,"path":543,"stem":544,"framework":16,"category":282,"description":545,"badge":525},"InputTime","/docs/components/input-time","docs/2.components/input-time","An input for selecting a time.",{"title":547,"path":548,"stem":549,"framework":16,"category":172,"description":550},"Kbd","/docs/components/kbd","docs/2.components/kbd","A kbd element to display a keyboard key.",{"title":552,"path":553,"stem":554,"framework":16,"category":220,"description":555},"Link","/docs/components/link","docs/2.components/link","A wrapper around \u003CNuxtLink> with extra props.",{"title":557,"path":558,"stem":559,"framework":16,"category":560,"description":561},"LocaleSelect","/docs/components/locale-select","docs/2.components/locale-select","i18n","A Select to switch between locales.",{"title":563,"path":564,"stem":565,"framework":16,"category":178,"description":566},"Main","/docs/components/main","docs/2.components/main","A main element that fills the available viewport height.",{"title":568,"path":569,"stem":570,"framework":16,"category":166,"description":571},"Marquee","/docs/components/marquee","docs/2.components/marquee","A component to create infinite scrolling content.",{"title":573,"path":574,"stem":575,"framework":16,"category":370,"description":576},"Modal","/docs/components/modal","docs/2.components/modal","A dialog window that can be used to display a message or request user input.",{"title":578,"path":579,"stem":580,"framework":16,"category":220,"description":581},"NavigationMenu","/docs/components/navigation-menu","docs/2.components/navigation-menu","A list of links that can be displayed horizontally or vertically.",{"title":583,"path":584,"stem":585,"framework":16,"category":184,"description":586},"Page","/docs/components/page","docs/2.components/page","A grid layout for your pages with left and right columns.",{"title":588,"path":589,"stem":590,"framework":16,"category":184,"description":591},"PageAnchors","/docs/components/page-anchors","docs/2.components/page-anchors","A list of anchors to be displayed in the page.",{"title":593,"path":594,"stem":595,"framework":16,"category":184,"description":596},"PageAside","/docs/components/page-aside","docs/2.components/page-aside","A sticky aside to display your page navigation.",{"title":598,"path":599,"stem":600,"framework":16,"category":184,"description":601},"PageBody","/docs/components/page-body","docs/2.components/page-body","The main content of your page.",{"title":603,"path":604,"stem":605,"framework":16,"category":184,"description":606},"PageCard","/docs/components/page-card","docs/2.components/page-card","A pre-styled card component that displays a title, description and optional link.",{"title":608,"path":609,"stem":610,"framework":16,"category":184,"description":611},"PageColumns","/docs/components/page-columns","docs/2.components/page-columns","A responsive multi-column layout system for organizing content side-by-side.",{"title":613,"path":614,"stem":615,"framework":16,"category":184,"description":616},"PageCTA","/docs/components/page-cta","docs/2.components/page-cta","A call to action section to display in your pages.",{"title":618,"path":619,"stem":620,"framework":16,"category":184,"description":621},"PageFeature","/docs/components/page-feature","docs/2.components/page-feature","A component to showcase key features of your application.",{"title":623,"path":624,"stem":625,"framework":16,"category":184,"description":626},"PageGrid","/docs/components/page-grid","docs/2.components/page-grid","A responsive grid system for displaying content in a flexible layout.",{"title":628,"path":629,"stem":630,"framework":16,"category":184,"description":631},"PageHeader","/docs/components/page-header","docs/2.components/page-header","A responsive header for your pages.",{"title":633,"path":634,"stem":635,"framework":16,"category":184,"description":636},"PageHero","/docs/components/page-hero","docs/2.components/page-hero","A responsive hero for your pages.",{"title":638,"path":639,"stem":640,"framework":16,"category":184,"description":641},"PageLinks","/docs/components/page-links","docs/2.components/page-links","A list of links to be displayed in the page.",{"title":643,"path":644,"stem":645,"framework":16,"category":184,"description":646},"PageList","/docs/components/page-list","docs/2.components/page-list","A vertical list layout for displaying content in a stacked format.",{"title":648,"path":649,"stem":650,"framework":16,"category":184,"description":651},"PageLogos","/docs/components/page-logos","docs/2.components/page-logos","A list of logos or images to display on your pages.",{"title":653,"path":654,"stem":655,"framework":16,"category":184,"description":656},"PageSection","/docs/components/page-section","docs/2.components/page-section","A responsive section for your pages.",{"title":658,"path":659,"stem":660,"framework":16,"category":220,"description":661},"Pagination","/docs/components/pagination","docs/2.components/pagination","A list of buttons or links to navigate through pages.",{"title":663,"path":664,"stem":665,"framework":16,"category":282,"description":666},"PinInput","/docs/components/pin-input","docs/2.components/pin-input","An input element to enter a pin.",{"title":668,"path":669,"stem":670,"framework":16,"category":370,"description":671},"Popover","/docs/components/popover","docs/2.components/popover","A non-modal dialog that floats around a trigger element.",{"title":673,"path":674,"stem":675,"framework":16,"category":184,"description":676},"PricingPlan","/docs/components/pricing-plan","docs/2.components/pricing-plan","A customizable pricing plan to display in a pricing page.",{"title":678,"path":679,"stem":680,"framework":16,"category":184,"description":681},"PricingPlans","/docs/components/pricing-plans","docs/2.components/pricing-plans","Display a list of pricing plans in a responsive grid layout.",{"title":683,"path":684,"stem":685,"framework":16,"category":184,"description":686},"PricingTable","/docs/components/pricing-table","docs/2.components/pricing-table","A responsive pricing table component that displays tiered pricing plans with feature comparisons.",{"title":688,"path":689,"stem":690,"framework":16,"category":172,"description":691},"Progress","/docs/components/progress","docs/2.components/progress","An indicator showing the progress of a task.",{"title":693,"path":694,"stem":695,"framework":16,"category":282,"description":696},"RadioGroup","/docs/components/radio-group","docs/2.components/radio-group","A set of radio buttons to select a single option from a list.",{"title":698,"path":699,"stem":700,"framework":16,"category":282,"description":701},"Select","/docs/components/select","docs/2.components/select","A select element to choose from a list of options.",{"title":703,"path":704,"stem":705,"framework":16,"category":282,"description":706},"SelectMenu","/docs/components/select-menu","docs/2.components/select-menu","An advanced searchable select element.",{"title":708,"path":709,"stem":710,"framework":16,"category":172,"description":711},"Separator","/docs/components/separator","docs/2.components/separator","Separates content horizontally or vertically.",{"title":713,"path":714,"stem":715,"framework":16,"category":172,"description":716},"Skeleton","/docs/components/skeleton","docs/2.components/skeleton","A placeholder to show while content is loading.",{"title":718,"path":719,"stem":720,"framework":16,"category":370,"description":721},"Slideover","/docs/components/slideover","docs/2.components/slideover","A dialog that slides in from any side of the screen.",{"title":723,"path":724,"stem":725,"framework":16,"category":282,"description":726},"Slider","/docs/components/slider","docs/2.components/slider","An input to select a numeric value within a range.",{"title":728,"path":729,"stem":730,"framework":16,"category":220,"description":731},"Stepper","/docs/components/stepper","docs/2.components/stepper","A set of steps that are used to indicate progress through a multi-step process.",{"title":733,"path":734,"stem":735,"framework":16,"category":282,"description":736},"Switch","/docs/components/switch","docs/2.components/switch","A control that toggles between two states.",{"title":738,"path":739,"stem":740,"framework":16,"category":166,"description":741},"Table","/docs/components/table","docs/2.components/table","A responsive table element to display data in rows and columns.",{"title":743,"path":744,"stem":745,"framework":16,"category":220,"description":746},"Tabs","/docs/components/tabs","docs/2.components/tabs","A set of tab panels that are displayed one at a time.",{"title":748,"path":749,"stem":750,"framework":16,"category":282,"description":751},"Textarea","/docs/components/textarea","docs/2.components/textarea","A textarea element to input multi-line text.",{"title":753,"path":754,"stem":755,"framework":16,"category":166,"description":756},"Timeline","/docs/components/timeline","docs/2.components/timeline","A component that displays a sequence of events with dates, titles, icons or avatars.",{"title":758,"path":759,"stem":760,"framework":16,"category":370,"description":761},"Toast","/docs/components/toast","docs/2.components/toast","A succinct message to provide information or feedback to the user.",{"title":763,"path":764,"stem":765,"framework":16,"category":370,"description":766},"Tooltip","/docs/components/tooltip","docs/2.components/tooltip","A popup that reveals information when hovering over an element.",{"title":768,"path":769,"stem":770,"framework":16,"category":166,"description":771},"Tree","/docs/components/tree","docs/2.components/tree","A tree view component to display and interact with hierarchical data structures.",{"title":773,"path":774,"stem":775,"framework":16,"category":166,"description":776},"User","/docs/components/user","docs/2.components/user","Display user information with name, description and avatar.",{"title":778,"framework":16,"category":16,"description":16,"icon":779,"path":780,"stem":781,"children":782,"page":36},"Composables","i-lucide-square-function","/docs/composables","docs/3.composables",[783,788,793,798,803,808],{"title":784,"path":785,"stem":786,"framework":16,"category":16,"description":787},"defineLocale","/docs/composables/define-locale","docs/3.composables/define-locale","A utility to create a custom locale for your app.",{"title":789,"path":790,"stem":791,"framework":16,"category":16,"description":792},"defineShortcuts","/docs/composables/define-shortcuts","docs/3.composables/define-shortcuts","A composable to define keyboard shortcuts in your app.",{"title":794,"path":795,"stem":796,"framework":16,"category":16,"description":797},"extendLocale","/docs/composables/extend-locale","docs/3.composables/extend-locale","A utility to extend an existing locale with custom translations.",{"title":799,"path":800,"stem":801,"framework":16,"category":16,"description":802},"extractShortcuts","/docs/composables/extract-shortcuts","docs/3.composables/extract-shortcuts","A utility to extract keyboard shortcuts from menu items.",{"title":804,"path":805,"stem":806,"framework":16,"category":16,"description":807},"useOverlay","/docs/composables/use-overlay","docs/3.composables/use-overlay","A composable to programmatically control overlays.",{"title":809,"path":810,"stem":811,"framework":16,"category":16,"description":812},"useToast","/docs/composables/use-toast","docs/3.composables/use-toast","A composable to display toast notifications in your app.",{"title":814,"path":815,"stem":816,"children":817,"framework":28,"category":16,"description":16,"icon":913},"Typography","/docs/typography","docs/4.typography/1.index",[818,820,825,830,835,840,845,849,854,858,863,868,873,878,883,887,892,896,900,904,909],{"title":15,"path":815,"stem":816,"framework":28,"category":16,"description":819},"Beautiful typography components and utilities to style your content with Nuxt UI.",{"title":821,"path":822,"stem":823,"framework":28,"category":16,"description":824},"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":826,"path":827,"stem":828,"framework":28,"category":16,"description":829},"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":831,"path":832,"stem":833,"framework":28,"category":16,"description":834},"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":836,"path":837,"stem":838,"framework":28,"category":16,"description":839},"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":841,"stem":842,"framework":28,"category":843,"description":844},"/docs/typography/accordion","docs/4.typography/accordion","components","Create expandable content sections for better information organization.",{"title":197,"path":846,"stem":847,"framework":28,"category":843,"description":848},"/docs/typography/badge","docs/4.typography/badge","Display version numbers, status labels, and tags within your content.",{"title":850,"path":851,"stem":852,"framework":28,"category":843,"description":853},"Callout","/docs/typography/callout","docs/4.typography/callout","Highlight important information with eye-catching colored boxes and icons.",{"title":233,"path":855,"stem":856,"framework":28,"category":843,"description":857},"/docs/typography/card","docs/4.typography/card","Create highlighted content blocks with optional links and navigation.",{"title":859,"path":860,"stem":861,"framework":28,"category":843,"description":862},"CardGroup","/docs/typography/card-group","docs/4.typography/card-group","Organize multiple cards in responsive grid layouts for better content presentation.",{"title":864,"path":865,"stem":866,"framework":28,"category":843,"description":867},"CodeCollapse","/docs/typography/code-collapse","docs/4.typography/code-collapse","Make long code blocks collapsible to save space and improve readability.",{"title":869,"path":870,"stem":871,"framework":28,"category":843,"description":872},"CodeGroup","/docs/typography/code-group","docs/4.typography/code-group","Group multiple code examples in tabbed interfaces for easy comparison.",{"title":874,"path":875,"stem":876,"framework":28,"category":843,"description":877},"CodePreview","/docs/typography/code-preview","docs/4.typography/code-preview","Display code examples with a preview and their source for clearer documentation.",{"title":879,"path":880,"stem":881,"framework":28,"category":843,"description":882},"CodeTree","/docs/typography/code-tree","docs/4.typography/code-tree","Visualize file and folder structures with syntax-highlighted code.",{"title":295,"path":884,"stem":885,"framework":28,"category":843,"description":886},"/docs/typography/collapsible","docs/4.typography/collapsible","Toggle content visibility with smooth expand and collapse animations.",{"title":888,"path":889,"stem":890,"framework":28,"category":843,"description":891},"Field","/docs/typography/field","docs/4.typography/field","Document API parameters, props, and configuration options clearly.",{"title":476,"path":893,"stem":894,"framework":28,"category":843,"description":895},"/docs/typography/field-group","docs/4.typography/field-group","Group related fields together for comprehensive API documentation.",{"title":511,"path":897,"stem":898,"framework":28,"category":843,"description":899},"/docs/typography/icon","docs/4.typography/icon","Display icons from popular icon libraries to enhance your content.",{"title":547,"path":901,"stem":902,"framework":28,"category":843,"description":903},"/docs/typography/kbd","docs/4.typography/kbd","Display keyboard shortcuts and key combinations with proper styling.",{"title":905,"path":906,"stem":907,"framework":28,"category":843,"description":908},"Steps","/docs/typography/steps","docs/4.typography/steps","Transform headings into numbered step-by-step guides and tutorials.",{"title":743,"path":910,"stem":911,"framework":28,"category":843,"description":912},"/docs/typography/tabs","docs/4.typography/tabs","Organize related content in interactive tabbed interfaces.","i-lucide-square-pilcrow",{"id":915,"title":789,"body":916,"category":16,"description":792,"extension":1822,"framework":16,"links":16,"meta":1823,"navigation":16,"path":790,"seo":1824,"stem":791,"__hash__":1825},"docs/docs/3.composables/define-shortcuts.md",{"type":917,"value":918,"toc":1813},"minimark",[919,924,932,1085,1123,1133,1137,1175,1178,1183,1241,1245,1248,1290,1294,1322,1326,1355,1359,1362,1400,1403,1437,1441,1446,1562,1566,1572,1791,1795,1801,1809],[920,921,923],"h2",{"id":922},"usage","Usage",[925,926,927,928,931],"p",{},"Use the auto-imported ",[929,930,789],"code",{}," composable to define keyboard shortcuts.",[933,934,938],"pre",{"className":935,"code":936,"language":34,"meta":937,"style":937},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst open = ref(false)\n\ndefineShortcuts({\n  meta_k: () => {\n    open.value = !open.value\n  }\n})\n\u003C/script>\n","",[929,939,940,975,1001,1007,1017,1035,1061,1067,1075],{"__ignoreMap":937},[941,942,945,949,953,957,960,963,966,970,972],"span",{"class":943,"line":944},"line",1,[941,946,948],{"class":947},"sMK4o","\u003C",[941,950,952],{"class":951},"swJcz","script",[941,954,956],{"class":955},"spNyl"," setup",[941,958,959],{"class":955}," lang",[941,961,962],{"class":947},"=",[941,964,965],{"class":947},"\"",[941,967,969],{"class":968},"sfazB","ts",[941,971,965],{"class":947},[941,973,974],{"class":947},">\n",[941,976,978,981,985,987,991,994,998],{"class":943,"line":977},2,[941,979,980],{"class":955},"const",[941,982,984],{"class":983},"sTEyZ"," open ",[941,986,962],{"class":947},[941,988,990],{"class":989},"s2Zo4"," ref",[941,992,993],{"class":983},"(",[941,995,997],{"class":996},"sfNiH","false",[941,999,1000],{"class":983},")\n",[941,1002,1004],{"class":943,"line":1003},3,[941,1005,1006],{"emptyLinePlaceholder":21},"\n",[941,1008,1010,1012,1014],{"class":943,"line":1009},4,[941,1011,789],{"class":989},[941,1013,993],{"class":983},[941,1015,1016],{"class":947},"{\n",[941,1018,1020,1023,1026,1029,1032],{"class":943,"line":1019},5,[941,1021,1022],{"class":989},"  meta_k",[941,1024,1025],{"class":947},":",[941,1027,1028],{"class":947}," ()",[941,1030,1031],{"class":955}," =>",[941,1033,1034],{"class":947}," {\n",[941,1036,1038,1041,1044,1047,1050,1053,1056,1058],{"class":943,"line":1037},6,[941,1039,1040],{"class":983},"    open",[941,1042,1043],{"class":947},".",[941,1045,1046],{"class":983},"value",[941,1048,1049],{"class":947}," =",[941,1051,1052],{"class":947}," !",[941,1054,1055],{"class":983},"open",[941,1057,1043],{"class":947},[941,1059,1060],{"class":983},"value\n",[941,1062,1064],{"class":943,"line":1063},7,[941,1065,1066],{"class":947},"  }\n",[941,1068,1070,1073],{"class":943,"line":1069},8,[941,1071,1072],{"class":947},"}",[941,1074,1000],{"class":983},[941,1076,1078,1081,1083],{"class":943,"line":1077},9,[941,1079,1080],{"class":947},"\u003C/",[941,1082,952],{"class":951},[941,1084,974],{"class":947},[1086,1087,1088,1099,1112],"ul",{},[1089,1090,1091,1092,1095,1096,1043],"li",{},"Shortcuts are automatically adjusted for non-macOS platforms, converting ",[929,1093,1094],{},"meta"," to ",[929,1097,1098],{},"ctrl",[1089,1100,1101,1102,1111],{},"The composable uses VueUse's ",[1103,1104,1108],"a",{"href":1105,"rel":1106},"https://vueuse.org/core/useEventListener/",[1107],"nofollow",[929,1109,1110],{},"useEventListener"," to handle keydown events.",[1089,1113,1114,1115,1122],{},"For a complete list of available shortcut keys, refer to the ",[1103,1116,1119],{"href":1117,"rel":1118},"https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values",[1107],[929,1120,1121],{},"KeyboardEvent.key"," API documentation. Note that the key should be written in lowercase.",[1124,1125,1126],"tip",{"to":548},[925,1127,1128,1129,1132],{},"Learn how to display shortcuts in components in the ",[1130,1131,547],"strong",{}," component documentation.",[920,1134,1136],{"id":1135},"api","API",[925,1138,1139],{},[929,1140,1143,1146,1148,1152,1154,1157,1160,1163,1166,1169,1172],{"className":1141,"language":1142,"style":937},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts-type",[941,1144,789],{"class":1145},"sBMFI",[941,1147,993],{"class":947},[941,1149,1151],{"class":1150},"sHdIc","config",[941,1153,1025],{"class":947},[941,1155,1156],{"class":1145}," ShortcutsConfig",[941,1158,1159],{"class":947},",",[941,1161,1162],{"class":1150}," options",[941,1164,1165],{"class":947},"?:",[941,1167,1168],{"class":1145}," ShortcutsOptions",[941,1170,1171],{"class":947},"):",[941,1173,1174],{"class":1145}," void",[925,1176,1177],{},"Define keyboard shortcuts for your application.",[1179,1180,1182],"h4",{"id":1181},"parameters","Parameters",[1184,1185,1186,1194],"field-group",{},[1187,1188,1191],"field",{"name":1151,"type":1189,":required":1190,"required":21},"ShortcutsConfig","true",[925,1192,1193],{},"An object where keys are shortcut definitions and values are either handler functions or shortcut configuration objects.",[1187,1195,1198,1201],{"name":1196,"type":1197},"options","ShortcutsOptions",[925,1199,1200],{},"Optional configuration for the shortcuts behavior.",[1202,1203,1204,1214],"collapsible",{},[1187,1205,1208],{"name":1206,"type":1207},"chainDelay","number",[925,1209,1210,1211,1043],{},"The delay between key presses to consider the shortcut as chained. Default is ",[929,1212,1213],{},"800",[1187,1215,1218,1221],{"name":1216,"type":1217},"layoutIndependent","boolean",[925,1219,1220],{},"When enabled, shortcuts work consistently across different keyboard layouts (Arabic, Hebrew) by matching physical key positions rather than character values.",[1086,1222,1223,1232],{},[1089,1224,1225,1227,1228,1231],{},[929,1226,997],{}," (default): Uses ",[929,1229,1230],{},"e.key"," for character-based matching (Layout specific)",[1089,1233,1234,1236,1237,1240],{},[929,1235,1190],{},": Uses ",[929,1238,1239],{},"e.code"," for physical key matching (Layout agnostic)",[1179,1242,1244],{"id":1243},"shortcut-definition","Shortcut definition",[925,1246,1247],{},"Shortcuts are defined using the following format:",[1086,1249,1250,1267,1280],{},[1089,1251,1252,1253,1256,1257,1256,1260,1256,1263,1266],{},"Single key: ",[929,1254,1255],{},"'a'",", ",[929,1258,1259],{},"'b'",[929,1261,1262],{},"'1'",[929,1264,1265],{},"'?'",", etc.",[1089,1268,1269,1270,1273,1274,1256,1277],{},"Key combinations: Use ",[929,1271,1272],{},"_"," to separate keys, e.g., ",[929,1275,1276],{},"'meta_k'",[929,1278,1279],{},"'ctrl_shift_f'",[1089,1281,1282,1283,1286,1287],{},"Key sequences: Use ",[929,1284,1285],{},"-"," to define a sequence, e.g., ",[929,1288,1289],{},"'g-d'",[1179,1291,1293],{"id":1292},"modifiers","Modifiers",[1086,1295,1296,1309,1316],{},[1089,1297,1298,1300,1301,1304,1305,1308],{},[929,1299,1094],{},": Represents ",[929,1302,1303],{},"⌘ Command"," on macOS and ",[929,1306,1307],{},"Ctrl"," on other platforms",[1089,1310,1311,1300,1313,1315],{},[929,1312,1098],{},[929,1314,1307],{}," on all platforms",[1089,1317,1318,1321],{},[929,1319,1320],{},"shift",": Used for alphabetic keys when Shift is required",[1179,1323,1325],{"id":1324},"special-keys","Special keys",[1086,1327,1328,1334,1340],{},[1089,1329,1330,1333],{},[929,1331,1332],{},"escape",": Triggers on Esc key",[1089,1335,1336,1339],{},[929,1337,1338],{},"enter",": Triggers on Enter key",[1089,1341,1342,1256,1345,1256,1348,1256,1351,1354],{},[929,1343,1344],{},"arrowleft",[929,1346,1347],{},"arrowright",[929,1349,1350],{},"arrowup",[929,1352,1353],{},"arrowdown",": Trigger on respective arrow keys",[1179,1356,1358],{"id":1357},"shortcut-configuration","Shortcut configuration",[925,1360,1361],{},"Each shortcut can be defined as a function or an object with the following properties:",[925,1363,1364],{},[929,1365,1366,1369,1372,1375,1377,1379,1381,1383,1386,1389,1391,1394,1397],{"className":1141,"language":1142,"style":937},[941,1367,1368],{"class":1145},"interface",[941,1370,1371],{"class":1145}," ShortcutConfig",[941,1373,1374],{"class":983}," { handler",[941,1376,1025],{"class":947},[941,1378,1028],{"class":947},[941,1380,1031],{"class":955},[941,1382,1174],{"class":1145},[941,1384,1385],{"class":947},";",[941,1387,1388],{"class":983}," usingInput",[941,1390,1165],{"class":947},[941,1392,1393],{"class":983}," boolean ",[941,1395,1396],{"class":947},"|",[941,1398,1399],{"class":983}," string }",[1179,1401,1182],{"id":1402},"parameters-1",[1184,1404,1405,1412],{},[1187,1406,1409],{"name":1407,"type":1408,":required":1190,"required":21},"handler","() => void",[925,1410,1411],{},"Function to be executed when the shortcut is triggered.",[1187,1413,1416,1419],{"name":1414,"type":1415},"usingInput","boolean | string",[925,1417,1418],{},"Controls when the shortcut should trigger based on input focus:",[1086,1420,1421,1426,1431],{},[1089,1422,1423,1425],{},[929,1424,997],{}," (default): Shortcut only triggers when no input is focused",[1089,1427,1428,1430],{},[929,1429,1190],{},": Shortcut triggers even when any input is focused",[1089,1432,1433,1436],{},[929,1434,1435],{},"string",": Shortcut only triggers when the specified input (by name) is focused",[920,1438,1440],{"id":1439},"examples","Examples",[1442,1443,1445],"h3",{"id":1444},"basic-usage","Basic usage",[933,1447,1449],{"className":935,"code":1448,"language":34,"meta":937,"style":937},"\u003Cscript setup lang=\"ts\">\ndefineShortcuts({\n  '?': () => openHelpModal(),\n  'meta_k': () => openCommandPalette(),\n  'g-d': () => navigateToDashboard()\n})\n\u003C/script>\n",[929,1450,1451,1471,1479,1505,1527,1548,1554],{"__ignoreMap":937},[941,1452,1453,1455,1457,1459,1461,1463,1465,1467,1469],{"class":943,"line":944},[941,1454,948],{"class":947},[941,1456,952],{"class":951},[941,1458,956],{"class":955},[941,1460,959],{"class":955},[941,1462,962],{"class":947},[941,1464,965],{"class":947},[941,1466,969],{"class":968},[941,1468,965],{"class":947},[941,1470,974],{"class":947},[941,1472,1473,1475,1477],{"class":943,"line":977},[941,1474,789],{"class":989},[941,1476,993],{"class":983},[941,1478,1016],{"class":947},[941,1480,1481,1484,1487,1490,1492,1494,1496,1499,1502],{"class":943,"line":1003},[941,1482,1483],{"class":947},"  '",[941,1485,1486],{"class":951},"?",[941,1488,1489],{"class":947},"'",[941,1491,1025],{"class":947},[941,1493,1028],{"class":947},[941,1495,1031],{"class":955},[941,1497,1498],{"class":989}," openHelpModal",[941,1500,1501],{"class":983},"()",[941,1503,1504],{"class":947},",\n",[941,1506,1507,1509,1512,1514,1516,1518,1520,1523,1525],{"class":943,"line":1009},[941,1508,1483],{"class":947},[941,1510,1511],{"class":951},"meta_k",[941,1513,1489],{"class":947},[941,1515,1025],{"class":947},[941,1517,1028],{"class":947},[941,1519,1031],{"class":955},[941,1521,1522],{"class":989}," openCommandPalette",[941,1524,1501],{"class":983},[941,1526,1504],{"class":947},[941,1528,1529,1531,1534,1536,1538,1540,1542,1545],{"class":943,"line":1019},[941,1530,1483],{"class":947},[941,1532,1533],{"class":951},"g-d",[941,1535,1489],{"class":947},[941,1537,1025],{"class":947},[941,1539,1028],{"class":947},[941,1541,1031],{"class":955},[941,1543,1544],{"class":989}," navigateToDashboard",[941,1546,1547],{"class":983},"()\n",[941,1549,1550,1552],{"class":943,"line":1037},[941,1551,1072],{"class":947},[941,1553,1000],{"class":983},[941,1555,1556,1558,1560],{"class":943,"line":1063},[941,1557,1080],{"class":947},[941,1559,952],{"class":951},[941,1561,974],{"class":947},[1442,1563,1565],{"id":1564},"with-input-focus-handling","With input focus handling",[925,1567,1568,1569,1571],{},"The ",[929,1570,1414],{}," option allows you to specify that a shortcut should only trigger when a specific input is focused.",[933,1573,1575],{"className":935,"code":1574,"language":34,"meta":937,"style":937},"\u003Ctemplate>\n  \u003CUInput v-model=\"query\" name=\"queryInput\" />\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\nconst query = ref('')\n\ndefineShortcuts({\n  enter: {\n    usingInput: 'queryInput',\n    handler: () => performSearch()\n  },\n  escape: {\n    usingInput: true,\n    handler: () => clearSearch()\n  }\n})\n\u003C/script>\n",[929,1576,1577,1586,1621,1629,1633,1653,1671,1675,1683,1692,1709,1726,1732,1742,1754,1770,1775,1782],{"__ignoreMap":937},[941,1578,1579,1581,1584],{"class":943,"line":944},[941,1580,948],{"class":947},[941,1582,1583],{"class":951},"template",[941,1585,974],{"class":947},[941,1587,1588,1591,1594,1597,1599,1601,1604,1606,1609,1611,1613,1616,1618],{"class":943,"line":977},[941,1589,1590],{"class":947},"  \u003C",[941,1592,1593],{"class":951},"UInput",[941,1595,1596],{"class":955}," v-model",[941,1598,962],{"class":947},[941,1600,965],{"class":947},[941,1602,1603],{"class":983},"query",[941,1605,965],{"class":947},[941,1607,1608],{"class":955}," name",[941,1610,962],{"class":947},[941,1612,965],{"class":947},[941,1614,1615],{"class":968},"queryInput",[941,1617,965],{"class":947},[941,1619,1620],{"class":947}," />\n",[941,1622,1623,1625,1627],{"class":943,"line":1003},[941,1624,1080],{"class":947},[941,1626,1583],{"class":951},[941,1628,974],{"class":947},[941,1630,1631],{"class":943,"line":1009},[941,1632,1006],{"emptyLinePlaceholder":21},[941,1634,1635,1637,1639,1641,1643,1645,1647,1649,1651],{"class":943,"line":1019},[941,1636,948],{"class":947},[941,1638,952],{"class":951},[941,1640,956],{"class":955},[941,1642,959],{"class":955},[941,1644,962],{"class":947},[941,1646,965],{"class":947},[941,1648,969],{"class":968},[941,1650,965],{"class":947},[941,1652,974],{"class":947},[941,1654,1655,1657,1660,1662,1664,1666,1669],{"class":943,"line":1037},[941,1656,980],{"class":955},[941,1658,1659],{"class":983}," query ",[941,1661,962],{"class":947},[941,1663,990],{"class":989},[941,1665,993],{"class":983},[941,1667,1668],{"class":947},"''",[941,1670,1000],{"class":983},[941,1672,1673],{"class":943,"line":1063},[941,1674,1006],{"emptyLinePlaceholder":21},[941,1676,1677,1679,1681],{"class":943,"line":1069},[941,1678,789],{"class":989},[941,1680,993],{"class":983},[941,1682,1016],{"class":947},[941,1684,1685,1688,1690],{"class":943,"line":1077},[941,1686,1687],{"class":951},"  enter",[941,1689,1025],{"class":947},[941,1691,1034],{"class":947},[941,1693,1695,1698,1700,1703,1705,1707],{"class":943,"line":1694},10,[941,1696,1697],{"class":951},"    usingInput",[941,1699,1025],{"class":947},[941,1701,1702],{"class":947}," '",[941,1704,1615],{"class":968},[941,1706,1489],{"class":947},[941,1708,1504],{"class":947},[941,1710,1712,1715,1717,1719,1721,1724],{"class":943,"line":1711},11,[941,1713,1714],{"class":989},"    handler",[941,1716,1025],{"class":947},[941,1718,1028],{"class":947},[941,1720,1031],{"class":955},[941,1722,1723],{"class":989}," performSearch",[941,1725,1547],{"class":983},[941,1727,1729],{"class":943,"line":1728},12,[941,1730,1731],{"class":947},"  },\n",[941,1733,1735,1738,1740],{"class":943,"line":1734},13,[941,1736,1737],{"class":951},"  escape",[941,1739,1025],{"class":947},[941,1741,1034],{"class":947},[941,1743,1745,1747,1749,1752],{"class":943,"line":1744},14,[941,1746,1697],{"class":951},[941,1748,1025],{"class":947},[941,1750,1751],{"class":996}," true",[941,1753,1504],{"class":947},[941,1755,1757,1759,1761,1763,1765,1768],{"class":943,"line":1756},15,[941,1758,1714],{"class":989},[941,1760,1025],{"class":947},[941,1762,1028],{"class":947},[941,1764,1031],{"class":955},[941,1766,1767],{"class":989}," clearSearch",[941,1769,1547],{"class":983},[941,1771,1773],{"class":943,"line":1772},16,[941,1774,1066],{"class":947},[941,1776,1778,1780],{"class":943,"line":1777},17,[941,1779,1072],{"class":947},[941,1781,1000],{"class":983},[941,1783,1785,1787,1789],{"class":943,"line":1784},18,[941,1786,1080],{"class":947},[941,1788,952],{"class":951},[941,1790,974],{"class":947},[1442,1792,1794],{"id":1793},"extracting-shortcuts-from-menu-items","Extracting shortcuts from menu items",[925,1796,1797,1798,1800],{},"Use the ",[929,1799,799],{}," utility to automatically define shortcuts from menu items.",[1124,1802,1803],{"to":800},[925,1804,1805,1806,1808],{},"Learn more about the ",[1130,1807,799],{}," utility.",[1810,1811,1812],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":937,"searchDepth":977,"depth":977,"links":1814},[1815,1816,1817],{"id":922,"depth":977,"text":923},{"id":1135,"depth":977,"text":1136},{"id":1439,"depth":977,"text":1440,"children":1818},[1819,1820,1821],{"id":1444,"depth":1003,"text":1445},{"id":1564,"depth":1003,"text":1565},{"id":1793,"depth":1003,"text":1794},"md",{},{"title":789,"description":792},"GDT8EN7AGSHUKlNkxN6Yp8vP1GXun0NaHYizM7mTcKk",{"data":1827,"body":1828},{},{"type":1829,"children":1830},"root",[1831],{"type":172,"tag":925,"props":1832,"children":1833},{},[1834],{"type":1835,"value":792},"text",1765478920219]