1"use strict";(self.webpackChunk_verndale_toolkit=self.webpackChunk_verndale_toolkit||[]).push([[6309],{96309(Y,x,n){n.r(x);var e=n(96540),p=n(53727);const B=({title:A,subtitle:C,defaultInvestment:o,defaultMultiplier:i,minInvestment:R,maxInvestment:L,investmentStep:$,minMultiplier:F,maxMultiplier:l,multiplierStep:s,className:a})=>{const f=A??"Estimate Your ROI",h=C??"Use the sliders to visualize your potential return",N=R??5e3,O=L??1e5,E=$??5e3,D=F??1,y=l??5,M=s??.5,I=o??2e4,w=i??2,[u,T]=(0,e.useState)(I),[P,K]=(0,e.useState)(w),[m,j]=(0,e.useState)(()=>typeof window>"u"?!0:window.matchMedia("(prefers-reduced-motion: reduce)").matches),g=(0,e.useRef)(null),d=(0,e.useRef)(null),U=(0,e.useRef)(0),v=(0,e.useRef)(null);(0,e.useEffect)(()=>{T(o??2e4)},[o]),(0,e.useEffect)(()=>{K(i??2)},[i]),(0,e.useEffect)(()=>{if(typeof window>"u")return;const t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>j(t.matches);return r(),typeof t.addEventListener=="function"?(t.addEventListener("change",r),()=>t.removeEventListener("change",r)):(t.addListener(r),()=>t.removeListener(r))},[]);const X=u*P,c=e.useMemo(()=>u===0?0:(X-u)/u*100,[u,X]);return(0,e.useEffect)(()=>{!g.current||m||(0,p.i)(g.current,{opacity:[0,1],y:[16,0]},{duration:.4,easing:"ease-out"})},[m]),(0,e.useEffect)(()=>{if(!d.current)return;if(m){d.current.textContent=`${c.toFixed(1)}%`,U.current=c;return}v.current!==null&&cancelAnimationFrame(v.current);let t=U.current,r=0;const G=180,H=20,J=1;let W=performance.now();const b=z=>{const V=(z-W)/1e3;W=z;const Q=t-c,Z=-G*Q,k=-H*r,q=(Z+k)/J;r+=q*V,t+=r*V,d.current&&(d.current.textContent=`${t.toFixed(1)}%`),Math.abs(r)>.01||Math.abs(t-c)>.01?v.current=requestAnimationFrame(b):(d.current&&(d.current.textContent=`${c.toFixed(1)}%`),U.current=c)};return v.current=requestAnimationFrame(b),()=>{v.current!==null&&cancelAnimationFrame(v.current)}},[c,m]),(0,e.useEffect)(()=>{if(!g.current||m)return;const t=(0,p.i)(g.current,{scale:[1,1.02,1]},{duration:.25});return()=>t.stop()},[u,P,m]),e.createElement("div",{ref:g,className:`roi-wrapper ${a??""}`,style:{opacity:m?1:0}},e.createElement("div",{className:"roi-card"},e.createElement("div",{className:"roi-content"},e.createElement("header",{className:"roi-header"},e.createElement("h2",null,f),e.createElement("p",null,h)),e.createElement("div",{className:"roi-section"},e.createElement("div",{className:"roi-label-row"},e.createElement("span",null,"Investment"),e.createElement("span",{className:"roi-value"},"$",u.toLocaleString())),e.createElement("input",{type:"range",min:N,max:O,step:E,value:u,onChange:t=>T(Number(t.target.value)),className:"roi-slider"})),e.createElement("div",{className:"roi-section"},e.createElement("div",{className:"roi-label-row"},e.createElement("span",null,"Return Multiplier"),e.createElement("span",{className:"roi-value"},P,"x")),e.createElement("input",{type:"range",min:D,max:y,step:M,value:P,onChange:t=>K(Number(t.target.value)),className:"roi-slider"})),e.createElement("div",{className:"roi-results"},e.createElement("div",{className:"roi-result-block"},e.createElement("p",null,"Total Return"),e.createElement("h3",null,"$",X.toLocaleString())),e.createElement("div",{className:"roi-result-block"},e.createElement("p",null,"ROI"),e.createElement("h3",{ref:d},c.toFixed(1),"%"))),e.createElement("button",{className:"roi-button",onClick:()=>{T(I),K(w)}},"Reset"))))};n.d(x,["default",0,B])},53727(Y,x,n){n.d(x,{i:()=>F});var e=n(95227),p=n(1519),S=n(53e3),B=n(40766),A=n(97607),C=n(1971),o=n(6156);function i(l){return function(a,f,h={}){a=(0,C.K)(a);const N=a.length;(0,S.V)(Boolean(N),"No valid element provided."),(0,S.V)(Boolean(f),"No keyframes defined.");const O=[];for(let E=0;E<N;E++){const D=a[E];for(const y in f){const M=(0,A.$)(h,y);M.delay=(0,o.A4)(M.delay,E,N);const I=(0,B.X)(D,y,f[y],M,l);O.push(I)}}return(0,e.$)(O,h,h.duration)}}const R=i(p.X);var L=n(9691);function $(l,s={}){return(0,e.$)([()=>{const a=new p.X(l,[0,1],s);return a.finished.catch(()=>{}),a}],s,s.duration)}function F(l,s,a){return((0,L.T)(l)?$:R)(l,s,a)}}}]); 2 3//# sourceMappingURL=6309.d5b40b9ef602056765fa.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.