{"version":3,"file":"AdvancedBeforeAfter.C-RpxtXV.mjs","names":["React.useRef","p","React.useState","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/7cCE5wxo0SxY4FX3fCFY/Mcgsqkj5KLYsgrydFgXR/AdvancedBeforeAfter.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function clamp(n,min,max){return Math.max(min,Math.min(max,n));}function lerp(a,b,t){return a+(b-a)*t;}function easeOutCubic(t){return 1-Math.pow(1-t,3);}function isTruthyUrl(s){return typeof s===\"string\"&&s.trim().length>0;}function getPreset(p){return p?.media?.preset??p?.preset??\"Drag Slider\";}function getMediaType(p){return p?.media?.mediaType??p?.mediaType??\"Image\";}function getDivider(p){return p?.behavior?.divider??p?.divider??\"Vertical\";}function getStartPosition(p){return Number(p?.behavior?.startPosition??p?.startPosition??50);}function pickMediaSrc(p,which){const mediaType=getMediaType(p);const m=p?.media??{};if(mediaType===\"Video\"){const legacy=which===\"before\"?p?.beforeVideo:p?.afterVideo;return(which===\"before\"?m.beforeVideo:m.afterVideo)??legacy??\"\";}const legacy=which===\"before\"?p?.beforeImage:p?.afterImage;return(which===\"before\"?m.beforeImage:m.afterImage)??legacy??\"\";}function clipForBefore(divider,pos01){const p=clamp(pos01,0,1)*100;if(divider===\"Horizontal\")return`inset(0% 0% ${100-p}% 0%)`;return`inset(0% ${100-p}% 0% 0%)`;}function axisPercent(divider,pos01){const p=clamp(pos01,0,1)*100;if(divider===\"Horizontal\")return{top:`${p}%`,left:\"0%\"};return{left:`${p}%`,top:\"0%\"};}function labelPositions(placement){const edgeY=placement===\"Top\"?{top:12}:{bottom:12};return{before:{left:12,...edgeY},after:{right:12,...edgeY}};}function shadowFromPreset(preset,custom){if(preset===\"None\")return\"none\";if(preset===\"Soft\")return\"0 14px 40px rgba(0,0,0,0.28)\";if(preset===\"Medium\")return\"0 18px 55px rgba(0,0,0,0.34)\";if(preset===\"Strong\")return\"0 24px 80px rgba(0,0,0,0.40)\";return(custom||\"\").trim()||\"0 18px 55px rgba(0,0,0,0.34)\";}function Placeholder({text}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,color:\"rgba(255,255,255,0.85)\",userSelect:\"none\",WebkitUserSelect:\"none\",padding:16,textAlign:\"center\",lineHeight:1.35,pointerEvents:\"none\"},children:text});}function MediaLayer(props){const commonStyle={width:\"100%\",height:\"100%\",objectFit:props.fit===\"Contain\"?\"contain\":\"cover\",display:\"block\",userSelect:\"none\",WebkitUserSelect:\"none\",WebkitUserDrag:\"none\",pointerEvents:\"none\"};if(props.mediaType===\"Video\"){return /*#__PURE__*/_jsx(\"video\",{ref:props.refCb,src:props.src,style:commonStyle,muted:props.muted,loop:props.loop,controls:props.controls,playsInline:true,preload:props.preload});}return /*#__PURE__*/_jsx(\"img\",{src:props.src,alt:props.alt||\"\",draggable:false,onDragStart:e=>e.preventDefault(),style:commonStyle});}export default function BeforeAfterPro(p){const rootRef=React.useRef(null);const rafRef=React.useRef(null);const dragActiveRef=React.useRef(false);const hoverRef=React.useRef(false);const canHoverRef=React.useRef(true);const beforeVideoRef=React.useRef(null);const afterVideoRef=React.useRef(null);const preset=getPreset(p);const mediaType=getMediaType(p);const divider=getDivider(p);const media=p.media??{};const behavior=p.behavior??{};const appearance=p.appearance??{};const handle=p.handle??{};const labelsCfg=p.labels??{};const beforeSrc=pickMediaSrc(p,\"before\");const afterSrc=pickMediaSrc(p,\"after\");const hasBefore=isTruthyUrl(beforeSrc);const hasAfter=isTruthyUrl(afterSrc);const ready=hasBefore&&hasAfter;const isFlip=ready&&preset===\"3D Flip\";React.useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;canHoverRef.current=window.matchMedia(\"(hover: hover)\").matches;},[]);const fit=media.fit??p.fit??\"Cover\";const startPosition=clamp(getStartPosition(p),2,98);const transitionMs=preset===\"3D Flip\"?1e3:Math.max(60,Number(behavior.transitionMs??1e3));const[pos,setPos]=React.useState(()=>clamp(startPosition/100,.02,.98));const[toggleState,setToggleState]=React.useState(false);const[flipOn,setFlipOn]=React.useState(false);const killRaf=React.useCallback(()=>{if(rafRef.current!=null){cancelAnimationFrame(rafRef.current);rafRef.current=null;}},[]);const safePlayVideos=React.useCallback(()=>{if(mediaType!==\"Video\")return;const tryPlay=v=>{if(!v)return;const pr=v.play();if(pr&&typeof pr.catch===\"function\")pr.catch(()=>{});};tryPlay(beforeVideoRef.current);tryPlay(afterVideoRef.current);},[mediaType]);React.useEffect(()=>{setPos(clamp(startPosition/100,.02,.98));},[startPosition]);React.useEffect(()=>{safePlayVideos();},[safePlayVideos,beforeSrc,afterSrc]);const setPosFromClientPoint=React.useCallback((clientX,clientY)=>{const el=rootRef.current;if(!el)return;const r=el.getBoundingClientRect();let next=pos;if(divider===\"Horizontal\"){const y=clamp(clientY-r.top,0,r.height);next=r.height>0?y/r.height:pos;}else{const x=clamp(clientX-r.left,0,r.width);next=r.width>0?x/r.width:pos;}setPos(clamp(next,.02,.98));},[divider,pos]);const onPointerDown=React.useCallback(e=>{if(!ready)return;if(preset!==\"Drag Slider\")return;dragActiveRef.current=true;e.preventDefault();e.currentTarget.setPointerCapture?.(e.pointerId);setPosFromClientPoint(e.clientX,e.clientY);safePlayVideos();},[preset,ready,setPosFromClientPoint,safePlayVideos]);const onPointerMove=React.useCallback(e=>{if(!ready)return;if(preset===\"Drag Slider\"){if(!dragActiveRef.current)return;e.preventDefault();setPosFromClientPoint(e.clientX,e.clientY);return;}if(preset===\"Hover Scrub\"){if(!hoverRef.current)return;setPosFromClientPoint(e.clientX,e.clientY);}},[preset,ready,setPosFromClientPoint]);const onPointerUp=React.useCallback(()=>{dragActiveRef.current=false;},[]);const animateTo=React.useCallback(to=>{killRaf();const from=pos;const start=performance.now();const dur=transitionMs;const tick=now=>{const t=clamp((now-start)/dur,0,1);const v=lerp(from,to,easeOutCubic(t));setPos(clamp(v,.02,.98));if(t<1)rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);},[killRaf,transitionMs,pos]);// ── FIXED: Click Toggle now fully reveals After (0.98) then Before (0.02) ──\nconst onClick=React.useCallback(()=>{if(!ready)return;if(preset===\"Click Toggle\"){safePlayVideos();const next=!toggleState;setToggleState(next);animateTo(next?.98:.02);return;}if(preset===\"3D Flip\"){if(canHoverRef.current)return;if(!(behavior.flipTapToToggle??true))return;safePlayVideos();setFlipOn(v=>!v);}},[preset,ready,toggleState,animateTo,safePlayVideos,behavior.flipTapToToggle]);// ── FIXED: Auto Loop ping-pongs fully to each reveal with eased animation ─\nReact.useEffect(()=>{if(!ready)return;if(preset!==\"Auto Loop\"){killRaf();return;}const speed=Math.max(.05,Number(behavior.autoSpeed??.2));const pauseOnHover=Boolean(behavior.autoPauseOnHover??true);// speed 0.2 → ~2000ms transition, speed 1 → ~600ms, speed 3 → ~250ms\nconst transDuration=Math.round(1200/speed);// brief hold at each extreme so the full reveal is visible\nconst pauseDuration=Math.round(300/speed);const lo=.02// full Before reveal (left edge)\n;const hi=.98// full After reveal (right edge)\n;let animFrom=lo;let animTo=hi;// snap to left edge immediately so the loop always starts from the beginning\nsetPos(lo);let phase=\"animating\";let phaseStart=performance.now();let cancelled=false;const tick=now=>{if(cancelled)return;if(pauseOnHover&&hoverRef.current){// freeze phase timing while hovered so it resumes cleanly\nphaseStart=now-(phase===\"animating\"?0:pauseDuration);rafRef.current=requestAnimationFrame(tick);return;}const elapsed=now-phaseStart;if(phase===\"animating\"){const t=clamp(elapsed/transDuration,0,1);setPos(lerp(animFrom,animTo,easeOutCubic(t)));if(t>=1){phase=\"pausing\";phaseStart=now;}}else{if(elapsed>=pauseDuration){// swap direction for next cycle\nconst tmp=animFrom;animFrom=animTo;animTo=tmp;phase=\"animating\";phaseStart=now;}}rafRef.current=requestAnimationFrame(tick);};rafRef.current=requestAnimationFrame(tick);return()=>{cancelled=true;killRaf();};},[preset,behavior.autoAmplitude,behavior.autoSpeed,behavior.autoPauseOnHover,ready,killRaf]);React.useEffect(()=>{if(!ready)return;if(preset!==\"Scroll Reveal\")return;killRaf();let ticking=false;const min01=clamp(Number(behavior.scrollMin??10)/100,0,1);const max01=clamp(Number(behavior.scrollMax??90)/100,0,1);const compute=()=>{ticking=false;const el=rootRef.current;if(!el)return;const r=el.getBoundingClientRect();const vh=window.innerHeight||1;const start=vh*(1-max01);const end=vh*(1-min01);const denom=Math.max(1,end-start);const t=clamp((start-r.top)/denom,0,1);setPos(clamp(t,.02,.98));};const onScroll=()=>{if(ticking)return;ticking=true;rafRef.current=requestAnimationFrame(compute);};compute();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);killRaf();};},[preset,behavior.scrollMin,behavior.scrollMax,ready,killRaf]);const enterHover=React.useCallback(()=>{hoverRef.current=true;if(ready)safePlayVideos();if(preset===\"3D Flip\")setFlipOn(true);},[preset,ready,safePlayVideos]);const leaveHover=React.useCallback(()=>{hoverRef.current=false;if(!ready)return;if(preset===\"Hover Scrub\")setPos(clamp(startPosition/100,.02,.98));if(preset===\"3D Flip\")setFlipOn(false);},[preset,startPosition,ready]);const borderRadius=Number(appearance.borderRadius??18);const backgroundColor=String(appearance.backgroundColor??\"rgba(18,18,18,1)\");const outlineWidth=Number(appearance.outlineWidth??0);const outlineColor=String(appearance.outlineColor??\"rgba(255,255,255,0.12)\");const boxShadow=shadowFromPreset(appearance.shadowPreset??\"None\",String(appearance.shadowCustom??\"\"));const effectiveCardShadow=preset===\"3D Flip\"?\"none\":boxShadow;const showLabels=Boolean(labelsCfg.showLabels??true);const beforeLabel=String(labelsCfg.beforeLabel??\"Before\");const afterLabel=String(labelsCfg.afterLabel??\"After\");const labelPlacement=labelsCfg.labelPlacement??\"Top\";const labelsPos=labelPositions(labelPlacement);const labelBase={position:\"absolute\",maxWidth:\"70%\",fontSize:Number(labelsCfg.labelFontSize??12),padding:`${Number(labelsCfg.labelPaddingY??8)}px ${Number(labelsCfg.labelPaddingX??10)}px`,borderRadius:Number(labelsCfg.labelRadius??999),color:String(labelsCfg.labelTextColor??\"rgba(255,255,255,0.92)\"),background:String(labelsCfg.labelBg??\"rgba(0,0,0,0.45)\"),opacity:clamp(Number(labelsCfg.labelOpacity??1),0,1),lineHeight:1.1,userSelect:\"none\",WebkitUserSelect:\"none\",pointerEvents:\"none\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",boxShadow:preset===\"3D Flip\"?\"none\":\"0 6px 20px rgba(0,0,0,0.25)\",backdropFilter:\"blur(10px)\",WebkitBackdropFilter:\"blur(10px)\"};const beforeAlt=String(media.beforeAlt??\"\");const afterAlt=String(media.afterAlt??\"\");const handleStyle=handle.handleStyle??\"Line + Circle\";const handleColor=String(handle.handleColor??\"rgba(255,255,255,0.9)\");const handleSize=clamp(Number(handle.handleSize??44),16,140);const useAdvancedHandleSizing=Boolean(handle.useAdvancedHandleSizing??false);const derivedThickness=clamp(Math.round(handleSize/18),1,12);const dividerThickness=useAdvancedHandleSizing?clamp(Number(handle.dividerThickness??2),1,16):derivedThickness;const knobSize=useAdvancedHandleSizing?clamp(Number(handle.knobSize??handleSize),16,160):handleSize;const muted=Boolean(media.videoMuted??true);const loop=Boolean(media.videoLoop??true);const controls=Boolean(media.videoControls??false);const preload=media.videoPreload??\"metadata\";const layerStyle={position:\"absolute\",inset:0};const clip=ready?clipForBefore(divider,pos):\"none\";const axis=axisPercent(divider,pos);const beforeStyle={...layerStyle,clipPath:clip,WebkitClipPath:clip,willChange:\"clip-path\",pointerEvents:\"none\"};const handleLineStyle={position:\"absolute\",...divider===\"Horizontal\"?{left:0,right:0,top:axis.top,height:dividerThickness,transform:\"translateY(-50%)\"}:{top:0,bottom:0,left:axis.left,width:dividerThickness,transform:\"translateX(-50%)\"},background:handleColor,pointerEvents:\"none\"};const handleKnobStyle={position:\"absolute\",left:divider===\"Horizontal\"?\"50%\":axis.left,top:divider===\"Horizontal\"?axis.top:\"50%\",width:knobSize,height:knobSize,borderRadius:999,transform:\"translate(-50%, -50%)\",background:handleColor,pointerEvents:\"none\",boxShadow:\"none\"};const flipAxis=behavior.flipAxis??\"Y\";const flipPerspective=1e3;const isDrag=ready&&preset===\"Drag Slider\";const cursor=isFlip?\"default\":isDrag&&divider===\"Horizontal\"?\"ns-resize\":isDrag?\"ew-resize\":\"default\";const rootStyle={width:\"100%\",height:\"100%\",boxShadow:effectiveCardShadow,cursor,touchAction:isDrag?\"none\":isFlip?\"manipulation\":\"auto\",userSelect:\"none\",WebkitUserSelect:\"none\",WebkitUserDrag:\"none\",...p.style};const stageBase={width:\"100%\",height:\"100%\",position:\"relative\",borderRadius,background:backgroundColor,outline:outlineWidth>0?`${outlineWidth}px solid ${outlineColor}`:\"none\",isolation:\"isolate\"};const stageSlider={...stageBase,overflow:\"hidden\"};const stageFlip={...stageBase,overflow:\"visible\",perspective:flipPerspective,WebkitPerspective:flipPerspective,perspectiveOrigin:\"50% 50%\",WebkitPerspectiveOrigin:\"50% 50%\"};const flipCard={position:\"absolute\",inset:0,borderRadius,transformStyle:\"preserve-3d\",WebkitTransformStyle:\"preserve-3d\",transition:`transform 1000ms cubic-bezier(0.2, 0.8, 0.2, 1)`,willChange:\"transform\",transformOrigin:\"50% 50%\",transform:flipAxis===\"X\"?`rotateX(${flipOn?180:0}deg)`:`rotateY(${flipOn?180:0}deg)`};const flipFaceBase={position:\"absolute\",inset:0,backfaceVisibility:\"hidden\",WebkitBackfaceVisibility:\"hidden\",borderRadius,overflow:\"visible\",background:\"transparent\",transformStyle:\"preserve-3d\",WebkitTransformStyle:\"preserve-3d\"};const faceClip={position:\"absolute\",inset:0,borderRadius,overflow:\"hidden\",background:backgroundColor};const flipFront={...flipFaceBase,transform:flipAxis===\"X\"?\"rotateX(0deg)\":\"rotateY(0deg)\"};const flipBack={...flipFaceBase,transform:flipAxis===\"X\"?\"rotateX(180deg)\":\"rotateY(180deg)\"};return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:rootStyle,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:onPointerUp,onPointerCancel:onPointerUp,onPointerEnter:enterHover,onPointerLeave:leaveHover,onMouseEnter:enterHover,onMouseLeave:leaveHover,onClick:onClick,onDragStart:e=>e.preventDefault(),role:\"img\",\"aria-label\":\"Before and after comparison\",children:/*#__PURE__*/_jsxs(\"div\",{style:isFlip?stageFlip:stageSlider,children:[!ready&&/*#__PURE__*/_jsx(Placeholder,{text:mediaType===\"Video\"?\"Add both videos in Media to enable the comparison.\":\"Add both images in Media to enable the comparison.\"}),ready&&preset===\"3D Flip\"&&/*#__PURE__*/_jsxs(\"div\",{style:flipCard,children:[/*#__PURE__*/_jsxs(\"div\",{style:flipFront,children:[/*#__PURE__*/_jsx(\"div\",{style:faceClip,children:/*#__PURE__*/_jsx(MediaLayer,{mediaType:mediaType,src:beforeSrc,alt:mediaType===\"Image\"?beforeAlt:\"\",fit:fit,muted:muted,loop:loop,controls:controls,preload:preload,refCb:el=>{beforeVideoRef.current=el;}})}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...labelBase,...labelsPos.before},children:beforeLabel})]}),/*#__PURE__*/_jsxs(\"div\",{style:flipBack,children:[/*#__PURE__*/_jsx(\"div\",{style:faceClip,children:/*#__PURE__*/_jsx(MediaLayer,{mediaType:mediaType,src:afterSrc,alt:mediaType===\"Image\"?afterAlt:\"\",fit:fit,muted:muted,loop:loop,controls:controls,preload:preload,refCb:el=>{afterVideoRef.current=el;}})}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...labelBase,...labelsPos.after},children:afterLabel})]})]}),ready&&preset!==\"3D Flip\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:layerStyle,children:/*#__PURE__*/_jsx(MediaLayer,{mediaType:mediaType,src:afterSrc,alt:mediaType===\"Image\"?afterAlt:\"\",fit:fit,muted:muted,loop:loop,controls:controls,preload:preload,refCb:el=>{afterVideoRef.current=el;}})}),/*#__PURE__*/_jsx(\"div\",{style:beforeStyle,children:/*#__PURE__*/_jsx(MediaLayer,{mediaType:mediaType,src:beforeSrc,alt:mediaType===\"Image\"?beforeAlt:\"\",fit:fit,muted:muted,loop:loop,controls:controls,preload:preload,refCb:el=>{beforeVideoRef.current=el;}})}),(handleStyle===\"Line\"||handleStyle===\"Line + Circle\")&&/*#__PURE__*/_jsx(\"div\",{style:handleLineStyle}),(handleStyle===\"Circle\"||handleStyle===\"Line + Circle\")&&/*#__PURE__*/_jsx(\"div\",{style:handleKnobStyle}),showLabels&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelBase,...labelsPos.before},children:beforeLabel}),/*#__PURE__*/_jsx(\"div\",{style:{...labelBase,...labelsPos.after},children:afterLabel})]})]})]})});}addPropertyControls(BeforeAfterPro,{media:{type:ControlType.Object,title:\"Media\",controls:{preset:{type:ControlType.Enum,title:\"Preset\",options:[\"Drag Slider\",\"Hover Scrub\",\"Click Toggle\",\"Auto Loop\",\"Scroll Reveal\",\"3D Flip\"],defaultValue:\"Drag Slider\"},mediaType:{type:ControlType.Enum,title:\"Type\",options:[\"Image\",\"Video\"],defaultValue:\"Image\"},beforeImage:{type:ControlType.Image,title:\"Before\",hidden:pp=>getMediaType(pp)!==\"Image\"},afterImage:{type:ControlType.Image,title:\"After\",hidden:pp=>getMediaType(pp)!==\"Image\"},beforeAlt:{type:ControlType.String,title:\"Before ALT\",description:\"Image alt text.\",defaultValue:\"\",hidden:pp=>getMediaType(pp)!==\"Image\"},afterAlt:{type:ControlType.String,title:\"After ALT\",description:\"Image alt text.\",defaultValue:\"\",hidden:pp=>getMediaType(pp)!==\"Image\"},beforeVideo:{type:ControlType.File,title:\"Before\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:pp=>getMediaType(pp)!==\"Video\"},afterVideo:{type:ControlType.File,title:\"After\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:pp=>getMediaType(pp)!==\"Video\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"Cover\",\"Contain\"],defaultValue:\"Cover\"},videoMuted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true,hidden:pp=>getMediaType(pp)!==\"Video\"},videoLoop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true,hidden:pp=>getMediaType(pp)!==\"Video\"},videoControls:{type:ControlType.Boolean,title:\"Controls\",defaultValue:false,hidden:pp=>getMediaType(pp)!==\"Video\"},videoPreload:{type:ControlType.Enum,title:\"Preload\",options:[\"none\",\"metadata\",\"auto\"],defaultValue:\"metadata\",hidden:pp=>getMediaType(pp)!==\"Video\"}}},behavior:{type:ControlType.Object,title:\"Behavior\",controls:{divider:{type:ControlType.Enum,title:\"Divider\",options:[\"Vertical\",\"Horizontal\"],defaultValue:\"Vertical\",hidden:pp=>getPreset(pp)===\"3D Flip\"},startPosition:{type:ControlType.Number,title:\"Start\",min:2,max:98,step:1,unit:\"%\",defaultValue:50,hidden:pp=>getPreset(pp)===\"3D Flip\"},transitionMs:{type:ControlType.Number,title:\"Transition\",min:60,max:1500,step:10,unit:\"ms\",defaultValue:1e3,hidden:pp=>getPreset(pp)!==\"Click Toggle\"},autoSpeed:{type:ControlType.Number,title:\"Auto Speed\",min:.05,max:3,step:.05,defaultValue:.2,hidden:pp=>getPreset(pp)!==\"Auto Loop\"},autoAmplitude:{type:ControlType.Number,title:\"Auto Range\",min:5,max:48,step:1,unit:\"%\",defaultValue:48,hidden:pp=>getPreset(pp)!==\"Auto Loop\"},autoPauseOnHover:{type:ControlType.Boolean,title:\"Pause Hover\",defaultValue:true,hidden:pp=>getPreset(pp)!==\"Auto Loop\"},scrollMin:{type:ControlType.Number,title:\"Scroll Min\",min:0,max:50,step:1,unit:\"%\",defaultValue:10,hidden:pp=>getPreset(pp)!==\"Scroll Reveal\"},scrollMax:{type:ControlType.Number,title:\"Scroll Max\",min:50,max:100,step:1,unit:\"%\",defaultValue:90,hidden:pp=>getPreset(pp)!==\"Scroll Reveal\"},flipAxis:{type:ControlType.Enum,title:\"Flip Axis\",options:[\"Y\",\"X\"],defaultValue:\"Y\",hidden:pp=>getPreset(pp)!==\"3D Flip\"},flipPerspective:{type:ControlType.Number,title:\"Perspective\",min:1e3,max:1e3,step:1,unit:\"px\",defaultValue:1e3,hidden:pp=>getPreset(pp)!==\"3D Flip\"},flipTapToToggle:{type:ControlType.Boolean,title:\"Tap Toggle\",defaultValue:true,hidden:pp=>getPreset(pp)!==\"3D Flip\"}}},appearance:{type:ControlType.Object,title:\"Appearance\",controls:{borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:120,step:1,unit:\"px\",defaultValue:18},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(18,18,18,1)\"},outlineWidth:{type:ControlType.Number,title:\"Outline\",min:0,max:12,step:1,unit:\"px\",defaultValue:0},outlineColor:{type:ControlType.Color,title:\"Outline Color\",defaultValue:\"rgba(255,255,255,0.12)\",hidden:pp=>Number(pp?.appearance?.outlineWidth??0)<=0},shadowPreset:{type:ControlType.Enum,title:\"Shadow\",options:[\"None\",\"Soft\",\"Medium\",\"Strong\",\"Custom\"],defaultValue:\"None\"},shadowCustom:{type:ControlType.String,title:\"Shadow CSS\",description:\"CSS box-shadow value.\",defaultValue:\"\",hidden:pp=>String(pp?.appearance?.shadowPreset??\"Medium\")!==\"Custom\"}}},handle:{type:ControlType.Object,title:\"Handle\",controls:{handleStyle:{type:ControlType.Enum,title:\"Style\",options:[\"Line\",\"Circle\",\"Line + Circle\"],defaultValue:\"Line + Circle\",hidden:pp=>getPreset(pp)===\"3D Flip\"},handleColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"rgba(255,255,255,0.9)\",hidden:pp=>getPreset(pp)===\"3D Flip\"},handleSize:{type:ControlType.Number,title:\"Size\",description:\"Knob size, line auto scales.\",min:16,max:140,step:1,unit:\"px\",defaultValue:44,hidden:pp=>getPreset(pp)===\"3D Flip\"},useAdvancedHandleSizing:{type:ControlType.Boolean,title:\"Advanced\",defaultValue:false,hidden:pp=>getPreset(pp)===\"3D Flip\"},dividerThickness:{type:ControlType.Number,title:\"Line Size\",min:1,max:16,step:1,unit:\"px\",defaultValue:2,hidden:pp=>getPreset(pp)===\"3D Flip\"||!Boolean(pp?.handle?.useAdvancedHandleSizing)||String(pp?.handle?.handleStyle??\"Line + Circle\")===\"Circle\"},knobSize:{type:ControlType.Number,title:\"Knob Size\",min:16,max:160,step:1,unit:\"px\",defaultValue:44,hidden:pp=>getPreset(pp)===\"3D Flip\"||!Boolean(pp?.handle?.useAdvancedHandleSizing)||String(pp?.handle?.handleStyle??\"Line + Circle\")===\"Line\"},handleShadowPreset:{type:ControlType.Enum,title:\"Shadow\",options:[\"None\",\"Soft\",\"Medium\",\"Strong\",\"Custom\"],defaultValue:\"None\",hidden:pp=>getPreset(pp)===\"3D Flip\"},handleShadowCustom:{type:ControlType.String,title:\"Shadow CSS\",description:\"CSS box-shadow value.\",defaultValue:\"\",hidden:pp=>getPreset(pp)===\"3D Flip\"||String(pp?.handle?.handleShadowPreset??\"Medium\")!==\"Custom\"}}},labels:{type:ControlType.Object,title:\"Labels\",controls:{showLabels:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true},beforeLabel:{type:ControlType.String,title:\"Before\",defaultValue:\"Before\",hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},afterLabel:{type:ControlType.String,title:\"After\",defaultValue:\"After\",hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelPlacement:{type:ControlType.Enum,title:\"Placement\",options:[\"Top\",\"Bottom\"],defaultValue:\"Top\",hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelFontSize:{type:ControlType.Number,title:\"Font\",min:10,max:24,step:1,unit:\"px\",defaultValue:12,hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelPaddingX:{type:ControlType.Number,title:\"Pad X\",min:6,max:24,step:1,unit:\"px\",defaultValue:10,hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelPaddingY:{type:ControlType.Number,title:\"Pad Y\",min:4,max:18,step:1,unit:\"px\",defaultValue:8,hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:999,step:1,unit:\"px\",defaultValue:999,hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelTextColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgba(255,255,255,0.92)\",hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelBg:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0.45)\",hidden:pp=>!Boolean(pp?.labels?.showLabels??true)},labelOpacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.05,defaultValue:1,hidden:pp=>!Boolean(pp?.labels?.showLabels??true)}}},_contact:{type:ControlType.Link,title:\"Need help?\",defaultValue:\"zlatkomarjanovic.zm@gmail.com\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BeforeAfterPro\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AdvancedBeforeAfter.map"],"mappings":"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"}