PageSourceSearch

https://swingfolio.com/_next/static/immutable/chunks/3-bfp8z0dimd5.js

js swingfolio.com collected 2026-09-24 13:49:23 UTC 14,999 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,706925,e=>{"use strict";var t=e.i(942482),r=e.i(537300),n=e.i(267392),a=e.i(982951),s=e.i(887475),i=e.i(668918),o=e.i(167881),l=e.i(23750),c=e.i(184762),u=e.i(10708),d=e.i(817422),m=e.i(139258);let p=[{value:"general",label:"General enquiry"},{value:"support",label:"Account & technical support"},{value:"billing",label:"Billing & subscriptions"},{value:"privacy",label:"Data & privacy request"},{value:"security",label:"Security disclosure"},{value:"partnership",label:"Partnerships, brokers & press"}],f=p.map(e=>e.value),x=d.z.object({name:d.z.string().trim().min(1,"Please tell us your name").max(100,"Name must be 100 characters or fewer").transform(e=>e.replace(/[\r\n]+/g," ")),email:m.emailSchema,topic:d.z.enum(f,{message:"Please choose what your message is about"}),message:d.z.string().trim().min(10,"Please give us a little more detail (at least 10 characters)").max(2e3,"Message must be 2000 characters or fewer"),hpField:d.z.string().optional(),turnstileToken:d.z.string().nullable().optional()});e.s(["ContactForm",0,function(){let[e,d]=(0,r.useState)(!1),[m,f]=(0,r.useState)(null),[h,b]=(0,r.useState)(null),g=(0,r.useRef)(null),v="0x4AAAAAACqJRS4p-nLrTxf-",{register:w,handleSubmit:y,watch:j,formState:{errors:N,isSubmitting:E}}=(0,n.useForm)({resolver:(0,a.zodResolver)(x),defaultValues:{topic:"general",message:"",name:"",email:""}}),T=j("message")?.length??0;async function k(e){f(null);try{let t=await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,email:e.email,topic:e.topic,message:e.message,hpField:e.hpField??"",turnstileToken:h})});if(!t.ok){let e=await t.json().catch(()=>({}));f("string"==typeof e.error&&e.error.length>0?e.error:"We couldn't send your message. Please email [email protected] directly."),g.current?.reset(),b(null);return}d(!0)}catch{f("We couldn't reach the server. Please check your connection, or email [email protected] directly."),g.current?.reset(),b(null)}}return e?(0,t.jsxs)("div",{className:"border border-border bg-muted/30 p-8",children:[(0,t.jsx)(i.CheckCircle2,{className:"h-6 w-6 text-success-600 dark:text-success-400","aria-hidden":"true"}),(0,t.jsx)("h2",{className:"mt-4 text-lg font-semibold",children:"Message sent"}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-muted-foreground",children:"Thanks for getting in touch. We reply to most messages within 1–2 business days, and we'll respond to the email address you gave us."})]}):(0,t.jsxs)("form",{onSubmit:y(k),className:"flex flex-col gap-5",noValidate:!0,children:[(0,t.jsxs)("div",{"aria-hidden":"true",className:"absolute -left-[9999px] h-0 w-0 overflow-hidden",children:[(0,t.jsx)("label",{htmlFor:"hpField",children:"Leave this field empty"}),(0,t.jsx)("input",{id:"hpField",type:"text",tabIndex:-1,autoComplete:"off",...w("hpField")})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(u.Label,{htmlFor:"name",className:"text-sm font-medium",children:"Your name"}),(0,t.jsx)(l.Input,{id:"name",autoComplete:"name","aria-invalid":N.name?"true":void 0,...w("name")}),N.name&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:N.name.message})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(u.Label,{htmlFor:"email",className:"text-sm font-medium",children:"Email address"}),(0,t.jsx)(l.Input,{id:"email",type:"email",autoComplete:"email","aria-invalid":N.email?"true":void 0,...w("email")}),N.email&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:N.email.message})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(u.Label,{htmlFor:"topic",className:"text-sm font-medium",children:"What's this about?"}),(0,t.jsx)("select",{id:"topic",className:"flex h-9 w-full rounded-none border border-input bg-transparent dark:bg-input/30 dark:hover:bg-input/50 px-3 py-1 text-base transition-colors focus-visible:outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","aria-invalid":N.topic?"true":void 0,...w("topic"),children:p.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))}),N.topic&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:N.topic.message})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-4",children:[(0,t.jsx)(u.Label,{htmlFor:"message",className:"text-sm font-medium",children:"Message"}),(0,t.jsxs)("span",{className:"font-mono text-xs tabular-nums text-muted-foreground",children:[T.toLocaleStr
1ing(),"/",2e3.toLocaleString()]})]}),(0,t.jsx)(c.Textarea,{id:"message",rows:7,maxLength:2e3,placeholder:"Tell us what you need — the more detail, the faster we can help.",className:"resize-none","aria-invalid":N.message?"true":void 0,...w("message")}),N.message&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:N.message.message})]}),v&&(0,t.jsx)(s.Turnstile,{ref:g,siteKey:v,options:{size:"invisible"},onSuccess:b,onError:()=>{b(null)},onExpire:()=>{b(null)}}),m&&(0,t.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:m}),(0,t.jsx)(o.Button,{type:"submit",disabled:E,className:"w-full sm:w-auto",children:E?"Sending...":"Send message"}),(0,t.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["We use your details only to reply to this enquiry. See our"," ",(0,t.jsx)("a",{href:"/privacy",className:"underline hover:text-foreground",children:"Privacy Policy"}),"."]})]})}],706925)},23750,e=>{"use strict";var t=e.i(942482),r=e.i(537300),n=e.i(647163);let a=r.forwardRef(({className:e,type:r,...a},s)=>(0,t.jsx)("input",{type:r,className:(0,n.cn)("flex h-9 w-full rounded-none border border-input bg-transparent dark:bg-input/30 dark:hover:bg-input/50 px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:s,...a}));a.displayName="Input",e.s(["Input",0,a])},10708,e=>{"use strict";var t=e.i(942482),r=e.i(537300),n=e.i(718923),a=r.forwardRef((e,r)=>(0,t.jsx)(n.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label";var s=e.i(647163);e.s(["Label",0,function({className:e,...r}){return(0,t.jsx)(a,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 mb-2",e),...r})}],10708)},184762,e=>{"use strict";var t=e.i(942482),r=e.i(647163);e.s(["Textarea",0,function({className:e,...n}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}])},139258,e=>{"use strict";var t=e.i(817422);let r=t.z.string().min(1,"Email is required").max(254,"Email is too long").email("Please enter a valid email address").toLowerCase().refine(e=>{let t=e.split("@")[1];return t&&t.includes(".")&&t.length>=3},"Please enter a valid email address"),n=t.z.string().min(8,"Password must be at least 8 characters").max(72,"Password is too long"),a=t.z.object({email:r,password:n,repeatPassword:t.z.string()}).refine(e=>e.password===e.repeatPassword,{message:"Passwords do not match",path:["repeatPassword"]});e.s(["emailSchema",0,r,"signupFormSchema",0,a])},887475,e=>{"use strict";var t,r=e.i(537300),n=e.i(942482),a=(0,r.forwardRef)(({as:e="div",...t},r)=>(0,n.jsx)(e,{...t,ref:r})),s="cf-turnstile-script",i="onloadTurnstileCallback",o={normal:{width:300,height:65},compact:{width:150,height:140},invisible:{width:0,height:0,overflow:"hidden"},flexible:{minWidth:300,width:"100%",height:65},interactionOnly:{width:"fit-content",height:"auto",display:"flex"}},l="unloaded",c=new Promise((e,r)=>{t={resolve:e,reject:r},"ready"===l&&e(void 0)}),u=(e=i)=>("unloaded"===l&&(l="loading",window[e]=()=>{t.resolve(),l="ready",delete window[e]}),c),d=(0,r.forwardRef)((e,t)=>{let{scriptOptions:c,options:d={},siteKey:m,onWidgetLoad:p,onSuccess:f,onExpire:x,onError:h,onBeforeInteractive:b,onAfterInteractive:g,onUnsupported:v,onTimeout:w,onLoadScript:y,id:j,style:N,as:E="div",injectScript:T=!0,rerenderOnCallbackChange:k=!1,...S}=e,P=d.size,I=(0,r.useCallback)(()=>typeof P>"u"?{}:"execute"===d.execution?o.invisible:"interaction-only"===d.appearance?o.interactionOnly:o[P],[d.execution,P,d.appearance]),[C,F]=(0,r.useState)(I()),R=(0,r.useRef)(null),[L,z]=(0,r.useState)(!1),O
1=(0,r.useRef)(void 0),A=(0,r.useRef)(!1),B=j||"cf-turnstile",D=(0,r.useRef)({onSuccess:f,onError:h,onExpire:x,onBeforeInteractive:b,onAfterInteractive:g,onUnsupported:v,onTimeout:w});(0,r.useEffect)(()=>{k||(D.current={onSuccess:f,onError:h,onExpire:x,onBeforeInteractive:b,onAfterInteractive:g,onUnsupported:v,onTimeout:w})});let M=c?.id||s,W=function(e=s){let[t,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let t=()=>{document.getElementById(e)&&n(!0)},r=new MutationObserver(t);return r.observe(document,{childList:!0,subtree:!0}),t(),()=>{r.disconnect()}},[e]),t}(M),q=c?.onLoadCallbackName||i,U=d.appearance||"always",$=(0,r.useMemo)(()=>({sitekey:m,action:d.action,cData:d.cData,theme:d.theme||"auto",language:d.language||"auto",tabindex:d.tabIndex,"response-field":d.responseField,"response-field-name":d.responseFieldName,size:function(e){if("invisible"!==e&&"interactionOnly"!==e)return e}(P),retry:d.retry||"auto","retry-interval":d.retryInterval||8e3,"refresh-expired":d.refreshExpired||"auto","refresh-timeout":d.refreshTimeout||"auto",execution:d.execution||"render",appearance:d.appearance||"always","feedback-enabled":d.feedbackEnabled??!0,callback:e=>{A.current=!0,k?f?.(e):D.current.onSuccess?.(e)},"error-callback":k?h:(...e)=>D.current.onError?.(...e),"expired-callback":k?x:(...e)=>D.current.onExpire?.(...e),"before-interactive-callback":k?b:(...e)=>D.current.onBeforeInteractive?.(...e),"after-interactive-callback":k?g:(...e)=>D.current.onAfterInteractive?.(...e),"unsupported-callback":k?v:(...e)=>D.current.onUnsupported?.(...e),"timeout-callback":k?w:(...e)=>D.current.onTimeout?.(...e)}),[d.action,d.appearance,d.cData,d.execution,d.language,d.refreshExpired,d.responseField,d.responseFieldName,d.retry,d.retryInterval,d.tabIndex,d.theme,d.feedbackEnabled,d.refreshTimeout,m,P,k,k?f:null,k?h:null,k?x:null,k?b:null,k?g:null,k?v:null,k?w:null]),K=(0,r.useCallback)(()=>"u">typeof window&&!!window.turnstile,[]);return(0,r.useEffect)(function(){T&&!L&&(u(q),(({render:e="explicit",onLoadCallbackName:t=i,scriptOptions:{nonce:r="",defer:n=!0,async:a=!0,id:o="",appendTo:l,onError:c,crossOrigin:u=""}={}})=>{let d=o||s;if(document.getElementById(d))return;let m=document.createElement("script");m.id=d,m.src=`https://challenges.cloudflare.com/turnstile/v0/api.js?onload=${t}&render=${e}`,document.querySelector(`script[src="${m.src}"]`)||(m.defer=!!n,m.async=!!a,r&&(m.nonce=r),u&&(m.crossOrigin=u),c&&(m.onerror=c,delete window[t]),("body"===l?document.body:document.getElementsByTagName("head")[0]).appendChild(m))})({onLoadCallbackName:q,scriptOptions:{...c,id:M}}))},[T,L,c,M,q]),(0,r.useEffect)(function(){"ready"!==l&&u(q).then(()=>z(!0)).catch(console.error)},[q]),(0,r.useEffect)(function(){if(!R.current||!L)return;let e=!1;return(async()=>{e||!R.current||(O.current=window.turnstile.render(R.current,$),O.current&&p?.(O.current))})(),()=>{e=!0,O.current&&(window.turnstile.remove(O.current),A.current=!1)}},[B,L,$]),(0,r.useImperativeHandle)(t,()=>{let{turnstile:e}=window;return{getResponse:()=>e?.getResponse&&O.current&&K()?e.getResponse(O.current):void console.warn("Turnstile has not been loaded"),getResponsePromise:async(e=3e4,t=100)=>new Promise((r,n)=>{let a,s=async()=>{if(A.current&&window.turnstile&&O.current)try{let e=window.turnstile.getResponse(O.current);return a&&clearTimeout(a),e?r(e):n(Error("No response received"))}catch(e){return a&&clearTimeout(a),console.warn("Failed to get response",e),n(Error("Failed to get response"))}a||(a=setTimeout(()=>{a&&clearTimeout(a),n(Error("Timeout"))},e)),await new Promise(e=>setTimeout(e,t)),await s()};s()}),reset(){if(!e?.reset||!O.current||!K())return void console.warn("Turnstile has not been loaded");"execute"===d.execution&&F(o.invisible);try{A.current=!1,e.reset(O.current)}catch(e){console.warn(`Failed to reset Turnstile widget ${O}`,e)}},remove(){e?.remove&&O.current&&K()?(F(o.invisible),A.current=!1,e.remove(O.current),O.current=null):console.warn("Turnstile has not been loaded")},render(){if(!e?.render||!R.current||!K()||O.current)return void console.warn("Turnstile has not been loaded or container not found");let t=e.render(R.current,$);return O.current=t,O.current&&p?.(O.current),"execute"!==d.execution&&F(P?o[P]:{}),t},execute(){"execute"!==d.execution?console.warn('Execution mode is not set to "execute"'):e?.execute&&R.current&&O.current&&K()?(e.execute(R.current,$),F(P?o[P]:{})):console.warn("Turnstile has not been loaded or container not found")},isExpired:()=>e?.isExpired&&O.current&&K()?e.isExpired(O.current):(console.warn("Turnstile has not been loaded"),!1)}},[O,d.execution,P,$,R,K,L,p]),(0,r.useEffect)(()=>
1{if(L||!W)return;if(window.turnstile)return void z(!0);let e=setInterval(()=>{window.turnstile&&(z(!0),clearInterval(e))},50);return()=>{clearInterval(e)}},[L,W]),(0,r.useEffect)(()=>{F(I())},[d.execution,P,U]),(0,r.useEffect)(()=>{W&&"function"==typeof y&&y()},[W]),(0,n.jsx)(a,{ref:R,as:E,id:B,style:{...C,...N},...S})});d.displayName="Turnstile",e.s(["Turnstile",0,d])},718923,e=>{"use strict";var t=e.i(537300);e.i(957808);var r=e.i(883088),n=e.i(942482),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{let s=(0,r.createSlot)(`Primitive.${a}`),i=t.forwardRef((e,t)=>{let{asChild:r,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(r?s:a,{...i,ref:t})});return i.displayName=`Primitive.${a}`,{...e,[a]:i}},{});e.s(["Primitive",0,a])},831296,e=>{"use strict";let t=(0,e.i(495823).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",0,t])},668918,e=>{"use strict";var t=e.i(831296);e.s(["CheckCircle2",()=>t.default])}]);

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.