[{"data":1,"prerenderedAt":995},["ShallowReactive",2],{"navigation":3,"\u002Fcomponents\u002Fdraggable":460,"\u002Fcomponents\u002Fdraggable-surround":990},[4,34,51,301,327,332,337,406],{"title":5,"path":6,"stem":7,"children":8,"package":11,"icon":33},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,13,18,23,28],{"title":10,"path":6,"stem":7,"package":11,"icon":12},"Introduction",null,"i-lucide-house",{"title":14,"path":15,"stem":16,"package":11,"icon":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":19,"path":20,"stem":21,"package":11,"icon":22},"Icons","\u002Fgetting-started\u002Ficons","1.getting-started\u002F3.icons","i-lucide-sparkles",{"title":24,"path":25,"stem":26,"package":11,"icon":27},"CLI","\u002Fgetting-started\u002Fcli","1.getting-started\u002F4.cli","i-lucide-terminal",{"title":29,"path":30,"stem":31,"package":11,"icon":32},"Roadmap","\u002Fgetting-started\u002Froadmap","1.getting-started\u002F5.roadmap","i-lucide-map","i-lucide-rocket",{"title":35,"package":11,"icon":36,"path":37,"stem":38,"children":39,"page":50},"Packages","i-lucide-package","\u002Fpackages","2.packages",[40,45],{"title":41,"path":42,"stem":43,"package":11,"icon":44},"@vyui\u002Fcore","\u002Fpackages\u002Fcore","2.packages\u002F1.core","i-lucide-box",{"title":46,"path":47,"stem":48,"package":11,"icon":49},"@vyui\u002Fkit","\u002Fpackages\u002Fkit","2.packages\u002F2.kit","i-lucide-layers",false,{"title":52,"package":11,"icon":53,"path":54,"stem":55,"children":56},"Components","i-lucide-layout-grid","\u002Fcomponents","3.components",[57,59,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,144,149,153,158,163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,242,246,251,256,261,266,271,276,280,284,288,292,296],{"title":52,"path":54,"stem":58,"package":11,"icon":53},"3.components\u002Findex",{"title":60,"path":61,"stem":62,"package":63,"icon":64},"Accordion","\u002Fcomponents\u002Faccordion","3.components\u002Faccordion","kit","i-lucide-list-collapse",{"title":66,"path":67,"stem":68,"package":63,"icon":69},"Action Sheet","\u002Fcomponents\u002Faction-sheet","3.components\u002Faction-sheet","i-lucide-panel-bottom",{"title":71,"path":72,"stem":73,"package":63,"icon":74},"Alert","\u002Fcomponents\u002Falert","3.components\u002Falert","i-lucide-triangle-alert",{"title":76,"path":77,"stem":78,"package":79,"icon":74},"Alert Dialog","\u002Fcomponents\u002Falert-dialog","3.components\u002Falert-dialog","core",{"title":81,"path":82,"stem":83,"package":63,"icon":84},"App","\u002Fcomponents\u002Fapp","3.components\u002Fapp","i-lucide-smartphone",{"title":86,"path":87,"stem":88,"package":63,"icon":89},"Aspect Ratio","\u002Fcomponents\u002Faspect-ratio","3.components\u002Faspect-ratio","i-lucide-ratio",{"title":91,"path":92,"stem":93,"package":63,"icon":94},"Avatar","\u002Fcomponents\u002Favatar","3.components\u002Favatar","i-lucide-circle-user-round",{"title":96,"path":97,"stem":98,"package":63,"icon":99},"Avatar Group","\u002Fcomponents\u002Favatar-group","3.components\u002Favatar-group","i-lucide-users-round",{"title":101,"path":102,"stem":103,"package":63,"icon":104},"Button","\u002Fcomponents\u002Fbutton","3.components\u002Fbutton","i-lucide-square-mouse-pointer",{"title":106,"path":107,"stem":108,"package":63,"icon":109},"Calendar","\u002Fcomponents\u002Fcalendar","3.components\u002Fcalendar","i-lucide-calendar-days",{"title":111,"path":112,"stem":113,"package":63,"icon":114},"Card","\u002Fcomponents\u002Fcard","3.components\u002Fcard","i-lucide-square",{"title":116,"path":117,"stem":118,"package":63,"icon":119},"Checkbox","\u002Fcomponents\u002Fcheckbox","3.components\u002Fcheckbox","i-lucide-square-check",{"title":121,"path":122,"stem":123,"package":79,"icon":124},"Collapsible","\u002Fcomponents\u002Fcollapsible","3.components\u002Fcollapsible","i-lucide-chevrons-down-up",{"title":126,"path":127,"stem":128,"package":79,"icon":129},"Dialog","\u002Fcomponents\u002Fdialog","3.components\u002Fdialog","i-lucide-app-window",{"title":131,"path":132,"stem":133,"package":79,"icon":134},"Draggable","\u002Fcomponents\u002Fdraggable","3.components\u002Fdraggable","i-lucide-move",{"title":136,"path":137,"stem":138,"package":63,"icon":139},"Form","\u002Fcomponents\u002Fform","3.components\u002Fform","i-lucide-clipboard-list",{"title":141,"path":142,"stem":143,"package":79,"icon":22},"Icon","\u002Fcomponents\u002Ficon","3.components\u002Ficon",{"title":145,"path":146,"stem":147,"package":63,"icon":148},"Input","\u002Fcomponents\u002Finput","3.components\u002Finput","i-lucide-text-cursor-input",{"title":150,"path":151,"stem":152,"package":63,"icon":69},"Island","\u002Fcomponents\u002Fisland","3.components\u002Fisland",{"title":154,"path":155,"stem":156,"package":63,"icon":157},"Island Button","\u002Fcomponents\u002Fisland-button","3.components\u002Fisland-button","i-lucide-circle-ellipsis",{"title":159,"path":160,"stem":161,"package":63,"icon":162},"Island Group","\u002Fcomponents\u002Fisland-group","3.components\u002Fisland-group","i-lucide-panels-top-left",{"title":164,"path":165,"stem":166,"package":63,"icon":167},"KeyboardAware","\u002Fcomponents\u002Fkeyboard-aware","3.components\u002Fkeyboard-aware","i-lucide-keyboard",{"title":169,"path":170,"stem":171,"package":63,"icon":172},"Label","\u002Fcomponents\u002Flabel","3.components\u002Flabel","i-lucide-tag",{"title":174,"path":175,"stem":176,"package":63,"icon":177},"Modal","\u002Fcomponents\u002Fmodal","3.components\u002Fmodal","i-lucide-gallery-vertical-end",{"title":179,"path":180,"stem":181,"package":79,"icon":182},"Navigation","\u002Fcomponents\u002Fnavigation","3.components\u002Fnavigation","i-lucide-route",{"title":184,"path":185,"stem":186,"package":63,"icon":187},"Number Field","\u002Fcomponents\u002Fnumber-field","3.components\u002Fnumber-field","i-lucide-list-plus",{"title":189,"path":190,"stem":191,"package":79,"icon":192},"Pagination","\u002Fcomponents\u002Fpagination","3.components\u002Fpagination","i-lucide-ellipsis",{"title":194,"path":195,"stem":196,"package":63,"icon":197},"Pin Input","\u002Fcomponents\u002Fpin-input","3.components\u002Fpin-input","i-lucide-key-round",{"title":199,"path":200,"stem":201,"package":63,"icon":202},"Placeholder","\u002Fcomponents\u002Fplaceholder","3.components\u002Fplaceholder","i-lucide-square-dashed",{"title":204,"path":205,"stem":206,"package":63,"icon":207},"Popover","\u002Fcomponents\u002Fpopover","3.components\u002Fpopover","i-lucide-message-square-more",{"title":209,"path":210,"stem":211,"package":63,"icon":212},"Progress","\u002Fcomponents\u002Fprogress","3.components\u002Fprogress","i-lucide-chart-no-axes-column-increasing",{"title":214,"path":215,"stem":216,"package":63,"icon":217},"Radio Group","\u002Fcomponents\u002Fradio-group","3.components\u002Fradio-group","i-lucide-circle-dot",{"title":219,"path":220,"stem":221,"package":63,"icon":222},"Rating","\u002Fcomponents\u002Frating","3.components\u002Frating","i-lucide-star",{"title":224,"path":225,"stem":226,"package":79,"icon":227},"Scroll View","\u002Fcomponents\u002Fscroll-view","3.components\u002Fscroll-view","i-lucide-scroll",{"title":229,"path":230,"stem":231,"package":63,"icon":232},"Select","\u002Fcomponents\u002Fselect","3.components\u002Fselect","i-lucide-list-check",{"title":234,"path":235,"stem":236,"package":63,"icon":237},"Separator","\u002Fcomponents\u002Fseparator","3.components\u002Fseparator","i-lucide-separator-horizontal",{"title":239,"path":240,"stem":241,"package":79,"icon":69},"Sheet","\u002Fcomponents\u002Fsheet","3.components\u002Fsheet",{"title":243,"path":244,"stem":245,"package":63,"icon":162},"Skeleton","\u002Fcomponents\u002Fskeleton","3.components\u002Fskeleton",{"title":247,"path":248,"stem":249,"package":63,"icon":250},"Slider","\u002Fcomponents\u002Fslider","3.components\u002Fslider","i-lucide-sliders-horizontal",{"title":252,"path":253,"stem":254,"package":63,"icon":255},"Sortable","\u002Fcomponents\u002Fsortable","3.components\u002Fsortable","i-lucide-list-restart",{"title":257,"path":258,"stem":259,"package":63,"icon":260},"Stepper","\u002Fcomponents\u002Fstepper","3.components\u002Fstepper","i-lucide-list-ordered",{"title":262,"path":263,"stem":264,"package":63,"icon":265},"Swipe Action","\u002Fcomponents\u002Fswipe-action","3.components\u002Fswipe-action","i-lucide-move-horizontal",{"title":267,"path":268,"stem":269,"package":63,"icon":270},"Swiper","\u002Fcomponents\u002Fswiper","3.components\u002Fswiper","i-lucide-gallery-horizontal-end",{"title":272,"path":273,"stem":274,"package":63,"icon":275},"Switch","\u002Fcomponents\u002Fswitch","3.components\u002Fswitch","i-lucide-toggle-right",{"title":277,"path":278,"stem":279,"package":63,"icon":162},"Tabs","\u002Fcomponents\u002Ftabs","3.components\u002Ftabs",{"title":281,"path":282,"stem":283,"package":63,"icon":148},"Textarea","\u002Fcomponents\u002Ftextarea","3.components\u002Ftextarea",{"title":285,"path":286,"stem":287,"package":63,"icon":207},"Toast","\u002Fcomponents\u002Ftoast","3.components\u002Ftoast",{"title":289,"path":290,"stem":291,"package":63,"icon":275},"Toggle","\u002Fcomponents\u002Ftoggle","3.components\u002Ftoggle",{"title":293,"path":294,"stem":295,"package":63,"icon":162},"Toggle Group","\u002Fcomponents\u002Ftoggle-group","3.components\u002Ftoggle-group",{"title":297,"path":298,"stem":299,"package":63,"icon":300},"Tray","\u002Fcomponents\u002Ftray","3.components\u002Ftray","i-lucide-square-dashed-bottom",{"title":302,"path":303,"stem":304,"children":305,"package":11,"icon":307},"Theming","\u002Ftheming","4.theming\u002F1.index",[306,308,312,317,322],{"title":302,"path":303,"stem":304,"package":11,"icon":307},"i-lucide-palette",{"title":309,"path":310,"stem":311,"package":11,"icon":250},"Overrides","\u002Ftheming\u002Foverrides","4.theming\u002F2.overrides",{"title":313,"path":314,"stem":315,"package":11,"icon":316},"Colors","\u002Ftheming\u002Fcolors","4.theming\u002F3.colors","i-lucide-swatch-book",{"title":318,"path":319,"stem":320,"package":11,"icon":321},"Dark Mode","\u002Ftheming\u002Fdark-mode","4.theming\u002F4.dark-mode","i-lucide-moon",{"title":323,"path":324,"stem":325,"package":11,"icon":326},"Fonts","\u002Ftheming\u002Ffonts","4.theming\u002F5.fonts","i-lucide-type",{"title":328,"path":329,"stem":330,"package":11,"icon":331},"Accessibility","\u002Faccessibility","5.accessibility","i-lucide-accessibility",{"title":333,"path":334,"stem":335,"package":11,"icon":336},"i18n","\u002Fi18n","6.i18n","i-lucide-languages",{"title":338,"path":339,"stem":340,"children":341,"package":11,"icon":343},"Composables","\u002Fcomposables","7.composables\u002F1.index",[342,344,349,354,359,364,369,374,378,383,387,391,396,401],{"title":338,"path":339,"stem":340,"package":11,"icon":343},"i-lucide-square-function",{"title":345,"path":346,"stem":347,"package":11,"icon":348},"useEmitAsProps","\u002Fcomposables\u002Fuse-emit-as-props","7.composables\u002F10.use-emit-as-props","i-lucide-zap",{"title":350,"path":351,"stem":352,"package":11,"icon":353},"useForwardPropsEmits","\u002Fcomposables\u002Fuse-forward-props-emits","7.composables\u002F11.use-forward-props-emits","i-lucide-merge",{"title":355,"path":356,"stem":357,"package":11,"icon":358},"useForwardExpose","\u002Fcomposables\u002Fuse-forward-expose","7.composables\u002F12.use-forward-expose","i-lucide-share-2",{"title":360,"path":361,"stem":362,"package":11,"icon":363},"useStateMachine","\u002Fcomposables\u002Fuse-state-machine","7.composables\u002F13.use-state-machine","i-lucide-workflow",{"title":365,"path":366,"stem":367,"package":11,"icon":368},"usePrimitiveElement","\u002Fcomposables\u002Fuse-primitive-element","7.composables\u002F14.use-primitive-element","i-lucide-crosshair",{"title":370,"path":371,"stem":372,"package":11,"icon":373},"useAppConfig","\u002Fcomposables\u002Fuse-app-config","7.composables\u002F2.use-app-config","i-lucide-settings",{"title":375,"path":376,"stem":377,"package":11,"icon":321},"useColorMode","\u002Fcomposables\u002Fuse-color-mode","7.composables\u002F3.use-color-mode",{"title":379,"path":380,"stem":381,"package":11,"icon":382},"useComponentIcons","\u002Fcomposables\u002Fuse-component-icons","7.composables\u002F4.use-component-icons","i-lucide-shapes",{"title":384,"path":385,"stem":386,"package":11,"icon":69},"useTray","\u002Fcomposables\u002Fuse-tray","7.composables\u002F5.use-tray",{"title":388,"path":389,"stem":390,"package":11,"icon":336},"i18n composables","\u002Fcomposables\u002Fi18n-composables","7.composables\u002F6.i18n-composables",{"title":392,"path":393,"stem":394,"package":11,"icon":395},"useId","\u002Fcomposables\u002Fuse-id","7.composables\u002F7.use-id","i-lucide-hash",{"title":397,"path":398,"stem":399,"package":11,"icon":400},"useFilter","\u002Fcomposables\u002Fuse-filter","7.composables\u002F8.use-filter","i-lucide-filter",{"title":402,"path":403,"stem":404,"package":11,"icon":405},"useForwardProps","\u002Fcomposables\u002Fuse-forward-props","7.composables\u002F9.use-forward-props","i-lucide-arrow-right-left",{"title":407,"path":408,"stem":409,"children":410,"package":11,"icon":412},"Guides","\u002Fguides","8.guides\u002F1.index",[411,413,417,422,427,432,437,441,446,450,455],{"title":407,"path":408,"stem":409,"package":11,"icon":412},"i-lucide-book-open",{"title":414,"path":415,"stem":416,"package":11,"icon":348},"Instant first-frame rendering","\u002Fguides\u002Finstant-first-frame-rendering","8.guides\u002F10.instant-first-frame-rendering",{"title":418,"path":419,"stem":420,"package":11,"icon":421},"Why use Vy UI","\u002Fguides\u002Fwhy-vy-ui","8.guides\u002F11.why-vy-ui","i-lucide-help-circle",{"title":423,"path":424,"stem":425,"package":11,"icon":426},"Lynx UI frameworks","\u002Fguides\u002Flynx-ui-frameworks","8.guides\u002F2.lynx-ui-frameworks","i-lucide-library",{"title":428,"path":429,"stem":430,"package":11,"icon":431},"What is Vue Lynx","\u002Fguides\u002Fvue-lynx","8.guides\u002F3.vue-lynx","i-lucide-component",{"title":433,"path":434,"stem":435,"package":11,"icon":436},"Lynx vs React Native","\u002Fguides\u002Flynx-vs-react-native","8.guides\u002F4.lynx-vs-react-native","i-lucide-git-compare",{"title":438,"path":439,"stem":440,"package":11,"icon":84},"Testing on your phone","\u002Fguides\u002Ftesting-on-device","8.guides\u002F5.testing-on-device",{"title":442,"path":443,"stem":444,"package":11,"icon":445},"Testing with Xcode","\u002Fguides\u002Ftesting-with-xcode","8.guides\u002F6.testing-with-xcode","i-lucide-apple",{"title":447,"path":448,"stem":449,"package":11,"icon":27},"The rspeedy dev server","\u002Fguides\u002Frspeedy-dev-server","8.guides\u002F7.rspeedy-dev-server",{"title":451,"path":452,"stem":453,"package":11,"icon":454},"Tailwind on Lynx","\u002Fguides\u002Ftailwind-on-lynx","8.guides\u002F8.tailwind-on-lynx","i-lucide-wind",{"title":456,"path":457,"stem":458,"package":11,"icon":459},"Theming on Lynx","\u002Fguides\u002Ftheming-on-lynx","8.guides\u002F9.theming-on-lynx","i-lucide-paintbrush",{"id":461,"title":131,"body":462,"description":978,"extension":979,"links":980,"meta":986,"navigation":987,"package":79,"path":132,"seo":988,"stem":133,"__hash__":989},"docs\u002F3.components\u002Fdraggable.md",{"type":463,"value":464,"toc":966},"minimark",[465,470,486,491,500,504,792,796,872,876,881,884,888,891,915,918,923,927,935,939,962],[466,467,469],"h2",{"id":468},"overview","Overview",[471,472,473,476,477,479,480,485],"p",{},[474,475,131],"code",{}," is a headless ",[474,478,41],{}," primitive that turns its child into a draggable element via a main-thread pan gesture. It is the building block behind ",[481,482,483],"a",{"href":253},[474,484,252],{}," and other drag-driven interactions, and tracks the finger natively for smooth motion.",[487,488],"component-code",{"height":489,"name":490},"320px","draggable-example",[492,493,494],"callout",{"icon":44},[471,495,496,497,499],{},"This is a vyui-original ",[474,498,41],{}," primitive — a 2D pan gesture over Lynx main-thread touch events. Behavior only, no styles.",[466,501,503],{"id":502},"usage","Usage",[505,506,511],"pre",{"className":507,"code":508,"language":509,"meta":510,"style":510},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { Draggable } from '@vyui\u002Fcore'\n\nfunction onEnd(payload) {\n  console.log('settled at', payload.x, payload.y)\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CDraggable\n    axis=\"both\"\n    :bounds=\"{ left: -120, right: 120, top: -80, bottom: 80 }\"\n    reset-on-end\n    @drag-end=\"onEnd\"\n  >\n    \u003Cview class=\"size-16 rounded-xl bg-primary\" \u002F>\n  \u003C\u002FDraggable>\n\u003C\u002Ftemplate>\n","vue","",[474,512,513,548,576,583,606,651,657,667,672,682,691,707,722,728,743,749,773,783],{"__ignoreMap":510},[514,515,518,522,526,530,533,536,539,543,545],"span",{"class":516,"line":517},"line",1,[514,519,521],{"class":520},"sMK4o","\u003C",[514,523,525],{"class":524},"swJcz","script",[514,527,529],{"class":528},"spNyl"," setup",[514,531,532],{"class":528}," lang",[514,534,535],{"class":520},"=",[514,537,538],{"class":520},"\"",[514,540,542],{"class":541},"sfazB","ts",[514,544,538],{"class":520},[514,546,547],{"class":520},">\n",[514,549,551,555,558,562,565,568,571,573],{"class":516,"line":550},2,[514,552,554],{"class":553},"s7zQu","import",[514,556,557],{"class":520}," {",[514,559,561],{"class":560},"sTEyZ"," Draggable",[514,563,564],{"class":520}," }",[514,566,567],{"class":553}," from",[514,569,570],{"class":520}," '",[514,572,41],{"class":541},[514,574,575],{"class":520},"'\n",[514,577,579],{"class":516,"line":578},3,[514,580,582],{"emptyLinePlaceholder":581},true,"\n",[514,584,586,589,593,596,600,603],{"class":516,"line":585},4,[514,587,588],{"class":528},"function",[514,590,592],{"class":591},"s2Zo4"," onEnd",[514,594,595],{"class":520},"(",[514,597,599],{"class":598},"sHdIc","payload",[514,601,602],{"class":520},")",[514,604,605],{"class":520}," {\n",[514,607,609,612,615,618,620,623,626,628,631,634,636,639,641,643,645,648],{"class":516,"line":608},5,[514,610,611],{"class":560},"  console",[514,613,614],{"class":520},".",[514,616,617],{"class":591},"log",[514,619,595],{"class":524},[514,621,622],{"class":520},"'",[514,624,625],{"class":541},"settled at",[514,627,622],{"class":520},[514,629,630],{"class":520},",",[514,632,633],{"class":560}," payload",[514,635,614],{"class":520},[514,637,638],{"class":560},"x",[514,640,630],{"class":520},[514,642,633],{"class":560},[514,644,614],{"class":520},[514,646,647],{"class":560},"y",[514,649,650],{"class":524},")\n",[514,652,654],{"class":516,"line":653},6,[514,655,656],{"class":520},"}\n",[514,658,660,663,665],{"class":516,"line":659},7,[514,661,662],{"class":520},"\u003C\u002F",[514,664,525],{"class":524},[514,666,547],{"class":520},[514,668,670],{"class":516,"line":669},8,[514,671,582],{"emptyLinePlaceholder":581},[514,673,675,677,680],{"class":516,"line":674},9,[514,676,521],{"class":520},[514,678,679],{"class":524},"template",[514,681,547],{"class":520},[514,683,685,688],{"class":516,"line":684},10,[514,686,687],{"class":520},"  \u003C",[514,689,690],{"class":524},"Draggable\n",[514,692,694,697,699,701,704],{"class":516,"line":693},11,[514,695,696],{"class":528},"    axis",[514,698,535],{"class":520},[514,700,538],{"class":520},[514,702,703],{"class":541},"both",[514,705,706],{"class":520},"\"\n",[514,708,710,713,715,717,720],{"class":516,"line":709},12,[514,711,712],{"class":528},"    :bounds",[514,714,535],{"class":520},[514,716,538],{"class":520},[514,718,719],{"class":541},"{ left: -120, right: 120, top: -80, bottom: 80 }",[514,721,706],{"class":520},[514,723,725],{"class":516,"line":724},13,[514,726,727],{"class":528},"    reset-on-end\n",[514,729,731,734,736,738,741],{"class":516,"line":730},14,[514,732,733],{"class":528},"    @drag-end",[514,735,535],{"class":520},[514,737,538],{"class":520},[514,739,740],{"class":541},"onEnd",[514,742,706],{"class":520},[514,744,746],{"class":516,"line":745},15,[514,747,748],{"class":520},"  >\n",[514,750,752,755,758,761,763,765,768,770],{"class":516,"line":751},16,[514,753,754],{"class":520},"    \u003C",[514,756,757],{"class":524},"view",[514,759,760],{"class":528}," class",[514,762,535],{"class":520},[514,764,538],{"class":520},[514,766,767],{"class":541},"size-16 rounded-xl bg-primary",[514,769,538],{"class":520},[514,771,772],{"class":520}," \u002F>\n",[514,774,776,779,781],{"class":516,"line":775},17,[514,777,778],{"class":520},"  \u003C\u002F",[514,780,131],{"class":524},[514,782,547],{"class":520},[514,784,786,788,790],{"class":516,"line":785},18,[514,787,662],{"class":520},[514,789,679],{"class":524},[514,791,547],{"class":520},[466,793,795],{"id":794},"features-and-behavior","Features and behavior",[797,798,799,818,824,838,854],"ul",{},[800,801,802,805,806,809,810,813,814,817],"li",{},[474,803,804],{},"axis"," locks dragging to ",[474,807,808],{},"'x'",", ",[474,811,812],{},"'y'",", or ",[474,815,816],{},"'both'"," (free 2D pan).",[800,819,820,823],{},[474,821,822],{},"bounds"," constrains the drag in px relative to the origin; an omitted side is unbounded.",[800,825,826,829,830,833,834,837],{},[474,827,828],{},"resetOnEnd"," animates back to ",[474,831,832],{},"(0, 0)"," on release (",[474,835,836],{},"duration"," tunes the animation).",[800,839,840,843,844,846,847,849,850,853],{},[474,841,842],{},"momentum"," carries release velocity into a decelerating coast (clamped to ",[474,845,822],{},"); ignored when ",[474,848,828],{}," is set. ",[474,851,852],{},"momentumDecel"," controls how quickly the fling stops.",[800,855,856,859,860,863,864,867,868,871],{},[474,857,858],{},"emitMove"," opts into a ",[474,861,862],{},"drag-move"," event on every touchmove; ",[474,865,866],{},"drag-start"," and ",[474,869,870],{},"drag-end"," always fire.",[466,873,875],{"id":874},"api","API",[877,878,880],"h3",{"id":879},"props","Props",[882,883],"component-props",{"name":131},[877,885,887],{"id":886},"emits","Emits",[889,890],"component-emits",{"name":131},[471,892,893,894,896,897,900,901,904,905,907,908,900,911,914],{},"The ",[474,895,862],{}," payload adds ",[474,898,899],{},"dx"," \u002F ",[474,902,903],{},"dy"," (delta from touchstart); ",[474,906,870],{}," additionally carries ",[474,909,910],{},"vx",[474,912,913],{},"vy"," release velocity in px\u002Fs.",[466,916,328],{"id":917},"accessibility",[797,919,920],{},[800,921,922],{},"Pointer dragging has no keyboard equivalent — provide an alternative control path for keyboard and assistive-tech users where the interaction is essential.",[466,924,926],{"id":925},"platform-notes","Platform notes",[797,928,929,932],{},[800,930,931],{},"The gesture is implemented with main-thread (MTS) worklets, so tracking stays smooth independent of the background thread.",[800,933,934],{},"Touch and mouse are both wired: on-device drags use touch events, while desktop browsers (Lynx web) drive the same worklets from mouse events — the live preview above works with a mouse.",[466,936,938],{"id":937},"related-components","Related components",[797,940,941,948,955],{},[800,942,943,947],{},[481,944,945],{"href":253},[474,946,252],{}," — reorderable lists built on this primitive.",[800,949,950,954],{},[481,951,952],{"href":268},[474,953,267],{}," — paged horizontal swiping.",[800,956,957,961],{},[481,958,959],{"href":240},[474,960,239],{}," — snap\u002Fdrag bottom sheet.",[963,964,965],"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 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 .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);}",{"title":510,"searchDepth":517,"depth":550,"links":967},[968,969,970,971,975,976,977],{"id":468,"depth":550,"text":469},{"id":502,"depth":550,"text":503},{"id":794,"depth":550,"text":795},{"id":874,"depth":550,"text":875,"children":972},[973,974],{"id":879,"depth":578,"text":880},{"id":886,"depth":578,"text":887},{"id":917,"depth":550,"text":328},{"id":925,"depth":550,"text":926},{"id":937,"depth":550,"text":938},"Headless 2D pan-gesture primitive with axis locking, bounds, momentum, and reset.","md",[981],{"label":982,"icon":983,"to":984,"target":985},"Source","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002FKealanAU\u002Fvyui\u002Fblob\u002Fmain\u002Fpackages\u002Fcore\u002Fsrc\u002Fcomponents\u002FDraggable","_blank",{},{"icon":134},{"title":131,"description":978},"CITFL2g_8-5fBA7wrOw6HXMfCNhM3VsuvYhBRhx_j10",[991,993],{"title":126,"path":127,"stem":128,"description":992,"icon":-1,"children":-1,"navigation":-1},"Headless modal\u002Fnon-modal dialog primitive — trigger, portal, overlay, and content with full focus and dismiss behavior.",{"title":136,"path":137,"stem":138,"description":994,"icon":-1,"children":-1,"navigation":-1},"A form container that tracks values, runs validators, and emits submit.",1785060125368]