[{"data":1,"prerenderedAt":3444},["ShallowReactive",2],{"navigation":3,"-docs-composables-use-overlay":918,"-docs-composables-use-overlay-description":3434},[4],{"title":5,"path":6,"stem":7,"children":8,"page":36},"Docs","/docs","docs",[9,157,781,817],{"title":10,"path":11,"stem":12,"children":13,"framework":16,"category":16,"description":16,"icon":30},"Get Started","/docs/getting-started","docs/1.getting-started/1.index",[14,19,37,47,53,76,140],{"title":15,"path":11,"stem":12,"framework":16,"category":16,"description":17,"icon":18},"Introduction",null,"Nuxt UI is a comprehensive Vue UI component library (Nuxt optional), offering 125+ accessible, Tailwind CSS components for building modern web applications.","i-lucide-house",{"title":20,"framework":16,"category":16,"description":16,"shadow":21,"path":22,"stem":23,"children":24,"page":36},"Installation",true,"/docs/getting-started/installation","docs/1.getting-started/2.installation",[25,31],{"title":20,"path":26,"stem":27,"framework":28,"category":16,"description":29,"icon":30},"/docs/getting-started/installation/nuxt","docs/1.getting-started/2.installation/1.nuxt","nuxt","Learn how to install and configure Nuxt UI in your Nuxt application.","i-lucide-square-play",{"title":20,"path":32,"stem":33,"framework":34,"category":16,"description":35,"icon":30},"/docs/getting-started/installation/vue","docs/1.getting-started/2.installation/2.vue","vue","Learn how to install and configure Nuxt UI in your Vue application, compatible with both plain Vite and Inertia.",false,{"title":38,"framework":16,"category":16,"description":16,"icon":39,"shadow":21,"path":40,"stem":41,"children":42,"page":36},"Migration","i-lucide-arrow-right-left","/docs/getting-started/migration","docs/1.getting-started/3.migration",[43],{"title":38,"path":44,"stem":45,"framework":16,"category":16,"description":46,"icon":39},"/docs/getting-started/migration/v4","docs/1.getting-started/3.migration/1.v4","A comprehensive guide to migrate your application from Nuxt UI v3 to Nuxt UI v4.",{"title":48,"path":49,"stem":50,"framework":16,"category":16,"description":51,"icon":52},"Contribution","/docs/getting-started/contribution","docs/1.getting-started/4.contribution","A comprehensive guide on contributing to Nuxt UI, including project structure, development workflow, and best practices.","i-lucide-handshake",{"title":54,"path":55,"stem":56,"children":57,"page":36},"Theme","/docs/getting-started/theme","docs/1.getting-started/5.theme",[58,64,70],{"title":59,"path":60,"stem":61,"framework":16,"category":16,"description":62,"icon":63},"Design System","/docs/getting-started/theme/design-system","docs/1.getting-started/5.theme/1.design-system","Nuxt UI's design system uses Tailwind CSS for simple theming and easy customization.","i-lucide-palette",{"title":65,"path":66,"stem":67,"framework":16,"category":16,"description":68,"icon":69},"CSS Variables","/docs/getting-started/theme/css-variables","docs/1.getting-started/5.theme/2.css-variables","Nuxt UI uses CSS variables as design tokens for flexible, consistent theming with built-in light and dark mode support.","i-lucide-swatch-book",{"title":71,"path":72,"stem":73,"framework":16,"category":16,"description":74,"icon":75},"Components","/docs/getting-started/theme/components","docs/1.getting-started/5.theme/3.components","Learn how to customize Nuxt UI components with the Tailwind Variants API for advanced, flexible, and maintainable styling.","i-lucide-layout-grid",{"title":77,"framework":16,"category":16,"description":16,"path":78,"stem":79,"children":80,"page":36},"Integrations","/docs/getting-started/integrations","docs/1.getting-started/6.integrations",[81,95,101,115,129,135],{"title":82,"framework":16,"category":16,"description":16,"shadow":21,"path":83,"stem":84,"children":85,"page":36},"Icons","/docs/getting-started/integrations/icons","docs/1.getting-started/6.integrations/1.icons",[86,91],{"title":82,"path":87,"stem":88,"framework":28,"category":16,"description":89,"icon":90},"/docs/getting-started/integrations/icons/nuxt","docs/1.getting-started/6.integrations/1.icons/1.nuxt","Nuxt UI integrates with Nuxt Icon to access over 200,000+ icons from Iconify.","i-lucide-smile",{"title":82,"path":92,"stem":93,"framework":34,"category":16,"description":94,"icon":90},"/docs/getting-started/integrations/icons/vue","docs/1.getting-started/6.integrations/1.icons/2.vue","Nuxt UI integrates with Iconify to access over 200,000+ icons.",{"title":96,"path":97,"stem":98,"framework":28,"category":16,"description":99,"icon":100},"Fonts","/docs/getting-started/integrations/fonts","docs/1.getting-started/6.integrations/2.fonts","Nuxt UI integrates with Nuxt Fonts to provide plug-and-play font optimization.","i-lucide-a-large-small",{"title":102,"framework":16,"category":16,"description":16,"shadow":21,"path":103,"stem":104,"children":105,"page":36},"Color Mode","/docs/getting-started/integrations/color-mode","docs/1.getting-started/6.integrations/3.color-mode",[106,111],{"title":102,"path":107,"stem":108,"framework":28,"category":16,"description":109,"icon":110},"/docs/getting-started/integrations/color-mode/nuxt","docs/1.getting-started/6.integrations/3.color-mode/1.nuxt","Nuxt UI integrates with Nuxt Color Mode to allow for easy switching between light and dark themes.","i-lucide-sun-moon",{"title":102,"path":112,"stem":113,"framework":34,"category":16,"description":114,"icon":110},"/docs/getting-started/integrations/color-mode/vue","docs/1.getting-started/6.integrations/3.color-mode/2.vue","Nuxt UI integrates with VueUse to allow for easy switching between light and dark themes.",{"title":116,"framework":16,"category":16,"description":16,"shadow":21,"path":117,"stem":118,"children":119,"page":36},"I18n","/docs/getting-started/integrations/i18n","docs/1.getting-started/6.integrations/4.i18n",[120,126],{"title":121,"path":122,"stem":123,"framework":28,"category":16,"description":124,"icon":125},"Internationalization (i18n)","/docs/getting-started/integrations/i18n/nuxt","docs/1.getting-started/6.integrations/4.i18n/1.nuxt","Nuxt UI supports 50+ locales and multi-directional (LTR/RTL) internationalization.","i-lucide-languages",{"title":121,"path":127,"stem":128,"framework":34,"category":16,"description":124,"icon":125},"/docs/getting-started/integrations/i18n/vue","docs/1.getting-started/6.integrations/4.i18n/2.vue",{"title":130,"path":131,"stem":132,"framework":28,"category":16,"description":133,"icon":134},"Content","/docs/getting-started/integrations/content","docs/1.getting-started/6.integrations/5.content","Nuxt UI integrates with Nuxt Content to deliver beautiful typography and consistent component styling.","i-simple-icons-markdown",{"title":136,"path":137,"stem":138,"framework":34,"category":16,"description":139,"icon":134},"SSR","/docs/getting-started/integrations/ssr","docs/1.getting-started/6.integrations/6.ssr","Nuxt UI has first-party support for Vue SSR. This guide will help you have it fully enabled.",{"title":141,"framework":16,"category":16,"description":16,"path":142,"stem":143,"children":144,"page":36},"AI Tools","/docs/getting-started/ai","docs/1.getting-started/7.ai",[145,151],{"title":146,"path":147,"stem":148,"framework":16,"category":16,"description":149,"icon":150},"MCP Server","/docs/getting-started/ai/mcp","docs/1.getting-started/7.ai/1.mcp","Use Nuxt UI components in your AI assistants with Model Context Protocol support.","i-lucide-server",{"title":152,"path":153,"stem":154,"framework":16,"category":16,"description":155,"icon":156},"LLMs.txt","/docs/getting-started/ai/llms-txt","docs/1.getting-started/7.ai/2.llms-txt","How to get AI tools like Cursor, Windsurf, GitHub Copilot, ChatGPT, and Claude to understand Nuxt UI components, theming, and best practices.","i-lucide-bot",{"title":71,"framework":16,"category":16,"description":16,"icon":158,"path":159,"stem":160,"children":161,"page":36},"i-lucide-square-code","/docs/components","docs/2.components",[162,168,174,180,186,191,196,201,206,211,216,222,227,232,237,242,247,252,258,263,268,273,278,284,289,294,299,305,310,315,320,325,330,335,340,346,351,356,361,366,372,378,383,388,393,398,403,408,413,418,423,428,433,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540,545,550,555,561,566,571,576,581,586,591,596,601,606,611,616,621,626,631,636,641,646,651,656,661,666,671,676,681,686,691,696,701,706,711,716,721,726,731,736,741,746,751,756,761,766,771,776],{"title":163,"path":164,"stem":165,"framework":16,"category":166,"description":167},"Accordion","/docs/components/accordion","docs/2.components/accordion","data","A stacked set of collapsible panels.",{"title":169,"path":170,"stem":171,"framework":16,"category":172,"description":173},"Alert","/docs/components/alert","docs/2.components/alert","element","A callout to draw user's attention.",{"title":175,"path":176,"stem":177,"framework":16,"category":178,"description":179},"App","/docs/components/app","docs/2.components/app","layout","Wraps your app to provide global configurations and more.",{"title":181,"path":182,"stem":183,"framework":16,"category":184,"description":185},"AuthForm","/docs/components/auth-form","docs/2.components/auth-form","page","A customizable Form to create login, register or password reset forms.",{"title":187,"path":188,"stem":189,"framework":16,"category":172,"description":190},"Avatar","/docs/components/avatar","docs/2.components/avatar","An img element with fallback and Nuxt Image support.",{"title":192,"path":193,"stem":194,"framework":16,"category":172,"description":195},"AvatarGroup","/docs/components/avatar-group","docs/2.components/avatar-group","Stack multiple avatars in a group.",{"title":197,"path":198,"stem":199,"framework":16,"category":172,"description":200},"Badge","/docs/components/badge","docs/2.components/badge","A short text to represent a status or a category.",{"title":202,"path":203,"stem":204,"framework":16,"category":172,"description":205},"Banner","/docs/components/banner","docs/2.components/banner","Display a banner at the top of your website to inform users about important information.",{"title":207,"path":208,"stem":209,"framework":16,"category":184,"description":210},"BlogPost","/docs/components/blog-post","docs/2.components/blog-post","A customizable article to display in a blog page.",{"title":212,"path":213,"stem":214,"framework":16,"category":184,"description":215},"BlogPosts","/docs/components/blog-posts","docs/2.components/blog-posts","Display a list of blog posts in a responsive grid layout.",{"title":217,"path":218,"stem":219,"framework":16,"category":220,"description":221},"Breadcrumb","/docs/components/breadcrumb","docs/2.components/breadcrumb","navigation","A hierarchy of links to navigate through a website.",{"title":223,"path":224,"stem":225,"framework":16,"category":172,"description":226},"Button","/docs/components/button","docs/2.components/button","A button element that can act as a link or trigger an action.",{"title":228,"path":229,"stem":230,"framework":16,"category":172,"description":231},"Calendar","/docs/components/calendar","docs/2.components/calendar","A calendar component for selecting single dates, multiple dates or date ranges.",{"title":233,"path":234,"stem":235,"framework":16,"category":172,"description":236},"Card","/docs/components/card","docs/2.components/card","Display content in a card with a header, body and footer.",{"title":238,"path":239,"stem":240,"framework":16,"category":166,"description":241},"Carousel","/docs/components/carousel","docs/2.components/carousel","A carousel with motion and swipe built using Embla.",{"title":243,"path":244,"stem":245,"framework":16,"category":184,"description":246},"ChangelogVersion","/docs/components/changelog-version","docs/2.components/changelog-version","A customizable article to display in a changelog.",{"title":248,"path":249,"stem":250,"framework":16,"category":184,"description":251},"ChangelogVersions","/docs/components/changelog-versions","docs/2.components/changelog-versions","Display a list of changelog versions in a timeline.",{"title":253,"path":254,"stem":255,"framework":16,"category":256,"description":257},"ChatMessage","/docs/components/chat-message","docs/2.components/chat-message","chat","Display a chat message with icon, avatar, and actions.",{"title":259,"path":260,"stem":261,"framework":16,"category":256,"description":262},"ChatMessages","/docs/components/chat-messages","docs/2.components/chat-messages","Display a list of chat messages, designed to work seamlessly with Vercel AI SDK.",{"title":264,"path":265,"stem":266,"framework":16,"category":256,"description":267},"ChatPalette","/docs/components/chat-palette","docs/2.components/chat-palette","A chat palette to create a chatbot interface inside an overlay.",{"title":269,"path":270,"stem":271,"framework":16,"category":256,"description":272},"ChatPrompt","/docs/components/chat-prompt","docs/2.components/chat-prompt","An enhanced Textarea for submitting prompts in AI chat interfaces.",{"title":274,"path":275,"stem":276,"framework":16,"category":256,"description":277},"ChatPromptSubmit","/docs/components/chat-prompt-submit","docs/2.components/chat-prompt-submit","A Button for submitting chat prompts with automatic status handling.",{"title":279,"path":280,"stem":281,"framework":16,"category":282,"description":283},"Checkbox","/docs/components/checkbox","docs/2.components/checkbox","form","An input element to toggle between checked and unchecked states.",{"title":285,"path":286,"stem":287,"framework":16,"category":282,"description":288},"CheckboxGroup","/docs/components/checkbox-group","docs/2.components/checkbox-group","A set of checklist buttons to select multiple option from a list.",{"title":290,"path":291,"stem":292,"framework":16,"category":172,"description":293},"Chip","/docs/components/chip","docs/2.components/chip","An indicator of a numeric value or a state.",{"title":295,"path":296,"stem":297,"framework":16,"category":172,"description":298},"Collapsible","/docs/components/collapsible","docs/2.components/collapsible","A collapsible element to toggle visibility of its content.",{"title":300,"path":301,"stem":302,"framework":16,"category":303,"description":304},"ColorModeAvatar","/docs/components/color-mode-avatar","docs/2.components/color-mode-avatar","color-mode","An Avatar with a different source for light and dark mode.",{"title":306,"path":307,"stem":308,"framework":16,"category":303,"description":309},"ColorModeButton","/docs/components/color-mode-button","docs/2.components/color-mode-button","A Button to switch between light and dark mode.",{"title":311,"path":312,"stem":313,"framework":16,"category":303,"description":314},"ColorModeImage","/docs/components/color-mode-image","docs/2.components/color-mode-image","An image element with a different source for light and dark mode.",{"title":316,"path":317,"stem":318,"framework":16,"category":303,"description":319},"ColorModeSelect","/docs/components/color-mode-select","docs/2.components/color-mode-select","A Select to switch between system, dark & light mode.",{"title":321,"path":322,"stem":323,"framework":16,"category":303,"description":324},"ColorModeSwitch","/docs/components/color-mode-switch","docs/2.components/color-mode-switch","A switch to toggle between light and dark mode.",{"title":326,"path":327,"stem":328,"framework":16,"category":282,"description":329},"ColorPicker","/docs/components/color-picker","docs/2.components/color-picker","A component to select a color.",{"title":331,"path":332,"stem":333,"framework":16,"category":220,"description":334},"CommandPalette","/docs/components/command-palette","docs/2.components/command-palette","A command palette with full-text search powered by Fuse.js for efficient fuzzy matching.",{"title":336,"path":337,"stem":338,"framework":16,"category":178,"description":339},"Container","/docs/components/container","docs/2.components/container","A container lets you center and constrain the width of your content.",{"title":341,"path":342,"stem":343,"framework":28,"category":344,"description":345},"ContentNavigation","/docs/components/content-navigation","docs/2.components/content-navigation","content","An accordion-style navigation component for organizing page links.",{"title":347,"path":348,"stem":349,"framework":28,"category":344,"description":350},"ContentSearch","/docs/components/content-search","docs/2.components/content-search","A ready to use CommandPalette to add to your documentation.",{"title":352,"path":353,"stem":354,"framework":28,"category":344,"description":355},"ContentSearchButton","/docs/components/content-search-button","docs/2.components/content-search-button","A pre-styled Button to open the ContentSearch modal.",{"title":357,"path":358,"stem":359,"framework":28,"category":344,"description":360},"ContentSurround","/docs/components/content-surround","docs/2.components/content-surround","A pair of prev and next links to navigate between pages.",{"title":362,"path":363,"stem":364,"framework":28,"category":344,"description":365},"ContentToc","/docs/components/content-toc","docs/2.components/content-toc","A sticky Table of Contents with automatic active anchor link highlighting.",{"title":367,"path":368,"stem":369,"framework":16,"category":370,"description":371},"ContextMenu","/docs/components/context-menu","docs/2.components/context-menu","overlay","A menu to display actions when right-clicking on an element.",{"title":373,"path":374,"stem":375,"framework":16,"category":376,"description":377},"DashboardGroup","/docs/components/dashboard-group","docs/2.components/dashboard-group","dashboard","A fixed layout component that provides context for dashboard components with sidebar state management and persistence.",{"title":379,"path":380,"stem":381,"framework":16,"category":376,"description":382},"DashboardNavbar","/docs/components/dashboard-navbar","docs/2.components/dashboard-navbar","A responsive navbar to display in a dashboard.",{"title":384,"path":385,"stem":386,"framework":16,"category":376,"description":387},"DashboardPanel","/docs/components/dashboard-panel","docs/2.components/dashboard-panel","A resizable panel to display in a dashboard.",{"title":389,"path":390,"stem":391,"framework":16,"category":376,"description":392},"DashboardResizeHandle","/docs/components/dashboard-resize-handle","docs/2.components/dashboard-resize-handle","A handle to resize a sidebar or panel.",{"title":394,"path":395,"stem":396,"framework":16,"category":376,"description":397},"DashboardSearch","/docs/components/dashboard-search","docs/2.components/dashboard-search","A ready to use CommandPalette to add to your dashboard.",{"title":399,"path":400,"stem":401,"framework":16,"category":376,"description":402},"DashboardSearchButton","/docs/components/dashboard-search-button","docs/2.components/dashboard-search-button","A pre-styled Button to open the DashboardSearch modal.",{"title":404,"path":405,"stem":406,"framework":16,"category":376,"description":407},"DashboardSidebar","/docs/components/dashboard-sidebar","docs/2.components/dashboard-sidebar","A resizable and collapsible sidebar to display in a dashboard.",{"title":409,"path":410,"stem":411,"framework":16,"category":376,"description":412},"DashboardSidebarCollapse","/docs/components/dashboard-sidebar-collapse","docs/2.components/dashboard-sidebar-collapse","A Button to collapse the sidebar on desktop.",{"title":414,"path":415,"stem":416,"framework":16,"category":376,"description":417},"DashboardSidebarToggle","/docs/components/dashboard-sidebar-toggle","docs/2.components/dashboard-sidebar-toggle","A Button to toggle the sidebar on mobile.",{"title":419,"path":420,"stem":421,"framework":16,"category":376,"description":422},"DashboardToolbar","/docs/components/dashboard-toolbar","docs/2.components/dashboard-toolbar","A toolbar to display under the navbar in a dashboard.",{"title":424,"path":425,"stem":426,"framework":16,"category":370,"description":427},"Drawer","/docs/components/drawer","docs/2.components/drawer","A drawer that smoothly slides in & out of the screen.",{"title":429,"path":430,"stem":431,"framework":16,"category":370,"description":432},"DropdownMenu","/docs/components/dropdown-menu","docs/2.components/dropdown-menu","A menu to display actions when clicking on an element.",{"title":434,"path":435,"stem":436,"framework":16,"category":437,"description":438,"badge":439},"Editor","/docs/components/editor","docs/2.components/editor","editor","A rich text editor component based on TipTap with support for markdown, HTML, and JSON content types.","New",{"title":441,"path":442,"stem":443,"framework":16,"category":437,"description":444,"badge":439},"EditorDragHandle","/docs/components/editor-drag-handle","docs/2.components/editor-drag-handle","A draggable handle for reordering and selecting blocks in the editor.",{"title":446,"path":447,"stem":448,"framework":16,"category":437,"description":449,"badge":439},"EditorEmojiMenu","/docs/components/editor-emoji-menu","docs/2.components/editor-emoji-menu","An emoji picker menu that displays emoji suggestions when typing the : character in the editor.",{"title":451,"path":452,"stem":453,"framework":16,"category":437,"description":454,"badge":439},"EditorMentionMenu","/docs/components/editor-mention-menu","docs/2.components/editor-mention-menu","A mention menu that displays user suggestions when typing the @ character in the editor.",{"title":456,"path":457,"stem":458,"framework":16,"category":437,"description":459,"badge":439},"EditorSuggestionMenu","/docs/components/editor-suggestion-menu","docs/2.components/editor-suggestion-menu","A command menu that displays formatting and action suggestions when typing the / character in the editor.",{"title":461,"path":462,"stem":463,"framework":16,"category":437,"description":464,"badge":439},"EditorToolbar","/docs/components/editor-toolbar","docs/2.components/editor-toolbar","A customizable toolbar for editor actions that can be displayed as fixed, bubble, or floating menu.",{"title":466,"path":467,"stem":468,"framework":16,"category":166,"description":469},"Empty","/docs/components/empty","docs/2.components/empty","A component to display an empty state.",{"title":471,"path":472,"stem":473,"framework":16,"category":178,"description":474},"Error","/docs/components/error","docs/2.components/error","A pre-built error component with NuxtError support.",{"title":476,"path":477,"stem":478,"framework":16,"category":172,"description":479},"FieldGroup","/docs/components/field-group","docs/2.components/field-group","Group multiple button-like elements together.",{"title":481,"path":482,"stem":483,"framework":16,"category":282,"description":484},"FileUpload","/docs/components/file-upload","docs/2.components/file-upload","An input element to upload files.",{"title":486,"path":487,"stem":488,"framework":16,"category":178,"description":489},"Footer","/docs/components/footer","docs/2.components/footer","A responsive footer component.",{"title":491,"path":492,"stem":493,"framework":16,"category":220,"description":494},"FooterColumns","/docs/components/footer-columns","docs/2.components/footer-columns","A list of links as columns to display in your Footer.",{"title":496,"path":497,"stem":498,"framework":16,"category":282,"description":499},"Form","/docs/components/form","docs/2.components/form","A form component with built-in validation and submission handling.",{"title":501,"path":502,"stem":503,"framework":16,"category":282,"description":504},"FormField","/docs/components/form-field","docs/2.components/form-field","A wrapper for form elements that provides validation and error handling.",{"title":506,"path":507,"stem":508,"framework":16,"category":178,"description":509},"Header","/docs/components/header","docs/2.components/header","A responsive header component.",{"title":511,"path":512,"stem":513,"framework":16,"category":172,"description":514},"Icon","/docs/components/icon","docs/2.components/icon","A component to display any icon from Iconify or another component.",{"title":516,"path":517,"stem":518,"framework":16,"category":282,"description":519},"Input","/docs/components/input","docs/2.components/input","An input element to enter text.",{"title":521,"path":522,"stem":523,"framework":16,"category":282,"description":524},"InputDate","/docs/components/input-date","docs/2.components/input-date","An input component for date selection.",{"title":526,"path":527,"stem":528,"framework":16,"category":282,"description":529},"InputMenu","/docs/components/input-menu","docs/2.components/input-menu","An autocomplete input with real-time suggestions.",{"title":531,"path":532,"stem":533,"framework":16,"category":282,"description":534},"InputNumber","/docs/components/input-number","docs/2.components/input-number","An input for numerical values with a customizable range.",{"title":536,"path":537,"stem":538,"framework":16,"category":282,"description":539},"InputTags","/docs/components/input-tags","docs/2.components/input-tags","An input element that displays interactive tags.",{"title":541,"path":542,"stem":543,"framework":16,"category":282,"description":544},"InputTime","/docs/components/input-time","docs/2.components/input-time","An input for selecting a time.",{"title":546,"path":547,"stem":548,"framework":16,"category":172,"description":549},"Kbd","/docs/components/kbd","docs/2.components/kbd","A kbd element to display a keyboard key.",{"title":551,"path":552,"stem":553,"framework":16,"category":220,"description":554},"Link","/docs/components/link","docs/2.components/link","A wrapper around \u003CNuxtLink> with extra props.",{"title":556,"path":557,"stem":558,"framework":16,"category":559,"description":560},"LocaleSelect","/docs/components/locale-select","docs/2.components/locale-select","i18n","A Select to switch between locales.",{"title":562,"path":563,"stem":564,"framework":16,"category":178,"description":565},"Main","/docs/components/main","docs/2.components/main","A main element that fills the available viewport height.",{"title":567,"path":568,"stem":569,"framework":16,"category":166,"description":570},"Marquee","/docs/components/marquee","docs/2.components/marquee","A component to create infinite scrolling content.",{"title":572,"path":573,"stem":574,"framework":16,"category":370,"description":575},"Modal","/docs/components/modal","docs/2.components/modal","A dialog window that can be used to display a message or request user input.",{"title":577,"path":578,"stem":579,"framework":16,"category":220,"description":580},"NavigationMenu","/docs/components/navigation-menu","docs/2.components/navigation-menu","A list of links that can be displayed horizontally or vertically.",{"title":582,"path":583,"stem":584,"framework":16,"category":184,"description":585},"Page","/docs/components/page","docs/2.components/page","A grid layout for your pages with left and right columns.",{"title":587,"path":588,"stem":589,"framework":16,"category":184,"description":590},"PageAnchors","/docs/components/page-anchors","docs/2.components/page-anchors","A list of anchors to be displayed in the page.",{"title":592,"path":593,"stem":594,"framework":16,"category":184,"description":595},"PageAside","/docs/components/page-aside","docs/2.components/page-aside","A sticky aside to display your page navigation.",{"title":597,"path":598,"stem":599,"framework":16,"category":184,"description":600},"PageBody","/docs/components/page-body","docs/2.components/page-body","The main content of your page.",{"title":602,"path":603,"stem":604,"framework":16,"category":184,"description":605},"PageCard","/docs/components/page-card","docs/2.components/page-card","A pre-styled card component that displays a title, description and optional link.",{"title":607,"path":608,"stem":609,"framework":16,"category":184,"description":610},"PageColumns","/docs/components/page-columns","docs/2.components/page-columns","A responsive multi-column layout system for organizing content side-by-side.",{"title":612,"path":613,"stem":614,"framework":16,"category":184,"description":615},"PageCTA","/docs/components/page-cta","docs/2.components/page-cta","A call to action section to display in your pages.",{"title":617,"path":618,"stem":619,"framework":16,"category":184,"description":620},"PageFeature","/docs/components/page-feature","docs/2.components/page-feature","A component to showcase key features of your application.",{"title":622,"path":623,"stem":624,"framework":16,"category":184,"description":625},"PageGrid","/docs/components/page-grid","docs/2.components/page-grid","A responsive grid system for displaying content in a flexible layout.",{"title":627,"path":628,"stem":629,"framework":16,"category":184,"description":630},"PageHeader","/docs/components/page-header","docs/2.components/page-header","A responsive header for your pages.",{"title":632,"path":633,"stem":634,"framework":16,"category":184,"description":635},"PageHero","/docs/components/page-hero","docs/2.components/page-hero","A responsive hero for your pages.",{"title":637,"path":638,"stem":639,"framework":16,"category":184,"description":640},"PageLinks","/docs/components/page-links","docs/2.components/page-links","A list of links to be displayed in the page.",{"title":642,"path":643,"stem":644,"framework":16,"category":184,"description":645},"PageList","/docs/components/page-list","docs/2.components/page-list","A vertical list layout for displaying content in a stacked format.",{"title":647,"path":648,"stem":649,"framework":16,"category":184,"description":650},"PageLogos","/docs/components/page-logos","docs/2.components/page-logos","A list of logos or images to display on your pages.",{"title":652,"path":653,"stem":654,"framework":16,"category":184,"description":655},"PageSection","/docs/components/page-section","docs/2.components/page-section","A responsive section for your pages.",{"title":657,"path":658,"stem":659,"framework":16,"category":220,"description":660},"Pagination","/docs/components/pagination","docs/2.components/pagination","A list of buttons or links to navigate through pages.",{"title":662,"path":663,"stem":664,"framework":16,"category":282,"description":665},"PinInput","/docs/components/pin-input","docs/2.components/pin-input","An input element to enter a pin.",{"title":667,"path":668,"stem":669,"framework":16,"category":370,"description":670},"Popover","/docs/components/popover","docs/2.components/popover","A non-modal dialog that floats around a trigger element.",{"title":672,"path":673,"stem":674,"framework":16,"category":184,"description":675},"PricingPlan","/docs/components/pricing-plan","docs/2.components/pricing-plan","A customizable pricing plan to display in a pricing page.",{"title":677,"path":678,"stem":679,"framework":16,"category":184,"description":680},"PricingPlans","/docs/components/pricing-plans","docs/2.components/pricing-plans","Display a list of pricing plans in a responsive grid layout.",{"title":682,"path":683,"stem":684,"framework":16,"category":184,"description":685},"PricingTable","/docs/components/pricing-table","docs/2.components/pricing-table","A responsive pricing table component that displays tiered pricing plans with feature comparisons.",{"title":687,"path":688,"stem":689,"framework":16,"category":172,"description":690},"Progress","/docs/components/progress","docs/2.components/progress","An indicator showing the progress of a task.",{"title":692,"path":693,"stem":694,"framework":16,"category":282,"description":695},"RadioGroup","/docs/components/radio-group","docs/2.components/radio-group","A set of radio buttons to select a single option from a list.",{"title":697,"path":698,"stem":699,"framework":16,"category":166,"description":700,"badge":439},"ScrollArea","/docs/components/scroll-area","docs/2.components/scroll-area","A flexible scroll container with virtualization support.",{"title":702,"path":703,"stem":704,"framework":16,"category":282,"description":705},"Select","/docs/components/select","docs/2.components/select","A select element to choose from a list of options.",{"title":707,"path":708,"stem":709,"framework":16,"category":282,"description":710},"SelectMenu","/docs/components/select-menu","docs/2.components/select-menu","An advanced searchable select element.",{"title":712,"path":713,"stem":714,"framework":16,"category":172,"description":715},"Separator","/docs/components/separator","docs/2.components/separator","Separates content horizontally or vertically.",{"title":717,"path":718,"stem":719,"framework":16,"category":172,"description":720},"Skeleton","/docs/components/skeleton","docs/2.components/skeleton","A placeholder to show while content is loading.",{"title":722,"path":723,"stem":724,"framework":16,"category":370,"description":725},"Slideover","/docs/components/slideover","docs/2.components/slideover","A dialog that slides in from any side of the screen.",{"title":727,"path":728,"stem":729,"framework":16,"category":282,"description":730},"Slider","/docs/components/slider","docs/2.components/slider","An input to select a numeric value within a range.",{"title":732,"path":733,"stem":734,"framework":16,"category":220,"description":735},"Stepper","/docs/components/stepper","docs/2.components/stepper","A set of steps that are used to indicate progress through a multi-step process.",{"title":737,"path":738,"stem":739,"framework":16,"category":282,"description":740},"Switch","/docs/components/switch","docs/2.components/switch","A control that toggles between two states.",{"title":742,"path":743,"stem":744,"framework":16,"category":166,"description":745},"Table","/docs/components/table","docs/2.components/table","A responsive table element to display data in rows and columns.",{"title":747,"path":748,"stem":749,"framework":16,"category":220,"description":750},"Tabs","/docs/components/tabs","docs/2.components/tabs","A set of tab panels that are displayed one at a time.",{"title":752,"path":753,"stem":754,"framework":16,"category":282,"description":755},"Textarea","/docs/components/textarea","docs/2.components/textarea","A textarea element to input multi-line text.",{"title":757,"path":758,"stem":759,"framework":16,"category":166,"description":760},"Timeline","/docs/components/timeline","docs/2.components/timeline","A component that displays a sequence of events with dates, titles, icons or avatars.",{"title":762,"path":763,"stem":764,"framework":16,"category":370,"description":765},"Toast","/docs/components/toast","docs/2.components/toast","A succinct message to provide information or feedback to the user.",{"title":767,"path":768,"stem":769,"framework":16,"category":370,"description":770},"Tooltip","/docs/components/tooltip","docs/2.components/tooltip","A popup that reveals information when hovering over an element.",{"title":772,"path":773,"stem":774,"framework":16,"category":166,"description":775},"Tree","/docs/components/tree","docs/2.components/tree","A tree view component to display and interact with hierarchical data structures.",{"title":777,"path":778,"stem":779,"framework":16,"category":166,"description":780},"User","/docs/components/user","docs/2.components/user","Display user information with name, description and avatar.",{"title":782,"framework":16,"category":16,"description":16,"icon":783,"path":784,"stem":785,"children":786,"page":36},"Composables","i-lucide-square-function","/docs/composables","docs/3.composables",[787,792,797,802,807,812],{"title":788,"path":789,"stem":790,"framework":16,"category":16,"description":791},"defineLocale","/docs/composables/define-locale","docs/3.composables/define-locale","A utility to create a custom locale for your app.",{"title":793,"path":794,"stem":795,"framework":16,"category":16,"description":796},"defineShortcuts","/docs/composables/define-shortcuts","docs/3.composables/define-shortcuts","A composable to define keyboard shortcuts in your app.",{"title":798,"path":799,"stem":800,"framework":16,"category":16,"description":801},"extendLocale","/docs/composables/extend-locale","docs/3.composables/extend-locale","A utility to extend an existing locale with custom translations.",{"title":803,"path":804,"stem":805,"framework":16,"category":16,"description":806},"extractShortcuts","/docs/composables/extract-shortcuts","docs/3.composables/extract-shortcuts","A utility to extract keyboard shortcuts from menu items.",{"title":808,"path":809,"stem":810,"framework":16,"category":16,"description":811},"useOverlay","/docs/composables/use-overlay","docs/3.composables/use-overlay","A composable to programmatically control overlays.",{"title":813,"path":814,"stem":815,"framework":16,"category":16,"description":816},"useToast","/docs/composables/use-toast","docs/3.composables/use-toast","A composable to display toast notifications in your app.",{"title":818,"path":819,"stem":820,"children":821,"framework":28,"category":16,"description":16,"icon":917},"Typography","/docs/typography","docs/4.typography/1.index",[822,824,829,834,839,844,849,853,858,862,867,872,877,882,887,891,896,900,904,908,913],{"title":15,"path":819,"stem":820,"framework":28,"category":16,"description":823},"Beautiful typography components and utilities to style your content with Nuxt UI.",{"title":825,"path":826,"stem":827,"framework":28,"category":16,"description":828},"Headers and text","/docs/typography/headers-and-text","docs/4.typography/2.headers-and-text","Beautifully styled headings, paragraphs, text formatting, and links for optimal readability.",{"title":830,"path":831,"stem":832,"framework":28,"category":16,"description":833},"Lists and tables","/docs/typography/lists-and-tables","docs/4.typography/3.lists-and-tables","Organize information with styled lists and responsive tables for clear, consistent readability.",{"title":835,"path":836,"stem":837,"framework":28,"category":16,"description":838},"Images and embeds","/docs/typography/images-and-embeds","docs/4.typography/4.images-and-embeds","Responsive images, videos, and rich media embeds to enhance and illustrate your documentation.",{"title":840,"path":841,"stem":842,"framework":28,"category":16,"description":843},"Code","/docs/typography/code","docs/4.typography/5.code","Display inline code and syntax-highlighted code blocks with copy-to-clipboard support.",{"title":163,"path":845,"stem":846,"framework":28,"category":847,"description":848},"/docs/typography/accordion","docs/4.typography/accordion","components","Create expandable content sections for better information organization.",{"title":197,"path":850,"stem":851,"framework":28,"category":847,"description":852},"/docs/typography/badge","docs/4.typography/badge","Display version numbers, status labels, and tags within your content.",{"title":854,"path":855,"stem":856,"framework":28,"category":847,"description":857},"Callout","/docs/typography/callout","docs/4.typography/callout","Highlight important information with eye-catching colored boxes and icons.",{"title":233,"path":859,"stem":860,"framework":28,"category":847,"description":861},"/docs/typography/card","docs/4.typography/card","Create highlighted content blocks with optional links and navigation.",{"title":863,"path":864,"stem":865,"framework":28,"category":847,"description":866},"CardGroup","/docs/typography/card-group","docs/4.typography/card-group","Organize multiple cards in responsive grid layouts for better content presentation.",{"title":868,"path":869,"stem":870,"framework":28,"category":847,"description":871},"CodeCollapse","/docs/typography/code-collapse","docs/4.typography/code-collapse","Make long code blocks collapsible to save space and improve readability.",{"title":873,"path":874,"stem":875,"framework":28,"category":847,"description":876},"CodeGroup","/docs/typography/code-group","docs/4.typography/code-group","Group multiple code examples in tabbed interfaces for easy comparison.",{"title":878,"path":879,"stem":880,"framework":28,"category":847,"description":881},"CodePreview","/docs/typography/code-preview","docs/4.typography/code-preview","Display code examples with a preview and their source for clearer documentation.",{"title":883,"path":884,"stem":885,"framework":28,"category":847,"description":886},"CodeTree","/docs/typography/code-tree","docs/4.typography/code-tree","Visualize file and folder structures with syntax-highlighted code.",{"title":295,"path":888,"stem":889,"framework":28,"category":847,"description":890},"/docs/typography/collapsible","docs/4.typography/collapsible","Toggle content visibility with smooth expand and collapse animations.",{"title":892,"path":893,"stem":894,"framework":28,"category":847,"description":895},"Field","/docs/typography/field","docs/4.typography/field","Document API parameters, props, and configuration options clearly.",{"title":476,"path":897,"stem":898,"framework":28,"category":847,"description":899},"/docs/typography/field-group","docs/4.typography/field-group","Group related fields together for comprehensive API documentation.",{"title":511,"path":901,"stem":902,"framework":28,"category":847,"description":903},"/docs/typography/icon","docs/4.typography/icon","Display icons from popular icon libraries to enhance your content.",{"title":546,"path":905,"stem":906,"framework":28,"category":847,"description":907},"/docs/typography/kbd","docs/4.typography/kbd","Display keyboard shortcuts and key combinations with proper styling.",{"title":909,"path":910,"stem":911,"framework":28,"category":847,"description":912},"Steps","/docs/typography/steps","docs/4.typography/steps","Transform headings into numbered step-by-step guides and tutorials.",{"title":747,"path":914,"stem":915,"framework":28,"category":847,"description":916},"/docs/typography/tabs","docs/4.typography/tabs","Organize related content in interactive tabbed interfaces.","i-lucide-square-pilcrow",{"id":919,"title":808,"body":920,"category":16,"description":811,"extension":3430,"framework":16,"links":16,"meta":3431,"navigation":16,"path":809,"seo":3432,"stem":810,"__hash__":3433},"docs/docs/3.composables/use-overlay.md",{"type":921,"value":922,"toc":3405},"minimark",[923,928,943,1118,1132,1151,1155,1166,1171,1175,1211,1214,1219,1267,1270,1314,1319,1322,1335,1338,1367,1372,1375,1388,1392,1404,1407,1411,1447,1452,1455,1467,1471,1489,1494,1497,1503,1507,1527,1532,1535,1541,1544,1558,1561,1565,1568,1596,1606,1609,1615,1758,1761,1779,1782,1785,1791,1794,1820,1823,1826,1832,2034,2038,2042,2045,2419,2423,2433,2443,2790,2797,3008,3013,3231,3235,3239,3253,3260,3401],[924,925,927],"h2",{"id":926},"usage","Usage",[929,930,931,932,935,936,939,940,942],"p",{},"Use the auto-imported ",[933,934,808],"code",{}," composable to programmatically control ",[937,938,572],"a",{"href":573}," and ",[937,941,722],{"href":723}," components.",[944,945,949],"pre",{"className":946,"code":947,"language":34,"meta":948,"style":948},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { LazyModalExample } from '#components'\n\nconst overlay = useOverlay()\n\nconst modal = overlay.create(LazyModalExample)\n\nasync function openModal() {\n  modal.open()\n}\n\u003C/script>\n","",[933,950,951,986,1015,1021,1039,1044,1066,1071,1089,1102,1108],{"__ignoreMap":948},[952,953,956,960,964,968,971,974,977,981,983],"span",{"class":954,"line":955},"line",1,[952,957,959],{"class":958},"sMK4o","\u003C",[952,961,963],{"class":962},"swJcz","script",[952,965,967],{"class":966},"spNyl"," setup",[952,969,970],{"class":966}," lang",[952,972,973],{"class":958},"=",[952,975,976],{"class":958},"\"",[952,978,980],{"class":979},"sfazB","ts",[952,982,976],{"class":958},[952,984,985],{"class":958},">\n",[952,987,989,993,996,1000,1003,1006,1009,1012],{"class":954,"line":988},2,[952,990,992],{"class":991},"s7zQu","import",[952,994,995],{"class":958}," {",[952,997,999],{"class":998},"sTEyZ"," LazyModalExample",[952,1001,1002],{"class":958}," }",[952,1004,1005],{"class":991}," from",[952,1007,1008],{"class":958}," '",[952,1010,1011],{"class":979},"#components",[952,1013,1014],{"class":958},"'\n",[952,1016,1018],{"class":954,"line":1017},3,[952,1019,1020],{"emptyLinePlaceholder":21},"\n",[952,1022,1024,1027,1030,1032,1036],{"class":954,"line":1023},4,[952,1025,1026],{"class":966},"const",[952,1028,1029],{"class":998}," overlay ",[952,1031,973],{"class":958},[952,1033,1035],{"class":1034},"s2Zo4"," useOverlay",[952,1037,1038],{"class":998},"()\n",[952,1040,1042],{"class":954,"line":1041},5,[952,1043,1020],{"emptyLinePlaceholder":21},[952,1045,1047,1049,1052,1054,1057,1060,1063],{"class":954,"line":1046},6,[952,1048,1026],{"class":966},[952,1050,1051],{"class":998}," modal ",[952,1053,973],{"class":958},[952,1055,1056],{"class":998}," overlay",[952,1058,1059],{"class":958},".",[952,1061,1062],{"class":1034},"create",[952,1064,1065],{"class":998},"(LazyModalExample)\n",[952,1067,1069],{"class":954,"line":1068},7,[952,1070,1020],{"emptyLinePlaceholder":21},[952,1072,1074,1077,1080,1083,1086],{"class":954,"line":1073},8,[952,1075,1076],{"class":966},"async",[952,1078,1079],{"class":966}," function",[952,1081,1082],{"class":1034}," openModal",[952,1084,1085],{"class":958},"()",[952,1087,1088],{"class":958}," {\n",[952,1090,1092,1095,1097,1100],{"class":954,"line":1091},9,[952,1093,1094],{"class":998},"  modal",[952,1096,1059],{"class":958},[952,1098,1099],{"class":1034},"open",[952,1101,1038],{"class":962},[952,1103,1105],{"class":954,"line":1104},10,[952,1106,1107],{"class":958},"}\n",[952,1109,1111,1114,1116],{"class":954,"line":1110},11,[952,1112,1113],{"class":958},"\u003C/",[952,1115,963],{"class":962},[952,1117,985],{"class":958},[1119,1120,1121],"ul",{},[1122,1123,1124,1125,1127,1128,1131],"li",{},"The ",[933,1126,808],{}," composable is created using ",[933,1129,1130],{},"createSharedComposable",", ensuring that the same overlay state is shared across your entire application.",[1133,1134,1135],"note",{},[929,1136,1137,1138,1141,1142,1150],{},"In order to return a value from the overlay, the ",[933,1139,1140],{},"overlay.open()"," can be awaited. In order for this to work, however, the ",[1143,1144,1145,1146,1149],"strong",{},"overlay component must emit a ",[933,1147,1148],{},"close"," event",". See example below for details.",[924,1152,1154],{"id":1153},"api","API",[929,1156,1157],{},[933,1158,1161,1164],{"className":1159,"language":1160,"style":948},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts-type",[952,1162,808],{"class":1163},"sBMFI",[952,1165,1085],{"class":958},[929,1167,1124,1168,1170],{},[933,1169,808],{}," composable provides methods to manage overlays globally. Each created overlay returns an instance with its own methods.",[1172,1173,1174],"h3",{"id":1062},"create()",[929,1176,1177],{},[933,1178,1179,1181,1184,1188,1191,1194,1197,1200,1202,1205,1208],{"className":1159,"language":1160,"style":948},[952,1180,1062],{"class":1163},[952,1182,1183],{"class":958},"(",[952,1185,1187],{"class":1186},"sHdIc","component",[952,1189,1190],{"class":958},":",[952,1192,1193],{"class":1163}," T",[952,1195,1196],{"class":958},",",[952,1198,1199],{"class":1186}," options",[952,1201,1190],{"class":958},[952,1203,1204],{"class":1163}," OverlayOptions",[952,1206,1207],{"class":958},"):",[952,1209,1210],{"class":1163}," OverlayInstance",[929,1212,1213],{},"Create an overlay, and return a factory instance.",[1215,1216,1218],"h4",{"id":1217},"parameters","Parameters",[1220,1221,1222,1230],"field-group",{},[1223,1224,1227],"field",{"name":1187,"type":1225,":required":1226,"required":21},"T","true",[929,1228,1229],{},"The overlay component to render.",[1223,1231,1234,1237],{"name":1232,"type":1233},"options","OverlayOptions",[929,1235,1236],{},"Configuration options for the overlay.",[1238,1239,1240],"collapsible",{},[1220,1241,1242,1252,1259],{},[1223,1243,1246],{"name":1244,"type":1245},"defaultOpen","boolean",[929,1247,1248,1249,1059],{},"Open the overlay immediately after being created. Defaults to ",[933,1250,1251],{},"false",[1223,1253,1256],{"name":1254,"type":1255},"props","ComponentProps",[929,1257,1258],{},"An optional object of props to pass to the rendered component.",[1223,1260,1262],{"name":1261,"type":1245},"destroyOnClose",[929,1263,1264,1265,1059],{},"Removes the overlay from memory when closed. Defaults to ",[933,1266,1251],{},[1172,1268,1269],{"id":1099},"open()",[929,1271,1272],{},[933,1273,1274,1276,1278,1281,1283,1286,1288,1291,1294,1297,1299,1301,1304,1307,1309,1311],{"className":1159,"language":1160,"style":948},[952,1275,1099],{"class":1163},[952,1277,1183],{"class":958},[952,1279,1280],{"class":1186},"id",[952,1282,1190],{"class":958},[952,1284,1285],{"class":1163}," symbol",[952,1287,1196],{"class":958},[952,1289,1290],{"class":1186}," props",[952,1292,1293],{"class":958},"?:",[952,1295,1296],{"class":1163}," ComponentProps",[952,1298,959],{"class":958},[952,1300,1225],{"class":1163},[952,1302,1303],{"class":958},">):",[952,1305,1306],{"class":1163}," OpenedOverlay",[952,1308,959],{"class":958},[952,1310,1225],{"class":1163},[952,1312,1313],{"class":958},">",[929,1315,1316,1317,1059],{},"Open an overlay by its ",[933,1318,1280],{},[1215,1320,1218],{"id":1321},"parameters-1",[1220,1323,1324,1330],{},[1223,1325,1327],{"name":1280,"type":1326,":required":1226,"required":21},"symbol",[929,1328,1329],{},"The identifier of the overlay.",[1223,1331,1333],{"name":1254,"type":1332},"ComponentProps\u003CT>",[929,1334,1258],{},[1172,1336,1337],{"id":1148},"close()",[929,1339,1340],{},[933,1341,1342,1344,1346,1348,1350,1352,1354,1357,1359,1362,1364],{"className":1159,"language":1160,"style":948},[952,1343,1148],{"class":1163},[952,1345,1183],{"class":958},[952,1347,1280],{"class":1186},[952,1349,1190],{"class":958},[952,1351,1285],{"class":1163},[952,1353,1196],{"class":958},[952,1355,1356],{"class":1186}," value",[952,1358,1293],{"class":958},[952,1360,1361],{"class":1163}," any",[952,1363,1207],{"class":958},[952,1365,1366],{"class":1163}," void",[929,1368,1369,1370,1059],{},"Close an overlay by its ",[933,1371,1280],{},[1215,1373,1218],{"id":1374},"parameters-2",[1220,1376,1377,1381],{},[1223,1378,1379],{"name":1280,"type":1326,":required":1226,"required":21},[929,1380,1329],{},[1223,1382,1385],{"name":1383,"type":1384},"value","any",[929,1386,1387],{},"A value to resolve the overlay promise with.",[1172,1389,1391],{"id":1390},"closeall","closeAll()",[929,1393,1394],{},[933,1395,1396,1399,1402],{"className":1159,"language":1160,"style":948},[952,1397,1398],{"class":1163},"closeAll",[952,1400,1401],{"class":958},"():",[952,1403,1366],{"class":1163},[929,1405,1406],{},"Close all open overlays.",[1172,1408,1410],{"id":1409},"patch","patch()",[929,1412,1413],{},[933,1414,1415,1417,1419,1421,1423,1425,1427,1429,1431,1434,1436,1438,1440,1442,1445],{"className":1159,"language":1160,"style":948},[952,1416,1409],{"class":1163},[952,1418,1183],{"class":958},[952,1420,1280],{"class":1186},[952,1422,1190],{"class":958},[952,1424,1285],{"class":1163},[952,1426,1196],{"class":958},[952,1428,1290],{"class":1186},[952,1430,1190],{"class":958},[952,1432,1433],{"class":1163}," Partial",[952,1435,959],{"class":958},[952,1437,1255],{"class":1163},[952,1439,959],{"class":958},[952,1441,1225],{"class":1163},[952,1443,1444],{"class":958},">>):",[952,1446,1366],{"class":1163},[929,1448,1449,1450,1059],{},"Update an overlay by its ",[933,1451,1280],{},[1215,1453,1218],{"id":1454},"parameters-3",[1220,1456,1457,1461],{},[1223,1458,1459],{"name":1280,"type":1326,":required":1226,"required":21},[929,1460,1329],{},[1223,1462,1464],{"name":1254,"type":1463,":required":1226,"required":21},"Partial\u003CComponentProps\u003CT>>",[929,1465,1466],{},"An object of props to update on the rendered component.",[1172,1468,1470],{"id":1469},"unmount","unmount()",[929,1472,1473],{},[933,1474,1475,1477,1479,1481,1483,1485,1487],{"className":1159,"language":1160,"style":948},[952,1476,1469],{"class":1163},[952,1478,1183],{"class":958},[952,1480,1280],{"class":1186},[952,1482,1190],{"class":958},[952,1484,1285],{"class":1163},[952,1486,1207],{"class":958},[952,1488,1366],{"class":1163},[929,1490,1491,1492,1059],{},"Remove an overlay from the DOM by its ",[933,1493,1280],{},[1215,1495,1218],{"id":1496},"parameters-4",[1220,1498,1499],{},[1223,1500,1501],{"name":1280,"type":1326,":required":1226,"required":21},[929,1502,1329],{},[1172,1504,1506],{"id":1505},"isopen","isOpen()",[929,1508,1509],{},[933,1510,1511,1514,1516,1518,1520,1522,1524],{"className":1159,"language":1160,"style":948},[952,1512,1513],{"class":1163},"isOpen",[952,1515,1183],{"class":958},[952,1517,1280],{"class":1186},[952,1519,1190],{"class":958},[952,1521,1285],{"class":1163},[952,1523,1207],{"class":958},[952,1525,1526],{"class":1163}," boolean",[929,1528,1529,1530,1059],{},"Check if an overlay is open using its ",[933,1531,1280],{},[1215,1533,1218],{"id":1534},"parameters-5",[1220,1536,1537],{},[1223,1538,1539],{"name":1280,"type":1326,":required":1226,"required":21},[929,1540,1329],{},[1172,1542,1543],{"id":1543},"overlays",[929,1545,1546],{},[933,1547,1548,1550,1552,1555],{"className":1159,"language":1160,"style":948},[952,1549,1543],{"class":1163},[952,1551,1190],{"class":958},[952,1553,1554],{"class":1163}," Overlay",[952,1556,1557],{"class":998},"[]",[929,1559,1560],{},"In-memory list of all overlays that were created.",[924,1562,1564],{"id":1563},"instance-api","Instance API",[1172,1566,1269],{"id":1567},"open-1",[929,1569,1570],{},[933,1571,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594],{"className":1159,"language":1160,"style":948},[952,1573,1099],{"class":1163},[952,1575,1183],{"class":958},[952,1577,1254],{"class":1186},[952,1579,1293],{"class":958},[952,1581,1296],{"class":1163},[952,1583,959],{"class":958},[952,1585,1225],{"class":1163},[952,1587,1303],{"class":958},[952,1589,1306],{"class":1163},[952,1591,959],{"class":958},[952,1593,1225],{"class":1163},[952,1595,1313],{"class":958},[929,1597,1598,1599,1602,1603,1605],{},"Open the overlay. Returns an ",[933,1600,1601],{},"OpenedOverlay"," which is a Promise that resolves with the value emitted by the ",[933,1604,1148],{}," event.",[1215,1607,1218],{"id":1608},"parameters-6",[1220,1610,1611],{},[1223,1612,1613],{"name":1254,"type":1332},[929,1614,1258],{},[944,1616,1618],{"className":946,"code":1617,"language":34,"meta":948,"style":948},"\u003Cscript setup lang=\"ts\">\nimport { LazyModalExample } from '#components'\n\nconst overlay = useOverlay()\n\nconst modal = overlay.create(LazyModalExample)\n\nfunction openModal() {\n  modal.open({\n    title: 'Welcome'\n  })\n}\n\u003C/script>\n",[933,1619,1620,1640,1658,1662,1674,1678,1694,1698,1709,1722,1736,1744,1749],{"__ignoreMap":948},[952,1621,1622,1624,1626,1628,1630,1632,1634,1636,1638],{"class":954,"line":955},[952,1623,959],{"class":958},[952,1625,963],{"class":962},[952,1627,967],{"class":966},[952,1629,970],{"class":966},[952,1631,973],{"class":958},[952,1633,976],{"class":958},[952,1635,980],{"class":979},[952,1637,976],{"class":958},[952,1639,985],{"class":958},[952,1641,1642,1644,1646,1648,1650,1652,1654,1656],{"class":954,"line":988},[952,1643,992],{"class":991},[952,1645,995],{"class":958},[952,1647,999],{"class":998},[952,1649,1002],{"class":958},[952,1651,1005],{"class":991},[952,1653,1008],{"class":958},[952,1655,1011],{"class":979},[952,1657,1014],{"class":958},[952,1659,1660],{"class":954,"line":1017},[952,1661,1020],{"emptyLinePlaceholder":21},[952,1663,1664,1666,1668,1670,1672],{"class":954,"line":1023},[952,1665,1026],{"class":966},[952,1667,1029],{"class":998},[952,1669,973],{"class":958},[952,1671,1035],{"class":1034},[952,1673,1038],{"class":998},[952,1675,1676],{"class":954,"line":1041},[952,1677,1020],{"emptyLinePlaceholder":21},[952,1679,1680,1682,1684,1686,1688,1690,1692],{"class":954,"line":1046},[952,1681,1026],{"class":966},[952,1683,1051],{"class":998},[952,1685,973],{"class":958},[952,1687,1056],{"class":998},[952,1689,1059],{"class":958},[952,1691,1062],{"class":1034},[952,1693,1065],{"class":998},[952,1695,1696],{"class":954,"line":1068},[952,1697,1020],{"emptyLinePlaceholder":21},[952,1699,1700,1703,1705,1707],{"class":954,"line":1073},[952,1701,1702],{"class":966},"function",[952,1704,1082],{"class":1034},[952,1706,1085],{"class":958},[952,1708,1088],{"class":958},[952,1710,1711,1713,1715,1717,1719],{"class":954,"line":1091},[952,1712,1094],{"class":998},[952,1714,1059],{"class":958},[952,1716,1099],{"class":1034},[952,1718,1183],{"class":962},[952,1720,1721],{"class":958},"{\n",[952,1723,1724,1727,1729,1731,1734],{"class":954,"line":1104},[952,1725,1726],{"class":962},"    title",[952,1728,1190],{"class":958},[952,1730,1008],{"class":958},[952,1732,1733],{"class":979},"Welcome",[952,1735,1014],{"class":958},[952,1737,1738,1741],{"class":954,"line":1110},[952,1739,1740],{"class":958},"  }",[952,1742,1743],{"class":962},")\n",[952,1745,1747],{"class":954,"line":1746},12,[952,1748,1107],{"class":958},[952,1750,1752,1754,1756],{"class":954,"line":1751},13,[952,1753,1113],{"class":958},[952,1755,963],{"class":962},[952,1757,985],{"class":958},[1172,1759,1337],{"id":1760},"close-1",[929,1762,1763],{},[933,1764,1765,1767,1769,1771,1773,1775,1777],{"className":1159,"language":1160,"style":948},[952,1766,1148],{"class":1163},[952,1768,1183],{"class":958},[952,1770,1383],{"class":1186},[952,1772,1293],{"class":958},[952,1774,1361],{"class":1163},[952,1776,1207],{"class":958},[952,1778,1366],{"class":1163},[929,1780,1781],{},"Close the overlay.",[1215,1783,1218],{"id":1784},"parameters-7",[1220,1786,1787],{},[1223,1788,1789],{"name":1383,"type":1384},[929,1790,1387],{},[1172,1792,1410],{"id":1793},"patch-1",[929,1795,1796],{},[933,1797,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818],{"className":1159,"language":1160,"style":948},[952,1799,1409],{"class":1163},[952,1801,1183],{"class":958},[952,1803,1254],{"class":1186},[952,1805,1190],{"class":958},[952,1807,1433],{"class":1163},[952,1809,959],{"class":958},[952,1811,1255],{"class":1163},[952,1813,959],{"class":958},[952,1815,1225],{"class":1163},[952,1817,1444],{"class":958},[952,1819,1366],{"class":1163},[929,1821,1822],{},"Update the props of the overlay.",[1215,1824,1218],{"id":1825},"parameters-8",[1220,1827,1828],{},[1223,1829,1830],{"name":1254,"type":1463,":required":1226,"required":21},[929,1831,1466],{},[944,1833,1835],{"className":946,"code":1834,"language":34,"meta":948,"style":948},"\u003Cscript setup lang=\"ts\">\nimport { LazyModalExample } from '#components'\n\nconst overlay = useOverlay()\n\nconst modal = overlay.create(LazyModalExample, {\n  props: { title: 'Welcome' }\n})\n\nfunction openModal() {\n  modal.open()\n}\n\nfunction updateModalTitle() {\n  modal.patch({ title: 'Updated Title' })\n}\n\u003C/script>\n",[933,1836,1837,1857,1875,1879,1891,1895,1916,1940,1947,1951,1961,1971,1975,1979,1991,2020,2025],{"__ignoreMap":948},[952,1838,1839,1841,1843,1845,1847,1849,1851,1853,1855],{"class":954,"line":955},[952,1840,959],{"class":958},[952,1842,963],{"class":962},[952,1844,967],{"class":966},[952,1846,970],{"class":966},[952,1848,973],{"class":958},[952,1850,976],{"class":958},[952,1852,980],{"class":979},[952,1854,976],{"class":958},[952,1856,985],{"class":958},[952,1858,1859,1861,1863,1865,1867,1869,1871,1873],{"class":954,"line":988},[952,1860,992],{"class":991},[952,1862,995],{"class":958},[952,1864,999],{"class":998},[952,1866,1002],{"class":958},[952,1868,1005],{"class":991},[952,1870,1008],{"class":958},[952,1872,1011],{"class":979},[952,1874,1014],{"class":958},[952,1876,1877],{"class":954,"line":1017},[952,1878,1020],{"emptyLinePlaceholder":21},[952,1880,1881,1883,1885,1887,1889],{"class":954,"line":1023},[952,1882,1026],{"class":966},[952,1884,1029],{"class":998},[952,1886,973],{"class":958},[952,1888,1035],{"class":1034},[952,1890,1038],{"class":998},[952,1892,1893],{"class":954,"line":1041},[952,1894,1020],{"emptyLinePlaceholder":21},[952,1896,1897,1899,1901,1903,1905,1907,1909,1912,1914],{"class":954,"line":1046},[952,1898,1026],{"class":966},[952,1900,1051],{"class":998},[952,1902,973],{"class":958},[952,1904,1056],{"class":998},[952,1906,1059],{"class":958},[952,1908,1062],{"class":1034},[952,1910,1911],{"class":998},"(LazyModalExample",[952,1913,1196],{"class":958},[952,1915,1088],{"class":958},[952,1917,1918,1921,1923,1925,1928,1930,1932,1934,1937],{"class":954,"line":1068},[952,1919,1920],{"class":962},"  props",[952,1922,1190],{"class":958},[952,1924,995],{"class":958},[952,1926,1927],{"class":962}," title",[952,1929,1190],{"class":958},[952,1931,1008],{"class":958},[952,1933,1733],{"class":979},[952,1935,1936],{"class":958},"'",[952,1938,1939],{"class":958}," }\n",[952,1941,1942,1945],{"class":954,"line":1073},[952,1943,1944],{"class":958},"}",[952,1946,1743],{"class":998},[952,1948,1949],{"class":954,"line":1091},[952,1950,1020],{"emptyLinePlaceholder":21},[952,1952,1953,1955,1957,1959],{"class":954,"line":1104},[952,1954,1702],{"class":966},[952,1956,1082],{"class":1034},[952,1958,1085],{"class":958},[952,1960,1088],{"class":958},[952,1962,1963,1965,1967,1969],{"class":954,"line":1110},[952,1964,1094],{"class":998},[952,1966,1059],{"class":958},[952,1968,1099],{"class":1034},[952,1970,1038],{"class":962},[952,1972,1973],{"class":954,"line":1746},[952,1974,1107],{"class":958},[952,1976,1977],{"class":954,"line":1751},[952,1978,1020],{"emptyLinePlaceholder":21},[952,1980,1982,1984,1987,1989],{"class":954,"line":1981},14,[952,1983,1702],{"class":966},[952,1985,1986],{"class":1034}," updateModalTitle",[952,1988,1085],{"class":958},[952,1990,1088],{"class":958},[952,1992,1994,1996,1998,2000,2002,2005,2007,2009,2011,2014,2016,2018],{"class":954,"line":1993},15,[952,1995,1094],{"class":998},[952,1997,1059],{"class":958},[952,1999,1409],{"class":1034},[952,2001,1183],{"class":962},[952,2003,2004],{"class":958},"{",[952,2006,1927],{"class":962},[952,2008,1190],{"class":958},[952,2010,1008],{"class":958},[952,2012,2013],{"class":979},"Updated Title",[952,2015,1936],{"class":958},[952,2017,1002],{"class":958},[952,2019,1743],{"class":962},[952,2021,2023],{"class":954,"line":2022},16,[952,2024,1107],{"class":958},[952,2026,2028,2030,2032],{"class":954,"line":2027},17,[952,2029,1113],{"class":958},[952,2031,963],{"class":962},[952,2033,985],{"class":958},[924,2035,2037],{"id":2036},"examples","Examples",[1172,2039,2041],{"id":2040},"with-multiple-overlays","With multiple overlays",[929,2043,2044],{},"This example demonstrates how to manage multiple overlays and pass data between them:",[944,2046,2048],{"className":946,"code":2047,"language":34,"meta":948,"style":948},"\u003Cscript setup lang=\"ts\">\nimport { ModalA, ModalB, SlideoverA } from '#components'\n\nconst overlay = useOverlay()\n\n// Create with default props\nconst modalA = overlay.create(ModalA, { props: { title: 'Welcome' } })\nconst modalB = overlay.create(ModalB)\nconst slideoverA = overlay.create(SlideoverA)\n\nconst openModalA = () => {\n  // Open modalA, but override the title prop\n  modalA.open({ title: 'Hello' })\n}\n\nconst openModalB = async () => {\n  // Open modalB, and wait for its result\n  const input = await modalB.open()\n\n  // Pass the result from modalB to the slideover, and open it\n  slideoverA.open({ input })\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUButton label=\"Open Modal\" @click=\"openModalA\" />\n\u003C/template>\n",[933,2049,2050,2070,2099,2103,2115,2119,2125,2169,2187,2205,2209,2226,2231,2259,2263,2267,2285,2290,2314,2319,2325,2345,2350,2359,2364,2374,2410],{"__ignoreMap":948},[952,2051,2052,2054,2056,2058,2060,2062,2064,2066,2068],{"class":954,"line":955},[952,2053,959],{"class":958},[952,2055,963],{"class":962},[952,2057,967],{"class":966},[952,2059,970],{"class":966},[952,2061,973],{"class":958},[952,2063,976],{"class":958},[952,2065,980],{"class":979},[952,2067,976],{"class":958},[952,2069,985],{"class":958},[952,2071,2072,2074,2076,2079,2081,2084,2086,2089,2091,2093,2095,2097],{"class":954,"line":988},[952,2073,992],{"class":991},[952,2075,995],{"class":958},[952,2077,2078],{"class":998}," ModalA",[952,2080,1196],{"class":958},[952,2082,2083],{"class":998}," ModalB",[952,2085,1196],{"class":958},[952,2087,2088],{"class":998}," SlideoverA",[952,2090,1002],{"class":958},[952,2092,1005],{"class":991},[952,2094,1008],{"class":958},[952,2096,1011],{"class":979},[952,2098,1014],{"class":958},[952,2100,2101],{"class":954,"line":1017},[952,2102,1020],{"emptyLinePlaceholder":21},[952,2104,2105,2107,2109,2111,2113],{"class":954,"line":1023},[952,2106,1026],{"class":966},[952,2108,1029],{"class":998},[952,2110,973],{"class":958},[952,2112,1035],{"class":1034},[952,2114,1038],{"class":998},[952,2116,2117],{"class":954,"line":1041},[952,2118,1020],{"emptyLinePlaceholder":21},[952,2120,2121],{"class":954,"line":1046},[952,2122,2124],{"class":2123},"sHwdD","// Create with default props\n",[952,2126,2127,2129,2132,2134,2136,2138,2140,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167],{"class":954,"line":1068},[952,2128,1026],{"class":966},[952,2130,2131],{"class":998}," modalA ",[952,2133,973],{"class":958},[952,2135,1056],{"class":998},[952,2137,1059],{"class":958},[952,2139,1062],{"class":1034},[952,2141,2142],{"class":998},"(ModalA",[952,2144,1196],{"class":958},[952,2146,995],{"class":958},[952,2148,1290],{"class":962},[952,2150,1190],{"class":958},[952,2152,995],{"class":958},[952,2154,1927],{"class":962},[952,2156,1190],{"class":958},[952,2158,1008],{"class":958},[952,2160,1733],{"class":979},[952,2162,1936],{"class":958},[952,2164,1002],{"class":958},[952,2166,1002],{"class":958},[952,2168,1743],{"class":998},[952,2170,2171,2173,2176,2178,2180,2182,2184],{"class":954,"line":1073},[952,2172,1026],{"class":966},[952,2174,2175],{"class":998}," modalB ",[952,2177,973],{"class":958},[952,2179,1056],{"class":998},[952,2181,1059],{"class":958},[952,2183,1062],{"class":1034},[952,2185,2186],{"class":998},"(ModalB)\n",[952,2188,2189,2191,2194,2196,2198,2200,2202],{"class":954,"line":1091},[952,2190,1026],{"class":966},[952,2192,2193],{"class":998}," slideoverA ",[952,2195,973],{"class":958},[952,2197,1056],{"class":998},[952,2199,1059],{"class":958},[952,2201,1062],{"class":1034},[952,2203,2204],{"class":998},"(SlideoverA)\n",[952,2206,2207],{"class":954,"line":1104},[952,2208,1020],{"emptyLinePlaceholder":21},[952,2210,2211,2213,2216,2218,2221,2224],{"class":954,"line":1110},[952,2212,1026],{"class":966},[952,2214,2215],{"class":998}," openModalA ",[952,2217,973],{"class":958},[952,2219,2220],{"class":958}," ()",[952,2222,2223],{"class":966}," =>",[952,2225,1088],{"class":958},[952,2227,2228],{"class":954,"line":1746},[952,2229,2230],{"class":2123},"  // Open modalA, but override the title prop\n",[952,2232,2233,2236,2238,2240,2242,2244,2246,2248,2250,2253,2255,2257],{"class":954,"line":1751},[952,2234,2235],{"class":998},"  modalA",[952,2237,1059],{"class":958},[952,2239,1099],{"class":1034},[952,2241,1183],{"class":962},[952,2243,2004],{"class":958},[952,2245,1927],{"class":962},[952,2247,1190],{"class":958},[952,2249,1008],{"class":958},[952,2251,2252],{"class":979},"Hello",[952,2254,1936],{"class":958},[952,2256,1002],{"class":958},[952,2258,1743],{"class":962},[952,2260,2261],{"class":954,"line":1981},[952,2262,1107],{"class":958},[952,2264,2265],{"class":954,"line":1993},[952,2266,1020],{"emptyLinePlaceholder":21},[952,2268,2269,2271,2274,2276,2279,2281,2283],{"class":954,"line":2022},[952,2270,1026],{"class":966},[952,2272,2273],{"class":998}," openModalB ",[952,2275,973],{"class":958},[952,2277,2278],{"class":966}," async",[952,2280,2220],{"class":958},[952,2282,2223],{"class":966},[952,2284,1088],{"class":958},[952,2286,2287],{"class":954,"line":2027},[952,2288,2289],{"class":2123},"  // Open modalB, and wait for its result\n",[952,2291,2293,2296,2299,2302,2305,2308,2310,2312],{"class":954,"line":2292},18,[952,2294,2295],{"class":966},"  const",[952,2297,2298],{"class":998}," input",[952,2300,2301],{"class":958}," =",[952,2303,2304],{"class":991}," await",[952,2306,2307],{"class":998}," modalB",[952,2309,1059],{"class":958},[952,2311,1099],{"class":1034},[952,2313,1038],{"class":962},[952,2315,2317],{"class":954,"line":2316},19,[952,2318,1020],{"emptyLinePlaceholder":21},[952,2320,2322],{"class":954,"line":2321},20,[952,2323,2324],{"class":2123},"  // Pass the result from modalB to the slideover, and open it\n",[952,2326,2328,2331,2333,2335,2337,2339,2341,2343],{"class":954,"line":2327},21,[952,2329,2330],{"class":998},"  slideoverA",[952,2332,1059],{"class":958},[952,2334,1099],{"class":1034},[952,2336,1183],{"class":962},[952,2338,2004],{"class":958},[952,2340,2298],{"class":998},[952,2342,1002],{"class":958},[952,2344,1743],{"class":962},[952,2346,2348],{"class":954,"line":2347},22,[952,2349,1107],{"class":958},[952,2351,2353,2355,2357],{"class":954,"line":2352},23,[952,2354,1113],{"class":958},[952,2356,963],{"class":962},[952,2358,985],{"class":958},[952,2360,2362],{"class":954,"line":2361},24,[952,2363,1020],{"emptyLinePlaceholder":21},[952,2365,2367,2369,2372],{"class":954,"line":2366},25,[952,2368,959],{"class":958},[952,2370,2371],{"class":962},"template",[952,2373,985],{"class":958},[952,2375,2377,2380,2383,2386,2388,2390,2393,2395,2398,2400,2402,2405,2407],{"class":954,"line":2376},26,[952,2378,2379],{"class":958},"  \u003C",[952,2381,2382],{"class":962},"UButton",[952,2384,2385],{"class":966}," label",[952,2387,973],{"class":958},[952,2389,976],{"class":958},[952,2391,2392],{"class":979},"Open Modal",[952,2394,976],{"class":958},[952,2396,2397],{"class":966}," @click",[952,2399,973],{"class":958},[952,2401,976],{"class":958},[952,2403,2404],{"class":979},"openModalA",[952,2406,976],{"class":958},[952,2408,2409],{"class":958}," />\n",[952,2411,2413,2415,2417],{"class":954,"line":2412},27,[952,2414,1113],{"class":958},[952,2416,2371],{"class":962},[952,2418,985],{"class":958},[1172,2420,2422],{"id":2421},"confirm-dialog","Confirm dialog",[929,2424,2425,2426,2429,2430,2432],{},"This example demonstrates how to create a reusable confirm dialog pattern using a custom ",[933,2427,2428],{},"useConfirmDialog"," composable that wraps ",[933,2431,808],{},". This approach enables opinionated dialogs tailored to specific business requirements and design preferences.",[2434,2435,2436],"ol",{},[1122,2437,2438,2439,2442],{},"Create a ",[933,2440,2441],{},"ConfirmDialog"," component that emits a boolean value when closed:",[944,2444,2447],{"className":946,"code":2445,"filename":2446,"language":34,"meta":948,"style":948},"\u003Cscript lang=\"ts\" setup>\ninterface ConfirmDialogProps {\n  title?: string\n  description?: string\n}\n\ndefineProps\u003CConfirmDialogProps>()\n\nconst emits = defineEmits\u003C{\n  close: [value: boolean]\n}>()\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUModal\n    :title=\"title\"\n    :description=\"description\"\n    :dismissible=\"false\"\n    :ui=\"{ footer: 'justify-end' }\"\n  >\n    \u003Ctemplate #footer>\n      \u003CUButton label=\"Cancel\" color=\"neutral\" variant=\"outline\" @click=\"emits('close', false)\" />\n      \u003CUButton label=\"Confirm\" color=\"neutral\" @click=\"emits('close', true)\" />\n    \u003C/template>\n  \u003C/UModal>\n\u003C/template>\n","components/ConfirmDialog.vue",[933,2448,2449,2469,2479,2489,2498,2502,2506,2520,2524,2539,2558,2565,2573,2577,2585,2592,2607,2621,2634,2648,2653,2668,2723,2763,2772,2782],{"__ignoreMap":948},[952,2450,2451,2453,2455,2457,2459,2461,2463,2465,2467],{"class":954,"line":955},[952,2452,959],{"class":958},[952,2454,963],{"class":962},[952,2456,970],{"class":966},[952,2458,973],{"class":958},[952,2460,976],{"class":958},[952,2462,980],{"class":979},[952,2464,976],{"class":958},[952,2466,967],{"class":966},[952,2468,985],{"class":958},[952,2470,2471,2474,2477],{"class":954,"line":988},[952,2472,2473],{"class":966},"interface",[952,2475,2476],{"class":1163}," ConfirmDialogProps",[952,2478,1088],{"class":958},[952,2480,2481,2484,2486],{"class":954,"line":1017},[952,2482,2483],{"class":962},"  title",[952,2485,1293],{"class":958},[952,2487,2488],{"class":1163}," string\n",[952,2490,2491,2494,2496],{"class":954,"line":1023},[952,2492,2493],{"class":962},"  description",[952,2495,1293],{"class":958},[952,2497,2488],{"class":1163},[952,2499,2500],{"class":954,"line":1041},[952,2501,1107],{"class":958},[952,2503,2504],{"class":954,"line":1046},[952,2505,1020],{"emptyLinePlaceholder":21},[952,2507,2508,2511,2513,2516,2518],{"class":954,"line":1068},[952,2509,2510],{"class":1034},"defineProps",[952,2512,959],{"class":958},[952,2514,2515],{"class":1163},"ConfirmDialogProps",[952,2517,1313],{"class":958},[952,2519,1038],{"class":998},[952,2521,2522],{"class":954,"line":1073},[952,2523,1020],{"emptyLinePlaceholder":21},[952,2525,2526,2528,2531,2533,2536],{"class":954,"line":1091},[952,2527,1026],{"class":966},[952,2529,2530],{"class":998}," emits ",[952,2532,973],{"class":958},[952,2534,2535],{"class":1034}," defineEmits",[952,2537,2538],{"class":958},"\u003C{\n",[952,2540,2541,2544,2546,2549,2551,2553,2555],{"class":954,"line":1104},[952,2542,2543],{"class":962},"  close",[952,2545,1190],{"class":958},[952,2547,2548],{"class":998}," [",[952,2550,1383],{"class":1163},[952,2552,1190],{"class":958},[952,2554,1526],{"class":1163},[952,2556,2557],{"class":998},"]\n",[952,2559,2560,2563],{"class":954,"line":1110},[952,2561,2562],{"class":958},"}>",[952,2564,1038],{"class":998},[952,2566,2567,2569,2571],{"class":954,"line":1746},[952,2568,1113],{"class":958},[952,2570,963],{"class":962},[952,2572,985],{"class":958},[952,2574,2575],{"class":954,"line":1751},[952,2576,1020],{"emptyLinePlaceholder":21},[952,2578,2579,2581,2583],{"class":954,"line":1981},[952,2580,959],{"class":958},[952,2582,2371],{"class":962},[952,2584,985],{"class":958},[952,2586,2587,2589],{"class":954,"line":1993},[952,2588,2379],{"class":958},[952,2590,2591],{"class":962},"UModal\n",[952,2593,2594,2597,2599,2601,2604],{"class":954,"line":2022},[952,2595,2596],{"class":966},"    :title",[952,2598,973],{"class":958},[952,2600,976],{"class":958},[952,2602,2603],{"class":979},"title",[952,2605,2606],{"class":958},"\"\n",[952,2608,2609,2612,2614,2616,2619],{"class":954,"line":2027},[952,2610,2611],{"class":966},"    :description",[952,2613,973],{"class":958},[952,2615,976],{"class":958},[952,2617,2618],{"class":979},"description",[952,2620,2606],{"class":958},[952,2622,2623,2626,2628,2630,2632],{"class":954,"line":2292},[952,2624,2625],{"class":966},"    :dismissible",[952,2627,973],{"class":958},[952,2629,976],{"class":958},[952,2631,1251],{"class":979},[952,2633,2606],{"class":958},[952,2635,2636,2639,2641,2643,2646],{"class":954,"line":2316},[952,2637,2638],{"class":966},"    :ui",[952,2640,973],{"class":958},[952,2642,976],{"class":958},[952,2644,2645],{"class":979},"{ footer: 'justify-end' }",[952,2647,2606],{"class":958},[952,2649,2650],{"class":954,"line":2321},[952,2651,2652],{"class":958},"  >\n",[952,2654,2655,2658,2660,2663,2666],{"class":954,"line":2327},[952,2656,2657],{"class":958},"    \u003C",[952,2659,2371],{"class":962},[952,2661,2662],{"class":958}," #",[952,2664,2665],{"class":966},"footer",[952,2667,985],{"class":958},[952,2669,2670,2673,2675,2677,2679,2681,2684,2686,2689,2691,2693,2696,2698,2701,2703,2705,2708,2710,2712,2714,2716,2719,2721],{"class":954,"line":2347},[952,2671,2672],{"class":958},"      \u003C",[952,2674,2382],{"class":962},[952,2676,2385],{"class":966},[952,2678,973],{"class":958},[952,2680,976],{"class":958},[952,2682,2683],{"class":979},"Cancel",[952,2685,976],{"class":958},[952,2687,2688],{"class":966}," color",[952,2690,973],{"class":958},[952,2692,976],{"class":958},[952,2694,2695],{"class":979},"neutral",[952,2697,976],{"class":958},[952,2699,2700],{"class":966}," variant",[952,2702,973],{"class":958},[952,2704,976],{"class":958},[952,2706,2707],{"class":979},"outline",[952,2709,976],{"class":958},[952,2711,2397],{"class":966},[952,2713,973],{"class":958},[952,2715,976],{"class":958},[952,2717,2718],{"class":979},"emits('close', false)",[952,2720,976],{"class":958},[952,2722,2409],{"class":958},[952,2724,2725,2727,2729,2731,2733,2735,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2759,2761],{"class":954,"line":2352},[952,2726,2672],{"class":958},[952,2728,2382],{"class":962},[952,2730,2385],{"class":966},[952,2732,973],{"class":958},[952,2734,976],{"class":958},[952,2736,2737],{"class":979},"Confirm",[952,2739,976],{"class":958},[952,2741,2688],{"class":966},[952,2743,973],{"class":958},[952,2745,976],{"class":958},[952,2747,2695],{"class":979},[952,2749,976],{"class":958},[952,2751,2397],{"class":966},[952,2753,973],{"class":958},[952,2755,976],{"class":958},[952,2757,2758],{"class":979},"emits('close', true)",[952,2760,976],{"class":958},[952,2762,2409],{"class":958},[952,2764,2765,2768,2770],{"class":954,"line":2361},[952,2766,2767],{"class":958},"    \u003C/",[952,2769,2371],{"class":962},[952,2771,985],{"class":958},[952,2773,2774,2777,2780],{"class":954,"line":2366},[952,2775,2776],{"class":958},"  \u003C/",[952,2778,2779],{"class":962},"UModal",[952,2781,985],{"class":958},[952,2783,2784,2786,2788],{"class":954,"line":2376},[952,2785,1113],{"class":958},[952,2787,2371],{"class":962},[952,2789,985],{"class":958},[2434,2791,2792],{"start":988},[1122,2793,2438,2794,2796],{},[933,2795,2428],{}," composable that returns a Promise:",[944,2798,2802],{"className":2799,"code":2800,"filename":2801,"language":980,"meta":948,"style":948},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { ConfirmDialog } from '#components'\n\nexport interface ConfirmDialogOptions {\n  title: string\n  description?: string\n}\n\nexport const useConfirmDialog = () => {\n  const overlay = useOverlay()\n\n  return (options: ConfirmDialogOptions): Promise\u003Cboolean> => {\n    const modal = overlay.create(ConfirmDialog, {\n      destroyOnClose: true,\n      props: options\n    })\n\n    return modal.open()\n  }\n}\n","composables/useConfirmDialog.ts",[933,2803,2804,2823,2827,2840,2848,2856,2860,2864,2882,2894,2898,2927,2951,2965,2975,2982,2986,2999,3004],{"__ignoreMap":948},[952,2805,2806,2808,2810,2813,2815,2817,2819,2821],{"class":954,"line":955},[952,2807,992],{"class":991},[952,2809,995],{"class":958},[952,2811,2812],{"class":998}," ConfirmDialog",[952,2814,1002],{"class":958},[952,2816,1005],{"class":991},[952,2818,1008],{"class":958},[952,2820,1011],{"class":979},[952,2822,1014],{"class":958},[952,2824,2825],{"class":954,"line":988},[952,2826,1020],{"emptyLinePlaceholder":21},[952,2828,2829,2832,2835,2838],{"class":954,"line":1017},[952,2830,2831],{"class":991},"export",[952,2833,2834],{"class":966}," interface",[952,2836,2837],{"class":1163}," ConfirmDialogOptions",[952,2839,1088],{"class":958},[952,2841,2842,2844,2846],{"class":954,"line":1023},[952,2843,2483],{"class":962},[952,2845,1190],{"class":958},[952,2847,2488],{"class":1163},[952,2849,2850,2852,2854],{"class":954,"line":1041},[952,2851,2493],{"class":962},[952,2853,1293],{"class":958},[952,2855,2488],{"class":1163},[952,2857,2858],{"class":954,"line":1046},[952,2859,1107],{"class":958},[952,2861,2862],{"class":954,"line":1068},[952,2863,1020],{"emptyLinePlaceholder":21},[952,2865,2866,2868,2871,2874,2876,2878,2880],{"class":954,"line":1073},[952,2867,2831],{"class":991},[952,2869,2870],{"class":966}," const",[952,2872,2873],{"class":998}," useConfirmDialog ",[952,2875,973],{"class":958},[952,2877,2220],{"class":958},[952,2879,2223],{"class":966},[952,2881,1088],{"class":958},[952,2883,2884,2886,2888,2890,2892],{"class":954,"line":1091},[952,2885,2295],{"class":966},[952,2887,1056],{"class":998},[952,2889,2301],{"class":958},[952,2891,1035],{"class":1034},[952,2893,1038],{"class":962},[952,2895,2896],{"class":954,"line":1104},[952,2897,1020],{"emptyLinePlaceholder":21},[952,2899,2900,2903,2906,2908,2910,2912,2914,2917,2919,2921,2923,2925],{"class":954,"line":1110},[952,2901,2902],{"class":991},"  return",[952,2904,2905],{"class":958}," (",[952,2907,1232],{"class":1186},[952,2909,1190],{"class":958},[952,2911,2837],{"class":1163},[952,2913,1207],{"class":958},[952,2915,2916],{"class":1163}," Promise",[952,2918,959],{"class":958},[952,2920,1245],{"class":1163},[952,2922,1313],{"class":958},[952,2924,2223],{"class":966},[952,2926,1088],{"class":958},[952,2928,2929,2932,2935,2937,2939,2941,2943,2945,2947,2949],{"class":954,"line":1746},[952,2930,2931],{"class":966},"    const",[952,2933,2934],{"class":998}," modal",[952,2936,2301],{"class":958},[952,2938,1056],{"class":998},[952,2940,1059],{"class":958},[952,2942,1062],{"class":1034},[952,2944,1183],{"class":962},[952,2946,2441],{"class":998},[952,2948,1196],{"class":958},[952,2950,1088],{"class":958},[952,2952,2953,2956,2958,2962],{"class":954,"line":1751},[952,2954,2955],{"class":962},"      destroyOnClose",[952,2957,1190],{"class":958},[952,2959,2961],{"class":2960},"sfNiH"," true",[952,2963,2964],{"class":958},",\n",[952,2966,2967,2970,2972],{"class":954,"line":1981},[952,2968,2969],{"class":962},"      props",[952,2971,1190],{"class":958},[952,2973,2974],{"class":998}," options\n",[952,2976,2977,2980],{"class":954,"line":1993},[952,2978,2979],{"class":958},"    }",[952,2981,1743],{"class":962},[952,2983,2984],{"class":954,"line":2022},[952,2985,1020],{"emptyLinePlaceholder":21},[952,2987,2988,2991,2993,2995,2997],{"class":954,"line":2027},[952,2989,2990],{"class":991},"    return",[952,2992,2934],{"class":998},[952,2994,1059],{"class":958},[952,2996,1099],{"class":1034},[952,2998,1038],{"class":962},[952,3000,3001],{"class":954,"line":2292},[952,3002,3003],{"class":958},"  }\n",[952,3005,3006],{"class":954,"line":2316},[952,3007,1107],{"class":958},[2434,3009,3010],{"start":1017},[1122,3011,3012],{},"Use the composable in your components:",[944,3014,3016],{"className":946,"code":3015,"language":34,"meta":948,"style":948},"\u003Cscript setup lang=\"ts\">\nconst confirm = useConfirmDialog()\n\nconst handleDelete = async () => {\n  const confirmed = await confirm({\n    title: 'Delete item',\n    description: 'Are you sure you want to delete this item?'\n  })\n\n  if (confirmed) {\n    console.log('Item deleted')\n  }\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CUButton label=\"Delete item\" @click=\"handleDelete\" />\n\u003C/template>\n",[933,3017,3018,3038,3052,3056,3073,3091,3106,3120,3126,3130,3145,3166,3170,3174,3182,3186,3194,3223],{"__ignoreMap":948},[952,3019,3020,3022,3024,3026,3028,3030,3032,3034,3036],{"class":954,"line":955},[952,3021,959],{"class":958},[952,3023,963],{"class":962},[952,3025,967],{"class":966},[952,3027,970],{"class":966},[952,3029,973],{"class":958},[952,3031,976],{"class":958},[952,3033,980],{"class":979},[952,3035,976],{"class":958},[952,3037,985],{"class":958},[952,3039,3040,3042,3045,3047,3050],{"class":954,"line":988},[952,3041,1026],{"class":966},[952,3043,3044],{"class":998}," confirm ",[952,3046,973],{"class":958},[952,3048,3049],{"class":1034}," useConfirmDialog",[952,3051,1038],{"class":998},[952,3053,3054],{"class":954,"line":1017},[952,3055,1020],{"emptyLinePlaceholder":21},[952,3057,3058,3060,3063,3065,3067,3069,3071],{"class":954,"line":1023},[952,3059,1026],{"class":966},[952,3061,3062],{"class":998}," handleDelete ",[952,3064,973],{"class":958},[952,3066,2278],{"class":966},[952,3068,2220],{"class":958},[952,3070,2223],{"class":966},[952,3072,1088],{"class":958},[952,3074,3075,3077,3080,3082,3084,3087,3089],{"class":954,"line":1041},[952,3076,2295],{"class":966},[952,3078,3079],{"class":998}," confirmed",[952,3081,2301],{"class":958},[952,3083,2304],{"class":991},[952,3085,3086],{"class":1034}," confirm",[952,3088,1183],{"class":962},[952,3090,1721],{"class":958},[952,3092,3093,3095,3097,3099,3102,3104],{"class":954,"line":1046},[952,3094,1726],{"class":962},[952,3096,1190],{"class":958},[952,3098,1008],{"class":958},[952,3100,3101],{"class":979},"Delete item",[952,3103,1936],{"class":958},[952,3105,2964],{"class":958},[952,3107,3108,3111,3113,3115,3118],{"class":954,"line":1068},[952,3109,3110],{"class":962},"    description",[952,3112,1190],{"class":958},[952,3114,1008],{"class":958},[952,3116,3117],{"class":979},"Are you sure you want to delete this item?",[952,3119,1014],{"class":958},[952,3121,3122,3124],{"class":954,"line":1073},[952,3123,1740],{"class":958},[952,3125,1743],{"class":962},[952,3127,3128],{"class":954,"line":1091},[952,3129,1020],{"emptyLinePlaceholder":21},[952,3131,3132,3135,3137,3140,3143],{"class":954,"line":1104},[952,3133,3134],{"class":991},"  if",[952,3136,2905],{"class":962},[952,3138,3139],{"class":998},"confirmed",[952,3141,3142],{"class":962},") ",[952,3144,1721],{"class":958},[952,3146,3147,3150,3152,3155,3157,3159,3162,3164],{"class":954,"line":1110},[952,3148,3149],{"class":998},"    console",[952,3151,1059],{"class":958},[952,3153,3154],{"class":1034},"log",[952,3156,1183],{"class":962},[952,3158,1936],{"class":958},[952,3160,3161],{"class":979},"Item deleted",[952,3163,1936],{"class":958},[952,3165,1743],{"class":962},[952,3167,3168],{"class":954,"line":1746},[952,3169,3003],{"class":958},[952,3171,3172],{"class":954,"line":1751},[952,3173,1107],{"class":958},[952,3175,3176,3178,3180],{"class":954,"line":1981},[952,3177,1113],{"class":958},[952,3179,963],{"class":962},[952,3181,985],{"class":958},[952,3183,3184],{"class":954,"line":1993},[952,3185,1020],{"emptyLinePlaceholder":21},[952,3187,3188,3190,3192],{"class":954,"line":2022},[952,3189,959],{"class":958},[952,3191,2371],{"class":962},[952,3193,985],{"class":958},[952,3195,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3219,3221],{"class":954,"line":2027},[952,3197,2379],{"class":958},[952,3199,2382],{"class":962},[952,3201,2385],{"class":966},[952,3203,973],{"class":958},[952,3205,976],{"class":958},[952,3207,3101],{"class":979},[952,3209,976],{"class":958},[952,3211,2397],{"class":966},[952,3213,973],{"class":958},[952,3215,976],{"class":958},[952,3217,3218],{"class":979},"handleDelete",[952,3220,976],{"class":958},[952,3222,2409],{"class":958},[952,3224,3225,3227,3229],{"class":954,"line":2292},[952,3226,1113],{"class":958},[952,3228,2371],{"class":962},[952,3230,985],{"class":958},[924,3232,3234],{"id":3233},"caveats","Caveats",[1172,3236,3238],{"id":3237},"provide-inject","Provide / Inject",[929,3240,3241,3242,3245,3246,3249,3250,3252],{},"When opening overlays programmatically (e.g. modals, slideovers, etc), the overlay component can only access injected values from the component containing ",[933,3243,3244],{},"UApp"," (typically ",[933,3247,3248],{},"app.vue"," or layout components). This is because overlays are mounted outside of the page context by the ",[933,3251,3244],{}," component.",[929,3254,3255,3256,3259],{},"As such, using ",[933,3257,3258],{},"provide()"," in pages or parent components isn't supported directly. To pass provided values to overlays, the recommended approach is to use props instead:",[944,3261,3263],{"className":946,"code":3262,"language":34,"meta":948,"style":948},"\u003Cscript setup lang=\"ts\">\nimport { LazyModalExample } from '#components'\n\nconst overlay = useOverlay()\n\nconst providedValue = inject('valueProvidedInPage')\n\nconst modal = overlay.create(LazyModalExample, {\n  props: {\n    providedValue\n  }\n})\n\u003C/script>\n",[933,3264,3265,3285,3303,3307,3319,3323,3346,3350,3370,3378,3383,3387,3393],{"__ignoreMap":948},[952,3266,3267,3269,3271,3273,3275,3277,3279,3281,3283],{"class":954,"line":955},[952,3268,959],{"class":958},[952,3270,963],{"class":962},[952,3272,967],{"class":966},[952,3274,970],{"class":966},[952,3276,973],{"class":958},[952,3278,976],{"class":958},[952,3280,980],{"class":979},[952,3282,976],{"class":958},[952,3284,985],{"class":958},[952,3286,3287,3289,3291,3293,3295,3297,3299,3301],{"class":954,"line":988},[952,3288,992],{"class":991},[952,3290,995],{"class":958},[952,3292,999],{"class":998},[952,3294,1002],{"class":958},[952,3296,1005],{"class":991},[952,3298,1008],{"class":958},[952,3300,1011],{"class":979},[952,3302,1014],{"class":958},[952,3304,3305],{"class":954,"line":1017},[952,3306,1020],{"emptyLinePlaceholder":21},[952,3308,3309,3311,3313,3315,3317],{"class":954,"line":1023},[952,3310,1026],{"class":966},[952,3312,1029],{"class":998},[952,3314,973],{"class":958},[952,3316,1035],{"class":1034},[952,3318,1038],{"class":998},[952,3320,3321],{"class":954,"line":1041},[952,3322,1020],{"emptyLinePlaceholder":21},[952,3324,3325,3327,3330,3332,3335,3337,3339,3342,3344],{"class":954,"line":1046},[952,3326,1026],{"class":966},[952,3328,3329],{"class":998}," providedValue ",[952,3331,973],{"class":958},[952,3333,3334],{"class":1034}," inject",[952,3336,1183],{"class":998},[952,3338,1936],{"class":958},[952,3340,3341],{"class":979},"valueProvidedInPage",[952,3343,1936],{"class":958},[952,3345,1743],{"class":998},[952,3347,3348],{"class":954,"line":1068},[952,3349,1020],{"emptyLinePlaceholder":21},[952,3351,3352,3354,3356,3358,3360,3362,3364,3366,3368],{"class":954,"line":1073},[952,3353,1026],{"class":966},[952,3355,1051],{"class":998},[952,3357,973],{"class":958},[952,3359,1056],{"class":998},[952,3361,1059],{"class":958},[952,3363,1062],{"class":1034},[952,3365,1911],{"class":998},[952,3367,1196],{"class":958},[952,3369,1088],{"class":958},[952,3371,3372,3374,3376],{"class":954,"line":1091},[952,3373,1920],{"class":962},[952,3375,1190],{"class":958},[952,3377,1088],{"class":958},[952,3379,3380],{"class":954,"line":1104},[952,3381,3382],{"class":998},"    providedValue\n",[952,3384,3385],{"class":954,"line":1110},[952,3386,3003],{"class":958},[952,3388,3389,3391],{"class":954,"line":1746},[952,3390,1944],{"class":958},[952,3392,1743],{"class":998},[952,3394,3395,3397,3399],{"class":954,"line":1751},[952,3396,1113],{"class":958},[952,3398,963],{"class":962},[952,3400,985],{"class":958},[3402,3403,3404],"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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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}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":948,"searchDepth":988,"depth":988,"links":3406},[3407,3408,3418,3423,3427],{"id":926,"depth":988,"text":927},{"id":1153,"depth":988,"text":1154,"children":3409},[3410,3411,3412,3413,3414,3415,3416,3417],{"id":1062,"depth":1017,"text":1174},{"id":1099,"depth":1017,"text":1269},{"id":1148,"depth":1017,"text":1337},{"id":1390,"depth":1017,"text":1391},{"id":1409,"depth":1017,"text":1410},{"id":1469,"depth":1017,"text":1470},{"id":1505,"depth":1017,"text":1506},{"id":1543,"depth":1017,"text":1543},{"id":1563,"depth":988,"text":1564,"children":3419},[3420,3421,3422],{"id":1567,"depth":1017,"text":1269},{"id":1760,"depth":1017,"text":1337},{"id":1793,"depth":1017,"text":1410},{"id":2036,"depth":988,"text":2037,"children":3424},[3425,3426],{"id":2040,"depth":1017,"text":2041},{"id":2421,"depth":1017,"text":2422},{"id":3233,"depth":988,"text":3234,"children":3428},[3429],{"id":3237,"depth":1017,"text":3238},"md",{},{"title":808,"description":811},"7xV-_N7BdXcEDw1ARCrOMVwYzCijwhaENtHQyiV9O3E",{"data":3435,"body":3436},{},{"type":3437,"children":3438},"root",[3439],{"type":172,"tag":929,"props":3440,"children":3441},{},[3442],{"type":3443,"value":811},"text",1769700227990]