{"version":3,"file":"shared-lib.DWrnOBgH.mjs","names":["useId","useRef","useState","useMemo","p","metadata","siteMetadata","metadataVersion","__FramerMetadata__","metadata","siteMetadata"],"sources":["https:/framerusercontent.com/modules/unsbYS6MnC2QF64PgiCG/gbtFRGyXLkQzBSIEgD4v/HandwritingTextEffect_1_13_1_3_1.js","https:/framerusercontent.com/modules/8nqGMdsZtpVpDh3wSf34/d69oF0OioJlfxFblMfoV/siteMetadata.js","https:/framerusercontent.com/modules/sk0PNUzHrIEXcUG54wRi/5UDByanLJWMAXw43Mu9x/augiA20Il.js","https:/framerusercontent.com/modules/17t2EY9kVadXzblUs0YO/3Pq4MPTon8C8mzAF30Ov/qNJ0P8GVP.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useId,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useInView}from\"framer-motion\";/**\n * @framerIntrinsicWidth 224\n * @framerIntrinsicHeight 80\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function HandwritingTextEffect(props){const{text,color,background,padding=\"0px\",align,direction,font,patrickFont,duration,resetGap,loop,startOnAppear,replayToken,usePatrickHand:legacyUsePatrickHand,customFont,showPen=false,penColor=\"#000000\",penSize=6,penOffsetX=0,penOffsetY=0,style}=props;const instanceId=useId().replace(/:/g,\"\");const usePatrickHand=customFont??legacyUsePatrickHand??false;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const measureRef=useRef(null);const inView=useInView(containerRef,{amount:.4,margin:\"0px\"});const[runKey,setRunKey]=useState(0);const[containerSize,setContainerSize]=useState({width:224,height:80});const parsePaddingPx=useMemo(()=>{const toNum=v=>{const m=v.trim().match(/^(-?\\d*\\.?\\d+)px$/i);return m?parseFloat(m[1]):0;};return p=>{const parts=(p||\"0px\").trim().split(/\\s+/);const nums=parts.map(toNum);if(nums.length===1){const v=nums[0];return{x:v*2,y:v*2};}if(nums.length===2){const[y,x]=nums;return{x:x*2,y:y*2};}if(nums.length===3){const[top,x,bottom]=nums;return{x:x*2,y:top+bottom};}if(nums.length>=4){const[top,right,bottom,left]=nums;return{x:left+right,y:top+bottom};}return{x:0,y:0};};},[]);const parseFontSizePx=useMemo(()=>{return(v,fallback=16)=>{if(typeof v===\"number\")return v;if(typeof v===\"string\"){const m=v.trim().match(/^(-?\\d*\\.?\\d+)(px)?$/i);if(m)return parseFloat(m[1]);}return fallback;};},[]);useEffect(()=>{if(typeof window===\"undefined\")return;const el=containerRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(entries=>{const entry=entries[0];const cr=entry?.contentRect;if(!cr)return;const next={width:Math.max(1,cr.width),height:Math.max(1,cr.height)};startTransition(()=>setContainerSize(next));});ro.observe(el);return()=>ro.disconnect();},[]);useEffect(()=>{startTransition(()=>setRunKey(k=>k+1));// eslint-disable-next-line react-hooks/exhaustive-deps\n},[replayToken]);const chars=useMemo(()=>Array.from(text??\"\"),[text]);// Naturalness is fixed to keep the Properties panel simpler.\nconst safeRandomness=.85;const safeDuration=Math.max(.05,duration);const safeResetGap=Math.max(0,resetGap);const{timings,totalTime}=useMemo(()=>{const count=Math.max(1,chars.length);// deterministic pseudo-random 0..1 per index (stable across renders)\nconst rand01=i=>{const x=Math.sin((i+1)*999.123+.12345)*1e4;return x-Math.floor(x);};const isRTL=direction===\"rightToLeft\";// First pass: compute durations per character (independent of reveal order)\nconst base=chars.map((ch,i)=>{const isWhitespace=ch===\" \"||ch===\"\\n\"||ch===\"\t\";const isPunct=/[.,;:!?'\"\"\"\"''()\\[\\]{}\\-–—]/.test(ch);// More natural variation: humans don't write at constant speed\n// Some letters are quick flicks, others need careful strokes\nconst r=rand01(i)*2-1// -1..1\n;const jitter=1+r*.6*safeRandomness// Increased from 0.4 to 0.6 for more variation\n;const avgCharTime=safeDuration/count;let charDuration=avgCharTime*jitter;// Complex letters (with loops/curves) take longer\nconst isComplex=/[mwMWBRQgq@&%#]/.test(ch);if(isComplex)charDuration*=1.3;// Simple strokes are faster\nconst isSimple=/[il1I|!]/.test(ch);if(isSimple)charDuration*=.7;if(isPunct)charDuration*=1.15;if(isWhitespace)charDuration*=.3;return{i,ch,isWhitespace,isPunct,duration:charDuration};});// Second pass: assign delays in the actual writing order\nconst delaysByIndex=new Map;let currentDelay=0;const order=isRTL?[...base].reverse():base;for(const item of order){const avgCharTime=safeDuration/Math.max(1,count);const delay=currentDelay;delaysByIndex.set(item.i,delay);// Reduce overlap for more distinct strokes - humans lift pen between letters\nconst overlap=item.duration*.05*(1-safeRandomness*.3);currentDelay+=Math.max(0,item.duration-overlap);// Natural pauses: after punctuation and between words\nif(item.isPunct)currentDelay+=avgCharTime*.3*safeRandomness;// Micro-pause after spaces (pen repositioning)\nif(item.isWhitespace)currentDelay+=avgCharTime*.15;}const t=base.map(item=>({i:item.i,ch:item.ch,isWhitespace:item.isWhitespace,duration:item.duration,delay:delaysByIndex.get(item.i)??0}));const end=t.reduce((acc,item)=>Math.max(acc,item.delay+item.duration),0);const total=loop?end+safeResetGap:end;return{timings:t,totalTime:total};},[chars,direction,loop,safeDuration,safeRandomness,safeResetGap]);const shouldAnimate=useMemo(()=>{if(isStatic)return false;if(RenderTarget.current()===RenderTarget.thumbnail)return false;if(!startOnAppear)return true;return inView;},[inView,isStatic,startOnAppear]);const keyframesName=useMemo(()=>{return{reveal:`hw_reveal_${instanceId}`,penMove:`hw_pen_${instanceId}`};},[instanceId]);const clipKeyframes=direction===\"rightToLeft\"?`\n          0% { clip-path: inset(-30% 0 -30% 100%); opacity: 0; transform: scale(0.8) rotate(-5deg); }\n          50% { opacity: 1; }\n          100% { clip-path: inset(-30% 0 -30% 0); opacity: 1; transform: scale(1) rotate(0deg); }\n        `:`\n          0% { clip-path: polygon(0% -30%, 0% -30%, 0% 130%, 0% 130%); opacity: 0; transform: scale(0.95) translateX(-2px); }\n          20% { opacity: 1; }\n          100% { clip-path: polygon(0% -30%, 120% -30%, 100% 130%, -20% 130%); opacity: 1; transform: scale(1) translateX(0); }\n        `;const loopKeyframesCSS=useMemo(()=>{if(!loop)return\"\";const tTotal=Math.max(.1,totalTime);const fromClip=direction===\"rightToLeft\"?\"inset(-30% 0 -30% 100%)\":\"polygon(0% -30%, 0% -30%, 0% 130%, 0% 130%)\";const toClip=direction===\"rightToLeft\"?\"inset(-30% 0 -30% 0)\":\"polygon(0% -30%, 120% -30%, 100% 130%, -20% 130%)\";return timings.map(t=>{const revealDuration=t.isWhitespace?.001:t.duration;const startPct=Math.max(0,Math.min(100,t.delay/tTotal*100));const endPct=Math.max(startPct,Math.min(100,(t.delay+revealDuration)/tTotal*100));const holdPct=Math.min(100,startPct+.01);return`\n@keyframes hw_reveal_${instanceId}_${t.i} {\n  0% { clip-path: ${fromClip}; opacity: 0; }\n  ${startPct.toFixed(4)}% { clip-path: ${fromClip}; opacity: 0; }\n  ${holdPct.toFixed(4)}% { opacity: 1; }\n  ${endPct.toFixed(4)}% { clip-path: ${toClip}; opacity: 1; }\n  100% { clip-path: ${toClip}; opacity: 1; }\n}`;}).join(\"\");},[direction,instanceId,loop,timings,totalTime]);const textAlign=direction===\"rightToLeft\"?align===\"left\"?\"right\":align===\"right\"?\"left\":\"center\":align;const justify=direction===\"rightToLeft\"?align===\"left\"?\"flex-end\":align===\"right\"?\"flex-start\":\"center\":align===\"left\"?\"flex-start\":align===\"right\"?\"flex-end\":\"center\";const isWidthFill=style?.width===\"100%\";const isHeightFill=style?.height===\"100%\";const selectedFont=useMemo(()=>{return usePatrickHand?font:patrickFont;},[font,patrickFont,usePatrickHand]);const measureFont=useMemo(()=>{return usePatrickHand?font:patrickFont;},[font,patrickFont,usePatrickHand]);const responsiveFont=useMemo(()=>{const baseFontPx=parseFontSizePx(selectedFont?.fontSize,44);const pad=parsePaddingPx(padding);const innerW=Math.max(1,containerSize.width-pad.x);const innerH=Math.max(1,containerSize.height-pad.y);const scale=Math.max(.1,Math.min(innerW/224,innerH/80));return{...selectedFont,fontSize:`${Math.max(1,baseFontPx*scale)}px`};},[containerSize.height,containerSize.width,padding,parseFontSizePx,parsePaddingPx,selectedFont]);const responsiveMeasureFont=useMemo(()=>{const baseFontPx=parseFontSizePx(measureFont?.fontSize,44);const pad=parsePaddingPx(padding);const innerW=Math.max(1,containerSize.width-pad.x);const innerH=Math.max(1,containerSize.height-pad.y);const scale=Math.max(.1,Math.min(innerW/224,innerH/80));return{...measureFont,fontSize:`${Math.max(1,baseFontPx*scale)}px`};},[containerSize.height,containerSize.width,measureFont,padding,parseFontSizePx,parsePaddingPx]);// Static renderer: show completed text (useful canvas snapshot)\nif(isStatic){return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:justify,padding,boxSizing:\"border-box\",background:background||\"transparent\",overflow:\"visible\"},children:[!usePatrickHand&&/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:\"https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap\"}),/*#__PURE__*/_jsx(\"span\",{style:{...!usePatrickHand?{...responsiveFont,fontFamily:`\"Patrick Hand\", system-ui, -apple-system, Segoe UI, Roboto, sans-serif`}:null,...usePatrickHand?responsiveFont:null,color,whiteSpace:\"pre-wrap\",// Ensure RTL scripts (Arabic/Hebrew/etc) lay out correctly\ndirection:direction===\"rightToLeft\"?\"rtl\":\"ltr\",unicodeBidi:\"plaintext\",textAlign,width:isWidthFill?\"100%\":\"max-content\",maxWidth:isWidthFill?\"100%\":\"max-content\",minWidth:0,overflowWrap:\"anywhere\",wordBreak:\"break-word\",display:\"inline-block\"},children:text})]});}const baseStyle={position:\"relative\",width:isWidthFill?\"100%\":\"fit-content\",height:isHeightFill?\"100%\":\"fit-content\",display:isWidthFill||isHeightFill?\"flex\":\"inline-flex\",alignItems:\"center\",justifyContent:justify,padding,boxSizing:\"border-box\",background:background||\"transparent\",overflow:\"visible\"};const textWrapStyle={...responsiveFont,...!usePatrickHand?{fontFamily:`\"Patrick Hand\", system-ui, -apple-system, Segoe UI, Roboto, sans-serif`}:null,color,whiteSpace:\"pre-wrap\",// Ensure RTL scripts (Arabic/Hebrew/etc) lay out correctly\ndirection:direction===\"rightToLeft\"?\"rtl\":\"ltr\",unicodeBidi:\"plaintext\",textAlign,width:isWidthFill?\"100%\":\"max-content\",maxWidth:isWidthFill?\"100%\":\"max-content\",minWidth:0,...isWidthFill?{flex:1}:null,overflowWrap:\"anywhere\",wordBreak:\"break-word\",display:\"inline-block\",userSelect:\"text\",// keep layout stable when auto-sized\n...isHeightFill?null:{minHeight:\"max-content\"},// Fix for text cutting off: ensure line-height doesn't clip in some browsers/renderers\noverflow:\"visible\"};// Used to restart CSS animations reliably\nconst replayKey=`${runKey}_${instanceId}`;const playState=shouldAnimate?\"running\":\"paused\";const iterationCount=loop?\"infinite\":1;const loopDuration=useMemo(()=>`${Math.max(.1,totalTime)}s`,[totalTime]);// Pen positioning uses CSS variables, but we also need a sensible fallback if text is empty\nconst hasChars=chars.length>0;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...baseStyle,...style},children:[!usePatrickHand&&/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:\"https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap\"}),/*#__PURE__*/_jsx(\"span\",{ref:measureRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:0,visibility:\"hidden\",pointerEvents:\"none\",whiteSpace:\"pre-wrap\",width:isWidthFill?\"100%\":\"max-content\",maxWidth:isWidthFill?\"100%\":\"max-content\",minWidth:0,overflowWrap:\"anywhere\",wordBreak:\"break-word\",display:\"block\",...responsiveMeasureFont,...direction===\"rightToLeft\"?{direction:\"rtl\",unicodeBidi:\"plaintext\"}:{direction:\"ltr\",unicodeBidi:\"plaintext\"},...textAlign?{textAlign}:null,...!usePatrickHand?{fontFamily:`\"Patrick Hand\", system-ui, -apple-system, Segoe UI, Roboto, sans-serif`}:null},children:text}),/*#__PURE__*/_jsx(\"style\",{children:`\n@keyframes ${keyframesName.reveal} {\n  ${clipKeyframes}\n}\n\n${loopKeyframesCSS}\n\n@keyframes ${keyframesName.penMove} {\n  0% { transform: translate(var(--hw-pen-x0, 0px), var(--hw-pen-y0, 0px)); opacity: 1; }\n  99% { opacity: 1; }\n  100% { transform: translate(var(--hw-pen-x1, 0px), var(--hw-pen-y1, 0px)); opacity: 0; }\n}\n                `}),/*#__PURE__*/_jsx(\"div\",{style:textWrapStyle,\"aria-label\":text,children:timings.map(t=>{const isNewline=t.ch===\"\\n\";if(isNewline){return /*#__PURE__*/_jsx(\"br\",{},`br_${t.i}`);}// Preserve tabs as spaces to keep consistent layout\nconst renderedChar=t.ch===\"\t\"?\" \":t.ch;// natural: whitespace reveals instantly but keeps delay rhythm\nconst revealDuration=t.isWhitespace?.001:t.duration;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline\"},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline\",overflow:\"visible\",userSelect:\"text\",opacity:0,animationName:shouldAnimate?loop?`hw_reveal_${instanceId}_${t.i}`:keyframesName.reveal:\"none\",animationFillMode:\"forwards\",animationTimingFunction:loop?\"linear\":\"cubic-bezier(0.45, 0, 0.55, 1)\",animationDuration:loop?loopDuration:`${revealDuration}s`,animationDelay:loop?\"0s\":`${t.delay}s`,animationPlayState:playState,animationIterationCount:iterationCount,// looping: make each char restart in sync with total time\nanimationDirection:\"normal\",// subtle vertical offset for \"human\" imperfection\ntransform:!t.isWhitespace?`translateY(${(Math.sin((t.i+1)*2.1)*.5*safeRandomness).toFixed(3)}px) rotate(${(Math.cos((t.i+1)*1.5)*1.5*safeRandomness).toFixed(2)}deg)`:undefined},children:renderedChar},`ch_${t.i}`)},`frag_${t.i}`);})},replayKey),showPen&&hasChars&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",// Pen dot removed per request\nstyle:{display:\"none\"}})]});}addPropertyControls(HandwritingTextEffect,{text:{type:ControlType.String,title:\"Text Content\",defaultValue:\"handwriting\",displayTextArea:true},customFont:{type:ControlType.Boolean,title:\"Custom Font\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},patrickFont:{type:ControlType.Font,title:\"Patrick Hand Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"44px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.1em\",textAlign:\"center\"},hidden:()=>true},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"44px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.1em\",textAlign:\"center\"},hidden:p=>!p.customFont},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\",hidden:()=>true},padding:{type:ControlType.String,title:\"Padding\",description:\"Spacing inside the container (CSS padding shorthand, e.g. 16px 24px).\",defaultValue:\"0px\",hidden:()=>true},align:{type:ControlType.Enum,title:\"Text Align\",defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"leftToRight\",options:[\"leftToRight\",\"rightToLeft\"],optionTitles:[\"L → R\",\"R → L\"],displaySegmentedControl:true},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:3,min:.1,max:20,step:.1,unit:\"s\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},resetGap:{type:ControlType.Number,title:\"Loop Gap\",defaultValue:.8,min:0,max:10,step:.05,unit:\"s\",hidden:p=>!p.loop},startOnAppear:{type:ControlType.Boolean,title:\"On Appear\",description:\"Yes = starts when visible. No = starts immediately.\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},replayToken:{type:ControlType.Number,title:\"Replay\",defaultValue:0,min:0,max:999,step:1,displayStepper:true,hidden:()=>true},showPen:{type:ControlType.Boolean,title:\"Pen\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:()=>true},penColor:{type:ControlType.Color,title:\"Pen Color\",defaultValue:\"#000000\",hidden:p=>!p.showPen},penSize:{type:ControlType.Number,title:\"Pen Size\",defaultValue:6,min:2,max:30,step:1,unit:\"px\",hidden:p=>!p.showPen},penOffsetX:{type:ControlType.Number,title:\"Pen X\",defaultValue:0,min:-100,max:100,step:1,unit:\"px\",hidden:p=>!p.showPen},penOffsetY:{type:ControlType.Number,title:\"Pen Y\",defaultValue:0,min:-100,max:100,step:1,unit:\"px\",hidden:p=>!p.showPen}})// NOTE: Removed addFonts() Google Fonts loader to prevent runtime \"network error\" in restricted renderers.\n// The component still uses \"Patrick Hand\" as the default font family when available, with fallbacks.\n;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HandwritingTextEffect\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"80\",\"framerIntrinsicWidth\":\"224\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HandwritingTextEffect_1_13_1_3_1.map","// Generated by Framer (3ad0d99)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"My Framer Site\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f21d278)\nimport siteMetadata from\"https://framerusercontent.com/modules/8nqGMdsZtpVpDh3wSf34/d69oF0OioJlfxFblMfoV/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-rdME2\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (55d3d16)\nimport siteMetadata from\"https://framerusercontent.com/modules/8nqGMdsZtpVpDh3wSf34/d69oF0OioJlfxFblMfoV/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"gjkyf5\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-EuidP\",title:siteMetadata(params,activeLocale).title||\"Preview\",viewport:\"width=1600\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}