[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"navigation_docs":3,"landing":257},[4,128],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":-1},"Guide","i-lucide-book-open","\u002Fguide","1.guide",[10,13,27,48,69,86,103],{"title":11,"path":7,"stem":12},"Introduction","1.guide\u002Findex",{"title":14,"path":15,"stem":16,"children":17,"page":26},"Getting Started","\u002Fguide\u002Fgetting-started","1.guide\u002F1.getting-started",[18,22],{"title":19,"path":20,"stem":21},"First Tooltip","\u002Fguide\u002Fgetting-started\u002Ffirst-tooltip","1.guide\u002F1.getting-started\u002F1.first-tooltip",{"title":23,"path":24,"stem":25},"First Popover","\u002Fguide\u002Fgetting-started\u002Ffirst-popover","1.guide\u002F1.getting-started\u002F2.first-popover",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Core Concepts","\u002Fguide\u002Fcore-concepts","1.guide\u002F2.core-concepts",[32,36,40,44],{"title":33,"path":34,"stem":35},"Floating Node","\u002Fguide\u002Fcore-concepts\u002Ffloating-node","1.guide\u002F2.core-concepts\u002F1.floating-node",{"title":37,"path":38,"stem":39},"Placement and Positioning","\u002Fguide\u002Fcore-concepts\u002Fplacement-and-positioning","1.guide\u002F2.core-concepts\u002F2.placement-and-positioning",{"title":41,"path":42,"stem":43},"Interaction Model","\u002Fguide\u002Fcore-concepts\u002Finteraction-model","1.guide\u002F2.core-concepts\u002F3.interaction-model",{"title":45,"path":46,"stem":47},"Tree Coordination Explained","\u002Fguide\u002Fcore-concepts\u002Ftree-coordination-explained","1.guide\u002F2.core-concepts\u002F4.tree-coordination-explained",{"title":49,"path":50,"stem":51,"children":52,"page":26},"Components & Patterns","\u002Fguide\u002Fcomponents","1.guide\u002F3.components",[53,57,61,65],{"title":54,"path":55,"stem":56},"Build Accessible Tooltips","\u002Fguide\u002Fcomponents\u002Fbuild-accessible-tooltips","1.guide\u002F3.components\u002F1.build-accessible-tooltips",{"title":58,"path":59,"stem":60},"Build Popovers and Dropdowns","\u002Fguide\u002Fcomponents\u002Fbuild-popovers-and-dropdowns","1.guide\u002F3.components\u002F2.build-popovers-and-dropdowns",{"title":62,"path":63,"stem":64},"Build Dialogs and Modals","\u002Fguide\u002Fcomponents\u002Fbuild-dialogs-and-modals","1.guide\u002F3.components\u002F3.build-dialogs-and-modals",{"title":66,"path":67,"stem":68},"Build Nested Menus","\u002Fguide\u002Fcomponents\u002Fbuild-nested-menus","1.guide\u002F3.components\u002F4.build-nested-menus",{"title":70,"path":71,"stem":72,"children":73,"page":26},"Positioning & Middleware","\u002Fguide\u002Fpositioning","1.guide\u002F4.positioning",[74,78,82],{"title":75,"path":76,"stem":77},"Keep Content in View","\u002Fguide\u002Fpositioning\u002Fkeep-content-in-view","1.guide\u002F4.positioning\u002F1.keep-content-in-view",{"title":79,"path":80,"stem":81},"Use Virtual Anchors","\u002Fguide\u002Fpositioning\u002Fuse-virtual-anchors","1.guide\u002F4.positioning\u002F2.use-virtual-anchors",{"title":83,"path":84,"stem":85},"Middleware Pipeline","\u002Fguide\u002Fpositioning\u002Fmiddleware-pipeline","1.guide\u002F4.positioning\u002F3.middleware-pipeline",{"title":87,"path":88,"stem":89,"children":90,"page":26},"Focus & Accessibility","\u002Fguide\u002Faccessibility","1.guide\u002F5.accessibility",[91,95,99],{"title":92,"path":93,"stem":94},"Control Open State","\u002Fguide\u002Faccessibility\u002Fcontrol-open-state","1.guide\u002F5.accessibility\u002F1.control-open-state",{"title":96,"path":97,"stem":98},"Focus Models","\u002Fguide\u002Faccessibility\u002Ffocus-models","1.guide\u002F5.accessibility\u002F2.focus-models",{"title":100,"path":101,"stem":102},"Keyboard Navigation","\u002Fguide\u002Faccessibility\u002Fkeyboard-navigation","1.guide\u002F5.accessibility\u002F3.keyboard-navigation",{"title":104,"path":105,"stem":106,"children":107,"page":26},"Advanced & Architecture","\u002Fguide\u002Fadvanced","1.guide\u002F6.advanced",[108,112,116,120,124],{"title":109,"path":110,"stem":111},"Controlled vs uncontrolled","\u002Fguide\u002Fadvanced\u002Fcontrolled-vs-uncontrolled","1.guide\u002F6.advanced\u002F1.controlled-vs-uncontrolled",{"title":113,"path":114,"stem":115},"Safe Polygon Gotchas","\u002Fguide\u002Fadvanced\u002Fsafe-polygon-gotchas","1.guide\u002F6.advanced\u002F2.safe-polygon-gotchas",{"title":117,"path":118,"stem":119},"Virtual Anchor Gotchas","\u002Fguide\u002Fadvanced\u002Fvirtual-anchor-gotchas","1.guide\u002F6.advanced\u002F3.virtual-anchor-gotchas",{"title":121,"path":122,"stem":123},"Middleware Ordering Gotchas","\u002Fguide\u002Fadvanced\u002Fmiddleware-ordering-gotchas","1.guide\u002F6.advanced\u002F4.middleware-ordering-gotchas",{"title":125,"path":126,"stem":127},"List Navigation Gotchas","\u002Fguide\u002Fadvanced\u002Flist-navigation-gotchas","1.guide\u002F6.advanced\u002F5.list-navigation-gotchas",{"title":129,"icon":130,"path":131,"stem":132,"children":133,"page":-1},"API Reference","i-lucide-code-xml","\u002Fapi","2.api",[134,136,145,154,171,204,220],{"title":129,"path":131,"stem":135},"2.api\u002Findex",{"title":137,"path":138,"stem":139,"children":140,"page":26},"Reference","\u002Fapi\u002Foverview","2.api\u002F1.overview",[141],{"title":142,"path":143,"stem":144},"Types & Interfaces","\u002Fapi\u002Foverview\u002Ftypes","2.api\u002F1.overview\u002F1.types",{"title":146,"path":147,"stem":148,"children":149,"page":26},"Core","\u002Fapi\u002Fcore","2.api\u002F2.core",[150],{"title":151,"path":152,"stem":153},"useFloatingNode","\u002Fapi\u002Fcore\u002Fuse-floating-node","2.api\u002F2.core\u002F1.use-floating-node",{"title":155,"path":156,"stem":157,"children":158,"page":26},"Positioning","\u002Fapi\u002Fpositioning","2.api\u002F3.positioning",[159,163,167],{"title":160,"path":161,"stem":162},"usePosition","\u002Fapi\u002Fpositioning\u002Fuse-position","2.api\u002F3.positioning\u002F1.use-position",{"title":164,"path":165,"stem":166},"useArrow","\u002Fapi\u002Fpositioning\u002Fuse-arrow","2.api\u002F3.positioning\u002F2.use-arrow",{"title":168,"path":169,"stem":170},"useClientPoint","\u002Fapi\u002Fpositioning\u002Fuse-client-point","2.api\u002F3.positioning\u002F3.use-client-point",{"title":172,"path":173,"stem":174,"children":175,"page":26},"Interactions","\u002Fapi\u002Finteractions","2.api\u002F4.interactions",[176,180,184,188,192,196,200],{"title":177,"path":178,"stem":179},"useClick","\u002Fapi\u002Finteractions\u002Fuse-click","2.api\u002F4.interactions\u002F1.use-click",{"title":181,"path":182,"stem":183},"useHover","\u002Fapi\u002Finteractions\u002Fuse-hover","2.api\u002F4.interactions\u002F2.use-hover",{"title":185,"path":186,"stem":187},"useFocus","\u002Fapi\u002Finteractions\u002Fuse-focus","2.api\u002F4.interactions\u002F3.use-focus",{"title":189,"path":190,"stem":191},"useFocusTrap","\u002Fapi\u002Finteractions\u002Fuse-focus-trap","2.api\u002F4.interactions\u002F4.use-focus-trap",{"title":193,"path":194,"stem":195},"useOutsideClick","\u002Fapi\u002Finteractions\u002Fuse-outside-click","2.api\u002F4.interactions\u002F5.use-outside-click",{"title":197,"path":198,"stem":199},"useEscapeKey","\u002Fapi\u002Finteractions\u002Fuse-escape-key","2.api\u002F4.interactions\u002F6.use-escape-key",{"title":201,"path":202,"stem":203},"useRole","\u002Fapi\u002Finteractions\u002Fuse-role","2.api\u002F4.interactions\u002F7.use-role",{"title":100,"path":205,"stem":206,"children":207,"page":26},"\u002Fapi\u002Fkeyboard-navigation","2.api\u002F5.keyboard-navigation",[208,212,216],{"title":209,"path":210,"stem":211},"useRovingFocus","\u002Fapi\u002Fkeyboard-navigation\u002Fuse-roving-focus","2.api\u002F5.keyboard-navigation\u002F1.use-roving-focus",{"title":213,"path":214,"stem":215},"useAriaActivedescendant","\u002Fapi\u002Fkeyboard-navigation\u002Fuse-aria-activedescendant","2.api\u002F5.keyboard-navigation\u002F2.use-aria-activedescendant",{"title":217,"path":218,"stem":219},"useTypeahead","\u002Fapi\u002Fkeyboard-navigation\u002Fuse-typeahead","2.api\u002F5.keyboard-navigation\u002F3.use-typeahead",{"title":221,"path":222,"stem":223,"children":224,"page":26},"Middleware","\u002Fapi\u002Fmiddleware","2.api\u002F6.middleware",[225,229,233,237,241,245,249,253],{"title":226,"path":227,"stem":228},"offset","\u002Fapi\u002Fmiddleware\u002Foffset","2.api\u002F6.middleware\u002F1.offset",{"title":230,"path":231,"stem":232},"flip","\u002Fapi\u002Fmiddleware\u002Fflip","2.api\u002F6.middleware\u002F2.flip",{"title":234,"path":235,"stem":236},"shift","\u002Fapi\u002Fmiddleware\u002Fshift","2.api\u002F6.middleware\u002F3.shift",{"title":238,"path":239,"stem":240},"autoPlacement","\u002Fapi\u002Fmiddleware\u002Fautoplacement","2.api\u002F6.middleware\u002F4.autoplacement",{"title":242,"path":243,"stem":244},"size","\u002Fapi\u002Fmiddleware\u002Fsize","2.api\u002F6.middleware\u002F5.size",{"title":246,"path":247,"stem":248},"inline","\u002Fapi\u002Fmiddleware\u002Finline","2.api\u002F6.middleware\u002F6.inline",{"title":250,"path":251,"stem":252},"arrow","\u002Fapi\u002Fmiddleware\u002Farrow","2.api\u002F6.middleware\u002F7.arrow",{"title":254,"path":255,"stem":256},"hide","\u002Fapi\u002Fmiddleware\u002Fhide","2.api\u002F6.middleware\u002F8.hide",{"id":258,"title":259,"body":260,"description":306,"extension":307,"meta":308,"navigation":310,"path":311,"seo":312,"stem":313,"__hash__":314},"landing\u002Findex.md","VFloat",{"type":261,"value":262,"toc":302},"minimark",[263,272,275],[264,265,269],"u-page-hero",{":links":266,"description":267,"title":268},"[{\"label\":\"Get started\",\"to\":\"\u002Fguide\",\"color\":\"primary\",\"trailingIcon\":\"i-lucide-arrow-right\",\"size\":\"lg\",\"class\":\"rounded-full px-5\"},{\"label\":\"API Reference\",\"to\":\"\u002Fapi\",\"color\":\"neutral\",\"variant\":\"outline\",\"icon\":\"i-lucide-code-xml\",\"size\":\"lg\",\"class\":\"rounded-full px-5\"}]","VFloat is a Vue 3 toolkit for positioning and coordinating anchored floating interfaces. Small composables for tooltips, popovers, menus, and dialogs.","Floating primitives for Vue 3",[270,271],"home-install",{},[273,274],"home-showcase",{},[276,277,282],"u-container",{"className":278},[279,280,281],"pt-2","pb-20","sm:pb-28",[283,284,285,292,297],"u-page-grid",{},[286,287],"u-page-card",{":spotlight":288,"description":289,"icon":290,"title":291},"true","Pixel-perfect positioning powered by Floating UI algorithms with automatic collision detection, flipping, shifting, and arrow alignment.","i-lucide-mouse-pointer-2","Precise Positioning",[286,293],{":spotlight":288,"description":294,"icon":295,"title":296},"Minimal bundle footprint (~14.7 kB gzip for the entire library) — import only the composables and middlewares you use.","i-lucide-cpu","Lightweight & Tree-Shakable",[286,298],{":spotlight":288,"description":299,"icon":300,"title":301},"Independent composables for positioning, hover, click, focus management, and keyboard navigation that connect cleanly through unified composite floating nodes.","i-lucide-component","Composable Primitives",{"title":303,"searchDepth":304,"depth":304,"links":305},"",2,[],"Headless floating UI primitives for Vue 3","md",{"canonical_url":309},"https:\u002F\u002Fvfloat.pages.dev",true,"\u002F",{"title":259,"description":306},"index","p7cIptTIf8TfL_DYQIs1EtIwwJBonQepUpnzOBmwYGA",1790701903439]