{"version":3,"file":"AutoAdvanceProcessSteps.DWKfg3SP.mjs","names":["useRef","useState","useMemo","useCallback","Wrapped"],"sources":["https:/framerusercontent.com/modules/UDYpfuauCnY0V5avhYF3/v9SBPWN6DjNaiHh30ie0/AutoAdvanceProcessSteps.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{useIsStaticRenderer}from\"framer\";const TRACKS={desktop:{steps:[{name:\"1 \\xb7 Eingabe\",id:\"SqrXlvYcE\"},{name:\"2 \\xb7 Maskierung\",id:\"tTdYIoLWv\"},{name:\"3 \\xb7 Verarbeitung & R\\xfcckgabe\",id:\"mJcAbM5yb\"}],startName:\"Start \\xb7 1 \\xb7 Eingabe\",startId:\"Q08C8Su9u\"},tablet:{steps:[{name:\"Tablet \\xb7 1 \\xb7 Eingabe\",id:\"QPuRzZM1G\"},{name:\"Tablet \\xb7 2 \\xb7 Maskierung\",id:\"gvSxzth69\"},{name:\"Tablet \\xb7 3 \\xb7 Verarbeitung & R\\xfcckgabe\",id:\"C78CUXSpY\"}],startName:\"Tablet \\xb7 Start \\xb7 1 \\xb7 Eingabe\",startId:\"KZVF74CeQ\"},phone:{steps:[{name:\"Phone \\xb7 1 \\xb7 Eingabe\",id:\"NWhlMtwPX\"},{name:\"Phone \\xb7 2 \\xb7 Maskierung\",id:\"OwOUc7VNZ\"},{name:\"Phone \\xb7 3 \\xb7 Verarbeitung & R\\xfcckgabe\",id:\"rNb2se9JY\"}],// Internal/non-exposed start variant; handled as step 1 on output.\nstartName:\"Phone \\xb7 Start \\xb7 1 \\xb7 Eingabe\",startId:\"QlR_4aCwj\"}};const STEP_INTERVAL_MS=5200;// Varianten-IDs der HIW API-Konsole (TEr7ttZzI) — gleiche Variantennamen wie das\n// Chat-Visual, aber eigene IDs. Ohne diese Aliase erkennt der Override den Track\n// nicht, wenn Framer die Variante als ID hereinreicht (Tablet/Phone brachen).\nconst ID_TRACK_ALIASES={hGg8tBqHw:\"desktop\",dgmSM8E1r:\"desktop\",zzXK16rDc:\"desktop\",MyQRAXjMx:\"desktop\",UAcZ_C16y:\"tablet\",OlmJngPVE:\"tablet\",WnRTSBc39:\"tablet\",FgE6IaZlr:\"tablet\",me8bpSeqe:\"phone\",VEqeK6X_r:\"phone\",Gc8i4MdYj:\"phone\",Tv7R3n0Dy:\"phone\"};const ID_STEP_ALIASES={hGg8tBqHw:0,dgmSM8E1r:1,zzXK16rDc:2,UAcZ_C16y:0,OlmJngPVE:1,WnRTSBc39:2,me8bpSeqe:0,VEqeK6X_r:1,Gc8i4MdYj:2};const START_ID_ALIASES=new Set([\"MyQRAXjMx\",\"FgE6IaZlr\",\"Tv7R3n0Dy\"]);const CANDIDATE_VARIANT_KEYS=[\"variant\",\"currentVariant\",\"__variant\",\"_variant\",\"selectedVariant\",\"$control__variant\"];const SHARED_PROGRESS_KEYS=[\"progress\",\"currentProgress\",\"progressValue\"];const STEP_PROGRESS_KEYS=[[\"step1Progress\",\"progress1\",\"firstProgress\"],[\"step2Progress\",\"progress2\",\"secondProgress\"],[\"step3Progress\",\"progress3\",\"thirdProgress\"]];const STEP_OPACITY_KEYS=[[\"step1Opacity\",\"progress1Opacity\",\"firstOpacity\"],[\"step2Opacity\",\"progress2Opacity\",\"secondOpacity\"],[\"step3Opacity\",\"progress3Opacity\",\"thirdOpacity\"]];export function AutoAdvanceProcessSteps(Component){return /*#__PURE__*/forwardRef(function AutoAdvanceProcessStepsOverride(props,ref){const isStaticRenderer=useIsStaticRenderer();const containerRef=useRef(null);const[isInView,setIsInView]=useState(false);const variantPropKey=useMemo(()=>{for(const key of CANDIDATE_VARIANT_KEYS){if(key in props)return key;}// Fallback for Framer-internal/public controls like \"$control__variant\" or similar.\nconst dynamicVariantKey=Object.keys(props).find(key=>/variant/i.test(key));return dynamicVariantKey??\"variant\";},[props]);const incomingVariant=props[variantPropKey];const incomingVariantString=typeof incomingVariant===\"string\"?incomingVariant:\"\";const detectedTrack=useMemo(()=>{if(!incomingVariantString)return\"desktop\";for(const track of[\"desktop\",\"tablet\",\"phone\"]){const config=TRACKS[track];if(config.steps.some(step=>step.name===incomingVariantString||step.id===incomingVariantString)||config.startName===incomingVariantString||config.startId===incomingVariantString){return track;}}if(ID_TRACK_ALIASES[incomingVariantString])return ID_TRACK_ALIASES[incomingVariantString];if(incomingVariantString.includes(\"Phone \\xb7\"))return\"phone\";if(incomingVariantString.includes(\"Tablet \\xb7\"))return\"tablet\";return\"desktop\";},[incomingVariantString]);const trackConfig=useMemo(()=>TRACKS[detectedTrack],[detectedTrack]);const stepVariantNames=useMemo(()=>trackConfig.steps.map(step=>step.name),[trackConfig]);const stepVariantIds=useMemo(()=>trackConfig.steps.map(step=>step.id),[trackConfig]);const stepVariants=stepVariantNames;const startVariantName=detectedTrack===\"phone\"?stepVariantNames[0]:trackConfig.startName;const startVariant=startVariantName;const isIncomingStartVariant=useMemo(()=>{if(!incomingVariantString)return false;return incomingVariantString===trackConfig.startName||incomingVariantString===trackConfig.startId||START_ID_ALIASES.has(incomingVariantString)||detectedTrack===\"phone\"&&(incomingVariantString===TRACKS.phone.startName||incomingVariantString===TRACKS.phone.startId);},[incomingVariantString,trackConfig,detectedTrack]);const initialIndex=useMemo(()=>{if(isIncomingStartVariant)return 0;const foundInCurrent=stepVariants.indexOf(incomingVariantString);if(foundInCurrent>=0)return foundInCurrent;const foundByName=stepVariantNames.indexOf(incomingVariantString);if(foundByName>=0)return foundByName;const foundById=stepVariantIds.indexOf(incomingVariantString);if(foundById>=0)return foundById;const aliasIdx0=ID_STEP_ALIASES[incomingVariantString];if(aliasIdx0!==undefined)return aliasIdx0;return 0;},[incomingVariantString,isIncomingStartVariant,stepVariants,stepVariantNames,stepVariantIds]);const[activeIndex,setActiveIndex]=useState(initialIndex);const[linearProgress,setLinearProgress]=useState(0);const timeoutRef=useRef(null);const rafRef=useRef(null);const cycleStartRef=useRef(0);const pendingFirstTickRef=useRef(true);const previousIncomingRef=useRef(incomingVariant);const clearTimer=useCallback(()=>{if(typeof window!==\"undefined\"&&timeoutRef.current!==null){window.clearTimeout(timeoutRef.current);}timeoutRef.current=null;},[]);const clearRaf=useCallback(()=>{if(typeof window!==\"undefined\"&&rafRef.current!==null){window.cancelAnimationFrame(rafRef.current);}rafRef.current=null;},[]);const shouldRun=!isStaticRenderer&&isInView;const restartCycle=useCallback(()=>{if(typeof window===\"undefined\")return;clearTimer();clearRaf();pendingFirstTickRef.current=true;cycleStartRef.current=0;startTransition(()=>setLinearProgress(0));if(!shouldRun)return;const tick=time=>{if(pendingFirstTickRef.current){pendingFirstTickRef.current=false;cycleStartRef.current=time;startTransition(()=>setLinearProgress(0));rafRef.current=window.requestAnimationFrame(tick);return;}const elapsed=Math.max(0,time-cycleStartRef.current);const nextProgress=Math.min(1,elapsed/STEP_INTERVAL_MS);startTransition(()=>setLinearProgress(nextProgress));if(nextProgress<1){rafRef.current=window.requestAnimationFrame(tick);}else{rafRef.current=null;}};rafRef.current=window.requestAnimationFrame(tick);timeoutRef.current=window.setTimeout(()=>{startTransition(()=>{setActiveIndex(prev=>(prev+1)%stepVariants.length);});},STEP_INTERVAL_MS);},[clearRaf,clearTimer,shouldRun,stepVariants.length]);useEffect(()=>{if(typeof window===\"undefined\"||isStaticRenderer)return;const element=containerRef.current;if(!element||typeof IntersectionObserver===\"undefined\"){startTransition(()=>setIsInView(true));return;}const observer=new IntersectionObserver(entries=>{const next=entries.some(entry=>entry.isIntersecting);startTransition(()=>setIsInView(next));},{threshold:.1});observer.observe(element);return()=>observer.disconnect();},[isStaticRenderer]);useEffect(()=>{const found=isIncomingStartVariant?0:(()=>{const byId=stepVariantIds.indexOf(incomingVariantString);if(byId>=0)return byId;const byName=stepVariantNames.indexOf(incomingVariantString);if(byName>=0)return byName;const aliasIdx=ID_STEP_ALIASES[incomingVariantString];return aliasIdx!==undefined?aliasIdx:-1;})();startTransition(()=>{setActiveIndex(found>=0?found:0);setLinearProgress(0);});},[stepVariantIds,stepVariantNames,incomingVariantString,isIncomingStartVariant]);useEffect(()=>{restartCycle();return()=>{clearTimer();clearRaf();};},[activeIndex,shouldRun,clearTimer,clearRaf,restartCycle]);// Manuelle Klicks auf Schritt-Header: Auto-Takt sauber abbrechen und ab dem\n// geklickten Schritt neu starten (sonst überschreibt der alte Timer die Auswahl).\nconst activeIndexRef=useRef(activeIndex);useEffect(()=>{activeIndexRef.current=activeIndex;},[activeIndex]);useEffect(()=>{if(typeof window===\"undefined\"||isStaticRenderer)return;const container=containerRef.current;if(!container)return;const KEYWORDS=[\"Eingabe\",\"Maskierung\",\"Verarbeitung\"];// Fallback: Titel geometrisch zuordnen — eingeklappte Items behalten ihren\n// Body-Text unsichtbar im DOM, daher reicht der Text-Walk allein nicht.\nconst stepFromPoint=(x,y)=>{const byStep=new Map;container.querySelectorAll(\"span,p,h1,h2,h3,h4,h5,h6,div\").forEach(el=>{const t=(el.textContent||\"\").trim();if(!t||t.length>40||/aktiv|maskiert/.test(t)||t.startsWith(\"//\"))return;for(let i=0;i<KEYWORDS.length;i++){if(t.includes(KEYWORDS[i])&&!KEYWORDS.some((o,j)=>j!==i&&t.includes(o))){const r=el.getBoundingClientRect();if(r.width>0&&r.height>0){const prev=byStep.get(i);if(!prev||r.width*r.height<prev.width*prev.height)byStep.set(i,r);}break;}}});if(!byStep.size)return-1;const sorted=Array.from(byStep.entries()).sort((a,b)=>a[1].top-b[1].top);const minLeft=Math.min(...sorted.map(([,r])=>r.left));const maxRight=Math.max(...sorted.map(([,r])=>r.right));if(x<minLeft-80||x>maxRight+320)return-1;for(let k=0;k<sorted.length;k++){const top=sorted[k][1].top-28;const bottom=k+1<sorted.length?sorted[k+1][1].top-28:sorted[k][1].bottom+90;if(y>=top&&y<bottom)return sorted[k][0];}return-1;};const adopt=found=>{if(found===activeIndexRef.current){restartCycle();}else{startTransition(()=>{setActiveIndex(found);setLinearProgress(0);});}};const handlePoint=(target,x,y)=>{let el=target;let found=-1;while(el&&el!==container){const t=(el.textContent||\"\").trim();if(t.length>0&&t.length<80&&!/aktiv|maskiert/.test(t)&&!t.startsWith(\"//\")){for(let i=0;i<KEYWORDS.length;i++){if(t.includes(KEYWORDS[i])&&!KEYWORDS.some((o,j)=>j!==i&&t.includes(o))){found=i;break;}}if(found>=0)break;}el=el.parentElement;}if(found<0)found=stepFromPoint(x,y);if(found>=0)adopt(found);};// pointerup statt click: Framers Tap-Gesten können click-Events unterdrücken.\nlet downX=0;let downY=0;let downT=0;const onDown=e=>{downX=e.clientX;downY=e.clientY;downT=Date.now();};const onUp=e=>{const dx=e.clientX-downX;const dy=e.clientY-downY;if(dx*dx+dy*dy>144||Date.now()-downT>700)return;handlePoint(e.target,e.clientX,e.clientY);};container.addEventListener(\"pointerdown\",onDown,true);container.addEventListener(\"pointerup\",onUp,true);return()=>{container.removeEventListener(\"pointerdown\",onDown,true);container.removeEventListener(\"pointerup\",onUp,true);};},[isStaticRenderer,restartCycle]);// Geschlossene Rückkopplung: den TATSÄCHLICH aufgeklappten Schritt im DOM messen\n// (Item-Bandhöhen zwischen den Titel-Positionen) und den Takt daran ausrichten.\n// Fängt jede Umschaltung, die an der Klick-Erkennung vorbeigeht.\nconst lastSwitchRef=useRef(0);useEffect(()=>{lastSwitchRef.current=Date.now();},[activeIndex]);useEffect(()=>{if(typeof window===\"undefined\"||isStaticRenderer||!shouldRun)return;const container=containerRef.current;if(!container)return;const KEYWORDS=[\"Eingabe\",\"Maskierung\",\"Verarbeitung\"];const detectExpanded=()=>{const byStep=new Map;container.querySelectorAll(\"span,p,h1,h2,h3,h4,h5,h6,div\").forEach(el=>{const t=(el.textContent||\"\").trim();if(!t||t.length>40||/aktiv|maskiert/.test(t)||t.startsWith(\"//\"))return;for(let i=0;i<KEYWORDS.length;i++){if(t.includes(KEYWORDS[i])&&!KEYWORDS.some((o,j)=>j!==i&&t.includes(o))){const r=el.getBoundingClientRect();if(r.width>0&&r.height>0){const prev=byStep.get(i);if(!prev||r.width*r.height<prev.width*prev.height)byStep.set(i,r);}break;}}});if(byStep.size<3)return-1;const sorted=Array.from(byStep.entries()).sort((a,b)=>a[1].top-b[1].top);const h0=sorted[1][1].top-sorted[0][1].top;const h1=sorted[2][1].top-sorted[1][1].top;if(h0>h1*1.5)return sorted[0][0];if(h1>h0*1.5)return sorted[1][0];return sorted[2][0];};let pendingIdx=-1;let pendingCount=0;const id=window.setInterval(()=>{if(Date.now()-lastSwitchRef.current<900){pendingIdx=-1;pendingCount=0;return;}const exp=detectExpanded();if(exp<0||exp===activeIndexRef.current){pendingIdx=-1;pendingCount=0;return;}if(pendingIdx===exp)pendingCount++;else{pendingIdx=exp;pendingCount=1;}if(pendingCount>=2){pendingIdx=-1;pendingCount=0;startTransition(()=>{setActiveIndex(exp);setLinearProgress(0);});}},300);return()=>window.clearInterval(id);},[isStaticRenderer,shouldRun]);useEffect(()=>{if(incomingVariant===previousIncomingRef.current)return;previousIncomingRef.current=incomingVariant;const found=isIncomingStartVariant?0:(()=>{const byId=stepVariantIds.indexOf(incomingVariantString);if(byId>=0)return byId;const byName=stepVariantNames.indexOf(incomingVariantString);if(byName>=0)return byName;const aliasIdx=ID_STEP_ALIASES[incomingVariantString];return aliasIdx!==undefined?aliasIdx:-1;})();if(found>=0){clearTimer();clearRaf();pendingFirstTickRef.current=true;cycleStartRef.current=0;startTransition(()=>{setActiveIndex(found);setLinearProgress(0);});}},[incomingVariant,incomingVariantString,isIncomingStartVariant,stepVariantIds,stepVariantNames,clearRaf,clearTimer]);const shouldShowStartVariant=!shouldRun||pendingFirstTickRef.current;const resolvedVariant=shouldShowStartVariant?startVariant:stepVariants[activeIndex]??stepVariants[0];const resolvedVariantName=shouldShowStartVariant?startVariantName:stepVariantNames[activeIndex]??stepVariantNames[0];const runtimeVariantKey=variantPropKey===\"$control__variant\"&&\"variant\"in props?\"variant\":variantPropKey;const nextProps={...props,[runtimeVariantKey]:resolvedVariant};// Keep \"$control__variant\" synchronized when present or when it is the selected variant key.\nif(\"$control__variant\"in props||variantPropKey===\"$control__variant\"){nextProps.$control__variant=resolvedVariantName;}// Keep the runtime variant key synchronized as the primary output channel (name format).\nnextProps[runtimeVariantKey]=resolvedVariant;const renderedProgress=shouldRun&&!shouldShowStartVariant?linearProgress:0;// Keep auto-advanced progress bars strictly linear where matching props exist.\nfor(const key of SHARED_PROGRESS_KEYS){if(key in props)nextProps[key]=renderedProgress;}for(let step=0;step<STEP_PROGRESS_KEYS.length;step++){const stepProgress=step===activeIndex?renderedProgress:0;for(const key of STEP_PROGRESS_KEYS[step]){if(key in props)nextProps[key]=stepProgress;}}// Ensure inactive progress bars are not faintly visible when corresponding opacity props exist.\nfor(let step=0;step<STEP_OPACITY_KEYS.length;step++){const stepOpacity=step===activeIndex?1:0;for(const key of STEP_OPACITY_KEYS[step]){if(key in props)nextProps[key]=stepOpacity;}}// If the wrapped instance accepts transition overrides, enforce linear easing for automated progress.\nif(\"transition\"in props){nextProps.transition={...props.transition??{},ease:\"linear\"};}const Wrapped=Component;return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"auto\",display:\"block\"},children:/*#__PURE__*/_jsx(Wrapped,{ref:ref,...nextProps})});});}\nexport const __FramerMetadata__ = {\"exports\":{\"AutoAdvanceProcessSteps\":{\"type\":\"reactHoc\",\"name\":\"AutoAdvanceProcessSteps\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoAdvanceProcessSteps.map"],"mappings":"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"}