PageSourceSearch

https://www.thepointwaterfront.co.za/assets/stay-F6PlJTyD.js

js thepointwaterfront.co.za collected 2026-10-07 16:23:05 UTC 8,104 bytes, 1 lines download raw bytes

1import{a as e,n as t}from"./track-n3l-YoRQ.js";import{u as n}from"./StickyBookingBar-CKQ6P2aJ.js";import{t as r}from"./jsx-runtime-By8HlURe.js";import{a as i,l as a,u as o}from"./site-Crp53nm2.js";import{f as s,l as c,s as l,u}from"./index-u7e2quaA.js";import{c as d,d as f,i as p,n as m,r as h,t as g,w as _}from"./layout-Cusg7bfE.js";import{t as v}from"./check-CyfgH4jE.js";import{t as y}from"./waves-DkDFnwdR.js";var b=n(`bath`,[[`path`,{d:`M10 4 8 6`,key:`1rru8s`}],[`path`,{d:`M17 19v2`,key:`ts1sot`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M7 19v2`,key:`12npes`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`,key:`14ym8i`}]]),x=n(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),S=r();function C({stay:e,index:n}){let r=n%2==1,i=e.gallery.slice(0,12);return(0,S.jsx)(`article`,{id:e.id,className:`scroll-mt-28 border-b border-border last:border-0`,children:(0,S.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-14 sm:px-6 sm:py-16 lg:px-8 lg:py-20`,children:[(0,S.jsxs)(`div`,{className:`mb-8 max-w-3xl`,children:[(0,S.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,S.jsxs)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-ocean-soft`,children:[e.view,` view · `,e.ideal]}),e.rating!=null&&(0,S.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs font-medium text-ink`,children:[(0,S.jsx)(x,{className:`size-3.5 fill-coral text-coral`}),e.rating.toFixed(2),e.reviews!=null&&(0,S.jsxs)(`span`,{className:`text-muted font-normal`,children:[`· `,e.reviews,` reviews`]})]})]}),(0,S.jsx)(`h2`,{className:`mt-2 font-display text-3xl sm:text-4xl text-ink leading-tight`,children:e.title})]}),(0,S.jsxs)(`div`,{className:`grid gap-8 lg:gap-12 lg:items-start ${r?`lg:grid-cols-[1fr_1.15fr]`:`lg:grid-cols-[1.15fr_1fr]`}`,children:[(0,S.jsxs)(`div`,{className:r?`lg:order-2`:void 0,children:[(0,S.jsx)(`div`,{className:`img-frame aspect-[16/11] shadow-lift`,children:(0,S.jsx)(`img`,{src:e.image,alt:e.title,className:`img-cover`,loading:n===0?`eager`:`lazy`})}),i.length>1&&(0,S.jsx)(`div`,{className:`mt-3 grid grid-cols-4 gap-2 sm:gap-3`,children:i.slice(1,5).map(e=>(0,S.jsx)(`div`,{className:`img-frame aspect-square`,children:(0,S.jsx)(`img`,{src:e,alt:``,className:`img-cover`,loading:`lazy`})},e))})]}),(0,S.jsxs)(`div`,{className:r?`lg:order-1`:void 0,children:[(0,S.jsx)(`p`,{className:`text-base text-muted font-light leading-relaxed`,children:e.description}),(0,S.jsx)(`p`,{className:`mt-4 text-sm text-muted font-light leading-relaxed`,children:e.space}),(0,S.jsx)(`dl`,{className:`mt-8 grid grid-cols-2 gap-4 sm:grid-cols-4`,children:[{icon:_,label:`Bedrooms`,value:String(e.bedrooms)},{icon:b,label:`Bathrooms`,value:e.bathrooms},{icon:f,label:`Guests`,value:String(e.maxGuests)},{icon:y,label:`View`,value:e.view}].map(e=>(0,S.jsxs)(`div`,{className:`rounded-lg border border-border bg-surface px-3 py-3`,children:[(0,S.jsxs)(`dt`,{className:`flex items-center gap-1.5 text-[0.65rem] font-semibold uppercase tracking-[0.14em] text-muted`,children:[(0,S.jsx)(e.icon,{className:`size-3.5 text-ocean-soft`}),e.label]}),(0,S.jsx)(`dd`,{className:`mt-1 font-display text-xl text-ink`,children:e.value})]},e.label))}),(0,S.jsxs)(`p`,{className:`mt-4 text-sm text-muted`,children:[(0,S.jsx)(`span`,{className:`font-medium text-ink`,children:`Beds: `}),e.bedsDetail,(0,S.jsxs)(`span`,{className:`text-muted-soft`,children:[` · `,e.beds,` beds total`]})]}),(0,S.jsx)(`ul`,{className:`mt-6 grid gap-2 sm:grid-cols-2`,children:e.highlights.slice(0,8).map(e=>(0,S.jsxs)(`li`,{className:`flex gap-2 text-sm text-ink-soft font-light leading-snug`,children:[(0,S.jsx)(v,{className:`size-4 mt-0.5 text-ocean-soft shrink-0`}),e]},e))}),(0,S.jsx)(`div`,{className:`mt-8`,children:(0,S.jsx)(d,{asChild:!0,variant:`coral`,size:`lg`,children:(0,S.jsx)(`a`,{href:a.bookingUrl,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>t(`stay_intro`),children:`Book Now`})})})]})]}),(0,S.jsxs)(`div`,{className:`mt-10 grid gap-8 lg:grid-cols-[1fr_1.4fr] lg:gap-12`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h3`,{className:`font-sans text-xs font-semibold uppercase tracking-[0.16em] text-ocean-soft`,children:`In this apartment`}),(0,S.jsx)(`ul`,{className:`mt-4 columns-1 sm:columns-2 gap-x-8`,children:e.amenities.map(e=>(0,S.jsx)(`li`,{className:`mb-2 break-inside-avoid text-sm text-muted font-light`,children:e},e))})]}),i.length>5&&(0,S.jsx)(`div`,{className:`grid grid-cols-3 sm:grid-cols-4 gap-2 sm:gap-3`,children:i.slice(5,12).map(e=>(0,S.jsx)(`div`,{className:`img-frame aspect-[4/3]`,children:(0,S.jsx)(`img`,{src:e,alt:``,className:`img-cover`,loading:`lazy`})},e))})]})]})})}function w(){return(0,S.jsxs)(p,{children:[(0,S.jsx)(s,{data:c([{name:`Home`,path:`/`},{name:`Stay`,path:`/stay`}])}),(0,S.jsx)(s,{data:u(l)}),(0,S.jsx)(g,{eyebrow:`Stay`,title:`Apartments at Point Waterfront`,subtitle:`Serviced self-catering homes with ocean, harbour, seaview or canal outlooks — choose your type, then book direct for your dates.`,image:i.stayCanal1}),(0,S.jsx)(m,{className:`bg-bg py-12 sm:py-14`,children:(0,S.jsxs)(`div`,{className:`grid gap-10 lg:grid-cols-[1fr_1fr] lg:gap-16 items-center`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(h,{eyebrow:`How it works`,title:`More home than hotel`,description:`Real apartments: a kitchen you can use, space to unpack, and Point Waterfront outside your door. Scroll for photos, beds, and what’s included — then book direct.`}),(0,S.jsxs)(`p`,{className:`text-sm text-muted font-light leading-relaxed max-w-md`,children:[`Looking for our fully renovated showpieces? See the`,` `,(0,S.jsx)(e,{to:`/premium`,className:`text-ocean font-medium underline-offset-2 hover:underline`,children:`Premium Collection`}),`.`]})]}),(0,S.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:o.map(e=>(0,S.jsx)(`a`,{href:`#${e.id}`,className:`rounded-full border border-border bg-surface px-4 py-2 text-xs font-medium tracking-wide text-ink hover:border-ocean-soft hover:text-ocean transition-colors`,children:e.shortTitle},e.id))})]})}),(0,S.jsx)(`div`,{className:`bg-surface`,children:o.map((e,t)=>(0,S.jsx)(C,{stay:e,index:t},e.id))}),(0,S.jsxs)(m,{className:`bg-bg`,children:[(0,S.jsx)(h,{eyebrow:`Good to know`,title:`Stay questions, answered`,description:`The facts ChatGPT and Google look for — parking, pool, check-in, Maha, and how to book.`}),(0,S.jsx)(`dl`,{className:`mt-10 grid gap-6 sm:grid-cols-2`,children:l.map(e=>(0,S.jsxs)(`div`,{className:`rounded-2xl border border-border bg-surface p-5 shadow-soft`,children:[(0,S.jsx)(`dt`,{className:`font-display text-lg text-ink`,children:e.q}),(0,S.jsx)(`dd`,{className:`mt-2 text-sm font-light leading-relaxed text-muted`,children:e.a})]},e.q))})]}),(0,S.jsx)(`section`,{className:`bg-ocean text-primary-foreground`,children:(0,S.jsxs)(`div`,{className:`mx-auto max-w-3xl px-4 py-16 text-center sm:px-6 sm:py-20`,children:[(0,S.jsx)(`h2`,{className:`font-display text-3xl sm:text-4xl`,children:`Ready to choose dates?`}),(0,S.jsx)(`p`,{className:`mx-auto mt-4 max-w-md text-sm font-light text-white/75 leading-relaxed`,children:`Check live availability and book direct. Prefer a conversation first? WhatsApp us and we’ll help you choose the right apartment.`}),(0,S.jsxs)(`div`,{className:`mt-8 flex flex-wrap justify-center gap-3`,children:[(0,S.jsx)(d,{asChild:!0,variant:`coral`,size:`xl`,children:(0,S.jsx)(`a`,{href:a.bookingUrl,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>t(`stay_footer`),children:`Book Now`})}),(0,S.jsx)(d,{asChild:!0,variant:`lightOutline`,size:`xl`,children:(0,S.jsx)(`a`,{href:a.whatsapp,target:`_blank`,rel:`noopener noreferrer`,children:`WhatsApp us`})})]})]})})]})}export{w as component};

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.