{"version":3,"file":"CopyButton.n6NIGtO0.mjs","names":["useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/ljPLEVypeDutdj0VOz2e/z2P3WY8jvjusbB3WXF2w/CopyButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/**\n * COPY BUTTON (with wave hover)\n * Kopiert Text in die Zwischenablage, mit Erfolgs-Animation. Beim Hover steigt\n * eine Welle (wie beim WaveButton) im Hintergrund auf; im Kopiert-Zustand ist\n * sie ausgeblendet.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */// Wave clip-path region (fill) + top edge (glow). Same builder as the WaveButton.\nfunction buildWavePaths(w,h,o){const N=32;const sigma=Math.max(.05,o.spread);const TWO_PI=Math.PI*2;const pts=[];for(let i=0;i<=N;i++){const x=i/N*w;const nx=i/N;const d=(x-o.cursorX)/w;const g=Math.exp(-(d*d)/(2*sigma*sigma));const crest=o.waveHeight*h*o.progress*g;const ripple=o.rippleAmount*h*o.progress*Math.sin(nx*o.rippleFrequency*TWO_PI+o.phase);let fillH=o.progress*h+crest+ripple;if(fillH<0)fillH=0;if(fillH>h)fillH=h;let y=h-fillH;if(y<0)y=0;if(y>h)y=h;pts.push({x,y});}let seg=\"\";for(let i=0;i<pts.length-1;i++){const p0=pts[i-1]||pts[i];const p1=pts[i];const p2=pts[i+1];const p3=pts[i+2]||pts[i+1];const c1x=p1.x+(p2.x-p0.x)/6;const c1y=p1.y+(p2.y-p0.y)/6;const c2x=p2.x-(p3.x-p1.x)/6;const c2y=p2.y-(p3.y-p1.y)/6;seg+=` C ${c1x.toFixed(2)} ${c1y.toFixed(2)} ${c2x.toFixed(2)} ${c2y.toFixed(2)} ${p2.x.toFixed(2)} ${p2.y.toFixed(2)}`;}const y0=pts[0].y.toFixed(2);const edge=`M ${pts[0].x.toFixed(2)} ${y0}${seg}`;const region=`M 0 ${h.toFixed(2)} L 0 ${y0}${seg} L ${w.toFixed(2)} ${h.toFixed(2)} Z`;return{edge,region};}export default function CopyButton(props){const{content,copiedState,appearance,animation,wave,style}=props;const{label=\"Kopieren\",copyText=\"\",showCopyIcon=true}=content||{};const{copiedLabel=\"Kopiert!\",showCheckmark=true,copiedBackground=\"#16A34A\",copiedTextColor=\"#FFFFFF\"}=copiedState||{};const{background=\"#0B3B5E\",textColor=\"#FFFFFF\",borderWidth=0,borderColor=\"#FFFFFF\",radius=10,paddingX=20,paddingY=12,font={}}=appearance||{};const{duration=.25,revertDelay=1800}=animation||{};const{waveColor=\"#2487AF\",riseDurationMs=700,waveHeight=.4,ripple=.5,showGlow=true,glowColor=\"rgba(255,255,255,0.6)\",disableOnTouch=true}=wave||{};const[copied,setCopied]=useState(false);// Automatisch zurück in den Normalzustand\nuseEffect(()=>{if(!copied)return;const timer=setTimeout(()=>setCopied(false),revertDelay);return()=>clearTimeout(timer);},[copied,revertDelay]);// ---- wave state ----\nconst containerRef=useRef(null);const fillRef=useRef(null);const glowRef=useRef(null);const sizeRef=useRef({w:0,h:0});const[size,setSize]=useState({w:0,h:0});const progress=useRef(0);const targetProgress=useRef(0);const cursorX=useRef(0);const targetCursorX=useRef(0);const cursorInit=useRef(false);const phase=useRef(0);const lastT=useRef(null);const raf=useRef(null);const running=useRef(false);const reduceMotion=useRef(false);const[noHover,setNoHover]=useState(false);const effectDisabled=disableOnTouch&&noHover;const rippleAmount=.06*ripple;const rippleSpeed=1.2*ripple;const rippleFrequency=2.5;const spread=.3;const cursorEaseMs=180;const paramsRef=useRef({});paramsRef.current={riseDurationMs,cursorEaseMs,waveHeight,spread,rippleAmount,rippleFrequency,rippleSpeed};const tickRef=useRef();tickRef.current=t=>{const{w,h}=sizeRef.current;if(w===0||h===0)return true;if(lastT.current==null)lastT.current=t;let dt=(t-lastT.current)/1e3;lastT.current=t;if(dt>.05)dt=.05;const P=paramsRef.current;const kP=3/Math.max(.05,P.riseDurationMs/1e3);progress.current+=(targetProgress.current-progress.current)*(1-Math.exp(-kP*dt));const kC=3/Math.max(.02,P.cursorEaseMs/1e3);cursorX.current+=(targetCursorX.current-cursorX.current)*(1-Math.exp(-kC*dt));if(!reduceMotion.current&&P.rippleSpeed>0)phase.current+=dt*P.rippleSpeed*Math.PI;const{edge,region}=buildWavePaths(w,h,{cursorX:cursorX.current,progress:progress.current,phase:phase.current,waveHeight:P.waveHeight,spread:P.spread,rippleAmount:reduceMotion.current?0:P.rippleAmount,rippleFrequency:P.rippleFrequency});if(fillRef.current)fillRef.current.style.clipPath=`path(\"${region}\")`;if(glowRef.current)glowRef.current.setAttribute(\"d\",edge);const idle=targetProgress.current===0&&progress.current<.002;if(idle){progress.current=0;if(fillRef.current)fillRef.current.style.clipPath='path(\"M 0 0 L 0 0 L 0 0 Z\")';return false;}return true;};const frame=useCallback(t=>{const cont=tickRef.current?tickRef.current(t):false;if(cont)raf.current=requestAnimationFrame(frame);else{running.current=false;raf.current=null;}},[]);const startLoop=useCallback(()=>{if(running.current)return;running.current=true;lastT.current=null;raf.current=requestAnimationFrame(frame);},[frame]);// measure the padding box (clientWidth/Height) so the wave matches the button\nuseEffect(()=>{const el=containerRef.current;if(!el)return;const ro=new ResizeObserver(()=>{const w=el.clientWidth;const h=el.clientHeight;sizeRef.current={w,h};setSize({w,h});if(!cursorInit.current){targetCursorX.current=w/2;cursorX.current=w/2;cursorInit.current=true;}});ro.observe(el);return()=>ro.disconnect();},[]);useEffect(()=>{reduceMotion.current=typeof window!==\"undefined\"&&!!window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;},[]);useEffect(()=>{const mq=window.matchMedia?.(\"(hover: none)\");if(!mq)return;const update=()=>setNoHover(mq.matches);update();mq.addEventListener?.(\"change\",update);return()=>mq.removeEventListener?.(\"change\",update);},[]);useEffect(()=>{return()=>{if(raf.current)cancelAnimationFrame(raf.current);running.current=false;};},[]);async function handleCopy(){const text=copyText??\"\";try{if(navigator.clipboard&&window.isSecureContext){await navigator.clipboard.writeText(text);}else{const ta=document.createElement(\"textarea\");ta.value=text;ta.style.position=\"fixed\";ta.style.opacity=\"0\";document.body.appendChild(ta);ta.select();document.execCommand(\"copy\");document.body.removeChild(ta);}}catch(e){console.warn(\"Copy failed:\",e);return;}setCopied(true);// drain the wave as the success state appears\ntargetProgress.current=0;startLoop();}const onMove=e=>{if(effectDisabled||copied)return;const el=containerRef.current;if(!el)return;const rect=el.getBoundingClientRect();targetCursorX.current=e.clientX-rect.left-borderWidth;startLoop();};const onEnter=()=>{if(effectDisabled||copied)return;targetProgress.current=1;startLoop();};const onLeave=()=>{if(effectDisabled)return;targetProgress.current=0;startLoop();};const onDown=()=>{if(effectDisabled||copied)return;targetProgress.current=1;startLoop();};const labelTransition={duration:Math.min(duration,.2),ease:\"easeOut\"};return /*#__PURE__*/_jsxs(motion.button,{ref:containerRef,type:\"button\",onClick:handleCopy,onPointerEnter:onEnter,onPointerLeave:onLeave,onPointerMove:onMove,onPointerDown:onDown,initial:false,animate:{backgroundColor:copied?copiedBackground:background,scale:copied?[1,1.04,1]:1},transition:{backgroundColor:{duration,ease:\"easeInOut\"},scale:{duration:.3,ease:\"easeOut\"}},whileHover:{y:-1},whileTap:{scale:.96},style:{position:\"relative\",overflow:\"hidden\",display:\"inline-flex\",boxSizing:\"border-box\",alignItems:\"center\",justifyContent:\"center\",border:borderWidth>0?`${borderWidth}px solid ${borderColor}`:\"none\",cursor:\"pointer\",borderRadius:radius,padding:`${paddingY}px ${paddingX}px`,backgroundColor:background,boxShadow:\"0 1px 2px rgba(0, 0, 0, 0.08)\",userSelect:\"none\",WebkitTapHighlightColor:\"transparent\",...font||{},...style},children:[!effectDisabled&&/*#__PURE__*/_jsx(\"div\",{ref:fillRef,style:{position:\"absolute\",inset:0,background:waveColor,clipPath:'path(\"M 0 0 L 0 0 L 0 0 Z\")',opacity:copied?0:1,transition:\"opacity 0.2s ease\",pointerEvents:\"none\",willChange:\"clip-path\",zIndex:0}}),!effectDisabled&&showGlow&&!copied&&size.w>0&&size.h>0&&/*#__PURE__*/_jsx(\"svg\",{viewBox:`0 0 ${size.w} ${size.h}`,preserveAspectRatio:\"none\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",overflow:\"visible\",zIndex:0},children:/*#__PURE__*/_jsx(\"path\",{ref:glowRef,fill:\"none\",stroke:glowColor,strokeWidth:1.5,strokeLinecap:\"round\",style:{filter:\"blur(0.4px)\"}})}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"grid\",placeItems:\"center\",lineHeight:1,position:\"relative\",zIndex:1},children:[/*#__PURE__*/_jsxs(motion.span,{\"aria-hidden\":copied,initial:false,animate:{opacity:copied?0:1,y:copied?-8:0},transition:labelTransition,style:{gridArea:\"1 / 1\",display:\"inline-flex\",alignItems:\"center\",gap:6,whiteSpace:\"nowrap\",color:textColor},children:[showCopyIcon&&/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",style:{display:\"block\",flexShrink:0},children:[/*#__PURE__*/_jsx(\"rect\",{x:\"8\",y:\"8\",width:\"14\",height:\"14\",rx:\"2\",ry:\"2\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"})]}),label]}),/*#__PURE__*/_jsxs(motion.span,{\"aria-hidden\":!copied,initial:false,animate:{opacity:copied?1:0,y:copied?0:8},transition:labelTransition,style:{gridArea:\"1 / 1\",display:\"inline-flex\",alignItems:\"center\",gap:6,whiteSpace:\"nowrap\",color:copiedTextColor},children:[showCheckmark&&/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",style:{display:\"block\",flexShrink:0},children:/*#__PURE__*/_jsx(motion.path,{d:\"M5 13l4 4L19 7\",fill:\"none\",stroke:\"currentColor\",strokeWidth:3,strokeLinecap:\"round\",strokeLinejoin:\"round\",initial:false,animate:{pathLength:copied?1:0,opacity:copied?1:0},transition:{duration:.3,ease:\"easeOut\",delay:copied?.05:0}})}),copiedLabel]})]})]});}CopyButton.displayName=\"Copy Button\";addPropertyControls(CopyButton,{content:{type:ControlType.Object,title:\"Inhalt\",controls:{label:{type:ControlType.String,title:\"Button-Text\",defaultValue:\"Kopieren\"},showCopyIcon:{type:ControlType.Boolean,title:\"Copy-Icon\",defaultValue:true,enabledTitle:\"An\",disabledTitle:\"Aus\"},copyText:{type:ControlType.String,title:\"Zu kopieren\",defaultValue:\"DE29 4306 0967 1056 2752 00\",placeholder:\"Text der kopiert wird\",displayTextArea:true}}},copiedState:{type:ControlType.Object,title:\"Kopiert-Zustand\",controls:{copiedLabel:{type:ControlType.String,title:\"Text danach\",defaultValue:\"Kopiert!\"},showCheckmark:{type:ControlType.Boolean,title:\"H\\xe4kchen\",defaultValue:true,enabledTitle:\"An\",disabledTitle:\"Aus\"},copiedBackground:{type:ControlType.Color,title:\"Hintergrund\",defaultValue:\"#16A34A\"},copiedTextColor:{type:ControlType.Color,title:\"Textfarbe\",defaultValue:\"#FFFFFF\"}}},appearance:{type:ControlType.Object,title:\"Stil\",controls:{background:{type:ControlType.Color,title:\"Hintergrund\",defaultValue:\"#0B3B5E\"},textColor:{type:ControlType.Color,title:\"Textfarbe\",defaultValue:\"#FFFFFF\"},borderWidth:{type:ControlType.Number,title:\"Border\",defaultValue:0,min:0,max:12,step:1,unit:\"px\",displayStepper:true},borderColor:{type:ControlType.Color,title:\"Border-Farbe\",defaultValue:\"#FFFFFF\",hidden:props=>props.borderWidth===0},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:10,min:0,max:60,step:1,unit:\"px\",displayStepper:true},paddingX:{type:ControlType.Number,title:\"Padding ↔\",defaultValue:20,min:0,max:80,step:1,unit:\"px\"},paddingY:{type:ControlType.Number,title:\"Padding ↕\",defaultValue:12,min:0,max:80,step:1,unit:\"px\"},font:{type:ControlType.Font,title:\"Schrift\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,variant:\"Semibold\"}}}},wave:{type:ControlType.Object,title:\"Welle\",controls:{waveColor:{type:ControlType.Color,title:\"Wellenfarbe\",defaultValue:\"#2487AF\",description:\"Farbe der Welle, die beim Hover aufsteigt.\"},riseDurationMs:{type:ControlType.Number,title:\"Anstieg\",defaultValue:700,min:150,max:2e3,step:10,unit:\"ms\"},waveHeight:{type:ControlType.Number,title:\"Wellenh\\xf6he\",defaultValue:.4,min:0,max:1,step:.05,description:\"W\\xf6lbung Richtung Cursor.\"},ripple:{type:ControlType.Number,title:\"Ripple\",defaultValue:.5,min:0,max:1,step:.05,description:\"Oberfl\\xe4chen-Bewegung. 0 = glatt, 1 = lebendig.\"},showGlow:{type:ControlType.Boolean,title:\"Schaumkante\",defaultValue:true,enabledTitle:\"An\",disabledTitle:\"Aus\"},glowColor:{type:ControlType.Color,title:\"Kantenfarbe\",defaultValue:\"rgba(255,255,255,0.6)\",hidden:props=>!props.showGlow},disableOnTouch:{type:ControlType.Boolean,title:\"Auf Touch aus\",defaultValue:true,enabledTitle:\"Ja\",disabledTitle:\"Nein\",description:\"Hover-Effekt auf Touch-Ger\\xe4ten deaktivieren.\"}}},animation:{type:ControlType.Object,title:\"Animation\",controls:{duration:{type:ControlType.Number,title:\"Tempo\",defaultValue:.25,min:.05,max:1,step:.05,unit:\"s\"},revertDelay:{type:ControlType.Number,title:\"Zur\\xfcck nach\",defaultValue:1800,min:300,max:6e3,step:100,unit:\"ms\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyButton.map"],"mappings":"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"}