{"version":3,"file":"TextHighlight.Det8fve3.mjs","names":["React.useMemo","React.useRef","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/4IWEhRPY6nFKbFFyrFgj/7igGURKkQfQxK8ucTl83/SexyScroll.js","https:/framerusercontent.com/modules/BRhICJ7Bz1ygq43mYHFG/YK5XHpCpi5lB24r6ZhxK/TextHighlight.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\";/** Critically damped spring (Unity-like SmoothDamp). */function smoothDamp(current,target,currentVelocity,smoothTime,maxSpeed,deltaTime){const EPS=1e-4;smoothTime=Math.max(EPS,smoothTime);const maxChange=maxSpeed*smoothTime;let delta=target-current;const originalTarget=target;if(Math.abs(delta)>maxChange){target=current+Math.sign(delta)*maxChange;}const omega=2/smoothTime;const x=omega*deltaTime;const exp=1/(1+x+.48*x*x+.235*x*x*x);const change=current-target;const temp=(currentVelocity+omega*change)*deltaTime;let newVelocity=(currentVelocity-omega*temp)*exp;let newValue=target+(change+temp)*exp;const origToCurrent=originalTarget-current;const newToOrig=newValue-originalTarget;if(origToCurrent>0===newToOrig>0){newValue=originalTarget;newVelocity=0;}return[newValue,newVelocity];}const PRESETS={// Sutileza premium, arranque e parada aveludados\nPortfolio:{smoothTime:.6,maxSpeed:4500,keyboardLines:1,pageJumpRatio:.9,clamp:true}};export default function SexyScroll(props){const{enabled=true,preset=\"Portfolio\",smoothTime=.6,maxSpeed=4500,keyboardStepLines=1,pageJumpRatio=.9,touchEnabled=false,clampToDocument=true,respectReduceMotion=true,showBadge=true}=props;// A11y: prefers-reduced-motion\nconst prefersReduced=React.useMemo(()=>{if(typeof window===\"undefined\"||typeof matchMedia===\"undefined\")return false;try{return matchMedia(\"(prefers-reduced-motion: reduce)\").matches;}catch{return false;}},[]);const cfg=React.useMemo(()=>{if(preset!==\"Custom\"){const p=PRESETS[preset];return{smoothTime:p.smoothTime,maxSpeed:p.maxSpeed,keyboardLines:p.keyboardLines,pageJumpRatio:p.pageJumpRatio,touch:touchEnabled,clamp:p.clamp};}return{smoothTime,maxSpeed,keyboardLines:keyboardStepLines,pageJumpRatio,touch:touchEnabled,clamp:clampToDocument};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[preset,smoothTime,maxSpeed,keyboardStepLines,pageJumpRatio,touchEnabled,clampToDocument]);const active=enabled&&!(respectReduceMotion&&prefersReduced);// Estado físico\nconst yRef=React.useRef(0);const vRef=React.useRef(0);const targetRef=React.useRef(0);const rafRef=React.useRef(null);const lastTsRef=React.useRef(null);const clampDoc=React.useCallback(y=>{if(!cfg.clamp)return y;const max=Math.max(0,document.documentElement.scrollHeight-window.innerHeight);return Math.min(Math.max(0,y),max);},[cfg.clamp]);const cancel=React.useCallback(()=>{if(rafRef.current!=null){cancelAnimationFrame(rafRef.current);rafRef.current=null;}lastTsRef.current=null;},[]);const loop=React.useCallback(ts=>{if(lastTsRef.current==null)lastTsRef.current=ts;const dt=Math.max(.001,Math.min(.033,(ts-lastTsRef.current)/1e3));lastTsRef.current=ts;const current=yRef.current;const target=clampDoc(targetRef.current);const[ny,nv]=smoothDamp(current,target,vRef.current,cfg.smoothTime,cfg.maxSpeed,dt);yRef.current=ny;vRef.current=nv;window.scrollTo(0,ny);// Mantém o loop leve; pronto para novos inputs\nif(Math.abs(ny-target)<.2&&Math.abs(nv)<2){yRef.current=target;vRef.current=0;window.scrollTo(0,target);rafRef.current=requestAnimationFrame(loop);return;}rafRef.current=requestAnimationFrame(loop);},[cfg.maxSpeed,cfg.smoothTime,clampDoc]);const ensureLoop=React.useCallback(()=>{if(rafRef.current==null){yRef.current=window.scrollY;targetRef.current=window.scrollY;rafRef.current=requestAnimationFrame(loop);}},[loop]);const nudge=React.useCallback(deltaY=>{targetRef.current=clampDoc(targetRef.current+deltaY);ensureLoop();},[clampDoc,ensureLoop]);// Wheel / trackpad\nReact.useEffect(()=>{if(!active)return;const onWheel=e=>{if(e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();const factor=e.deltaMode===1?16:e.deltaMode===2?window.innerHeight:1;const dy=e.deltaY*factor;nudge(dy);};window.addEventListener(\"wheel\",onWheel,{passive:false});return()=>{window.removeEventListener(\"wheel\",onWheel,false);cancel();};},[active,nudge,cancel]);// Teclado\nReact.useEffect(()=>{if(!active)return;const onKey=e=>{const el=e.target;if(el&&(el.tagName===\"INPUT\"||el.tagName===\"TEXTAREA\"||el.isContentEditable))return;const line=48*cfg.keyboardLines;const h=window.innerHeight*cfg.pageJumpRatio;switch(e.code){case\"ArrowDown\":e.preventDefault();nudge(line);break;case\"ArrowUp\":e.preventDefault();nudge(-line);break;case\"PageDown\":e.preventDefault();nudge(h);break;case\"PageUp\":e.preventDefault();nudge(-h);break;case\"Space\":e.preventDefault();nudge(h);break;}};window.addEventListener(\"keydown\",onKey,{passive:false});return()=>window.removeEventListener(\"keydown\",onKey);},[active,cfg.keyboardLines,cfg.pageJumpRatio,nudge]);// Touch (agora disponível em qualquer modo)\nReact.useEffect(()=>{if(!active||!cfg.touch)return;let lastY=0;const onTouchMove=e=>{if(e.touches.length!==1)return;const y=e.touches[0].clientY;const dy=lastY?lastY-y:0;lastY=y;if(Math.abs(dy)>0){e.preventDefault();nudge(dy);}};const onTouchEnd=()=>{lastY=0;};window.addEventListener(\"touchmove\",onTouchMove,{passive:false});window.addEventListener(\"touchend\",onTouchEnd,{passive:true});return()=>{window.removeEventListener(\"touchmove\",onTouchMove);window.removeEventListener(\"touchend\",onTouchEnd);};},[active,cfg.touch,nudge]);// Sincroniza com alterações externas de scroll (ex.: hash jump)\nReact.useEffect(()=>{const onScroll=()=>{if(!active)return;if(rafRef.current==null){yRef.current=window.scrollY;targetRef.current=window.scrollY;}};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);},[active]);// Badge visual\nreturn /*#__PURE__*/_jsx(_Fragment,{children:showBadge&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:12,left:12,zIndex:99999,pointerEvents:\"none\",userSelect:\"none\",fontFamily:\"Inter, system-ui, sans-serif\",fontSize:12,padding:\"6px 8px\",borderRadius:8,boxShadow:\"0 2px 8px rgba(0,0,0,0.12)\",background:\"rgba(20,20,20,0.85)\",color:\"#fff\"},children:[\"Sexy Scroll (by Baco): \",preset,cfg.touch?\" \\xb7 Touch\":\"\"]})});}addPropertyControls(SexyScroll,{enabled:{type:ControlType.Boolean,title:\"Enabled\",description:\"Turn the smooth scrolling behavior on or off.\",defaultValue:true},preset:{type:ControlType.Enum,title:\"Preset\",description:\"Use a ready-made tuning (Portfolio) or switch to Custom to edit all settings.\",defaultValue:\"Portfolio\",options:[\"Portfolio\",\"Custom\"],optionTitles:[\"Portfolio\",\"Custom\"]},// Custom-only knobs\nsmoothTime:{type:ControlType.Number,title:\"Smooth Time (s)\",description:\"Response time of the spring. Lower = snappier; higher = smoother.\",defaultValue:.6,min:.08,max:.6,step:.01,displayStepper:true,hidden:p=>p.preset!==\"Custom\"},maxSpeed:{type:ControlType.Number,title:\"Max Speed (px/s)\",description:\"Caps the maximum scrolling speed in pixels per second.\",defaultValue:4500,min:1500,max:8e3,step:50,displayStepper:true,hidden:p=>p.preset!==\"Custom\"},keyboardStepLines:{type:ControlType.Number,title:\"Keyboard Lines\",description:\"How many ‘lines’ Arrow Up/Down move. (≈48px per line)\",defaultValue:1,min:.5,max:3,step:.1,displayStepper:true,hidden:p=>p.preset!==\"Custom\"},pageJumpRatio:{type:ControlType.Number,title:\"Page Jump (\\xd7vh)\",description:\"Distance for PageUp/PageDown/Space as a fraction of the viewport height.\",defaultValue:.9,min:.4,max:1,step:.05,displayStepper:true,hidden:p=>p.preset!==\"Custom\"},// Agora visível em qualquer preset\ntouchEnabled:{type:ControlType.Boolean,title:\"Enable on Touch\",description:\"Enable smooth scrolling on touch devices (mobile/tablet).\",defaultValue:false},clampToDocument:{type:ControlType.Boolean,title:\"Clamp Bounds\",description:\"Prevents scrolling past the document bounds when using Custom.\",defaultValue:true,hidden:p=>p.preset!==\"Custom\"},respectReduceMotion:{type:ControlType.Boolean,title:\"Respect Reduced Motion\",description:\"Automatically disable the effect if the user prefers reduced motion.\",defaultValue:true},showBadge:{type:ControlType.Boolean,title:\"Show Badge\",description:\"Shows a small fixed badge with the active preset (useful while testing).\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SexyScroll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SexyScroll.map","// Text Highlight - Customizable browser text selection colors with theme support\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect}from\"react\";/**\n * @framerIntrinsicWidth 5\n * @framerIntrinsicHeight 5\n * \n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function TextHighlight(props){const{scopes=[],includeInputs=true}=props;useEffect(()=>{if(typeof document===\"undefined\")return;const styleId=\"framer-text-highlight-global\";let styleEl=document.getElementById(styleId);if(!styleEl){styleEl=document.createElement(\"style\");styleEl.id=styleId;document.head.appendChild(styleEl);}const getSelectorForScope=(scope,customSelector)=>{switch(scope){case\"global\":return\"\";case\"headings\":return\"h1::selection, h2::selection, h3::selection, h4::selection, h5::selection, h6::selection\";case\"links\":return\"a\";case\"code\":return\"code, pre\";case\"inputs\":return\"input, textarea\";case\"custom\":// Split custom selectors by comma and add ::selection to each\nif(!customSelector||customSelector.trim()===\"\")return\"*\";return customSelector.split(\",\").map(s=>s.trim()).filter(s=>s.length>0).map(s=>`${s}::selection`).join(\", \");default:return\"\";}};let css=\"\";// Sort scopes to ensure global is first\nconst sortedScopes=[...scopes].sort((a,b)=>{if(a.scope===\"global\")return-1;if(b.scope===\"global\")return 1;return 0;});sortedScopes.forEach(scopeConfig=>{const selector=getSelectorForScope(scopeConfig.scope,scopeConfig.customSelector);// For headings and custom, the selector already includes ::selection\nconst prefix=scopeConfig.scope===\"headings\"||scopeConfig.scope===\"custom\"?selector:selector?`${selector}::selection`:\"::selection\";const mozPrefix=scopeConfig.scope===\"headings\"||scopeConfig.scope===\"custom\"?selector.replace(/::selection/g,\"::-moz-selection\"):selector?`${selector}::-moz-selection`:\"::-moz-selection\";if(scopeConfig.themeMode){// Base styles (fallback)\ncss+=`\n            ${prefix} {\n                background-color: ${scopeConfig.lightBg};\n                color: ${scopeConfig.lightText};\n            }\n            ${mozPrefix} {\n                background-color: ${scopeConfig.lightBg};\n                color: ${scopeConfig.lightText};\n            }\n            \n            @media (prefers-color-scheme: light) {\n                ${prefix} {\n                    background-color: ${scopeConfig.lightBg};\n                    color: ${scopeConfig.lightText};\n                }\n                ${mozPrefix} {\n                    background-color: ${scopeConfig.lightBg};\n                    color: ${scopeConfig.lightText};\n                }\n            }\n            \n            @media (prefers-color-scheme: dark) {\n                ${prefix} {\n                    background-color: ${scopeConfig.darkBg};\n                    color: ${scopeConfig.darkText};\n                }\n                ${mozPrefix} {\n                    background-color: ${scopeConfig.darkBg};\n                    color: ${scopeConfig.darkText};\n                }\n            }\n            `;}else{css+=`\n            ${prefix} {\n                background-color: ${scopeConfig.bg};\n                color: ${scopeConfig.text};\n            }\n            ${mozPrefix} {\n                background-color: ${scopeConfig.bg};\n                color: ${scopeConfig.text};\n            }\n            `;}});// Handle input exclusion if needed\nif(!includeInputs&&!scopes.some(s=>s.scope===\"inputs\")){css+=`\n            input::selection,\n            textarea::selection {\n                background-color: Highlight;\n                color: HighlightText;\n            }\n            input::-moz-selection,\n            textarea::-moz-selection {\n                background-color: Highlight;\n                color: HighlightText;\n            }\n            `;}// Forced colors mode for accessibility\ncss+=`\n            @media (forced-colors: active) {\n                ::selection {\n                    background-color: Highlight;\n                    color: HighlightText;\n                }\n                ::-moz-selection {\n                    background-color: Highlight;\n                    color: HighlightText;\n                }\n            }\n        `;styleEl.textContent=css;return()=>{// Cleanup: remove style when component unmounts\nif(styleEl&&styleEl.parentNode){styleEl.parentNode.removeChild(styleEl);}};},[scopes,includeInputs]);return /*#__PURE__*/_jsx(\"div\",{style:{width:5,height:5,pointerEvents:\"none\"}});}addPropertyControls(TextHighlight,{scopes:{type:ControlType.Array,title:\"Color Scopes\",control:{type:ControlType.Object,controls:{scope:{type:ControlType.Enum,title:\"Scope\",options:[\"global\",\"headings\",\"links\",\"code\",\"inputs\",\"custom\"],optionTitles:[\"Global\",\"Headings\",\"Links\",\"Code\",\"Inputs\",\"Custom\"],defaultValue:\"global\"},customSelector:{type:ControlType.String,title:\"Custom Selector\",defaultValue:\"\",placeholder:\".my-class, #my-id\",hidden:props=>props.scope!==\"custom\"},themeMode:{type:ControlType.Boolean,title:\"Theme Mode\",defaultValue:false,enabledTitle:\"Light/Dark\",disabledTitle:\"Single\"},bg:{type:ControlType.Color,title:\"Background\",defaultValue:\"#0099FF\",hidden:props=>props.themeMode},text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\",hidden:props=>props.themeMode},lightBg:{type:ControlType.Color,title:\"Light BG\",defaultValue:\"#0099FF\",hidden:props=>!props.themeMode},lightText:{type:ControlType.Color,title:\"Light Text\",defaultValue:\"#FFFFFF\",hidden:props=>!props.themeMode},darkBg:{type:ControlType.Color,title:\"Dark BG\",defaultValue:\"#8855FF\",hidden:props=>!props.themeMode},darkText:{type:ControlType.Color,title:\"Dark Text\",defaultValue:\"#FFFFFF\",hidden:props=>!props.themeMode}}},defaultValue:[{scope:\"global\",customSelector:\"\",themeMode:false,bg:\"#0099FF\",text:\"#FFFFFF\",lightBg:\"#0099FF\",lightText:\"#FFFFFF\",darkBg:\"#8855FF\",darkText:\"#FFFFFF\"}],maxCount:10},includeInputs:{type:ControlType.Boolean,title:\"Include Inputs\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextHighlight\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"5\",\"framerIntrinsicHeight\":\"5\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextHighlight.map"],"mappings":"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"}