[{"data":1,"prerenderedAt":717},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:3jMBvUWifMw_Hh1vtvf55kwICFV60AhetlYbY1WCfjw":113,"content-page-surround:docs:3jMBvUWifMw_Hh1vtvf55kwICFV60AhetlYbY1WCfjw":710,"i-lucide:clipboard":713},[4,32,68,108],{"title":5,"id":6,"canonicalKey":7,"locale":8,"draft":9,"path":10,"children":11},"Getting started","content:docs:1.getting-started:.navigation.yml","1","en",false,"\u002Fdocs\u002Fgetting-started",[12,17,22,27],{"title":13,"id":14,"canonicalKey":15,"locale":8,"draft":9,"path":16},"Nuxt guide","content:docs:1.getting-started:2.nuxt.md","1\u002F2","\u002Fdocs\u002Fgetting-started\u002Fnuxt",{"title":18,"id":19,"canonicalKey":20,"locale":8,"draft":9,"path":21},"Vue guide","content:docs:1.getting-started:3.vue.md","1\u002F3","\u002Fdocs\u002Fgetting-started\u002Fvue",{"title":23,"id":24,"canonicalKey":25,"locale":8,"draft":9,"path":26},"Customize the tour","content:docs:1.getting-started:4.customization.md","1\u002F4","\u002Fdocs\u002Fgetting-started\u002Fcustomization",{"title":28,"id":29,"canonicalKey":30,"locale":8,"draft":9,"path":31},"Troubleshooting","content:docs:1.getting-started:5.troubleshooting.md","1\u002F5","\u002Fdocs\u002Fgetting-started\u002Ftroubleshooting",{"title":33,"id":34,"canonicalKey":35,"locale":8,"draft":9,"path":36,"children":37},"Recipes","content:docs:2.recipes:.navigation.yml","2","\u002Fdocs\u002Frecipes",[38,43,48,53,58,63],{"title":39,"id":40,"canonicalKey":41,"locale":8,"draft":9,"path":42},"Rich content and images","content:docs:2.recipes:2.rich-content.md","2\u002F2","\u002Fdocs\u002Frecipes\u002Frich-content",{"title":44,"id":45,"canonicalKey":46,"locale":8,"draft":9,"path":47},"Routes and dynamic targets","content:docs:2.recipes:3.routes-and-targets.md","2\u002F3","\u002Fdocs\u002Frecipes\u002Froutes-and-targets",{"title":49,"id":50,"canonicalKey":51,"locale":8,"draft":9,"path":52},"Conditions and preparation","content:docs:2.recipes:4.conditions-and-preparation.md","2\u002F4","\u002Fdocs\u002Frecipes\u002Fconditions-and-preparation",{"title":54,"id":55,"canonicalKey":56,"locale":8,"draft":9,"path":57},"Interaction and focus","content:docs:2.recipes:5.interaction-and-focus.md","2\u002F5","\u002Fdocs\u002Frecipes\u002Finteraction-and-focus",{"title":59,"id":60,"canonicalKey":61,"locale":8,"draft":9,"path":62},"Customization and labels","content:docs:2.recipes:6.customization.md","2\u002F6","\u002Fdocs\u002Frecipes\u002Fcustomization",{"title":64,"id":65,"canonicalKey":66,"locale":8,"draft":9,"path":67},"Events and progress","content:docs:2.recipes:7.events-and-progress.md","2\u002F7","\u002Fdocs\u002Frecipes\u002Fevents-and-progress",{"title":69,"page":9,"canonicalKey":70,"locale":8,"id":71,"draft":9,"children":72},"Design","3","content:docs:3.design:.navigation.yml",[73,78,83,88,93,98,103],{"title":74,"id":75,"canonicalKey":76,"locale":8,"draft":9,"path":77},"Product and scope","content:docs:3.design:1.product-and-scope.md","3\u002F1","\u002Fdocs\u002Fdesign\u002Fproduct-and-scope",{"title":79,"id":80,"canonicalKey":81,"locale":8,"draft":9,"path":82},"Public API","content:docs:3.design:2.public-api.md","3\u002F2","\u002Fdocs\u002Fdesign\u002Fpublic-api",{"title":84,"id":85,"canonicalKey":86,"locale":8,"draft":9,"path":87},"Runtime semantics","content:docs:3.design:3.runtime-semantics.md","3\u002F3","\u002Fdocs\u002Fdesign\u002Fruntime-semantics",{"title":89,"id":90,"canonicalKey":91,"locale":8,"draft":9,"path":92},"Nuxt and Vue integration","content:docs:3.design:4.nuxt-and-vue.md","3\u002F4","\u002Fdocs\u002Fdesign\u002Fnuxt-and-vue",{"title":94,"id":95,"canonicalKey":96,"locale":8,"draft":9,"path":97},"Rendering and accessibility","content:docs:3.design:5.rendering-and-accessibility.md","3\u002F5","\u002Fdocs\u002Fdesign\u002Frendering-and-accessibility",{"title":99,"id":100,"canonicalKey":101,"locale":8,"draft":9,"path":102},"Architecture and testing","content:docs:3.design:6.architecture-and-testing.md","3\u002F6","\u002Fdocs\u002Fdesign\u002Farchitecture-and-testing",{"title":104,"id":105,"canonicalKey":106,"locale":8,"draft":9,"path":107},"Research decisions","content:docs:3.design:7.research-decisions.md","3\u002F7","\u002Fdocs\u002Fdesign\u002Fresearch-decisions",{"title":109,"id":110,"canonicalKey":111,"locale":8,"draft":9,"path":112},"Implementation","content:docs:4.implementation:.navigation.yml","4","\u002Fdocs\u002Fimplementation",{"title":84,"description":114,"body":115,"type":697,"id":85,"canonicalKey":86,"draft":9,"partial":9,"locale":8,"collection":698,"navigationFile":9,"file":699,"route":705,"resolution":707},"Define transition ordering, concurrency, missing targets, and errors.",{"type":116,"children":117,"toc":687},"root",[118,126,133,139,233,266,271,276,288,304,310,315,321,340,352,358,403,408,419,462,474,479,485,490,495,586,591,658],{"type":119,"tag":120,"props":121,"children":123},"element","h1",{"id":122},"runtime-semantics",[124],{"type":125,"value":84},"text",{"type":119,"tag":127,"props":128,"children":130},"h2",{"id":129},"transition-order",[131],{"type":125,"value":132},"Transition order",{"type":119,"tag":134,"props":135,"children":136},"p",{},[137],{"type":125,"value":138},"Every destination step uses one fixed sequence:",{"type":119,"tag":140,"props":141,"children":143},"pre",{"language":125,"class":142},"shiki shiki-themes material-theme-lighter material-theme-palenight dark:material-theme-palenight",[144],{"type":119,"tag":145,"props":146,"children":148},"code",{"class":147},"language-text",[149,160,162,170,171,179,180,188,189,197,198,206,207,215,216,224,225],{"type":119,"tag":150,"props":151,"children":154},"span",{"class":152,"style":153},"line","display: inline",[155],{"type":119,"tag":150,"props":156,"children":157},{},[158],{"type":125,"value":159},"evaluate when()",{"type":125,"value":161},"\n",{"type":119,"tag":150,"props":163,"children":164},{"class":152,"style":153},[165],{"type":119,"tag":150,"props":166,"children":167},{},[168],{"type":125,"value":169},"  -> navigate to route",{"type":125,"value":161},{"type":119,"tag":150,"props":172,"children":173},{"class":152,"style":153},[174],{"type":119,"tag":150,"props":175,"children":176},{},[177],{"type":125,"value":178},"  -> wait for route settlement",{"type":125,"value":161},{"type":119,"tag":150,"props":181,"children":182},{"class":152,"style":153},[183],{"type":119,"tag":150,"props":184,"children":185},{},[186],{"type":125,"value":187},"  -> run prepare()",{"type":125,"value":161},{"type":119,"tag":150,"props":190,"children":191},{"class":152,"style":153},[192],{"type":119,"tag":150,"props":193,"children":194},{},[195],{"type":125,"value":196},"  -> resolve or wait for target",{"type":125,"value":161},{"type":119,"tag":150,"props":199,"children":200},{"class":152,"style":153},[201],{"type":119,"tag":150,"props":202,"children":203},{},[204],{"type":125,"value":205},"  -> scroll",{"type":125,"value":161},{"type":119,"tag":150,"props":208,"children":209},{"class":152,"style":153},[210],{"type":119,"tag":150,"props":211,"children":212},{},[213],{"type":125,"value":214},"  -> clean up the previous step",{"type":125,"value":161},{"type":119,"tag":150,"props":217,"children":218},{"class":152,"style":153},[219],{"type":119,"tag":150,"props":220,"children":221},{},[222],{"type":125,"value":223},"  -> render and position",{"type":125,"value":161},{"type":119,"tag":150,"props":226,"children":227},{"class":152,"style":153},[228],{"type":119,"tag":150,"props":229,"children":230},{},[231],{"type":125,"value":232},"  -> move focus",{"type":119,"tag":134,"props":234,"children":235},{},[236,238,243,245,250,252,257,259,264],{"type":125,"value":237},"The route belongs to the destination step. The same rule applies to ",{"type":119,"tag":145,"props":239,"children":240},{},[241],{"type":125,"value":242},"start()",{"type":125,"value":244},",\n",{"type":119,"tag":145,"props":246,"children":247},{},[248],{"type":125,"value":249},"next()",{"type":125,"value":251},", ",{"type":119,"tag":145,"props":253,"children":254},{},[255],{"type":125,"value":256},"previous()",{"type":125,"value":258},", and ",{"type":119,"tag":145,"props":260,"children":261},{},[262],{"type":125,"value":263},"goTo()",{"type":125,"value":265},".",{"type":119,"tag":134,"props":267,"children":268},{},[269],{"type":125,"value":270},"Scrolling centers a target vertically by default. The browser owns smooth\nscrolling and adapts it to the travel distance. Nuxt Tour starts the reveal when\nthe target is close to its destination and its movement has stayed slow across\nmultiple frames. This removes a separate pause after scrolling while keeping\nthe final card movement small.",{"type":119,"tag":134,"props":272,"children":273},{},[274],{"type":125,"value":275},"An application or browser navigation that happens outside the controller\ncancels the active tour. This avoids leaving a card attached to a target from a\npage that no longer exists.",{"type":119,"tag":134,"props":277,"children":278},{},[279,281,286],{"type":125,"value":280},"An active card and its application effects stay active while the destination is\nprepared. The controller leaves and cleans it up only after the destination\nroute, preparation, target, and scrolling have succeeded. This can briefly\noverlap both steps' application effects, but it prevents a failed or skipped\ndestination from leaving the visible step in a false state. Step-to-step\nreplacement does not call the visual ",{"type":119,"tag":145,"props":282,"children":283},{},[284],{"type":125,"value":285},"hide",{"type":125,"value":287}," path;\nthe old presentation remains mounted until the new presentation replaces it.\nThis prevents a half-applied transition or an unshaded frame between steps.",{"type":119,"tag":134,"props":289,"children":290},{},[291,296,298,303],{"type":119,"tag":145,"props":292,"children":293},{},[294],{"type":125,"value":295},"prepare()",{"type":125,"value":297}," can create the target. If it returns a cleanup function, the engine\nruns that cleanup exactly once when the step ends, the tour ends, replacement\nstarts, or the transition fails. The context contains an ",{"type":119,"tag":145,"props":299,"children":300},{},[301],{"type":125,"value":302},"AbortSignal",{"type":125,"value":265},{"type":119,"tag":127,"props":305,"children":307},{"id":306},"promise-meaning",[308],{"type":125,"value":309},"Promise meaning",{"type":119,"tag":134,"props":311,"children":312},{},[313],{"type":125,"value":314},"All controller commands return promises. A successful navigation promise\nresolves after the destination card is active and its focus behavior has\ncompleted. It does not resolve after only changing an index.",{"type":119,"tag":127,"props":316,"children":318},{"id":317},"concurrency",[319],{"type":125,"value":320},"Concurrency",{"type":119,"tag":134,"props":322,"children":323},{},[324,326,331,333,338],{"type":125,"value":325},"The controller permits one transition at a time. A repeated identical command\nshares the in-flight promise. A conflicting navigation command fails with\n",{"type":119,"tag":145,"props":327,"children":328},{},[329],{"type":125,"value":330},"TOUR_BUSY",{"type":125,"value":332},". ",{"type":119,"tag":145,"props":334,"children":335},{},[336],{"type":125,"value":337},"cancel()",{"type":125,"value":339}," aborts an in-flight transition, runs cleanup, restores\nfocus when possible, and ends safely.",{"type":119,"tag":134,"props":341,"children":342},{},[343,345,350],{"type":125,"value":344},"One application can have one active tour. Starting another tour fails unless\nthe caller passes ",{"type":119,"tag":145,"props":346,"children":347},{},[348],{"type":125,"value":349},"replace: true",{"type":125,"value":351},". Replacement completes old-tour cleanup\nbefore the new tour starts.",{"type":119,"tag":127,"props":353,"children":355},{"id":354},"conditional-and-missing-steps",[356],{"type":125,"value":357},"Conditional and missing steps",{"type":119,"tag":134,"props":359,"children":360},{},[361,363,368,370,374,376,380,382,387,389,394,396,401],{"type":125,"value":362},"A false ",{"type":119,"tag":145,"props":364,"children":365},{},[366],{"type":125,"value":367},"when()",{"type":125,"value":369}," result is expected control flow for ",{"type":119,"tag":145,"props":371,"children":372},{},[373],{"type":125,"value":249},{"type":125,"value":375}," and ",{"type":119,"tag":145,"props":377,"children":378},{},[379],{"type":125,"value":256},{"type":125,"value":381},".\nThe engine performs no route, prepare, target, or render work for that step and\ncontinues in the current direction. ",{"type":119,"tag":145,"props":383,"children":384},{},[385],{"type":125,"value":386},"goTo(id)",{"type":125,"value":388}," and an explicit ",{"type":119,"tag":145,"props":390,"children":391},{},[392],{"type":125,"value":393},"start({ at })",{"type":125,"value":395},"\nare exact: an unavailable destination rejects with ",{"type":119,"tag":145,"props":397,"children":398},{},[399],{"type":125,"value":400},"STEP_UNAVAILABLE",{"type":125,"value":402}," and never\nlands on a different step.",{"type":119,"tag":134,"props":404,"children":405},{},[406],{"type":125,"value":407},"Target waiting is bounded. The default timeout and missing behavior belong to\none module-level configuration source. A target can override them.",{"type":119,"tag":134,"props":409,"children":410},{},[411,413,418],{"type":125,"value":412},"The v1 default timeout is 5000 ms. The v1 default missing behavior is ",{"type":119,"tag":145,"props":414,"children":415},{},[416],{"type":125,"value":417},"error",{"type":125,"value":265},{"type":119,"tag":420,"props":421,"children":422},"ul",{},[423,441],{"type":119,"tag":424,"props":425,"children":426},"li",{},[427,432,434,439],{"type":119,"tag":145,"props":428,"children":429},{},[430],{"type":125,"value":431},"missing: 'skip'",{"type":125,"value":433}," emits ",{"type":119,"tag":145,"props":435,"children":436},{},[437],{"type":125,"value":438},"target:missing",{"type":125,"value":440}," and continues.",{"type":119,"tag":424,"props":442,"children":443},{},[444,449,450,454,456,461],{"type":119,"tag":145,"props":445,"children":446},{},[447],{"type":125,"value":448},"missing: 'error'",{"type":125,"value":433},{"type":119,"tag":145,"props":451,"children":452},{},[453],{"type":125,"value":438},{"type":125,"value":455},", ends safely, and rejects with\n",{"type":119,"tag":145,"props":457,"children":458},{},[459],{"type":125,"value":460},"TARGET_NOT_FOUND",{"type":125,"value":265},{"type":119,"tag":134,"props":463,"children":464},{},[465,467,472],{"type":125,"value":466},"The resolver ignores disconnected and hidden candidates. Two visible\ncandidates for the same semantic ID reject with ",{"type":119,"tag":145,"props":468,"children":469},{},[470],{"type":125,"value":471},"TARGET_AMBIGUOUS",{"type":125,"value":473},". The engine\ndoes not select one based on DOM order.",{"type":119,"tag":134,"props":475,"children":476},{},[477],{"type":125,"value":478},"Development diagnostics include the tour ID, step ID, target, route, timeout,\nand currently registered semantic target IDs.",{"type":119,"tag":127,"props":480,"children":482},{"id":481},"errors-and-events",[483],{"type":125,"value":484},"Errors and events",{"type":119,"tag":134,"props":486,"children":487},{},[488],{"type":125,"value":489},"Expected user outcomes are not errors: completion, skip, cancel, a false\ncondition, and a configured missing-target skip.",{"type":119,"tag":134,"props":491,"children":492},{},[493],{"type":125,"value":494},"Stable initial error codes are:",{"type":119,"tag":140,"props":496,"children":497},{"language":125,"class":142},[498],{"type":119,"tag":145,"props":499,"children":500},{"class":147},[501,509,510,517,518,525,526,534,535,543,544,552,553,560,561,569,570,578,579],{"type":119,"tag":150,"props":502,"children":503},{"class":152,"style":153},[504],{"type":119,"tag":150,"props":505,"children":506},{},[507],{"type":125,"value":508},"INVALID_DEFINITION",{"type":125,"value":161},{"type":119,"tag":150,"props":511,"children":512},{"class":152,"style":153},[513],{"type":119,"tag":150,"props":514,"children":515},{},[516],{"type":125,"value":460},{"type":125,"value":161},{"type":119,"tag":150,"props":519,"children":520},{"class":152,"style":153},[521],{"type":119,"tag":150,"props":522,"children":523},{},[524],{"type":125,"value":471},{"type":125,"value":161},{"type":119,"tag":150,"props":527,"children":528},{"class":152,"style":153},[529],{"type":119,"tag":150,"props":530,"children":531},{},[532],{"type":125,"value":533},"ROUTE_FAILED",{"type":125,"value":161},{"type":119,"tag":150,"props":536,"children":537},{"class":152,"style":153},[538],{"type":119,"tag":150,"props":539,"children":540},{},[541],{"type":125,"value":542},"ROUTER_NOT_CONFIGURED",{"type":125,"value":161},{"type":119,"tag":150,"props":545,"children":546},{"class":152,"style":153},[547],{"type":119,"tag":150,"props":548,"children":549},{},[550],{"type":125,"value":551},"PREPARE_FAILED",{"type":125,"value":161},{"type":119,"tag":150,"props":554,"children":555},{"class":152,"style":153},[556],{"type":119,"tag":150,"props":557,"children":558},{},[559],{"type":125,"value":400},{"type":125,"value":161},{"type":119,"tag":150,"props":562,"children":563},{"class":152,"style":153},[564],{"type":119,"tag":150,"props":565,"children":566},{},[567],{"type":125,"value":568},"HOST_NOT_FOUND",{"type":125,"value":161},{"type":119,"tag":150,"props":571,"children":572},{"class":152,"style":153},[573],{"type":119,"tag":150,"props":574,"children":575},{},[576],{"type":125,"value":577},"TOUR_ALREADY_ACTIVE",{"type":125,"value":161},{"type":119,"tag":150,"props":580,"children":581},{"class":152,"style":153},[582],{"type":119,"tag":150,"props":583,"children":584},{},[585],{"type":125,"value":330},{"type":119,"tag":134,"props":587,"children":588},{},[589],{"type":125,"value":590},"The initial event map is:",{"type":119,"tag":140,"props":592,"children":593},{"language":125,"class":142},[594],{"type":119,"tag":145,"props":595,"children":596},{"class":147},[597,605,606,614,615,623,624,632,633,640,641,649,650],{"type":119,"tag":150,"props":598,"children":599},{"class":152,"style":153},[600],{"type":119,"tag":150,"props":601,"children":602},{},[603],{"type":125,"value":604},"tour:start",{"type":125,"value":161},{"type":119,"tag":150,"props":607,"children":608},{"class":152,"style":153},[609],{"type":119,"tag":150,"props":610,"children":611},{},[612],{"type":125,"value":613},"step:before",{"type":125,"value":161},{"type":119,"tag":150,"props":616,"children":617},{"class":152,"style":153},[618],{"type":119,"tag":150,"props":619,"children":620},{},[621],{"type":125,"value":622},"step:show",{"type":125,"value":161},{"type":119,"tag":150,"props":625,"children":626},{"class":152,"style":153},[627],{"type":119,"tag":150,"props":628,"children":629},{},[630],{"type":125,"value":631},"step:leave",{"type":125,"value":161},{"type":119,"tag":150,"props":634,"children":635},{"class":152,"style":153},[636],{"type":119,"tag":150,"props":637,"children":638},{},[639],{"type":125,"value":438},{"type":125,"value":161},{"type":119,"tag":150,"props":642,"children":643},{"class":152,"style":153},[644],{"type":119,"tag":150,"props":645,"children":646},{},[647],{"type":125,"value":648},"tour:end",{"type":125,"value":161},{"type":119,"tag":150,"props":651,"children":652},{"class":152,"style":153},[653],{"type":119,"tag":150,"props":654,"children":655},{},[656],{"type":125,"value":657},"tour:error",{"type":119,"tag":134,"props":659,"children":660},{},[661,665,667,672,673,678,680,685],{"type":119,"tag":145,"props":662,"children":663},{},[664],{"type":125,"value":648},{"type":125,"value":666}," reports ",{"type":119,"tag":145,"props":668,"children":669},{},[670],{"type":125,"value":671},"completed",{"type":125,"value":251},{"type":119,"tag":145,"props":674,"children":675},{},[676],{"type":125,"value":677},"skipped",{"type":125,"value":679},", or ",{"type":119,"tag":145,"props":681,"children":682},{},[683],{"type":125,"value":684},"cancelled",{"type":125,"value":686},". Consumers do not parse\nmessage strings. Event subscriptions return an unsubscribe function and also\nstop with their Vue effect scope when one exists. Event listeners are\nobservational: synchronous throws and rejected listener promises are reported\nwithout changing tour state.",{"title":688,"searchDepth":689,"depth":689,"links":690},"",4,[691,693,694,695,696],{"id":129,"depth":692,"text":132},2,{"id":306,"depth":692,"text":309},{"id":317,"depth":692,"text":320},{"id":354,"depth":692,"text":357},{"id":481,"depth":692,"text":484},"markdown","docs",{"source":700,"path":701,"stem":702,"dir":703,"extension":704},"content","docs\u002F3.design\u002F3.runtime-semantics.md","docs\u002F3.design\u002F3.runtime-semantics","design","md",{"requestedPath":87,"resolvedPath":87,"alternates":706},[],{"requested":708,"resolved":709,"usedFallback":9},{},{"locale":8},{"previous":711,"next":712},{"title":79,"id":80,"canonicalKey":81,"locale":8,"draft":9,"path":82},{"title":89,"id":90,"canonicalKey":91,"locale":8,"draft":9,"path":92},{"left":714,"top":714,"width":715,"height":715,"rotate":714,"vFlip":9,"hFlip":9,"body":716},0,24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1788188688922]