PageSourceSearch

https://www.bayport.biz/_next/static/chunks/94e6b8cdd40dfc7d.js?dpl=dpl_8nKUrGH9pw7ukEYGoEYGTL5mSit7

js bayport.biz collected 2026-09-26 08:14:55 UTC 34,375 bytes, 11 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,26982,e=>{"use strict";function a(e){return e.toString().toLowerCase().trim().replace(/['"`]/g,"").replace(/[^\w\s-]/g," ").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function t(e,t){let r,s,i=(r=[],e.year&&r.push(e.year.toString()),e.mfr&&r.push(a(e.mfr)),e.model&&r.push(a(e.model)),((s=e.length_ft||e.display_length_ft)&&r.push(Math.round(s).toString()),0===r.length)?"boat":r.join("-")),o=function(e,a){if("database"===a){if(!0===e.pool_shared){if(null==e.public_id)throw Error(`Database boat missing public_id. Boat id: ${e.id}`);return e.public_id.toString()}if(e.boatsgroup_api_boat_id)return e.boatsgroup_api_boat_id;if(e.yachtbroker_api_boat_id)return e.yachtbroker_api_boat_id;if(e.BoatId)return e.BoatId.toString();if(null==e.public_id)throw Error(`Database boat missing public_id. Boat id: ${e.id}`);return e.public_id.toString()}if("api"===a){if(null==e.BoatId)throw Error("Boating.ca API boat missing BoatId");return e.BoatId.toString()}if(null==e.id)throw Error(`API boat missing id. Data source: ${a}`);return e.id.toString()}(e,t);return`${i}-${o}`}e.s(["generateBoatSlug",()=>t,"slugify",()=>a])},99688,e=>{"use strict";var a=e.i(31903);let t=(...e)=>e.filter((e,a,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===a).join(" ").trim();var r={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,a.forwardRef)(({color:e="currentColor",size:s=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:l="",children:n,iconNode:c,...d},p)=>(0,a.createElement)("svg",{ref:p,...r,width:s,height:s,stroke:e,strokeWidth:o?24*Number(i)/Number(s):i,className:t("lucide",l),...d},[...c.map(([e,t])=>(0,a.createElement)(e,t)),...Array.isArray(n)?n:[n]])),i=(e,r)=>{let i=(0,a.forwardRef)(({className:i,...o},l)=>(0,a.createElement)(s,{ref:l,iconNode:r,className:t(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,i),...o}));return i.displayName=`${e}`,i};e.s(["default",()=>i],99688)},55069,e=>{"use strict";let a=(0,e.i(99688).default)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>a],55069)},72082,7234,19960,23341,e=>{"use strict";var a=e.i(96534),t=e.i(31903),r=e.i(99688);let s=(0,r.default)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var i=e.i(55069),o=e.i(60960);let l=(0,r.default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),n=({size:e=24,className:t=""})=>(0,a.jsx)(l,{size:e,className:`loading-spinner ${t}`});e.s(["LoadingSpinner",0,n],7234);let c=(0,t.createContext)(void 0);function d(){return(0,t.useContext)(c)}function p(e,a){if(!e||!a||/^(https?:|data:|blob:)/i.test(e)||e.startsWith("//"))return e;let t=a.replace(/\/+$/,""),r=e.startsWith("/")?e:`/${e}`;return`${t}${r}`}e.s(["resolveAssetUrl",()=>p,"useAssetBase",()=>d],19960);let u=["mp4","webm","ogg","ogv","m4v","mov"],h=["mp4","webm","m4v"],m=["mp4","webm"],b=["mkv","avi","wmv","flv","mpg","mpeg","m2ts","mts","ts","3gp","vob","asf","divx"],y=e=>{if(!e)return"";let a=(e.split(/[?#]/)[0]??"").split("/").pop()??"";return a.includes(".")?a.split(".").pop()?.toLowerCase()??"":""},g=e=>u.includes(y(e)),f=e=>h.includes(y(e)),_=e=>m.includes(y(e)),x=e=>{let a=y(e);return u.includes(a)||b.includes(a)};e.s(["getMediaExtension",0,y,"isKnownVideoFile",0,x,"isRecommendedVideo",0,_,"isUploadableVideo",0,f,"isVideoUrl",0,g],23341),e.s(["EditableMedia",0,({src:e,alt:r="Media",className:l="",isEditable:c=!1,onUpload:u,onChange:h,renderAs:m="element",accept:b="image/*,video/*",testId:j,sizes:v="100vw",priority:N=!1,quality:w,unoptimized:E=!1,poster:k})=>{let[C,T]=(0,t.useState)(!1),[S,M]=(0,t.useState)(!1),[$,A]=(0,t.useState)(null),B=(0,t.useRef)(h);B.current=h;let P=d(),U=p(e,P),I=k?p(k,P):void 0,z=y(U),F=g(U),L=async()=>
1{if(!u)return;let e=document.createElement("input");e.type="file",e.accept=b,e.onchange=async e=>{let a=e.target.files?.[0];if(a){let e=y(a.name);if(a.type.startsWith("video/")||x(a.name)){if(!f(a.name))return void alert(`This is ${e?`a .${e.toUpperCase()} file`:"a file with no extension"}, which doesn't play reliably in every web browser.
2
3Please convert it to MP4 and upload again. Free tools like HandBrake (handbrake.fr) or CloudConvert (cloudconvert.com) will do this.`);_(a.name)||console.warn("[EditableMedia] Uploading a non-standard container:",e);let t=a.size/1048576;if(t>125)return void alert(`This video is ${Math.round(t)}MB, and the maximum is 125MB.
4
5Try a shorter clip, or compress it before uploading.`);if(t>20&&!confirm(`This video is ${Math.round(t)}MB. Hero videos work best under 20MB.
6
7Larger files are slow to load for visitors on phones or slower connections.
8
9Upload anyway?`))return}try{A(null),T(!0),console.log("[EditableMedia] Starting upload…",{fileName:a.name,fileSize:a.size,fileType:a.type,testId:j});let e=await u(a);console.log("[EditableMedia] Upload returned URL:",e),T(!1),M(!0),console.log("[EditableMedia] Calling onChange with URL…"),B.current?.(e),console.log("[EditableMedia] onChange called. isVideo after src change:",g(e)?"yes":"no")}catch(t){console.error("[EditableMedia] Upload failed:",t);let e=t instanceof Error?t.message:"",a=/size|too large|413|125MB/i.test(e)?"That file is too large to upload. The maximum is 125MB.":"The upload didn't finish. Check your connection and try again.";T(!1),M(!1),A(a)}}},e.click()},R=()=>{console.log("[EditableMedia] Media loaded (onLoad/onLoadedData fired). Clearing loading state.",{testId:j}),M(!1),A(null)},O=e=>{console.error("[EditableMedia] Media failed to load:",{src:U,testId:j}),M(!1),A(a=>a===e?a:e)},q=()=>O("This image couldn't be loaded. Please try uploading it again."),D=C||S;return(0,a.jsxs)("div",{className:`editable-media ${"background"===m?"editable-media--background":""}`,children:[F?(0,a.jsxs)(a.Fragment,{children:[N&&I?(0,a.jsx)("link",{rel:"preload",as:"image",href:I,fetchPriority:"high"}):null,(0,a.jsx)("video",{src:U,className:l,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",poster:I,onLoadedData:R,onError:e=>{let a=e.currentTarget.error?.code;O(4===a||3===a?`This video couldn't be played — the browser doesn't support ${z?`.${z.toUpperCase()} files`:"this file type"}. Convert it to MP4 and upload it again.`:"This video couldn't be loaded. Check your connection and try again.")},"data-testid":j?`${j}-video`:void 0})]}):"background"===m?(0,a.jsx)("div",{className:l,children:(0,a.jsx)(o.default,{src:U,alt:r,fill:!0,sizes:v,priority:N,quality:w,unoptimized:E,onLoad:R,onError:q,"data-testid":j?`${j}-image`:void 0,style:{objectFit:"cover",objectPosition:"center"}})}):(0,a.jsx)(o.default,{src:U,alt:r,width:0,height:0,className:l,sizes:v,priority:N,quality:w,unoptimized:E,onLoad:R,onError:q,"data-testid":j?`${j}-image`:void 0,style:{width:"100%",height:"auto"}}),c&&u&&(0,a.jsxs)("div",{className:"editable-media__overlay",onClick:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,a.jsxs)("button",{onClick:e=>{e.preventDefault(),e.stopPropagation(),L()},className:"editable-media__button",type:"button",disabled:D,"data-testid":`${j}-button`,children:[D?(0,a.jsx)(n,{size:20}):(0,a.jsx)(s,{size:20}),(0,a.jsx)("span",{children:D?"Loading...":"Change Media"})]}),$?(0,a.jsxs)("p",{className:"editable-media__error",role:"alert","data-testid":j?`${j}-error`:void 0,children:[(0,a.jsx)(i.AlertTriangle,{size:16,"aria-hidden":"true"}),(0,a.jsx)("span",{children:$})]}):null]})]})}],72082)},51156,e=>{"use strict";e.i(83861);var a=e.i(79116),t=e.i(66422);let r=["boatsgroup.com","cdn.yachtbroker.org","media.iyba.pro"],s=RegExp(`/storage/v1/object/public/${a.BOAT_IMAGE_BUCKET}/([^/]+)/boats/`);function i(e){let a=e.match(s);return!!a&&(0,t.hasVariantMigratedImages)(a[1])}function o(e){return!!e&&(!!(i(e)||e.includes("/vessel-images/"))||r.some(a=>e.includes(a)))}let l=a.BOAT_IMAGE_VARIANT_SIZES;function n(e,t="hd"){if(!e)return"";if(i(e)){let r=e.lastIndexOf("/"),s=e.slice(0,r),i=(0,a.boatImageBaseName)(e.slice(r+1));return`${s}/${i}_${t}.webp`}if(!e.includes("images.boatsgroup.com"))return e;let r=l[t],s=e.split("?")[0].replace("/images/","/resize/");return`${s}?w=${r}&h=${r}&format=webp`}e.s(["getBoatsGroupImageUrl",()=>n,"isUnoptimized",()=>o])},9200,e=>{"use strict";let a=(0,e.i(29032).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>a],9200)},496,e=>{"use strict";var a=e.i(96534),t=e.i(31903);function r({children:e,delay:r=0,direction:s="up",className:i=""}){let{ref:o,isVisible:l}=function(e=.1,a="0px"){let[r,s]=(0,t.useState)(!1),i=(0,t.useRef)(null);return(0,t.useEffect)(()=>{let t=new IntersectionObserver(([e])=>{e.isIntersecting&&s(!0)},{threshold:e,rootMargin:a}),r=i.current;return r&&t.observe(r),()=>{r&&t.unobserve(r)}},[e,a]),{ref:i,isVisible:r}}(.1,"0px 0px -100px 0px"),n=`bayport-scroll-reveal--${s}`;return(0,a.jsx)("div",{ref:o,className:`bayport-scroll-reveal ${l?"bayport-scroll-reveal--visible":"bayport-scroll-reveal--hidden"} ${!l?n:""} ${i}`,style:{transitionDelay:`${r}ms`},children:e})}e.s(["default",()=>r],496)},61575,e=>{"use strict";let a=(0,e.i(29032).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",()=>a],61575)},79144,e=>{"use strict";e.s(["submitForm",()=>o],79144);var a=e.i(86904);function t(e,a){return 413===e||/too large|exceeded the maximum|\b413\b/i.test(a)?"File too large. Maximum size is 25MB.":0===e?"Upload interrupted. Check your connection and try again.":"Upload failed. Please try again."}async function r(e,a,r){var s;let i=await fetch(a.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organizationSlug:a.organizationSlug,folder:a.folder,fileName:e.name,fileSize:e.size,contentType:e.type||"application/octet-stream"})}),o={};try{o=await i.json()}catch{o={}}if(!i.ok||!o.signedUrl||!o.path)throw console.error("[Upload] Failed to mint signed upload URL",{status:i.status,error:o.error,fileName:e.name}),Error(o.error&&400===i.status?o.error:"Upload could not be started. Please try again.");return await (s=o.signedUrl,new Promise((a,i)=>{let o=new XMLHttpRequest;o.open("PUT",s,!0),o.timeout=6e5,o.setRequestHeader("content-type",e.type||"application/octet-stream"),o.setRequestHeader("cache-control","max-age=3600"),o.setRequestHeader("x-upsert","false"),o.upload.onprogress=e=>{e.lengthComputable&&r(e.loaded)},o.onload=()=>{o.status>=200&&o.status<300?(r(e.size),a()):i(Error(t(o.status,o.responseText||"")))},o.onerror=()=>i(Error(t(0,""))),o.onabort=()=>i(Error(t(0,""))),o.ontimeout=()=>i(Error("Upload timed out. Check your connection and try a smaller file.")),o.send(e)})),{path:o.path,name:e.name}}async function s({files:e,organizationSlug:a,folder:t="uploads",endpoint:s="/api/upload-url",onProgress:i,concurrency:o=3}){let l=[],n=[];if(0===e.length)return{uploaded:l,failed:n};let c=e.reduce((e,a)=>e+a.size,0),d=Array(e.length).fill(0),p=()=>
9{if(!i)return;let e=d.reduce((e,a)=>e+a,0);i({loaded:e,total:c,percentage:c>0?Math.round(e/c*100):100})},u=Array(e.length).fill(null),h=0,m=async()=>{for(;h<e.length;){let i=h++,o=e[i];try{u[i]=await r(o,{organizationSlug:a,folder:t,endpoint:s},e=>{d[i]=e,p()})}catch(e){console.error("[Upload] File failed:",o.name,e),u[i]={name:o.name,error:e instanceof Error?e.message:"Upload failed. Please try again."}}}};for(let a of(p(),await Promise.all(Array.from({length:Math.min(o,e.length)},()=>m())),u))a&&("path"in a?l.push(a):n.push(a));return{uploaded:l,failed:n}}e.i(31903),e.i(83861);let i="We couldn't submit your message. Please try again, or contact us directly.";async function o(e){try{let t;if(e.pageUrl||(e.pageUrl=window.location.href),!e.firstName)return{success:!1,message:"First name is required",error:"Please enter your first name.",errorDetail:"firstName is required"};if(!e.email)return{success:!1,message:"Email is required",error:"Please enter your email address.",errorDetail:"email is required"};if(!e.organizationSlug)return{success:!1,message:"Organization slug is required",error:i,errorDetail:"organizationSlug is required"};if(!e.formSource)return{success:!1,message:"Form source is required",error:i,errorDetail:"formSource is required"};let r=!!(e.files&&e.files.length>0),o=[],{files:l,onUploadProgress:n,executeRecaptcha:c,endpoint:d,...p}=e,u=d||"/api/contact";if(r){let{uploaded:a,failed:t}=await s({files:l,organizationSlug:e.organizationSlug,folder:e.uploadFolder||"uploads",onProgress:n});a.length>0&&(p.uploadedFiles=a),t.length>0&&(o=t.map(e=>e.name),p.message=`${p.message||""}
10
11[Note: the sender tried to attach ${t.length} file(s) that did not upload: ${o.join(", ")}. Please ask them to resend.]`)}if(!p.recaptchaToken)try{if(c)p.recaptchaToken=await c()||void 0;else{let t=(0,a.getRecaptchaSiteKey)(e.organizationSlug);t&&(await (0,a.loadRecaptchaScript)(t),window.grecaptcha&&(p.recaptchaToken=await new Promise((a,r)=>{window.grecaptcha.ready(async()=>{try{let r=await window.grecaptcha.execute(t,{action:e.formSource||"submit"});a(r)}catch(e){r(e)}})})))}}catch(e){console.warn("[reCAPTCHA] Execute failed, submitting without token:",e)}let h=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(p)});try{t=await h.json()}catch(e){return console.error(`[Forms] Non-JSON response from ${u}:`,h.status,e),{success:!1,message:"Failed to submit form",error:i,errorDetail:`Non-JSON response (HTTP ${h.status})`,failedUploads:o.length>0?o:void 0}}if(h.ok&&t.success)return{success:!0,message:t.message||"Form submitted successfully",data:t.data,visitorIdentified:t.visitorIdentified,failedUploads:o.length>0?o:void 0};return console.error("[Forms] Submission rejected:",h.status,t),{success:!1,message:t.message||"Failed to submit form",error:i,errorDetail:"string"==typeof t.error&&t.error?t.error:"Unknown error",failedUploads:o.length>0?o:void 0}}catch(e){return console.error("Error submitting form:",e),{success:!1,message:"Failed to submit form",error:i,errorDetail:e instanceof Error?e.message:"Network error"}}}},60987,e=>{"use strict";let a=(0,e.i(29032).default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>a],60987)},43216,e=>{"use strict";let a=(0,e.i(29032).default)("award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);e.s(["Award",()=>a],43216)},21711,e=>{"use strict";let a=(0,e.i(29032).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>a],21711)},10786,e=>{"use strict";let a=(0,e.i(29032).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",()=>a],10786)},85272,e=>{"use strict";var a=e.i(96534),t=e.i(31903),r=e.i(76419),s=e.i(58176),i=e.i(32712),o=e.i(10786),l=e.i(61575),n=e.i(79144);e.i(83861);var c=e.i(41535),d=e.i(19603),p=e.i(66422),u=e.i(3536),h=e.i(496);function m({isEditable:e=!1,content:m={},onUpdate:b,office:y}
11){let[g,f]=(0,t.useState)({name:"",email:"",phone:"",interest:"",message:""}),[_,x]=(0,t.useState)(!1),[j,v]=(0,t.useState)({type:null,message:""}),N=m.badge||"GET IN TOUCH",w=m.title||"Ready to Find Your",E=m.titleAccent||"Dream Yacht?",k=m.description||"Contact our experienced team today. We're here to help you buy, sell, or learn more about the yachting lifestyle.",C=m.callButtonText||"Call Us Now",T=m.emailButtonText||"Send Email",S=y?.office_name||"Corporate Headquarters",M=y?.city||"Kent Island",$=y?.province||"Maryland",A=y?.address_line1||"500 Piney Narrows Road #15",B=y?.address_line2||"PO Box 15",P=`${y?.city||"Chester"}, ${y?.province||"Maryland"} ${y?.postalcode||"21619"}`,U=y?.phone||"(410) 643-8100",I=y?.email||"[email protected]",z=(e,a)=>{b&&b({...m,[e]:a})},F=e=>{f({...g,[e.target.name]:e.target.value})},L=async e=>{e.preventDefault(),x(!0),v({type:null,message:""});try{let e=g.name.trim().split(" "),a=e[0]||g.name,t=e.slice(1).join(" ")||"",r=await (0,n.submitForm)({firstName:a,lastName:t,email:g.email,phone:g.phone,message:g.message,organizationSlug:p.OrganizationSlugs.BAYPORT,formSource:c.FormSources.GENERAL_CONTACT,answers:{[d.FormFieldKeys.INTEREST]:g.interest}});r.success?(v({type:"success",message:"Thank you for your interest! We'll be in touch shortly."}),f({name:"",email:"",phone:"",interest:"",message:""})):v({type:"error",message:r.error||"Failed to submit form. Please try again."})}catch(e){console.error("Error submitting form:",e),v({type:"error",message:"An error occurred. Please try again later."})}finally{x(!1)}};return(0,a.jsx)("section",{id:"contact",className:"bayport-contact",children:(0,a.jsxs)("div",{className:"bayport-contact__container",children:[(0,a.jsx)(h.default,{children:(0,a.jsxs)("div",{className:"bayport-contact__header",children:[(0,a.jsx)(u.EditableText,{value:N,onChange:e=>z("badge",e),isEditable:e,as:"span",className:"bayport-contact__badge","data-testid":"bayport-contact-badge"}),(0,a.jsxs)("h2",{className:"bayport-contact__title",children:[(0,a.jsx)(u.EditableText,{value:w,onChange:e=>z("title",e),isEditable:e,as:"span","data-testid":"bayport-contact-title"})," ",(0,a.jsx)(u.EditableText,{value:E,onChange:e=>z("titleAccent",e),isEditable:e,as:"span",className:"bayport-contact__title-accent","data-testid":"bayport-contact-title-accent"})]}),(0,a.jsx)(u.EditableText,{value:k,onChange:e=>z("description",e),isEditable:e,as:"p",className:"bayport-contact__description","data-testid":"bayport-contact-description"})]})}),(0,a.jsxs)("div",{className:"bayport-contact__grid",children:[(0,a.jsx)(h.default,{direction:"right",delay:100,children:(0,a.jsxs)("div",{className:"bayport-contact__info",children:[(0,a.jsxs)("div",{className:"bayport-contact__office",children:[(0,a.jsx)("div",{className:"bayport-contact__office-badge",children:S}),(0,a.jsxs)("h3",{className:"bayport-contact__office-title",children:[M,", ",$]}),(0,a.jsxs)("div",{className:"bayport-contact__office-details",children:[(0,a.jsxs)("div",{className:"bayport-contact__detail",children:[(0,a.jsx)(r.MapPin,{className:"bayport-contact__detail-icon"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{children:A}),B&&(0,a.jsx)("p",{children:B}),(0,a.jsx)("p",{children:P})]})]}),(0,a.jsxs)("div",{className:"bayport-contact__detail",children:[(0,a.jsx)(s.Phone,{className:"bayport-contact__detail-icon"}),(0,a.jsx)("a",{href:`tel:${U.replace(/[^+\d]/g,"")}`,children:U})]}),(0,a.jsxs)("div",{className:"bayport-contact__detail",children:[(0,a.jsx)(o.Clock,{className:"bayport-contact__detail-icon"}),(0,a.jsx)("span",{children:"Mon - Fri: 9:00 AM - 5:00 PM"})]})]})]}),(0,a.jsxs)("div",{className:"bayport-contact__links",children:[e?(0,a.jsxs)("span",{className:"bayport-contact__link bayport-contact__link--phone",children:[(0,a.jsx)(s.Phone,{className:"bayport-contact__link-icon"}),(0,a.jsx)(u.EditableText,{value:C,onChange:e=>z("callButtonText",e),isEditable:e,as:"span","data-testid":"bayport-contact-call-button"})]}):(0,a.jsxs)("a",{href:`tel:${U.replace(/[^+\d]/g,"")}`,className:"bayport-contact__link bayport-contact__link--phone",children:[(0,a.jsx)(s.Phone,{className:"bayport-contact__link-icon"}),(0,a.jsx)("span",{"data-testid":"bayport-contact-call-button",children:C})]}),e?(0,a.jsxs)("span",{className:"bayport-contact__link bayport-contact__link--email",children:[(0,a.jsx)(i.Mail,{className:"bayport-contact__link-icon"}),(0,a.jsx)(u.EditableText,{value:T,onChange:e=>z("emailButtonText",e),isEditable:e,as:"span","data-testid":"bayport-contact-email-button"})]}):(0,a.jsxs)("a",{href:`mailto:${I}`,className:"bayport-contact__link bayport-contact__link--email",children:[(0,a.jsx)(i.Mail,{className:"bayport-contact__link-icon"}),(0,a.jsx)("span",{"data-testid":"bayport-contact-email-button",children:T})]})]})]})}),(0,a.jsx)(h.default,{direction:"left",delay:200,children:(0,a.jsx)("div",{className:"bayport-contact__form-wrapper",children:(0,a.jsxs)("form",{className:"bayport-contact__form",onSubmit:L,children:[(0,a.jsxs)("div",{className:"bayport-contact__form-row",children:[(0,a.jsxs)("div",{className:"bayport-contact__form-group",children:[(0,a.jsx)("label",{htmlFor:"name",className:"bayport-contact__label",children:"Full Name"}),(0,a.jsx)("input",{type:"text",id:"name",name:"name",value:g.name,onChange:F,className:"bayport-contact__input",placeholder:"John Smith",required:!0,"data-testid":"bayport-contact-form-name"})]}),(0,a.jsxs)("div",{className:"bayport-contact__form-group",children:[(0,a.jsx)("label",{htmlFor:"email",className:"bayport-contact__label",children:"Email Address"}),(0,a.jsx)("input",{type:"email",id:"email",name:"email",value:g.email,onChange:F,className:"bayport-contact__input",placeholder:"[email protected]",required:!0,"data-testid":"bayport-contact-form-email"})]})]}),(0,a.jsxs)("div",{className:"bayport-contact__form-group",children:[(0,a.jsx)("label",{htmlFor:"phone",className:"bayport-contact__label",children:"Phone Number"}),(0,a.jsx)("input",{type:"tel",id:"phone",name:"phone",value:g.phone,onChange:F,className:"bayport-contact__input",placeholder:"(555) 123-4567",required:!0,"data-testid":"bayport-contact-form-phone"})]}),(0,a.jsxs)("div",{className:"bayport-contact__form-group",children:[(0,a.jsx)("label",{htmlFor:"interest",className:"bayport-contact__label",children:"I'm Interested In"}),(0,a.jsxs)("select",{id:"interest",name:"interest",value:g.interest,onChange:F,className:"bayport-contact__select","data-testid":"bayport-contact-form-interest",children:[(0,a.jsx)("option",{value:"",children:"Select an option"}),(0,a.jsx)("option",{value:"Buying a Yacht",children:"Buying a Yacht"}),(0,a.jsx)("option",{value:"Selling My Yacht",children:"Selling My Yacht"}),(0,a.jsx)("option",{value:"General Information",children:"General Information"}),(0,a.jsx)("option",{value:"Other",children:"Other"})]})]}),(0,a.jsxs)("div",{className:"bayport-contact__form-group",children:[(0,a.jsx)("label",{htmlFor:"message",className:"bayport-contact__label",children:"Message"}),(0,a.jsx)("textarea",{id:"message",name:"message",value:g.message,onChange:F,className:"bayport-contact__textarea",rows:4,placeholder:"Tell us about your yacht needs...",required:!0,"data-testid":"bayport-contact-form-message"})]}),j.type&&(0,a.jsx)("div",{className:`bayport-contact__status bayport-contact__status--${j.type}`,"data-testid":"bayport-contact-form-status",children:j.message}),(0,a.jsxs)("button",{type:"submit",className:"bayport-contact__submit",disabled:_,"data-testid":"bayport-contact-form-submit",children:[(0,a.jsx)(l.Send,{className:"bayport-contact__submit-icon"}),_?"Sending...":"Send Message"]})]})})})]})]})})}e.s(["default",()=>m])},76200,e=>{"use strict";var a=e.i(96534),t=e.i(3975),r=e.i(70634),s=e.i(3536),i=e.i(72082),o=e.i(23341);function l({isEditable:e=!1,content:l={},onUpdate:n,onUploadImage:c}){let d=l.location||"Kent Island, MD & Fort Lauderdale, FL",p=l.title||"Bayport Yachts",u=l.tagline||"Courtesy · Integrity · Experience",h=l.ctaText||"Browse Collection",m=l.backgroundImage??"",b=l.backgroundVideo??"https://api.yachtone.io/storage/v1/object/public/public-assets/bayport.mp4",y=(e,a)=>{n&&n({...l,[e]:a})},g=async e=>
11{n&&((0,o.isVideoUrl)(e)?n({...l,backgroundVideo:e,backgroundImage:""}):n({...l,backgroundImage:e,backgroundVideo:""}))},f=b||(0,o.isVideoUrl)(m);return(0,a.jsxs)("section",{className:"bayport-hero",children:[(0,a.jsxs)("div",{className:"bayport-hero__background",children:[(0,a.jsx)(i.EditableMedia,{src:b||m,className:f?"bayport-hero__background-video":"bayport-hero__background-image",isEditable:e,onUpload:c,onChange:g,renderAs:"background",alt:"",priority:!0,accept:"image/*,video/*",testId:"bayport-hero-video"}),(0,a.jsx)("div",{className:"bayport-hero__background-overlay"})]}),(0,a.jsxs)("div",{className:"bayport-hero__content",children:[(0,a.jsxs)("div",{className:"bayport-hero__content-inner",children:[(0,a.jsx)(s.EditableText,{value:d,onChange:e=>y("location",e),isEditable:e,as:"span",className:"bayport-hero__location","data-testid":"bayport-hero-location"}),(0,a.jsx)(s.EditableText,{value:p,onChange:e=>y("title",e),isEditable:e,as:"h1",className:"bayport-hero__title","data-testid":"bayport-hero-title"}),(0,a.jsx)(s.EditableText,{value:u,onChange:e=>y("tagline",e),isEditable:e,as:"p",className:"bayport-hero__tagline","data-testid":"bayport-hero-tagline"}),e?(0,a.jsxs)("span",{className:"bayport-hero__button",style:{cursor:"default",opacity:.7},children:[(0,a.jsx)(s.EditableText,{value:h,onChange:e=>y("ctaText",e),isEditable:e,as:"span","data-testid":"bayport-hero-cta"}),(0,a.jsx)("span",{className:"bayport-hero__button-arrow",children:"→"})]}):(0,a.jsxs)(t.default,{href:"#featured",className:"bayport-hero__button",children:[(0,a.jsx)("span",{"data-testid":"bayport-hero-cta",children:h}),(0,a.jsx)("span",{className:"bayport-hero__button-arrow",children:"→"})]})]}),(0,a.jsx)("button",{onClick:()=>{let e=document.getElementById("featured");e&&e.scrollIntoView({behavior:"smooth"})},className:"bayport-hero__scroll","aria-label":"Scroll to featured boats",children:(0,a.jsx)(r.ChevronDown,{className:"bayport-hero__scroll-icon"})})]})]})}e.s(["default",()=>l])},71687,e=>{"use strict";var a=e.i(96534),t=e.i(3975),r=e.i(76419),s=e.i(9200),i=e.i(26982),o=e.i(3536),l=e.i(51156),n=e.i(496);function c({boats:e,isEditable:c=!1,content:d={},onUpdate:p}){let u=d.badge||"BROKERAGE BOATS",h=d.title||"Featured",m=d.titleAccent||"Listings",b=d.description||"Explore our selection of quality trawlers, motor yachts, and cruising power boats. Each vessel is carefully curated to meet the highest standards of excellence.",y=d.ctaText||"View All Brokerage Boats",g=(e,a)=>{p&&p({...d,[e]:a})};return(0,a.jsx)("section",{id:"featured",className:"bayport-featured",children:(0,a.jsxs)("div",{className:"bayport-featured__container",children:[(0,a.jsx)(n.default,{children:(0,a.jsxs)("div",{className:"bayport-featured__header",children:[(0,a.jsx)(o.EditableText,{value:u,onChange:e=>g("badge",e),isEditable:c,as:"span",className:"bayport-featured__badge","data-testid":"bayport-featured-badge"}),(0,a.jsxs)("h2",{className:"bayport-featured__title",children:[(0,a.jsx)(o.EditableText,{value:h,onChange:e=>g("title",e),isEditable:c,as:"span","data-testid":"bayport-featured-title"})," ",(0,a.jsx)(o.EditableText,{value:m,onChange:e=>g("titleAccent",e),isEditable:c,as:"span",className:"bayport-featured__title-accent","data-testid":"bayport-featured-title-accent"})]}),(0,a.jsx)(o.EditableText,{value:b,onChange:e=>g("description",e),isEditable:c,as:"p",className:"bayport-featured__description","data-testid":"bayport-featured-description"})]})}),(0,a.jsx)("div",{className:"bayport-featured__grid",children:e.map((e,o)=>{let c=(0,l.getBoatsGroupImageUrl)(e.primary_image||"https://api.yachtone.io/storage/v1/object/public/public-assets/boat-placeholder.jpg","md"),d=`${e.year} ${e.mfr} ${e.model}`,p=[e.city,e.province,e.country].filter(Boolean).join(", ");return(0,a.jsx)(n.default,{delay:100*o,children:(0,a.jsx)(t.default,{href:`/boat-details/${(0,i.generateBoatSlug)(e,"database")}`,className:"bayport-featured__card-link",children:(0,a.jsxs)("div",{className:"bayport-featured__card",children:[(0,a.jsxs)("div",{className:"bayport-featured__card-image-wrapper",children:[(0,a.jsx)("div",{className:"bayport-featured__card-image",style:{backgroundImage:`url('${c}')`}}),(0,a.jsx)("div",{className:"bayport-featured__card-overlay"}),e.condition&&(0,a.jsx)("span",{className:"bayport-featured__card-type",children:e.condition}),(0,a.jsx)("div",{className:"bayport-featured__card-price",children:"CAD"===e.primary_currency&&e.price_cad?`$${e.price_cad.toLocaleStr
11ing()} CAD`:"USD"===e.primary_currency&&e.price_usd?`$${e.price_usd.toLocaleString()} USD`:e.price_usd?`$${e.price_usd.toLocaleString()}`:"Call for Price"})]}),(0,a.jsxs)("div",{className:"bayport-featured__card-content",children:[(0,a.jsx)("h3",{className:"bayport-featured__card-title",children:d}),p&&(0,a.jsxs)("div",{className:"bayport-featured__card-location",children:[(0,a.jsx)(r.MapPin,{className:"bayport-featured__card-location-icon"}),(0,a.jsx)("span",{children:p})]}),(0,a.jsxs)("div",{className:"bayport-featured__card-button",children:["View Details",(0,a.jsx)(s.ArrowRight,{className:"bayport-featured__card-button-icon"})]})]})]})})},e.id)})}),(0,a.jsx)(n.default,{delay:400,children:(0,a.jsx)("div",{className:"bayport-featured__cta",children:c?(0,a.jsxs)("span",{className:"bayport-featured__cta-button",children:[(0,a.jsx)(o.EditableText,{value:y,onChange:e=>g("ctaText",e),isEditable:c,as:"span","data-testid":"bayport-featured-cta"}),(0,a.jsx)(s.ArrowRight,{className:"bayport-featured__cta-icon"})]}):(0,a.jsxs)(t.default,{href:"/featured-boats",className:"bayport-featured__cta-button",children:[(0,a.jsx)("span",{"data-testid":"bayport-featured-cta",children:y}),(0,a.jsx)(s.ArrowRight,{className:"bayport-featured__cta-icon"})]})})})]})})}e.s(["default",()=>c])},6913,e=>{"use strict";var a=e.i(96534);let t=(0,e.i(29032).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);var r=e.i(43216),s=e.i(21711),i=e.i(76419),o=e.i(60987),l=e.i(3536),n=e.i(496);let c=[{icon:t,title:"Courtesy",description:"We treat every client with the utmost respect and professionalism, ensuring a smooth and pleasant experience."},{icon:r.Award,title:"Integrity",description:"Honest dealings and transparent processes are the foundation of our business. Your trust is our priority."},{icon:s.Users,title:"Experience",description:"With over 35 years in the industry, our team brings unmatched expertise to every transaction."},{icon:i.MapPin,title:"Two Locations",description:"Licensed in both Maryland and Florida, we serve clients on the Chesapeake Bay and beyond."}],d=["Hatteras","Tiara","Grand Banks","Viking","Chris Craft","Albin","Monk","Ocean Yachts","Gulfstar","Trumpy","Broward","Burger","Matthews"];function p({isEditable:e=!1,content:p={},onUpdate:u}){let h=p.badge||"WHY CHOOSE BAYPORT",m=p.title||"Setting the Standard in",b=p.titleAccent||"Yacht Brokerage",y=p.description||"Located on the waters of Kent Narrows at Kent Island, Maryland — just a few miles from the Chesapeake Bay Bridge — and in Fort Lauderdale, Florida. BAYPORT represents the sale of yachts nationwide.",g=p.features||c,f=p.specialtiesTitle||"Our Specialties",_=p.specialtiesSubtitle||"We specialize in trawlers, yachts, and cruising power boats including:",x=p.specialties||d,j=p.specialtiesNote||'We excel in the sale of "one of a kind" Antique, Classic, and Custom Yachts.',v=(e,a)=>{u&&u({...p,[e]:a})},N=(e,a,t)=>{let r=[...g];r[e]={...r[e],[a]:t},v("features",r)};return(0,a.jsx)("section",{className:"bayport-why",children:(0,a.jsx)("div",{className:"bayport-why__container",children:(0,a.jsxs)("div",{className:"bayport-why__grid",children:[(0,a.jsx)(n.default,{direction:"right",children:(0,a.jsxs)("div",{className:"bayport-why__content",children:[(0,a.jsx)(l.EditableText,{value:h,onChange:e=>v("badge",e),isEditable:e,as:"span",className:"bayport-why__badge","data-testid":"bayport-why-badge"}),(0,a.jsxs)("h2",{className:"bayport-why__title",children:[(0,a.jsx)(l.EditableText,{value:m,onChange:e=>v("title",e),isEditable:e,as:"span","data-testid":"bayport-why-title"})," ",(0,a.jsx)(l.EditableText,{value:b,onChange:e=>v("titleAccent",e),isEditable:e,as:"span",className:"bayport-why__title-accent","data-testid":"bayport-why-title-accent"})]}),(0,a.jsx)(l.EditableText,{value:y,onChange:e=>v("description",e),isEditable:e,as:"p",className:"bayport-why__description","data-testid":"bayport-why-description"}),(0,a.jsx)("div",{className:"bayport-why__features",children:g.map((o,n)=>{let c=[t,r.Award,s.Users,i.MapPin][n]||t;return(0,a.jsxs)("div",{className:"bayport-why__feature",children:[(0,a.jsx)("div",{className:"bayport-why__feature-icon",children:(0,a.jsx)(c,{})}),(0,a.jsxs)("div",{className:"bayport-why__feature-content",children:[(0,a.jsx)(l.EditableText,{value:o.title,onChange:e=>N(n,"title",e),isEditable:e,as:"h3",className:"bayport-why__feature-title","data-testid":`bayport-why-feature-title-${n}`}),(0,a.jsx)(l.EditableText,{value:o.description,onChange:e=>N(n,"description",e),isEditable:e,as:"p",className:"bayport-why__feature-description","data-testid":`bayport-why-feature-desc-${n}`})]})]},n)})})]})}),(0,a.jsx)(n.default,{direction:"left",delay:200,children:(0,a.jsx)("div",{className:"bayport-why__specialties",children:(0,a.jsxs)("div",{className:"bayport-why__specialties-card",children:[(0,a.jsx)(l.EditableText,{value:f,onChange:e=>v("specialtiesTitle",e),isEditable:e,as:"h3",className:"bayport-why__specialties-title","data-testid":"bayport-why-specialties-title"}
11),(0,a.jsx)(l.EditableText,{value:_,onChange:e=>v("specialtiesSubtitle",e),isEditable:e,as:"p",className:"bayport-why__specialties-subtitle","data-testid":"bayport-why-specialties-subtitle"}),(0,a.jsx)("div",{className:"bayport-why__specialties-list",children:x.map((e,t)=>(0,a.jsxs)("div",{className:"bayport-why__specialty-item",children:[(0,a.jsx)(o.CheckCircle,{className:"bayport-why__specialty-icon"}),(0,a.jsx)("span",{children:e})]},t))}),(0,a.jsx)(l.EditableText,{value:j,onChange:e=>v("specialtiesNote",e),isEditable:e,as:"p",className:"bayport-why__specialties-note","data-testid":"bayport-why-specialties-note"})]})})})]})})})}e.s(["default",()=>p],6913)}]);

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.