import{e as et,K as st,L as rt,c as nt,f as ot,R as it,i as E,t as C,N as at,j as I,m as x,w as q,r as _,a as z,b as k,n as A,k as R,h as lt,P as ct,S as F,F as pt}from"./web-C3hSb2U9.js";import{u as dt,H as ut}from"./use-controls-EimioBK-.js";import{h as gt}from"./data-D3j_gHWe.js";import{S as ft,T as ht}from"./toolbar-_dJCwtes.js";import{g as St,c as mt,a as vt,v as yt,s as Tt,p as It,n as j,C as xt,o as Pt,u as Et}from"./machine-B4xhUqa0.js";import{t as $t}from"./index-CA6yuN3R.js";import{t as wt}from"./index-DVD7Lnf0.js";import{g as bt,a as kt}from"./get-styles-gUwO1sTt.js";import{a as Ct}from"./dismissable-layer-CCzS5JIF.js";import{r as Rt}from"./raf-BbHJcbS4.js";import{g as _t}from"./computed-style-DN4gh5js.js";import{c as Ot,n as Dt}from"./normalize-props-DXXQV7aw.js";import{d as H}from"./shared-DziGcW-A.js";import{m as Nt}from"./merge-props-CTGEU9DW.js";import"./deep-get-set-B56Z2H6w.js";import"./tabbable-CY6B-XKk.js";import"./event-VwB3l_jv.js";import"./overflow-BokZHG40.js";import"./functions-DI9ICrw7.js";import"./set-CtyCTBTA.js";const Lt=Ot("tour").parts("content","actionTrigger","closeTrigger","progressText","title","description","positioner","arrow","arrowTip","backdrop","spotlight"),y=Lt.build(),U=t=>t.ids?.positioner??`tour-positioner-${t.id}`,Y=t=>t.ids?.content??`tour-content-${t.id}`,W=t=>t.ids?.title??`tour-title-${t.id}`,X=t=>t.ids?.description??`tour-desc-${t.id}`,Vt=t=>t.ids?.arrow??`tour-arrow-${t.id}`,Z=t=>t.ids?.backdrop??`tour-backdrop-${t.id}`,L=t=>t.getById(Y(t)),J=t=>t.getById(U(t)),At=t=>t.getById(Z(t));function Ft(t){const{radius:e=0,rootSize:{width:s,height:r},rect:{width:n,height:i,x:a,y:o},enabled:p=!0}=t;if(!p)return"";const{topLeft:u=0,topRight:h=0,bottomRight:c=0,bottomLeft:f=0}=typeof e=="number"?{topLeft:e,topRight:e,bottomRight:e,bottomLeft:e}:e;return`M${s},${r}  H0  V0  H${s}  V${r}  Z  M${a+u},${o}  a${u},${u},0,0,0-${u},${u}  V${i+o-f}  a${f},${f},0,0,0,${f},${f}  H${n+a-c}  a${c},${c},0,0,0,${c}-${c}  V${o+h}  a${h},${h},0,0,0-${h}-${h}  Z`}const M=t=>t?.type==="tooltip",Bt=t=>t?.type==="dialog",Mt=t=>t!=null&&t!="center",zt=t=>t.type==="floating"?{backdrop:!1,arrow:!1,placement:"bottom-end",...t}:t.target==null||t.type==="dialog"?{type:"dialog",placement:"center",backdrop:!0,...t}:!t.type||t.type==="tooltip"?{type:"tooltip",arrow:!0,backdrop:!0,...t}:t,Q=(t,e)=>{const s=e!=null?t.find(r=>r.id===e):null;return s?zt(s):null},V=(t,e)=>e!=null?t.findIndex(s=>s.id===e):-1;function Ht(t,e){const{state:s,context:r,computed:n,send:i,prop:a,scope:o}=t,p=s.hasTag("open"),u=Array.from(r.get("steps")),h=n("stepIndex"),c=n("step"),f=typeof c?.target?.()<"u",$=n("hasNextStep"),m=n("hasPrevStep"),g=n("isFirstStep"),w=n("isLastStep"),T=r.get("currentPlacement"),b=r.get("targetRect"),D=bt({strategy:"absolute",placement:Mt(T)?T:void 0}),N=Ft({enabled:M(c),rect:b,rootSize:r.get("boundarySize"),radius:a("spotlightRadius")}),P={next(){i({type:"STEP.NEXT",src:"actionTrigger"})},prev(){i({type:"STEP.PREV",src:"actionTrigger"})},dismiss(){i({type:"DISMISS",src:"actionTrigger"})},goto(l){i({type:"STEP.SET",value:l,src:"actionTrigger"})}};return{open:p,totalSteps:u.length,stepIndex:h,step:c,hasNextStep:$,hasPrevStep:m,firstStep:g,lastStep:w,addStep(l){const d=u.concat(l);i({type:"STEPS.SET",value:d,src:"addStep"})},removeStep(l){const d=u.filter(S=>S.id!==l);i({type:"STEPS.SET",value:d,src:"removeStep"})},updateStep(l,d){const S=u.map(v=>v.id===l?Nt(v,d):v);i({type:"STEPS.SET",value:S,src:"updateStep"})},setSteps(l){i({type:"STEPS.SET",value:l,src:"setSteps"})},setStep(l){i({type:"STEP.SET",value:l})},start(l){i({type:"START",id:l})},isValidStep(l){return u.some(d=>d.id===l)},isCurrentStep(l){return c?.id===l},next(){i({type:"STEP.NEXT"})},prev(){i({type:"STEP.PREV"})},getProgressPercent(){return h/u.length*100},getProgressText(){const l=u.filter(v=>v.type!=="wait"),S={current:V(l,c?.id),total:l.length};return a("translations").progressText?.(S)??""},getBackdropProps(){return e.element({...y.backdrop.attrs,id:Z(o),dir:a("dir"),hidden:!p,"data-state":p?"open":"closed","data-type":c?.type,style:{"--tour-layer":0,clipPath:M(c)?`path("${N}")`:void 0,position:"absolute",inset:"0",willChange:"clip-path"}})},getSpotlightProps(){return e.element({...y.spotlight.attrs,hidden:!p||!c?.target?.(),style:{"--tour-layer":1,position:"absolute",width:`${b.width}px`,height:`${b.height}px`,left:`${b.x}px`,top:`${b.y}px`,borderRadius:`${a("spotlightRadius")}px`,pointerEvents:"none"}})},getProgressTextProps(){return e.element({...y.progressText.attrs})},getPositionerProps(){return e.element({...y.positioner.attrs,dir:a("dir"),id:U(o),"data-type":c?.type,"data-placement":T,style:{"--tour-layer":2,...c?.type==="tooltip"&&D.floating}})},getArrowProps(){return e.element({id:Vt(o),...y.arrow.attrs,dir:a("dir"),hidden:c?.type!=="tooltip",style:c?.type==="tooltip"?D.arrow:void 0,opacity:f?void 0:0})},getArrowTipProps(){return e.element({...y.arrowTip.attrs,dir:a("dir"),style:D.arrowTip})},getContentProps(){return e.element({...y.content.attrs,id:Y(o),dir:a("dir"),role:"alertdialog","aria-modal":"true","aria-live":"polite","aria-atomic":"true",hidden:!p,"data-state":p?"open":"closed","data-type":c?.type,"data-placement":T,"data-step":c?.id,"aria-labelledby":W(o),"aria-describedby":X(o),tabIndex:-1,onKeyDown(l){if(l.defaultPrevented||!a("keyboardNavigation"))return;const d=a("dir")==="rtl";switch(l.key){case"ArrowRight":if(!$)return;i({type:d?"STEP.PREV":"STEP.NEXT",src:"keydown"});break;case"ArrowLeft":if(!m)return;i({type:d?"STEP.NEXT":"STEP.PREV",src:"keydown"});break}}})},getTitleProps(){return e.element({...y.title.attrs,id:W(o),"data-placement":f?T:"center"})},getDescriptionProps(){return e.element({...y.description.attrs,id:X(o),"data-placement":f?T:"center"})},getCloseTriggerProps(){return e.element({...y.closeTrigger.attrs,"data-type":c?.type,"aria-label":a("translations").close,onClick:P.dismiss})},getActionTriggerProps(l){const{action:d,attrs:S}=l.action;let v={};switch(d){case"next":v={"data-type":"next",disabled:!$,"data-disabled":H(!$),"aria-label":a("translations").nextStep,onClick:P.next};break;case"prev":v={"data-type":"prev",disabled:!m,"data-disabled":H(!m),"aria-label":a("translations").prevStep,onClick:P.prev};break;case"dismiss":v={"data-type":"close","aria-label":a("translations").close,onClick:P.dismiss};break;default:v={"data-type":"custom",onClick(){typeof d=="function"&&d(P)}};break}return e.button({...y.actionTrigger.attrs,type:"button",...S,...v})}}}function G(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}const Wt=t=>{let e=t.clientX,s=t.clientY,r=t.view||window,n=G(r);for(;n;){const i=n.getBoundingClientRect(),a=getComputedStyle(n),o=i.left+(n.clientLeft+parseFloat(a.paddingLeft)),p=i.top+(n.clientTop+parseFloat(a.paddingTop));e+=o,s+=p,r=St(n),n=G(r)}return{clientX:e,clientY:s}};function Xt(t,e){const{clientX:s,clientY:r}=Wt(e);return t.y<=r&&r<=t.y+t.height&&t.x<=s&&s<=t.x+t.width}function Gt(t,e){const s=e.x||0,r=e.y||0;return{x:t.x-s,y:t.y-r,width:t.width+s+s,height:t.height+r+r}}const{and:B}=vt(),tt=t=>t.filter(e=>e.type!=="wait"),Kt=(t,e)=>{const s=tt(t).length;return(e+1)/s},qt=mt({props({props:t}){return{preventInteraction:!1,closeOnInteractOutside:!0,closeOnEscape:!0,keyboardNavigation:!0,spotlightOffset:{x:10,y:10},spotlightRadius:4,...t,translations:{nextStep:"next step",prevStep:"previous step",close:"close tour",progressText:({current:e,total:s})=>`${e+1} of ${s}`,skip:"skip tour",...t.translations}}},initialState(){return"tour.inactive"},context({prop:t,bindable:e,getContext:s}){return{steps:e(()=>({defaultValue:t("steps")??[],onChange(r){t("onStepsChange")?.({steps:r})}})),stepId:e(()=>({defaultValue:t("stepId"),sync:!0,onChange(r){const i=s().get("steps"),a=V(i,r),o=Kt(i,a),p=a==i.length-1;t("onStepChange")?.({stepId:r,stepIndex:a,totalSteps:i.length,complete:p,progress:o})}})),resolvedTarget:e(()=>({sync:!0,defaultValue:null})),targetRect:e(()=>({defaultValue:{width:0,height:0,x:0,y:0}})),boundarySize:e(()=>({defaultValue:{width:0,height:0}})),currentPlacement:e(()=>({defaultValue:void 0}))}},computed:{stepIndex:({context:t})=>V(t.get("steps"),t.get("stepId")),step:({context:t})=>Q(t.get("steps"),t.get("stepId")),hasNextStep:({context:t,computed:e})=>e("stepIndex")<t.get("steps").length-1,hasPrevStep:({computed:t})=>t("stepIndex")>0,isFirstStep:({computed:t})=>t("stepIndex")===0,isLastStep:({context:t,computed:e})=>e("stepIndex")===t.get("steps").length-1,progress:({context:t,computed:e})=>{const s=tt(t.get("steps")).length;return(e("stepIndex")+1)/s}},watch({track:t,context:e,action:s}){t([()=>e.get("stepId")],()=>{queueMicrotask(()=>{s(["setResolvedTarget","raiseStepChange","syncTargetAttrs"])})})},effects:["trackBoundarySize"],exit:["cleanupRefs"],on:{"STEPS.SET":{actions:["setSteps"]},"STEP.SET":{actions:["setStep"]},"STEP.NEXT":{actions:["setNextStep"]},"STEP.PREV":{actions:["setPrevStep"]},"STEP.CHANGED":[{guard:B("isValidStep","hasResolvedTarget"),target:"target.scrolling",actions:["cleanupRefs"]},{guard:B("isValidStep","hasTarget"),target:"target.resolving",actions:["cleanupRefs"]},{guard:B("isValidStep","isWaitingStep"),target:"step.waiting",actions:["cleanupRefs"]},{guard:"isValidStep",target:"tour.active",actions:["cleanupRefs"]}],DISMISS:[{guard:"isLastStep",target:"tour.inactive",actions:["invokeOnDismiss","invokeOnComplete","clearStep"]},{target:"tour.inactive",actions:["invokeOnDismiss","clearStep"]}]},states:{"tour.inactive":{tags:["closed"],on:{START:{actions:["setInitialStep","invokeOnStart"]}}},"target.resolving":{tags:["closed"],effects:["waitForTarget","waitForTargetTimeout"],on:{"TARGET.NOT_FOUND":{target:"tour.inactive",actions:["invokeOnNotFound","clearStep"]},"TARGET.RESOLVED":{target:"target.scrolling",actions:["setResolvedTarget"]}}},"target.scrolling":{tags:["open"],entry:["scrollToTarget"],effects:["waitForScrollEnd","trapFocus","trackPlacement","trackDismissableBranch","trackInteractOutside","trackEscapeKeydown"],on:{"SCROLL.END":{target:"tour.active"}}},"step.waiting":{tags:["closed"]},"tour.active":{tags:["open"],effects:["trapFocus","trackPlacement","trackDismissableBranch","trackInteractOutside","trackEscapeKeydown"]}},implementations:{guards:{isLastStep:({computed:t,context:e})=>t("stepIndex")===e.get("steps").length-1,isValidStep:({context:t})=>t.get("stepId")!=null,hasTarget:({computed:t})=>t("step")?.target!=null,hasResolvedTarget:({context:t})=>t.get("resolvedTarget")!=null,isWaitingStep:({computed:t})=>t("step")?.type==="wait"},actions:{scrollToTarget({context:t}){t.get("resolvedTarget")?.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},setStep(t){const{event:e}=t;O(t,e.value)},clearStep(t){const{context:e}=t;e.set("targetRect",{width:0,height:0,x:0,y:0}),O(t,-1)},setInitialStep(t){const{context:e,event:s}=t,r=e.get("steps");if(r.length!==0){if(xt(s.value)){const n=V(r,s.value);O(t,n);return}O(t,0)}},setNextStep(t){const{context:e,computed:s}=t,r=e.get("steps"),n=j(r,s("stepIndex"));O(t,n)},setPrevStep(t){const{context:e,computed:s}=t,r=e.get("steps"),n=It(r,s("stepIndex"));O(t,n)},invokeOnStart({prop:t,context:e,computed:s}){t("onStatusChange")?.({status:"started",stepId:e.get("stepId"),stepIndex:s("stepIndex")})},invokeOnDismiss({prop:t,context:e,computed:s}){t("onStatusChange")?.({status:"dismissed",stepId:e.get("stepId"),stepIndex:s("stepIndex")})},invokeOnComplete({prop:t,context:e,computed:s}){t("onStatusChange")?.({status:"completed",stepId:e.get("stepId"),stepIndex:s("stepIndex")})},invokeOnSkip({prop:t,context:e,computed:s}){t("onStatusChange")?.({status:"skipped",stepId:e.get("stepId"),stepIndex:s("stepIndex")})},invokeOnNotFound({prop:t,context:e,computed:s}){t("onStatusChange")?.({status:"not-found",stepId:e.get("stepId"),stepIndex:s("stepIndex")})},raiseStepChange({send:t}){t({type:"STEP.CHANGED"})},setResolvedTarget({context:t,event:e,computed:s}){const r=e.node??s("step")?.target?.();t.set("resolvedTarget",r??null)},syncTargetAttrs({context:t,refs:e,prop:s}){e.get("_targetCleanup")?.(),e.set("_targetCleanup",void 0);const r=t.get("resolvedTarget");r&&(s("preventInteraction")&&(r.inert=!0),r.setAttribute("data-tour-highlighted",""),e.set("_targetCleanup",()=>{s("preventInteraction")&&(r.inert=!1),r.removeAttribute("data-tour-highlighted")}))},cleanupRefs({refs:t}){t.get("_targetCleanup")?.(),t.set("_targetCleanup",void 0),t.get("_effectCleanup")?.(),t.set("_effectCleanup",void 0)},validateSteps({context:t}){const e=new Set;t.get("steps").forEach(s=>{if(e.has(s.id))throw new Error(`[zag-js/tour] Duplicate step id: ${s.id}`);if(s.target==null&&s.type==null)throw new Error(`[zag-js/tour] Step ${s.id} has no target or type. At least one of those is required.`);e.add(s.id)})}},effects:{waitForScrollEnd({send:t}){const e=setTimeout(()=>{t({type:"SCROLL.END"})},100);return()=>clearTimeout(e)},waitForTargetTimeout({send:t}){const e=setTimeout(()=>{t({type:"TARGET.NOT_FOUND"})},3e3);return()=>clearTimeout(e)},waitForTarget({scope:t,computed:e,send:s}){const r=e("step");if(!r)return;const n=r.target,i=t.getWin(),a=t.getRootNode(),o=new i.MutationObserver(()=>{const p=n?.();p&&(s({type:"TARGET.RESOLVED",node:p}),o.disconnect())});return o.observe(a,{childList:!0,subtree:!0,characterData:!0}),()=>{o.disconnect()}},trackBoundarySize({context:t,scope:e}){const s=e.getWin(),r=e.getDoc(),n=()=>{const a=visualViewport?.width??s.innerWidth,o=r.documentElement.scrollHeight;t.set("boundarySize",{width:a,height:o})};n();const i=s.visualViewport??s;return i.addEventListener("resize",n),()=>i.removeEventListener("resize",n)},trackEscapeKeydown({scope:t,send:e,prop:s}){if(!s("closeOnEscape"))return;const r=t.getDoc(),n=i=>{i.key==="Escape"&&(i.preventDefault(),i.stopPropagation(),e({type:"DISMISS",src:"esc"}))};return r.addEventListener("keydown",n,!0),()=>{r.removeEventListener("keydown",n,!0)}},trackInteractOutside({context:t,computed:e,scope:s,send:r,prop:n}){const i=e("step");return i==null?void 0:wt(()=>L(s),{defer:!0,exclude(o){return Tt(i.target?.(),o)},onFocusOutside(o){n("onFocusOutside")?.(o),n("closeOnInteractOutside")||o.preventDefault()},onPointerDownOutside(o){if(n("onPointerDownOutside")?.(o),Xt(t.get("targetRect"),o.detail.originalEvent)){o.preventDefault();return}n("closeOnInteractOutside")||o.preventDefault()},onInteractOutside(o){n("onInteractOutside")?.(o),!o.defaultPrevented&&r({type:"DISMISS",src:"interact-outside"})}})},trackDismissableBranch({computed:t,scope:e}){if(t("step")==null)return;const r=()=>L(e);return Ct(r,{defer:!r()})},trapFocus({computed:t,scope:e}){return t("step")==null?void 0:$t(()=>L(e),{escapeDeactivates:!1,allowOutsideClick:!0,preventScroll:!0,returnFocusOnDeactivate:!1})},trackPlacement({context:t,computed:e,scope:s,prop:r}){const n=e("step");if(n==null)return;if(t.set("currentPlacement",n.placement??"bottom"),Bt(n))return jt(s);if(!M(n))return;const i=()=>J(s);return kt(t.get("resolvedTarget"),i,{defer:!0,placement:n.placement??"bottom",strategy:"absolute",gutter:10,offset:n.offset,getAnchorRect(a){if(!yt(a))return null;const o=a.getBoundingClientRect();return Gt(o,r("spotlightOffset"))},onComplete(a){const{rects:o}=a.middlewareData;t.set("currentPlacement",a.placement),t.set("targetRect",o.reference)}})}}}});function jt(t){return Rt(()=>{const e=L(t);if(!e)return;const s=_t(e),r=J(t),n=At(t);r&&(r.style.setProperty("--z-index",s.zIndex),r.style.setProperty("z-index","var(--z-index)")),n&&n.style.setProperty("--z-index",s.zIndex)})}function O(t,e){const{context:s,refs:r,computed:n,prop:i}=t,a=s.get("steps"),o=a[e];if(!o){s.set("stepId",null);return}if(Pt(s.get("stepId"),o.id))return;const p=m=>{s.set("steps",g=>g.map((w,T)=>T===e?{...w,...m}:w))},u=()=>{const m=j(a,n("stepIndex"));s.set("stepId",a[m].id)},h=m=>{const g=Q(a,m);g&&s.set("stepId",g.id)},c=()=>{s.set("stepId",null),i("onStatusChange")?.({status:"dismissed",stepId:null,stepIndex:-1})},f=()=>{s.set("stepId",o.id)};if(!o.effect){f();return}const $=o.effect({show:f,next:u,update:p,target:o.target,dismiss:c,goto:h});r.set("_effectCleanup",$)}var Ut=C("<iframe>");const Yt=t=>{const[e,s]=et(),[r,n]=st(t,["children"]);return rt(()=>{const i=nt(()=>r.children);let a;const o=()=>{const p=e()?.contentDocument?.body;if(p?.hasChildNodes()){a&&clearInterval(a);return}it(i,p)};o(),a=setInterval(o,0),ot(()=>{a&&clearInterval(a)})}),(()=>{var i=E(Ut);return at(s,i),I(i,x({get title(){return q()}},n),!1,!1),_(),i})()};var Zt=C("<h1 id=step-2a>Iframe Content"),Jt=C("<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."),K=C("<div>"),Qt=C("<div><div>"),te=C('<div><div><!$><!/><p></p><div></div><div class="tour button__group">'),ee=C("<main class=tour><div><button>Start Tour</button><div class=steps__container><h3 id=step-1>Step 1</h3><div class=overflow__container><div class=h-200px></div><h3 id=step-2>Step 2</h3><div class=h-100px></div></div><!$><!/><h3 id=step-3>Step 3</h3><h3 id=step-4>Step 4</h3></div></div><!$><!/>"),se=C("<button>");function Pe(){const t=dt(ut),e=Et(qt,t.mergeProps({id:q(),steps:gt})),s=z(()=>Ht(e,Dt));return[(()=>{var r=E(ee),n=r.firstChild,i=n.firstChild,a=i.nextSibling,o=a.firstChild,p=o.nextSibling,u=p.nextSibling,[h,c]=A(u.nextSibling);h.nextSibling;var f=n.nextSibling,[$,m]=A(f.nextSibling);return i.$$click=()=>s().start(),R(a,k(Yt,{get children(){return[E(Zt),E(Jt)]}}),h,c),R(r,k(F,{get when(){return z(()=>!!s().open)()&&s().step},get children(){return k(ct,{get children(){return[k(F,{get when(){return s().step?.backdrop},get children(){var g=E(K);return I(g,x(()=>s().getBackdropProps()),!1,!1),_(),g}}),(()=>{var g=E(K);return I(g,x(()=>s().getSpotlightProps()),!1,!1),_(),g})(),(()=>{var g=E(te),w=g.firstChild,T=w.firstChild,[b,D]=A(T.nextSibling),N=b.nextSibling,P=N.nextSibling,l=P.nextSibling;return I(g,x(()=>s().getPositionerProps()),!1,!0),I(w,x(()=>s().getContentProps()),!1,!0),R(w,k(F,{get when(){return s().step?.arrow},get children(){var d=E(Qt),S=d.firstChild;return I(d,x(()=>s().getArrowProps()),!1,!0),I(S,x(()=>s().getArrowTipProps()),!1,!1),_(),d}}),b,D),I(N,x(()=>s().getTitleProps()),!1,!0),R(N,()=>s().step.title),I(P,x(()=>s().getDescriptionProps()),!1,!0),R(P,()=>s().step.description),R(l,k(pt,{get each(){return s().step?.actions},children:d=>(()=>{var S=E(se);return I(S,x(()=>s().getActionTriggerProps({action:d})),!1,!0),R(S,()=>d.label),_(),S})()})),_(),g})()]}})}}),$,m),_(),r})(),k(ht,{controls:t,get children(){return k(ft,{state:e,omit:["steps"]})}})]}lt(["click"]);export{Pe as default};
