@forgebuild/hotal-ui 0.23.204 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -1
- package/dist/components/ai-chat-widget.js +4 -4
- package/dist/components/availability-calendar.js +2 -2
- package/dist/components/booking-card.js +2 -2
- package/dist/components/booking-checkout.js +2 -2
- package/dist/components/booking-confirmed.js +1 -1
- package/dist/components/booking-flow.js +2 -2
- package/dist/components/booking-progress-bar.js +1 -1
- package/dist/components/booking-summary.js +2 -2
- package/dist/components/chunks/client-DNa0V682.js +3 -0
- package/dist/components/confirmation-card.js +2 -2
- package/dist/components/dining-teaser.js +2 -2
- package/dist/components/event-contact-form.js +2 -2
- package/dist/components/event-inquiries-feed.js +2 -2
- package/dist/components/extras-catalogue.js +2 -2
- package/dist/components/floor-plan-hero.js +2 -2
- package/dist/components/google-reviews.js +2 -2
- package/dist/components/instagram-feed.js +2 -2
- package/dist/components/island-map.js +1 -1
- package/dist/components/live-dining-orders-feed.js +2 -2
- package/dist/components/live-golf-bookings-feed.js +2 -2
- package/dist/components/live-reservations-feed.js +2 -2
- package/dist/components/live-room-bookings-feed.js +2 -2
- package/dist/components/live-shop-orders-feed.js +2 -2
- package/dist/components/live-spa-bookings-feed.js +2 -2
- package/dist/components/menu-section.js +13 -7
- package/dist/components/proshop-catalogue.js +2 -2
- package/dist/components/reservation-bar.js +2 -2
- package/dist/components/reservation-cancel.js +2 -2
- package/dist/components/restaurant-order-form.js +2 -2
- package/dist/components/room-grid.js +2 -2
- package/dist/components/searchable-select.js +2 -2
- package/dist/components/service-booking-bar.js +2 -2
- package/dist/components/spa-booking-widget.js +207 -207
- package/dist/components/stay-search.js +2 -2
- package/dist/components/tripadvisor-reviews.js +2 -2
- package/dist/components/venue-carousel.js +2 -2
- package/dist/hotal-ui.js +7440 -7215
- package/dist/index.d.ts +53 -2
- package/dist/server/index.d.ts +11 -0
- package/dist/server/index.js +34 -0
- package/dist/server/menu-section.js +944 -0
- package/dist/server/menu-section.meta.js +2 -0
- package/package.json +8 -2
- package/dist/components/chunks/client-BDk8LqGN.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{B as e,C as t,D as n,E as r,G as i,H as a,K as o,L as s,M as c,O as l,P as u,Q as d,R as f,T as p,U as m,V as ee,W as h,Y as g,Z as _,b as te,et as v,f as y,h as ne,j as b,n as x,q as S,r as C,s as re,t as w,tt as T}from"./chunks/client-DNa0V682.js";import{i as ie,o as ae,r as oe,s as se,t as ce}from"./chunks/calendar-B8eNjUm2.js";var le=l(`<span class="svelte-jl7rag"> </span>`),ue=l(`<button type="button"> </button>`),de=l(`<span class="bc-day bc-day-empty svelte-jl7rag"></span>`),fe=l(`<div class="bc-cal svelte-jl7rag" role="dialog" aria-label="Choose check-in and check-out dates"><div class="bc-cal-head svelte-jl7rag"><button type="button" class="bc-cal-nav svelte-jl7rag" aria-label="Previous month">‹</button> <span class="bc-cal-month svelte-jl7rag"> </span> <button type="button" class="bc-cal-nav svelte-jl7rag" aria-label="Next month">›</button></div> <div class="bc-cal-weekdays svelte-jl7rag"></div> <div class="bc-cal-grid svelte-jl7rag"></div></div>`),pe=l(`<div class="bc-breakdown svelte-jl7rag"><div class="bc-row svelte-jl7rag"><span class="bc-row-label svelte-jl7rag"> </span> <span class="bc-row-val svelte-jl7rag"> </span></div> <div class="bc-row svelte-jl7rag"><span class="bc-row-label bc-row-muted svelte-jl7rag">Resort fee</span> <span class="bc-row-val svelte-jl7rag"> </span></div> <div class="bc-rule svelte-jl7rag"></div> <div class="bc-row svelte-jl7rag"><span class="bc-total-label svelte-jl7rag">Total</span> <span class="bc-total-val svelte-jl7rag"> </span></div></div>`),me=l(`<div class="bc-root svelte-jl7rag"><div class="bc-header svelte-jl7rag"><div class="bc-from svelte-jl7rag">From</div> <div class="bc-price svelte-jl7rag"> <span class="bc-price-cur svelte-jl7rag"> </span> <span class="bc-price-per svelte-jl7rag">/ night</span></div> <div class="bc-rating svelte-jl7rag"><span class="bc-stars svelte-jl7rag">★★★★★</span> <span class="bc-rating-text svelte-jl7rag"> </span></div></div> <div class="bc-body svelte-jl7rag"><div class="bc-dates svelte-jl7rag"><button type="button" class="bc-date-field svelte-jl7rag"><div class="bc-label svelte-jl7rag">Check in</div> <div> </div></button> <button type="button" class="bc-date-field bc-date-field-last svelte-jl7rag"><div class="bc-label svelte-jl7rag">Check out</div> <div> </div></button></div> <!> <div class="bc-guests svelte-jl7rag"><div class="svelte-jl7rag"><div class="bc-label svelte-jl7rag">Guests</div> <div class="bc-value bc-value-set svelte-jl7rag"> </div></div> <div class="bc-stepper svelte-jl7rag"><button type="button" class="bc-guest-btn svelte-jl7rag">−</button> <span class="bc-count svelte-jl7rag"> </span> <button type="button" class="bc-guest-btn svelte-jl7rag">+</button></div></div> <!> <button type="button" class="bc-reserve svelte-jl7rag"><span class="bc-reserve-inner svelte-jl7rag">Reserve <svg width="14" height="14" viewBox="0 0 22 22" fill="none" class="svelte-jl7rag"><line x1="2" y1="11" x2="18" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-jl7rag"></line><polyline points="12,5 19,11 12,17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none" class="svelte-jl7rag"></polyline></svg></span></button> <p class="bc-fine svelte-jl7rag"> </p></div> <div class="bc-concierge svelte-jl7rag"><div class="bc-concierge-icon svelte-jl7rag"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="rgba(26,26,24,0.55)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-jl7rag"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" class="svelte-jl7rag"></path><path d="M13.73 21a2 2 0 0 1-3.46 0" class="svelte-jl7rag"></path></svg></div> <div class="svelte-jl7rag"><div class="bc-concierge-title svelte-jl7rag"> </div> <div class="bc-concierge-sub svelte-jl7rag"> </div></div> <a class="bc-concierge-cta svelte-jl7rag"> </a></div></div>`),he={hash:`svelte-jl7rag`,code:`:host {display:block;}.bc-root.svelte-jl7rag {position:relative;width:100%;overflow:visible;border:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.08));background:var(--bcd-bg, rgba(255, 255, 255, 0.6));box-shadow:0 8px 40px rgba(26, 26, 24, 0.1),
|
|
2
2
|
0 2px 8px rgba(26, 26, 24, 0.06);font-family:'Inter', sans-serif;}.bc-header.svelte-jl7rag {border-bottom:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.07));padding:28px 28px 24px;}.bc-from.svelte-jl7rag {margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.4));}.bc-price.svelte-jl7rag {font-size:30px;line-height:1;font-weight:800;letter-spacing:-1px;color:var(--bcd-text-color, rgba(30, 20, 10, 0.9));}.bc-price-cur.svelte-jl7rag {font-size:13px;font-weight:600;letter-spacing:1px;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.4));}.bc-price-per.svelte-jl7rag {font-size:15px;font-weight:400;letter-spacing:normal;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.4));}.bc-rating.svelte-jl7rag {margin-top:10px;display:flex;align-items:center;gap:0.5rem;}.bc-stars.svelte-jl7rag {font-size:13px;letter-spacing:1px;color:#c9a84c;}.bc-rating-text.svelte-jl7rag {font-size:13px;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.45));}.bc-body.svelte-jl7rag {position:relative;padding:24px;}.bc-dates.svelte-jl7rag {margin-bottom:0.75rem;display:flex;overflow:hidden;border:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.1));}.bc-date-field.svelte-jl7rag {flex:1;cursor:pointer;border:none;background:transparent;padding:14px 18px;text-align:left;font-family:inherit;transition:background-color 200ms;}.bc-date-field.svelte-jl7rag:hover {background:rgba(26, 26, 24, 0.03);}.bc-date-field-last.svelte-jl7rag {border-left:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.07));}.bc-label.svelte-jl7rag {margin-bottom:0.25rem;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.35));}.bc-value.svelte-jl7rag {font-size:14px;font-weight:500;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.45));}.bc-value-set.svelte-jl7rag {color:var(--bcd-muted-text-strong, rgba(30, 20, 10, 0.85));}.bc-pop {
|
|
3
3
|
animation: svelte-jl7rag-bc-pop 0.28s ease;}
|
|
4
4
|
@keyframes svelte-jl7rag-bc-pop {
|
|
@@ -27,4 +27,4 @@ import{$ as e,A as t,B as n,D as r,E as i,G as a,H as o,I as s,J as c,K as l,L a
|
|
|
27
27
|
/* ── Reserve ── */.bc-reserve.svelte-jl7rag {position:relative;margin-bottom:0.75rem;display:flex;height:56px;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:10px;overflow:hidden;border:1px solid var(--bcd-accent-bg, #1a1a18);background:var(--bcd-accent-bg, #1a1a18);font-family:inherit;font-size:16px;font-weight:600;color:var(--bcd-accent-text, #f5f2ec);}.bc-reserve.svelte-jl7rag::before {content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgb(0, 200, 180) 0%, rgb(0, 170, 155) 100%);transform:scaleX(0);transform-origin:left;transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);}.bc-reserve.svelte-jl7rag:hover::before {transform:scaleX(1);}.bc-reserve-inner.svelte-jl7rag {position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;}.bc-fine.svelte-jl7rag {margin:0;text-align:center;font-size:12px;line-height:1.5;color:var(--bcd-muted-text-strong, rgba(30, 20, 10, 0.65));}
|
|
28
28
|
|
|
29
29
|
/* ── Concierge ── */.bc-concierge.svelte-jl7rag {display:flex;align-items:center;gap:14px;border-top:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.07));padding:1.25rem 28px;}.bc-concierge-icon.svelte-jl7rag {display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:rgba(26, 26, 24, 0.05);}.bc-concierge-title.svelte-jl7rag {margin-bottom:2px;font-size:13px;font-weight:600;color:var(--bcd-text-color, #1a1a18);}.bc-concierge-sub.svelte-jl7rag {font-size:12px;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.4));}.bc-concierge-cta.svelte-jl7rag {margin-left:auto;cursor:pointer;border:1px solid var(--bcd-border-color, rgba(0, 0, 0, 0.12));background:transparent;padding:0.5rem 1rem;font-size:12px;font-weight:500;white-space:nowrap;color:var(--bcd-muted-text, rgba(30, 20, 10, 0.5));text-decoration:none;transition:border-color 200ms,
|
|
30
|
-
color 200ms;}.bc-concierge-cta.svelte-jl7rag:hover {border-color:var(--bcd-text-color, rgba(0, 0, 0, 0.25));color:var(--bcd-text-color, #1a1a18);}`};function
|
|
30
|
+
color 200ms;}.bc-concierge-cta.svelte-jl7rag:hover {border-color:var(--bcd-text-color, rgba(0, 0, 0, 0.25));color:var(--bcd-text-color, #1a1a18);}`};function E(l,b){d(b,!0),ne(l,he);let w=x(b,`price`,7,0),E=x(b,`maxGuests`,7,4),D=x(b,`currency`,7,`USD`),O=x(b,`resortFeeRate`,7,.03),k=x(b,`ratingText`,7,`Exceptional · 48 reviews`),A=x(b,`finePrint`,7,`No charge until confirmation. Free cancellation up to 14 days prior.`),j=x(b,`conciergeTitle`,7,`Island Concierge`),M=x(b,`conciergeSub`,7,`Available 24/7 for your stay`),N=x(b,`conciergeCtaLabel`,7,`Chat with us`),P=x(b,`conciergeCtaHref`,7,`/contact`),F=x(b,`checkIn`,7,``),I=x(b,`checkOut`,7,``),L=x(b,`guests`,7,2),R=x(b,`horizonMonths`,7,12),z=x(b,`fetchAvailability`,7,void 0);function ge(e,t){b.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let B=e=>e.toLocaleString(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:0,style:`currency`,currency:D(),currencyDisplay:`code`}),_e=e=>e.toLocaleString(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:0}),ve=e=>e?new Date(`${e}T00:00:00`).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):``,V=g(()=>F()&&I()?Math.round((new Date(I()).getTime()-new Date(F()).getTime())/864e5):0),ye=g(()=>w()*u(V)),be=g(()=>Math.round(u(ye)*O())),xe=g(()=>u(ye)+u(be)),Se=i(void 0),Ce=i(void 0);function we(e,t){L(Math.max(1,Math.min(E(),e)));for(let e of[u(Se),u(Ce)])e?.classList.remove(`bc-pop`),e?.offsetWidth,e?.classList.add(`bc-pop`);(t?.currentTarget)?.animate([{transform:`scale(1)`,offset:0},{transform:`scale(0.85)`,offset:.15},{transform:`scale(1.08)`,offset:.55},{transform:`scale(1)`,offset:1}],{duration:450,easing:`ease`}),ge(`guests-change`,{guests:L()})}let H=i(!1),U=ae(new Date),W=i(m(U.getFullYear())),G=i(m(U.getMonth())),Te=oe(),Ee=ie(),K=i(void 0),q=i(m(new Map)),J=i(!1);async function De(){if(u(J)||!z())return;let e=new Date;e.setDate(1);let t=new Date;t.setMonth(t.getMonth()+R());try{let n=await z()(se(e),se(t)),r=new Map;for(let e of n??[]){let t=String(e.date).split(`T`)[0];parseInt(String(e.available_rooms??`1`),10)===0?r.set(t,-1):r.set(t,Number(e.min_rate??0))}h(q,r,!0)}catch{h(q,new Map,!0),h(J,!0);return}h(J,!0)}let Oe=e=>!u(J)||u(q).size===0||u(q).has(e)&&u(q).get(e)!==-1,ke=g(()=>({y:u(W),m:u(G),cells:ce(u(W),u(G),U,[])}));function Ae(){let e=F()?new Date(`${F()}T00:00:00`):U;h(W,e.getFullYear(),!0),h(G,e.getMonth(),!0),h(H,!0),De()}function je(){u(G)===0?(h(G,11),o(W,-1)):o(G,-1)}function Me(){u(G)===11?(h(G,0),o(W)):o(G)}function Ne(e){!F()||F()&&I()?(F(e),I(``)):e>=F()?(I(e),h(H,!1)):(F(e),I(``)),ge(`dates-change`,{checkIn:F(),checkOut:I()})}f(()=>{if(typeof document>`u`||!u(H))return;let e=e=>{u(K)&&!e.composedPath().includes(u(K))&&h(H,!1)},t=e=>{e.key===`Escape`&&h(H,!1)};return document.addEventListener(`click`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),document.removeEventListener(`keydown`,t)}});let Pe=e=>F()&&I()&&e>F()&&e<I();var Fe={get price(){return w()},set price(e=0){w(e),S()},get maxGuests(){return E()},set maxGuests(e=4){E(e),S()},get currency(){return D()},set currency(e=`USD`){D(e),S()},get resortFeeRate(){return O()},set resortFeeRate(e=.03){O(e),S()},get ratingText(){return k()},set ratingText(e=`Exceptional · 48 reviews`){k(e),S()},get finePrint(){return A()},set finePrint(e=`No charge until confirmation. Free cancellation up to 14 days prior.`){A(e),S()},get conciergeTitle(){return j()},set conciergeTitle(e=`Island Concierge`){j(e),S()},get conciergeSub(){return M()},set conciergeSub(e=`Available 24/7 for your stay`){M(e),S()},get conciergeCtaLabel(){return N()},set conciergeCtaLabel(e=`Chat with us`){N(e),S()},get conciergeCtaHref(){return P()},set conciergeCtaHref(e=`/contact`){P(e),S()},get checkIn(){return F()},set checkIn(e=``){F(e),S()},get checkOut(){return I()},set checkOut(e=``){I(e),S()},get guests(){return L()},set guests(e=2){L(e),S()},get horizonMonths(){return R()},set horizonMonths(e=12){R(e),S()},get fetchAvailability(){return z()},set fetchAvailability(e=void 0){z(e),S()}},Y=me(),Ie=e(Y),Le=a(e(Ie),2),Re=e(Le),ze=a(Re),Be=e(ze,!0);T(ze),v(2),T(Le);var Ve=a(Le,2),He=a(e(Ve),2),Ue=e(He,!0);T(He),T(Ve),T(Ie);var We=a(Ie,2),Ge=e(We),X=e(Ge),Ke=a(e(X),2);let qe;var Je=e(Ke,!0);T(Ke),T(X);var Ye=a(X,2),Xe=a(e(Ye),2);let Ze;var Qe=e(Xe,!0);T(Xe),T(Ye),T(Ge);var $e=a(Ge,2),et=i=>{var o=fe(),l=e(o),d=e(l),f=a(d,2),m=e(f);T(f);var h=a(f,2);T(l);var _=a(l,2);te(_,20,()=>Ee,e=>e,(t,n)=>{var i=le(),a=e(i,!0);T(i),s(()=>p(a,n)),r(t,i)}),T(_);var v=a(_,2);te(v,21,()=>u(ke).cells,e=>e.iso,(i,a)=>{var o=n(),l=ee(o),d=t=>{let n=g(()=>!u(a).isPast&&Oe(u(a).iso));var i=ue();let o;var l=e(i,!0);T(i),s(e=>{o=y(i,1,`bc-day svelte-jl7rag`,null,o,e),i.disabled=!u(n),p(l,u(a).dayNumber)},[()=>({"bc-day-today":u(a).iso===se(U),"bc-day-edge":u(a).iso===F()||u(a).iso===I(),"bc-day-inrange":Pe(u(a).iso)})]),c(`click`,i,()=>Ne(u(a).iso)),r(t,i)},f=e=>{var t=de();r(e,t)};t(l,e=>{u(a).inMonth?e(d):e(f,-1)}),r(i,o)}),T(v),T(o),s(()=>p(m,`${Te[u(ke).m]??``} ${u(ke).y??``}`)),c(`click`,d,je),c(`click`,h,Me),r(i,o)};t($e,e=>{u(H)&&e(et)});var tt=a($e,2),nt=e(tt),rt=a(e(nt),2),it=e(rt);T(rt),C(rt,e=>h(Ce,e),()=>u(Ce)),T(nt);var at=a(nt,2),ot=e(at),Z=a(ot,2),st=e(Z,!0);T(Z),C(Z,e=>h(Se,e),()=>u(Se));var ct=a(Z,2);T(at),T(tt);var lt=a(tt,2),ut=t=>{var n=pe(),i=e(n),o=e(i),c=e(o);T(o);var l=a(o,2),d=e(l,!0);T(l),T(i);var f=a(i,2),m=a(e(f),2),ee=e(m,!0);T(m),T(f);var h=a(f,4),g=a(e(h),2),_=e(g,!0);T(g),T(h),T(n),s((e,t,n,r)=>{p(c,`${e??``} × ${u(V)??``} night${u(V)===1?``:`s`}`),p(d,t),p(ee,n),p(_,r)},[()=>B(w()),()=>B(u(ye)),()=>B(u(be)),()=>B(u(xe))]),r(t,n)};t(lt,e=>{u(V)>=1&&e(ut)});var dt=a(lt,2),ft=a(dt,2),pt=e(ft,!0);T(ft),T(We);var mt=a(We,2),ht=a(e(mt),2),Q=e(ht),gt=e(Q,!0);T(Q);var _t=a(Q,2),vt=e(_t,!0);T(_t),T(ht);var $=a(ht,2),yt=e($,!0);return T($),T(mt),T(Y),C(Y,e=>h(K,e),()=>u(K)),s((e,t,n)=>{p(Re,`${e??``} `),p(Be,D()),p(Ue,k()),qe=y(Ke,1,`bc-value svelte-jl7rag`,null,qe,{"bc-value-set":!!F()}),p(Je,t),Ze=y(Xe,1,`bc-value svelte-jl7rag`,null,Ze,{"bc-value-set":!!I()}),p(Qe,n),p(it,`${L()??``} adult${L()===1?``:`s`}`),p(st,L()),p(pt,A()),p(gt,j()),p(vt,M()),re($,`href`,P()),p(yt,N())},[()=>_e(w()),()=>F()?ve(F()):`Select date`,()=>I()?ve(I()):`Select date`]),c(`click`,X,Ae),c(`click`,Ye,Ae),c(`click`,ot,e=>we(L()-1,e)),c(`click`,ct,e=>we(L()+1,e)),c(`click`,dt,()=>ge(`reserve`,{checkIn:F(),checkOut:I(),guests:L()})),r(l,Y),_(Fe)}b([`click`]),customElements.define(`booking-card`,w(E,{price:{attribute:`price`,type:`Number`},maxGuests:{attribute:`max-guests`,type:`Number`},currency:{attribute:`currency`,type:`String`},resortFeeRate:{attribute:`resort-fee-rate`,type:`Number`},ratingText:{attribute:`rating-text`,type:`String`},finePrint:{attribute:`fine-print`,type:`String`},conciergeTitle:{attribute:`concierge-title`,type:`String`},conciergeSub:{attribute:`concierge-sub`,type:`String`},conciergeCtaLabel:{attribute:`concierge-cta-label`,type:`String`},conciergeCtaHref:{attribute:`concierge-cta-href`,type:`String`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},guests:{attribute:`guests`,type:`Number`},horizonMonths:{attribute:`horizon-months`,type:`Number`},fetchAvailability:{}},[],[],{mode:`open`}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{B as e,C as t,E as n,G as r,H as i,L as a,M as o,O as s,P as c,Q as l,R as u,T as d,U as f,W as p,X as m,Y as h,Z as ee,c as g,f as _,h as te,i as v,j as y,l as b,n as x,o as S,q as C,s as w,t as T,tt as E,w as D}from"./chunks/client-DNa0V682.js";import{t as ne}from"./chunks/preload-helper-Czpn1I53.js";var re=s(`<label class="bc-radio svelte-gz7ouq"><input type="radio" name="booking-for" value="other" class="svelte-gz7ouq"/> <span class="bc-radio-circle svelte-gz7ouq"></span> </label>`),ie=s(`<div class="bc-booking-for svelte-gz7ouq"><label class="bc-radio svelte-gz7ouq"><input type="radio" name="booking-for" value="myself" class="svelte-gz7ouq"/> <span class="bc-radio-circle svelte-gz7ouq"></span> </label> <!></div>`),ae=s(`<div class="bc-section svelte-gz7ouq"><div class="bc-section-heading svelte-gz7ouq"><span class="bc-section-line svelte-gz7ouq"></span><span class="bc-section-text svelte-gz7ouq"> </span></div> <div class="bc-row svelte-gz7ouq"><div class="bc-field svelte-gz7ouq"><label for="bc-booker-first" class="svelte-gz7ouq"> </label> <input id="bc-booker-first" type="text" placeholder="James" autocomplete="given-name" class="svelte-gz7ouq"/></div> <div class="bc-field svelte-gz7ouq"><label for="bc-booker-last" class="svelte-gz7ouq"> </label> <input id="bc-booker-last" type="text" placeholder="Worthington" autocomplete="family-name" class="svelte-gz7ouq"/></div></div> <div class="bc-row svelte-gz7ouq"><div class="bc-field svelte-gz7ouq"><label for="bc-booker-email" class="svelte-gz7ouq"> </label> <input id="bc-booker-email" type="email" placeholder="james@example.com" autocomplete="email" class="svelte-gz7ouq"/></div> <div class="bc-field svelte-gz7ouq"><label for="bc-booker-phone" class="svelte-gz7ouq"> </label> <div class="bc-row bc-phone-row svelte-gz7ouq"><searchable-select></searchable-select> <input id="bc-booker-phone" type="tel" placeholder="555 000 0000" autocomplete="tel-national" class="svelte-gz7ouq"/></div></div></div></div>`,2),O=s(`<div class="bc-section-heading svelte-gz7ouq"><span class="bc-section-line svelte-gz7ouq"></span> <span class="bc-section-text svelte-gz7ouq"> </span></div>`),oe=s(`<div class="bc-field svelte-gz7ouq"><label for="bc-last-name" class="svelte-gz7ouq"> </label> <input id="bc-last-name" type="text" placeholder="Worthington" autocomplete="family-name" required="" class="svelte-gz7ouq"/></div>`),se=s(`<div class="bc-field svelte-gz7ouq"><label for="bc-phone" class="svelte-gz7ouq"> </label> <div class="bc-row bc-phone-row svelte-gz7ouq"><searchable-select></searchable-select> <input id="bc-phone" type="tel" placeholder="555 000 0000" autocomplete="tel-national" class="svelte-gz7ouq"/></div></div>`,2),k=s(`<div class="bc-section-heading svelte-gz7ouq"><span class="bc-section-line svelte-gz7ouq"></span><span class="bc-section-text svelte-gz7ouq"> </span></div>`),A=s(`<p class="bc-error svelte-gz7ouq"> </p>`),ce=s(`<div class="bc-section bc-policy-section svelte-gz7ouq"><div class="bc-section-heading svelte-gz7ouq"><span class="bc-section-line svelte-gz7ouq"></span><span class="bc-section-text svelte-gz7ouq"> </span></div> <div class="bc-policy-tag svelte-gz7ouq"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true" class="svelte-gz7ouq"><polyline points="20 6 9 17 4 12" class="svelte-gz7ouq"></polyline></svg> </div> <p class="bc-policy-text svelte-gz7ouq"> </p> <a class="bc-policy-link svelte-gz7ouq"> </a></div>`),le=s(`<div class="bc-root svelte-gz7ouq"><!> <!> <div class="bc-section svelte-gz7ouq"><!> <div><div class="bc-field svelte-gz7ouq"><label for="bc-first-name" class="svelte-gz7ouq"> </label> <input id="bc-first-name" type="text" placeholder="James" autocomplete="given-name" required="" class="svelte-gz7ouq"/></div> <!></div> <div><div class="bc-field svelte-gz7ouq"><label for="bc-email" class="svelte-gz7ouq"> </label> <input id="bc-email" type="email" placeholder="james@example.com" autocomplete="email" required="" class="svelte-gz7ouq"/></div> <!></div> <div class="bc-row bc-row-single svelte-gz7ouq"><div class="bc-field svelte-gz7ouq"><label for="bc-country" class="svelte-gz7ouq"> </label> <searchable-select></searchable-select></div></div> <div class="bc-row bc-row-single svelte-gz7ouq"><div class="bc-field svelte-gz7ouq"><label for="bc-requests" class="svelte-gz7ouq"> <span class="bc-optional svelte-gz7ouq"> </span></label> <textarea id="bc-requests" class="svelte-gz7ouq"></textarea></div></div></div> <div class="bc-section svelte-gz7ouq"><!> <div class="bc-payment-slot-anchor svelte-gz7ouq"></div> <!></div> <div class="bc-submit-area svelte-gz7ouq"><button type="button" class="bc-submit-btn svelte-gz7ouq"> </button> <div class="bc-submit-note svelte-gz7ouq"> <a class="svelte-gz7ouq"> </a> <br class="svelte-gz7ouq"/> </div> <!></div> <!></div>`,2),ue={hash:`svelte-gz7ouq`,code:`:host {display:block;font-family:'Inter', sans-serif;color:var(--bc-text-color, #05040f);}:host,
|
|
2
2
|
:host .svelte-gz7ouq {box-sizing:border-box;}.bc-booking-for.svelte-gz7ouq {display:flex;gap:28px;margin-bottom:48px;}.bc-radio.svelte-gz7ouq {display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;cursor:pointer;}.bc-radio.svelte-gz7ouq input[type='radio']:where(.svelte-gz7ouq) {position:absolute;opacity:0;width:1px;height:1px;}.bc-radio-circle.svelte-gz7ouq {width:18px;height:18px;border-radius:50%;border:1.5px solid var(--bc-border-color, rgba(5, 4, 15, 0.25));display:flex;align-items:center;justify-content:center;flex-shrink:0;}.bc-radio.svelte-gz7ouq input:where(.svelte-gz7ouq):checked ~ .bc-radio-circle:where(.svelte-gz7ouq) {border-color:var(--bc-text-color, #05040f);}.bc-radio.svelte-gz7ouq input:where(.svelte-gz7ouq):checked ~ .bc-radio-circle:where(.svelte-gz7ouq)::after {content:'';width:8px;height:8px;border-radius:50%;background:var(--bc-text-color, #05040f);}.bc-radio.svelte-gz7ouq input:where(.svelte-gz7ouq):focus-visible ~ .bc-radio-circle:where(.svelte-gz7ouq) {outline:2px solid var(--bc-text-color, #05040f);outline-offset:2px;}.bc-section.svelte-gz7ouq {margin-bottom:56px;}.bc-section-heading.svelte-gz7ouq {display:flex;align-items:center;gap:14px;margin-bottom:28px;}.bc-section-line.svelte-gz7ouq {width:28px;height:1px;background:var(--bc-border-color, rgba(5, 4, 15, 0.2));}.bc-section-text.svelte-gz7ouq {font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--bc-muted-text, rgba(5, 4, 15, 0.4));}.bc-row.svelte-gz7ouq {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}.bc-row-single.svelte-gz7ouq {grid-template-columns:1fr;}.bc-phone-row.svelte-gz7ouq {grid-template-columns:140px 1fr;gap:10px;margin-bottom:0;}.bc-field.svelte-gz7ouq {display:flex;flex-direction:column;}.bc-field.svelte-gz7ouq label:where(.svelte-gz7ouq) {font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--bc-muted-text, rgba(5, 4, 15, 0.4));margin-bottom:8px;}.bc-optional.svelte-gz7ouq {font-weight:400;text-transform:none;letter-spacing:0;font-size:11px;}.bc-field.svelte-gz7ouq input:where(.svelte-gz7ouq),
|
|
3
3
|
.bc-field.svelte-gz7ouq textarea:where(.svelte-gz7ouq) {border:1px solid var(--bc-input-border, rgba(5, 4, 15, 0.12));background:var(--bc-input-bg, #f5f2ec);padding:0 16px;font-family:'Inter', sans-serif;font-size:15px;color:var(--bc-text-color, #05040f);outline:none;transition:border-color 0.15s;appearance:none;border-radius:0;width:100%;}.bc-field.svelte-gz7ouq input:where(.svelte-gz7ouq) {height:52px;}.bc-field.svelte-gz7ouq textarea:where(.svelte-gz7ouq) {height:96px;padding:14px 16px;resize:none;}.bc-field.svelte-gz7ouq input:where(.svelte-gz7ouq):focus,
|
|
4
4
|
.bc-field.svelte-gz7ouq textarea:where(.svelte-gz7ouq):focus {border-color:var(--bc-input-border-focus, rgba(5, 4, 15, 0.4));}.bc-field.svelte-gz7ouq input:where(.svelte-gz7ouq)::placeholder,
|
|
@@ -37,4 +37,4 @@ import{A as e,C as t,D as n,H as r,I as i,J as a,K as o,L as s,N as c,S as l,T a
|
|
|
37
37
|
so it needs a guaranteed-opaque surface of its own; --bc-input-bg
|
|
38
38
|
is fair game for a host to theme as a translucent field tint. */--ss-panel-bg: var(--bc-panel-bg, #f5f2ec);--ss-text: var(--bc-text-color, #05040f);--ss-border: var(--bc-input-border, rgba(5, 4, 15, 0.12));--ss-border-focus: var(--bc-input-border-focus, rgba(5, 4, 15, 0.4));--ss-placeholder: var(--bc-muted-text, rgba(5, 4, 15, 0.3));--ss-panel-border: var(--bc-border-color, rgba(5, 4, 15, 0.15));--ss-option-hover-bg: var(--bc-border-color, rgba(5, 4, 15, 0.05));--ss-chevron: var(--bc-muted-text, rgba(5, 4, 15, 0.4));}.bc-payment-slot-anchor.svelte-gz7ouq {min-height:44px;}
|
|
39
39
|
/* The mount node is a light-DOM child projected in via the slot above
|
|
40
|
-
(see setupStripeCard) -- ::slotted() is required to style it from here. */.svelte-gz7ouq::slotted(.bc-card-element) {border:1px solid var(--bc-input-border, rgba(5, 4, 15, 0.12));padding:0.9rem;display:block;}.bc-error.svelte-gz7ouq {font-size:13px;color:rgb(200, 50, 50);margin:12px 0 0;}.bc-submit-area.svelte-gz7ouq {margin-top:40px;display:flex;flex-direction:column;gap:14px;}.bc-submit-btn.svelte-gz7ouq {height:56px;background:var(--bc-accent-bg, #05040f);border:none;font-family:'Inter', sans-serif;font-size:15px;font-weight:600;color:var(--bc-accent-text, #f5f2ec);cursor:pointer;transition:opacity 0.2s;}.bc-submit-btn.svelte-gz7ouq:hover:not(:disabled) {opacity:0.8;}.bc-submit-btn.svelte-gz7ouq:disabled {cursor:not-allowed;opacity:0.6;}.bc-submit-note.svelte-gz7ouq {font-size:12px;color:var(--bc-muted-text, rgba(5, 4, 15, 0.35));text-align:center;line-height:1.5;}.bc-submit-note.svelte-gz7ouq a:where(.svelte-gz7ouq) {color:var(--bc-muted-text-strong, rgba(5, 4, 15, 0.55));text-decoration:none;border-bottom:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.15));}.bc-policy-section.svelte-gz7ouq {border-top:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.08));padding-top:32px;margin-bottom:0;}.bc-policy-tag.svelte-gz7ouq {display:inline-flex;align-items:center;gap:6px;background:rgba(0, 200, 160, 0.1);border:1px solid rgba(0, 200, 160, 0.2);padding:4px 12px;font-size:12px;font-weight:600;color:rgb(0, 160, 130);margin-bottom:12px;}.bc-policy-text.svelte-gz7ouq {font-size:14px;color:var(--bc-muted-text-strong, rgba(5, 4, 15, 0.55));line-height:1.6;margin:0;}.bc-policy-link.svelte-gz7ouq {font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--bc-muted-text, rgba(5, 4, 15, 0.4));text-decoration:none;border-bottom:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.15));padding-bottom:1px;display:inline-block;margin-top:12px;}`};function k(e,n){te(n,!0),re(e,fe);let C={bookingForMyself:`Booking for myself`,bookingForOther:`Booking for someone else`,yourDetailsHeading:`Your Details`,primaryGuestHeading:`Primary Guest Details`,guestHeading:`Guest Details`,firstNameLabel:`First Name`,lastNameLabel:`Last Name`,emailLabel:`Email`,phoneLabel:`Phone`,countryLabel:`Country / Region`,countryPlaceholder:`Select country`,requestsLabel:`Special Requests`,requestsOptional:`(optional)`,requestsPlaceholder:`Dietary requirements, arrival time, room preferences…`,paymentHeading:`Payment`,submitLabel:`Confirm & Pay`,processingLabel:`Processing…`,termsPrefix:`By completing this booking you agree to our`,termsLabel:`terms and conditions`,termsSuffix:`.`,chargeNote:`Your card will be charged upon confirmation.`,cancellationHeading:`Cancellation Policy`,freeCancellation:`Free cancellation`,fullPolicy:`Full policy details`,paymentUnavailable:`Payment form unavailable — refresh to try again.`,paymentNotReady:`Payment form is not ready yet — please wait a moment and try again.`,genericError:`Something went wrong. Please try again.`,missingFieldsError:`Please fill in your name, email, and country before continuing.`},k=b(n,`total`,7,0),pe=b(n,`currency`,7,`USD`),A=b(n,`clientSecret`,7,``),j=b(n,`stripePublishableKey`,7,``),me=b(n,`stripeAppearance`,23,()=>({})),M=b(n,`cancellationPolicy`,7,``),N=b(n,`locations`,23,()=>[]),he=b(n,`defaultPhoneCode`,7,`+1`),ge=b(n,`allowBookingForOther`,7,!0),_e=b(n,`showBookingFor`,7,!0),P=b(n,`showLastName`,7,!0),F=b(n,`showPhone`,7,!0),I=b(n,`termsHref`,7,`/terms`),L=b(n,`prefill`,7,void 0),R=b(n,`resolveInitialLocation`,7,void 0),ve=b(n,`beforeSubmit`,7,void 0),z=b(n,`submitBooking`,7,void 0),ye=b(n,`strings`,23,()=>({})),B=a(()=>({...C,...ye()}));function be(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function xe(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:pe(),maximumFractionDigits:0,currencyDisplay:`code`})}let Se=a(()=>k()>0?`${c(B).submitLabel} — ${xe(k())}`:c(B).submitLabel),Ce=a(()=>N().map(e=>({value:e.countryName,label:e.countryName,meta:{iso2:e.iso2}}))),V=a(()=>{let e=[],t={},n={},r=new Set;for(let i of N())i.dialCode&&(n[i.countryName]||(n[i.countryName]=i.dialCode),!r.has(i.dialCode)&&(r.add(i.dialCode),t[i.dialCode]=i.countryName,e.push({value:i.dialCode,label:`${i.dialCode} · ${i.countryName}`})));return{options:e,codeToCountry:t,countryToCode:n}}),H=p(`myself`),U=p(``),W=p(``),G=p(``),K=p(r(he())),we=p(``),Te=p(``),q=p(``),Ee=p(``),De=p(``),Oe=p(``),ke=p(``),J=p(r(he())),Ae=p(``);function je(e,t){d(Te,e,!0),d(q,t,!0)}function Me(e){d(K,e.detail.value,!0);let t=c(V).codeToCountry[e.detail.value];t&&je(t,N().find(e=>e.countryName===t)?.iso2??``)}function Ne(e){je(e.detail.value,e.detail.meta?.iso2??``);let t=c(V).countryToCode[e.detail.value];t&&d(K,t,!0)}function Pe(e){d(J,e.detail.value,!0)}let Fe=null;async function Ie(e){if(e){Fe??=ie(()=>import(`./chunks/min-DdO-yBwh.js`),[]);try{let{parsePhoneNumber:t}=await Fe,n=t(e,{defaultCallingCode:c(K).replace(`+`,``)});if(!n?.country)return;let r=new Intl.DisplayNames([`en`],{type:`region`}).of(n.country);r&&je(r,n.country)}catch{}}}let Le=!1;s(()=>{!L()||Le||(Le=!0,!c(U)&&L().firstName&&d(U,L().firstName,!0),!c(W)&&L().lastName&&d(W,L().lastName,!0),!c(G)&&L().email&&d(G,L().email,!0))});let Re=p(``),Y=p(``),ze=p(!1),X=null,Be=null,Z=null,Ve=!1,He=``;async function Ue(){if(!A()||!j()){be(`ready`,void 0);return}if(A()!==He&&(Be&&(Be.unmount(),Be=null,X=null,n.$$host?.querySelector(`.bc-card-element`)?.remove(),d(Re,``)),!Ve)){Ve=!0,He=A();try{if(!Z){let{loadStripe:e}=await ie(async()=>{let{loadStripe:e}=await import(`./chunks/lib-Bd4dedte.js`);return{loadStripe:e}},[]);if(Z=await e(j()),!Z)throw Error(`Stripe failed to load`)}X=Z.elements({clientSecret:A(),appearance:me()});let e=X.create(`payment`,{wallets:{applePay:`auto`,googlePay:`auto`},fields:{billingDetails:{address:{country:`never`,postalCode:`never`}}}}),t=n.$$host,r=(t?.shadowRoot)?.querySelector(`.bc-payment-slot-anchor`);if(!r)throw Error(`payment slot anchor not found`);if(!r.querySelector(`slot[name="payment-mount"]`)){let e=document.createElement(`slot`);e.setAttribute(`name`,`payment-mount`),r.appendChild(e)}let i=document.createElement(`div`);i.slot=`payment-mount`,i.className=`bc-card-element`,t.appendChild(i),e.mount(i),Be=e}catch{d(Re,c(B).paymentUnavailable,!0)}finally{Ve=!1,be(`ready`,void 0)}}}s(()=>{Ue()}),t(()=>{R()&&R()().then(e=>{e&&(je(e.countryName,e.iso2??``),e.dialCode&&(d(K,e.dialCode,!0),d(J,e.dialCode,!0)))}).catch(()=>{})});async function We(){if(d(Y,``),!Z||!X){d(Y,c(B).paymentNotReady,!0);return}if(!c(U).trim()||P()&&!c(W).trim()||!c(G).trim()||!c(q)){d(Y,c(B).missingFieldsError,!0);return}d(ze,!0);try{await ve()?.();let{error:e,paymentIntent:t}=await Z.confirmPayment({elements:X,confirmParams:{payment_method_data:{billing_details:{name:`${c(U)} ${c(W)}`.trim(),email:c(G),address:{country:c(q),postal_code:``}}},return_url:window.location.href},redirect:`if_required`});if(e){d(Y,e.message??c(B).genericError,!0);return}let n={paymentIntentId:t.id,bookingFor:c(H),contactName:`${c(U)} ${c(W)}`.trim(),contactEmail:c(G),contactPhone:F()?`${c(K)}${c(we)}`:``,country:c(Te),countryIso2:c(q),requests:c(Ee)||void 0,...c(H)===`other`?{booker:{name:`${c(De)} ${c(Oe)}`.trim(),email:c(ke),phone:`${c(J)}${c(Ae)}`}}:{}},r=z()?await z()(n):{ok:!1,message:c(B).genericError};r.ok?be(`checkout-confirmed`,{ref:r.ref}):d(Y,r.message,!0)}finally{d(ze,!1)}}var Ge={get total(){return k()},set total(e=0){k(e),o()},get currency(){return pe()},set currency(e=`USD`){pe(e),o()},get clientSecret(){return A()},set clientSecret(e=``){A(e),o()},get stripePublishableKey(){return j()},set stripePublishableKey(e=``){j(e),o()},get stripeAppearance(){return me()},set stripeAppearance(e={}){me(e),o()},get cancellationPolicy(){return M()},set cancellationPolicy(e=``){M(e),o()},get locations(){return N()},set locations(e=[]){N(e),o()},get defaultPhoneCode(){return he()},set defaultPhoneCode(e=`+1`){he(e),o()},get allowBookingForOther(){return ge()},set allowBookingForOther(e=!0){ge(e),o()},get showBookingFor(){return _e()},set showBookingFor(e=!0){_e(e),o()},get showLastName(){return P()},set showLastName(e=!0){P(e),o()},get showPhone(){return F()},set showPhone(e=!0){F(e),o()},get termsHref(){return I()},set termsHref(e=`/terms`){I(e),o()},get prefill(){return L()},set prefill(e=void 0){L(e),o()},get resolveInitialLocation(){return R()},set resolveInitialLocation(e=void 0){R(e),o()},get beforeSubmit(){return ve()},set beforeSubmit(e=void 0){ve(e),o()},get submitBooking(){return z()},set submitBooking(e=void 0){z(e),o()},get strings(){return ye()},set strings(e={}){ye(e),o()}},Ke=de(),qe=T(Ke),Je=e=>{var t=oe(),n=T(t),r=T(n);x(r);var a=f(r,3);h(n);var o=f(n,2),s=e=>{var t=ae(),n=T(t);x(n);var r=f(n,3);h(t),i(()=>{ne(n,c(H)===`other`),w(r,` ${c(B).bookingForOther??``}`)}),v(`change`,n,()=>d(H,`other`)),u(e,t)};l(o,e=>{ge()&&e(s)}),h(t),i(()=>{ne(r,c(H)===`myself`),w(a,` ${c(B).bookingForMyself??``}`)}),v(`change`,r,()=>d(H,`myself`)),u(e,t)};l(qe,e=>{_e()&&e(Je)});var Ye=f(qe,2),Xe=e=>{var t=se(),n=T(t),r=f(T(n)),a=T(r,!0);h(r),h(n);var o=f(n,2),s=T(o),l=T(s),p=T(l,!0);h(l);var m=f(l,2);x(m),h(s);var ee=f(s,2),te=T(ee),ne=T(te,!0);h(te);var re=f(te,2);x(re),h(ee),h(o);var b=f(o,2),S=T(b),C=T(S),ie=T(C,!0);h(C);var ae=f(C,2);x(ae),h(S);var oe=f(S,2),E=T(oe),ce=T(E,!0);h(E);var le=f(E,2),D=T(le);y(D,`variant`,`phone`),i(()=>y(D,`options`,c(V).options)),i(()=>y(D,`value`,c(J))),g(D,1,`svelte-gz7ouq`);var O=f(D,2);x(O),h(le),h(oe),h(b),h(t),i(()=>{w(a,c(B).yourDetailsHeading),w(p,c(B).firstNameLabel),w(ne,c(B).lastNameLabel),w(ie,c(B).emailLabel),w(ce,c(B).phoneLabel)}),_(m,()=>c(De),e=>d(De,e)),_(re,()=>c(Oe),e=>d(Oe,e)),_(ae,()=>c(ke),e=>d(ke,e)),v(`change`,D,Pe),_(O,()=>c(Ae),e=>d(Ae,e)),u(e,t)};l(Ye,e=>{c(H)===`other`&&e(Xe)});var Ze=f(Ye,2),Qe=T(Ze),$e=e=>{var t=E(),n=f(T(t),2),r=T(n,!0);h(n),h(t),i(()=>w(r,c(H)===`other`?c(B).guestHeading:c(B).primaryGuestHeading)),u(e,t)};l(Qe,e=>{(c(H)===`other`?c(B).guestHeading:c(B).primaryGuestHeading)&&e($e)});var et=f(Qe,2);let tt;var nt=T(et),rt=T(nt),it=T(rt,!0);h(rt);var at=f(rt,2);x(at),h(nt);var ot=f(nt,2),st=e=>{var t=ce(),n=T(t),r=T(n,!0);h(n);var a=f(n,2);x(a),h(t),i(()=>w(r,c(B).lastNameLabel)),_(a,()=>c(W),e=>d(W,e)),u(e,t)};l(ot,e=>{P()&&e(st)}),h(et);var ct=f(et,2);let lt;var ut=T(ct),dt=T(ut),ft=T(dt,!0);h(dt);var pt=f(dt,2);x(pt),h(ut);var mt=f(ut,2),ht=e=>{var t=le(),n=T(t),r=T(n,!0);h(n);var a=f(n,2),o=T(a);y(o,`variant`,`phone`),i(()=>y(o,`options`,c(V).options)),i(()=>y(o,`value`,c(K))),g(o,1,`svelte-gz7ouq`);var s=f(o,2);x(s),h(a),h(t),i(()=>w(r,c(B).phoneLabel)),v(`change`,o,Me),v(`input`,s,e=>Ie(e.target.value)),_(s,()=>c(we),e=>d(we,e)),u(e,t)};l(mt,e=>{F()&&e(ht)}),h(ct);var gt=f(ct,2),_t=T(gt),vt=T(_t),yt=T(vt,!0);h(vt);var Q=f(vt,2);y(Q,`id`,`bc-country`),y(Q,`variant`,`country`),i(()=>y(Q,`placeholder`,c(B).countryPlaceholder)),i(()=>y(Q,`options`,c(Ce))),i(()=>y(Q,`value`,c(Te))),g(Q,1,`svelte-gz7ouq`),h(_t),h(gt);var bt=f(gt,2),xt=T(bt),St=T(xt),Ct=T(St),wt=f(Ct),Tt=T(wt,!0);h(wt),h(St);var Et=f(St,2);ee(Et),h(xt),h(bt),h(Ze);var Dt=f(Ze,2),Ot=T(Dt),kt=e=>{var t=D(),n=f(T(t)),r=T(n,!0);h(n),h(t),i(()=>w(r,c(B).paymentHeading)),u(e,t)};l(Ot,e=>{c(B).paymentHeading&&e(kt)});var At=f(Ot,4),jt=e=>{var t=O(),n=T(t,!0);h(t),i(()=>w(n,c(Re))),u(e,t)};l(At,e=>{c(Re)&&e(jt)}),h(Dt);var Mt=f(Dt,2),$=T(Mt),Nt=T($,!0);h($);var Pt=f($,2),Ft=T(Pt),It=f(Ft),Lt=T(It,!0);h(It);var Rt=f(It,1,!0),zt=f(Rt,2);h(Pt);var Bt=f(Pt,2),Vt=e=>{var t=O(),n=T(t,!0);h(t),i(()=>w(n,c(Y))),u(e,t)};l(Bt,e=>{c(Y)&&e(Vt)}),h(Mt);var Ht=f(Mt,2),Ut=e=>{var t=ue(),n=T(t),r=f(T(n)),a=T(r,!0);h(r),h(n);var o=f(n,2),s=f(T(o));h(o);var l=f(o,2),d=T(l,!0);h(l);var p=f(l,2),m=T(p,!0);h(p),h(t),i(()=>{w(a,c(B).cancellationHeading),w(s,` ${c(B).freeCancellation??``}`),w(d,M()),S(p,`href`,I()),w(m,c(B).fullPolicy)}),u(e,t)};return l(Ht,e=>{M()&&e(Ut)}),h(Ke),i(()=>{tt=g(et,1,`bc-row svelte-gz7ouq`,null,tt,{"bc-row-single":!P()}),w(it,c(B).firstNameLabel),lt=g(ct,1,`bc-row svelte-gz7ouq`,null,lt,{"bc-row-single":!F()}),w(ft,c(B).emailLabel),w(yt,c(B).countryLabel),w(Ct,`${c(B).requestsLabel??``} `),w(Tt,c(B).requestsOptional),S(Et,`placeholder`,c(B).requestsPlaceholder),$.disabled=c(ze),w(Nt,c(ze)?c(B).processingLabel:c(Se)),w(Ft,`${c(B).termsPrefix??``} `),S(It,`href`,I()),w(Lt,c(B).termsLabel),w(Rt,c(B).termsSuffix),w(zt,` ${c(B).chargeNote??``}`)}),_(at,()=>c(U),e=>d(U,e)),_(pt,()=>c(G),e=>d(G,e)),v(`change`,Q,Ne),_(Et,()=>c(Ee),e=>d(Ee,e)),v(`click`,$,We),u(e,Ke),m(Ge)}e([`change`,`input`,`click`]),customElements.define(`booking-checkout`,C(k,{total:{attribute:`total`,type:`Number`},currency:{attribute:`currency`,type:`String`},clientSecret:{attribute:`client-secret`,type:`String`},stripePublishableKey:{attribute:`stripe-publishable-key`,type:`String`},stripeAppearance:{attribute:`stripe-appearance`,type:`Object`},cancellationPolicy:{attribute:`cancellation-policy`,type:`String`},locations:{attribute:`locations`,type:`Object`},defaultPhoneCode:{attribute:`default-phone-code`,type:`String`},allowBookingForOther:{attribute:`allow-booking-for-other`,type:`Boolean`},showBookingFor:{attribute:`show-booking-for`,type:`Boolean`},showLastName:{attribute:`show-last-name`,type:`Boolean`},showPhone:{attribute:`show-phone`,type:`Boolean`},termsHref:{attribute:`terms-href`,type:`String`},prefill:{type:`Object`},resolveInitialLocation:{type:`Object`},beforeSubmit:{type:`Object`},submitBooking:{type:`Object`},strings:{attribute:`strings`,type:`Object`}},[],[],{mode:`open`}));
|
|
40
|
+
(see setupStripeCard) -- ::slotted() is required to style it from here. */.svelte-gz7ouq::slotted(.bc-card-element) {border:1px solid var(--bc-input-border, rgba(5, 4, 15, 0.12));padding:0.9rem;display:block;}.bc-error.svelte-gz7ouq {font-size:13px;color:rgb(200, 50, 50);margin:12px 0 0;}.bc-submit-area.svelte-gz7ouq {margin-top:40px;display:flex;flex-direction:column;gap:14px;}.bc-submit-btn.svelte-gz7ouq {height:56px;background:var(--bc-accent-bg, #05040f);border:none;font-family:'Inter', sans-serif;font-size:15px;font-weight:600;color:var(--bc-accent-text, #f5f2ec);cursor:pointer;transition:opacity 0.2s;}.bc-submit-btn.svelte-gz7ouq:hover:not(:disabled) {opacity:0.8;}.bc-submit-btn.svelte-gz7ouq:disabled {cursor:not-allowed;opacity:0.6;}.bc-submit-note.svelte-gz7ouq {font-size:12px;color:var(--bc-muted-text, rgba(5, 4, 15, 0.35));text-align:center;line-height:1.5;}.bc-submit-note.svelte-gz7ouq a:where(.svelte-gz7ouq) {color:var(--bc-muted-text-strong, rgba(5, 4, 15, 0.55));text-decoration:none;border-bottom:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.15));}.bc-policy-section.svelte-gz7ouq {border-top:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.08));padding-top:32px;margin-bottom:0;}.bc-policy-tag.svelte-gz7ouq {display:inline-flex;align-items:center;gap:6px;background:rgba(0, 200, 160, 0.1);border:1px solid rgba(0, 200, 160, 0.2);padding:4px 12px;font-size:12px;font-weight:600;color:rgb(0, 160, 130);margin-bottom:12px;}.bc-policy-text.svelte-gz7ouq {font-size:14px;color:var(--bc-muted-text-strong, rgba(5, 4, 15, 0.55));line-height:1.6;margin:0;}.bc-policy-link.svelte-gz7ouq {font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--bc-muted-text, rgba(5, 4, 15, 0.4));text-decoration:none;border-bottom:1px solid var(--bc-border-color, rgba(5, 4, 15, 0.15));padding-bottom:1px;display:inline-block;margin-top:12px;}`};function j(s,y){l(y,!0),te(s,ue);let T={bookingForMyself:`Booking for myself`,bookingForOther:`Booking for someone else`,yourDetailsHeading:`Your Details`,primaryGuestHeading:`Primary Guest Details`,guestHeading:`Guest Details`,firstNameLabel:`First Name`,lastNameLabel:`Last Name`,emailLabel:`Email`,phoneLabel:`Phone`,countryLabel:`Country / Region`,countryPlaceholder:`Select country`,requestsLabel:`Special Requests`,requestsOptional:`(optional)`,requestsPlaceholder:`Dietary requirements, arrival time, room preferences…`,paymentHeading:`Payment`,submitLabel:`Confirm & Pay`,processingLabel:`Processing…`,termsPrefix:`By completing this booking you agree to our`,termsLabel:`terms and conditions`,termsSuffix:`.`,chargeNote:`Your card will be charged upon confirmation.`,cancellationHeading:`Cancellation Policy`,freeCancellation:`Free cancellation`,fullPolicy:`Full policy details`,paymentUnavailable:`Payment form unavailable — refresh to try again.`,paymentNotReady:`Payment form is not ready yet — please wait a moment and try again.`,genericError:`Something went wrong. Please try again.`,missingFieldsError:`Please fill in your name, email, and country before continuing.`},j=x(y,`total`,7,0),de=x(y,`currency`,7,`USD`),M=x(y,`clientSecret`,7,``),N=x(y,`stripePublishableKey`,7,``),fe=x(y,`stripeAppearance`,23,()=>({})),pe=x(y,`cancellationPolicy`,7,``),P=x(y,`locations`,23,()=>[]),me=x(y,`defaultPhoneCode`,7,`+1`),he=x(y,`allowBookingForOther`,7,!0),ge=x(y,`showBookingFor`,7,!0),F=x(y,`showLastName`,7,!0),I=x(y,`showPhone`,7,!0),L=x(y,`termsHref`,7,`/terms`),R=x(y,`prefill`,7,void 0),z=x(y,`resolveInitialLocation`,7,void 0),_e=x(y,`beforeSubmit`,7,void 0),B=x(y,`submitBooking`,7,void 0),ve=x(y,`strings`,23,()=>({})),V=h(()=>({...T,...ve()}));function ye(e,t){y.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function be(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:de(),maximumFractionDigits:0,currencyDisplay:`code`})}let xe=h(()=>j()>0?`${c(V).submitLabel} — ${be(j())}`:c(V).submitLabel),Se=h(()=>P().map(e=>({value:e.countryName,label:e.countryName,meta:{iso2:e.iso2}}))),H=h(()=>{let e=[],t={},n={},r=new Set;for(let i of P())i.dialCode&&(n[i.countryName]||(n[i.countryName]=i.dialCode),!r.has(i.dialCode)&&(r.add(i.dialCode),t[i.dialCode]=i.countryName,e.push({value:i.dialCode,label:`${i.dialCode} · ${i.countryName}`})));return{options:e,codeToCountry:t,countryToCode:n}}),U=r(`myself`),W=r(``),G=r(``),K=r(``),q=r(f(me())),Ce=r(``),we=r(``),J=r(``),Te=r(``),Ee=r(``),De=r(``),Oe=r(``),ke=r(f(me())),Ae=r(``);function je(e,t){p(we,e,!0),p(J,t,!0)}function Me(e){p(q,e.detail.value,!0);let t=c(H).codeToCountry[e.detail.value];t&&je(t,P().find(e=>e.countryName===t)?.iso2??``)}function Ne(e){je(e.detail.value,e.detail.meta?.iso2??``);let t=c(H).countryToCode[e.detail.value];t&&p(q,t,!0)}function Pe(e){p(ke,e.detail.value,!0)}let Fe=null;async function Ie(e){if(e){Fe??=ne(()=>import(`./chunks/min-DdO-yBwh.js`),[]);try{let{parsePhoneNumber:t}=await Fe,n=t(e,{defaultCallingCode:c(q).replace(`+`,``)});if(!n?.country)return;let r=new Intl.DisplayNames([`en`],{type:`region`}).of(n.country);r&&je(r,n.country)}catch{}}}let Le=!1;u(()=>{!R()||Le||(Le=!0,!c(W)&&R().firstName&&p(W,R().firstName,!0),!c(G)&&R().lastName&&p(G,R().lastName,!0),!c(K)&&R().email&&p(K,R().email,!0))});let Re=r(``),Y=r(``),ze=r(!1),X=null,Be=null,Z=null,Ve=!1,He=``;async function Ue(){if(!M()||!N()){ye(`ready`,void 0);return}if(M()!==He&&(Be&&(Be.unmount(),Be=null,X=null,y.$$host?.querySelector(`.bc-card-element`)?.remove(),p(Re,``)),!Ve)){Ve=!0,He=M();try{if(!Z){let{loadStripe:e}=await ne(async()=>{let{loadStripe:e}=await import(`./chunks/lib-Bd4dedte.js`);return{loadStripe:e}},[]);if(Z=await e(N()),!Z)throw Error(`Stripe failed to load`)}X=Z.elements({clientSecret:M(),appearance:fe()});let e=X.create(`payment`,{wallets:{applePay:`auto`,googlePay:`auto`},fields:{billingDetails:{address:{country:`never`,postalCode:`never`}}}}),t=y.$$host,n=(t?.shadowRoot)?.querySelector(`.bc-payment-slot-anchor`);if(!n)throw Error(`payment slot anchor not found`);if(!n.querySelector(`slot[name="payment-mount"]`)){let e=document.createElement(`slot`);e.setAttribute(`name`,`payment-mount`),n.appendChild(e)}let r=document.createElement(`div`);r.slot=`payment-mount`,r.className=`bc-card-element`,t.appendChild(r),e.mount(r),Be=e}catch{p(Re,c(V).paymentUnavailable,!0)}finally{Ve=!1,ye(`ready`,void 0)}}}u(()=>{Ue()}),D(()=>{z()&&z()().then(e=>{e&&(je(e.countryName,e.iso2??``),e.dialCode&&(p(q,e.dialCode,!0),p(ke,e.dialCode,!0)))}).catch(()=>{})});async function We(){if(p(Y,``),!Z||!X){p(Y,c(V).paymentNotReady,!0);return}if(!c(W).trim()||F()&&!c(G).trim()||!c(K).trim()||!c(J)){p(Y,c(V).missingFieldsError,!0);return}p(ze,!0);try{await _e()?.();let{error:e,paymentIntent:t}=await Z.confirmPayment({elements:X,confirmParams:{payment_method_data:{billing_details:{name:`${c(W)} ${c(G)}`.trim(),email:c(K),address:{country:c(J),postal_code:``}}},return_url:window.location.href},redirect:`if_required`});if(e){p(Y,e.message??c(V).genericError,!0);return}let n={paymentIntentId:t.id,bookingFor:c(U),contactName:`${c(W)} ${c(G)}`.trim(),contactEmail:c(K),contactPhone:I()?`${c(q)}${c(Ce)}`:``,country:c(we),countryIso2:c(J),requests:c(Te)||void 0,...c(U)===`other`?{booker:{name:`${c(Ee)} ${c(De)}`.trim(),email:c(Oe),phone:`${c(ke)}${c(Ae)}`}}:{}},r=B()?await B()(n):{ok:!1,message:c(V).genericError};r.ok?ye(`checkout-confirmed`,{ref:r.ref}):p(Y,r.message,!0)}finally{p(ze,!1)}}var Ge={get total(){return j()},set total(e=0){j(e),C()},get currency(){return de()},set currency(e=`USD`){de(e),C()},get clientSecret(){return M()},set clientSecret(e=``){M(e),C()},get stripePublishableKey(){return N()},set stripePublishableKey(e=``){N(e),C()},get stripeAppearance(){return fe()},set stripeAppearance(e={}){fe(e),C()},get cancellationPolicy(){return pe()},set cancellationPolicy(e=``){pe(e),C()},get locations(){return P()},set locations(e=[]){P(e),C()},get defaultPhoneCode(){return me()},set defaultPhoneCode(e=`+1`){me(e),C()},get allowBookingForOther(){return he()},set allowBookingForOther(e=!0){he(e),C()},get showBookingFor(){return ge()},set showBookingFor(e=!0){ge(e),C()},get showLastName(){return F()},set showLastName(e=!0){F(e),C()},get showPhone(){return I()},set showPhone(e=!0){I(e),C()},get termsHref(){return L()},set termsHref(e=`/terms`){L(e),C()},get prefill(){return R()},set prefill(e=void 0){R(e),C()},get resolveInitialLocation(){return z()},set resolveInitialLocation(e=void 0){z(e),C()},get beforeSubmit(){return _e()},set beforeSubmit(e=void 0){_e(e),C()},get submitBooking(){return B()},set submitBooking(e=void 0){B(e),C()},get strings(){return ve()},set strings(e={}){ve(e),C()}},Ke=le(),qe=e(Ke),Je=r=>{var s=ie(),l=e(s),u=e(l);S(u);var f=i(u,3);E(l);var m=i(l,2),h=t=>{var r=re(),s=e(r);S(s);var l=i(s,3);E(r),a(()=>{g(s,c(U)===`other`),d(l,` ${c(V).bookingForOther??``}`)}),o(`change`,s,()=>p(U,`other`)),n(t,r)};t(m,e=>{he()&&e(h)}),E(s),a(()=>{g(u,c(U)===`myself`),d(f,` ${c(V).bookingForMyself??``}`)}),o(`change`,u,()=>p(U,`myself`)),n(r,s)};t(qe,e=>{ge()&&e(Je)});var Ye=i(qe,2),Xe=t=>{var r=ae(),s=e(r),l=i(e(s)),u=e(l,!0);E(l),E(s);var f=i(s,2),m=e(f),h=e(m),ee=e(h,!0);E(h);var g=i(h,2);S(g),E(m);var te=i(m,2),y=e(te),x=e(y,!0);E(y);var C=i(y,2);S(C),E(te),E(f);var w=i(f,2),T=e(w),D=e(T),ne=e(D,!0);E(D);var re=i(D,2);S(re),E(T);var ie=i(T,2),O=e(ie),oe=e(O,!0);E(O);var se=i(O,2),k=e(se);b(k,`variant`,`phone`),a(()=>b(k,`options`,c(H).options)),a(()=>b(k,`value`,c(ke))),_(k,1,`svelte-gz7ouq`);var A=i(k,2);S(A),E(se),E(ie),E(w),E(r),a(()=>{d(u,c(V).yourDetailsHeading),d(ee,c(V).firstNameLabel),d(x,c(V).lastNameLabel),d(ne,c(V).emailLabel),d(oe,c(V).phoneLabel)}),v(g,()=>c(Ee),e=>p(Ee,e)),v(C,()=>c(De),e=>p(De,e)),v(re,()=>c(Oe),e=>p(Oe,e)),o(`change`,k,Pe),v(A,()=>c(Ae),e=>p(Ae,e)),n(t,r)};t(Ye,e=>{c(U)===`other`&&e(Xe)});var Ze=i(Ye,2),Qe=e(Ze),$e=t=>{var r=O(),o=i(e(r),2),s=e(o,!0);E(o),E(r),a(()=>d(s,c(U)===`other`?c(V).guestHeading:c(V).primaryGuestHeading)),n(t,r)};t(Qe,e=>{(c(U)===`other`?c(V).guestHeading:c(V).primaryGuestHeading)&&e($e)});var et=i(Qe,2);let tt;var nt=e(et),rt=e(nt),it=e(rt,!0);E(rt);var at=i(rt,2);S(at),E(nt);var ot=i(nt,2),st=t=>{var r=oe(),o=e(r),s=e(o,!0);E(o);var l=i(o,2);S(l),E(r),a(()=>d(s,c(V).lastNameLabel)),v(l,()=>c(G),e=>p(G,e)),n(t,r)};t(ot,e=>{F()&&e(st)}),E(et);var ct=i(et,2);let lt;var ut=e(ct),dt=e(ut),ft=e(dt,!0);E(dt);var pt=i(dt,2);S(pt),E(ut);var mt=i(ut,2),ht=t=>{var r=se(),s=e(r),l=e(s,!0);E(s);var u=i(s,2),f=e(u);b(f,`variant`,`phone`),a(()=>b(f,`options`,c(H).options)),a(()=>b(f,`value`,c(q))),_(f,1,`svelte-gz7ouq`);var m=i(f,2);S(m),E(u),E(r),a(()=>d(l,c(V).phoneLabel)),o(`change`,f,Me),o(`input`,m,e=>Ie(e.target.value)),v(m,()=>c(Ce),e=>p(Ce,e)),n(t,r)};t(mt,e=>{I()&&e(ht)}),E(ct);var gt=i(ct,2),_t=e(gt),vt=e(_t),yt=e(vt,!0);E(vt);var Q=i(vt,2);b(Q,`id`,`bc-country`),b(Q,`variant`,`country`),a(()=>b(Q,`placeholder`,c(V).countryPlaceholder)),a(()=>b(Q,`options`,c(Se))),a(()=>b(Q,`value`,c(we))),_(Q,1,`svelte-gz7ouq`),E(_t),E(gt);var bt=i(gt,2),xt=e(bt),St=e(xt),Ct=e(St),wt=i(Ct),Tt=e(wt,!0);E(wt),E(St);var Et=i(St,2);m(Et),E(xt),E(bt),E(Ze);var Dt=i(Ze,2),Ot=e(Dt),kt=t=>{var r=k(),o=i(e(r)),s=e(o,!0);E(o),E(r),a(()=>d(s,c(V).paymentHeading)),n(t,r)};t(Ot,e=>{c(V).paymentHeading&&e(kt)});var At=i(Ot,4),jt=t=>{var r=A(),i=e(r,!0);E(r),a(()=>d(i,c(Re))),n(t,r)};t(At,e=>{c(Re)&&e(jt)}),E(Dt);var Mt=i(Dt,2),$=e(Mt),Nt=e($,!0);E($);var Pt=i($,2),Ft=e(Pt),It=i(Ft),Lt=e(It,!0);E(It);var Rt=i(It,1,!0),zt=i(Rt,2);E(Pt);var Bt=i(Pt,2),Vt=t=>{var r=A(),i=e(r,!0);E(r),a(()=>d(i,c(Y))),n(t,r)};t(Bt,e=>{c(Y)&&e(Vt)}),E(Mt);var Ht=i(Mt,2),Ut=t=>{var r=ce(),o=e(r),s=i(e(o)),l=e(s,!0);E(s),E(o);var u=i(o,2),f=i(e(u));E(u);var p=i(u,2),m=e(p,!0);E(p);var h=i(p,2),ee=e(h,!0);E(h),E(r),a(()=>{d(l,c(V).cancellationHeading),d(f,` ${c(V).freeCancellation??``}`),d(m,pe()),w(h,`href`,L()),d(ee,c(V).fullPolicy)}),n(t,r)};return t(Ht,e=>{pe()&&e(Ut)}),E(Ke),a(()=>{tt=_(et,1,`bc-row svelte-gz7ouq`,null,tt,{"bc-row-single":!F()}),d(it,c(V).firstNameLabel),lt=_(ct,1,`bc-row svelte-gz7ouq`,null,lt,{"bc-row-single":!I()}),d(ft,c(V).emailLabel),d(yt,c(V).countryLabel),d(Ct,`${c(V).requestsLabel??``} `),d(Tt,c(V).requestsOptional),w(Et,`placeholder`,c(V).requestsPlaceholder),$.disabled=c(ze),d(Nt,c(ze)?c(V).processingLabel:c(xe)),d(Ft,`${c(V).termsPrefix??``} `),w(It,`href`,L()),d(Lt,c(V).termsLabel),d(Rt,c(V).termsSuffix),d(zt,` ${c(V).chargeNote??``}`)}),v(at,()=>c(W),e=>p(W,e)),v(pt,()=>c(K),e=>p(K,e)),o(`change`,Q,Ne),v(Et,()=>c(Te),e=>p(Te,e)),o(`click`,$,We),n(s,Ke),ee(Ge)}y([`change`,`input`,`click`]),customElements.define(`booking-checkout`,T(j,{total:{attribute:`total`,type:`Number`},currency:{attribute:`currency`,type:`String`},clientSecret:{attribute:`client-secret`,type:`String`},stripePublishableKey:{attribute:`stripe-publishable-key`,type:`String`},stripeAppearance:{attribute:`stripe-appearance`,type:`Object`},cancellationPolicy:{attribute:`cancellation-policy`,type:`String`},locations:{attribute:`locations`,type:`Object`},defaultPhoneCode:{attribute:`default-phone-code`,type:`String`},allowBookingForOther:{attribute:`allow-booking-for-other`,type:`Boolean`},showBookingFor:{attribute:`show-booking-for`,type:`Boolean`},showLastName:{attribute:`show-last-name`,type:`Boolean`},showPhone:{attribute:`show-phone`,type:`Boolean`},termsHref:{attribute:`terms-href`,type:`String`},prefill:{type:`Object`},resolveInitialLocation:{type:`Object`},beforeSubmit:{type:`Object`},submitBooking:{type:`Object`},strings:{attribute:`strings`,type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{B as e,C as t,E as n,H as r,L as i,M as a,O as o,Q as s,T as c,Z as l,h as u,j as d,n as f,q as p,s as m,t as h,tt as g,v as _}from"./chunks/client-DNa0V682.js";var v=o(`<p class="bc-detail svelte-2gbozb"> </p>`),y=o(`<p class="bc-note svelte-2gbozb"> </p>`),b=o(`<a class="bc-secondary svelte-2gbozb"> </a>`),x=o(`<div class="bc-root svelte-2gbozb"><svg class="bc-icon svelte-2gbozb" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="8,12 11,15 16,9"></polyline></svg> <div class="bc-text svelte-2gbozb"><h4 class="bc-heading svelte-2gbozb"> </h4> <!></div> <!> <!> <button class="bc-done svelte-2gbozb"> </button> <!></div>`),S={hash:`svelte-2gbozb`,code:`:host {display:block;}.bc-root.svelte-2gbozb {display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px 24px;text-align:center;font-family:inherit;}.bc-icon.svelte-2gbozb {stroke:var(--bcd-icon-color, rgb(0, 160, 140));}.bc-text.svelte-2gbozb {display:flex;flex-direction:column;}.bc-heading.svelte-2gbozb {margin:0 0 8px;font-family:inherit;font-size:22px;font-weight:800;color:var(--bcd-text-color, #05040f);}.bc-detail.svelte-2gbozb {margin:0;font-size:14px;line-height:1.65;color:var(--bcd-muted-text-strong, rgba(5, 4, 15, 0.72));}.bc-note.svelte-2gbozb {margin:0;max-width:300px;font-size:13px;color:var(--bcd-muted-text, rgba(5, 4, 15, 0.35));}.bc-done.svelte-2gbozb {height:52px;cursor:pointer;background:var(--bcd-accent-bg, #1a1a18);border:none;padding:0 28px;font-family:inherit;font-size:14px;font-weight:600;color:var(--bcd-accent-text, #f5f2ec);}.bc-secondary.svelte-2gbozb {cursor:pointer;font-size:13px;font-weight:600;color:var(--bcd-muted-text, rgba(5, 4, 15, 0.45));text-decoration:underline;text-underline-offset:2px;transition:color 0.15s;}.bc-secondary.svelte-2gbozb:hover {color:var(--bcd-text-color, #05040f);}`};function C(o,d){s(d,!0),u(o,S);let h=f(d,`heading`,7,`Confirmed`),C=f(d,`detail`,7,``),w=f(d,`note`,7,``),T=f(d,`doneLabel`,7,`Done`),E=f(d,`secondaryLabel`,7,``),D=f(d,`secondaryHref`,7,``);function O(e,t){d.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}var k={get heading(){return h()},set heading(e=`Confirmed`){h(e),p()},get detail(){return C()},set detail(e=``){C(e),p()},get note(){return w()},set note(e=``){w(e),p()},get doneLabel(){return T()},set doneLabel(e=`Done`){T(e),p()},get secondaryLabel(){return E()},set secondaryLabel(e=``){E(e),p()},get secondaryHref(){return D()},set secondaryHref(e=``){D(e),p()}},A=x(),j=r(e(A),2),M=e(j),N=e(M,!0);g(M);var P=r(M,2),F=t=>{var r=v(),a=e(r,!0);g(r),i(()=>c(a,C())),n(t,r)};t(P,e=>{C()&&e(F)}),g(j);var I=r(j,2),L=t=>{var r=y(),a=e(r,!0);g(r),i(()=>c(a,w())),n(t,r)};t(I,e=>{w()&&e(L)});var R=r(I,2);_(R,d,`items`,{},null);var z=r(R,2),B=e(z,!0);g(z);var V=r(z,2),H=t=>{var r=b(),a=e(r,!0);g(r),i(()=>{m(r,`href`,D()),c(a,E())}),n(t,r)};return t(V,e=>{E()&&D()&&e(H)}),g(A),i(()=>{c(N,h()),c(B,T())}),a(`click`,z,()=>O(`done`,{})),n(o,A),l(k)}d([`click`]),customElements.define(`booking-confirmed`,h(C,{heading:{attribute:`heading`,type:`String`},detail:{attribute:`detail`,type:`String`},note:{attribute:`note`,type:`String`},doneLabel:{attribute:`done-label`,type:`String`},secondaryLabel:{attribute:`secondary-label`,type:`String`},secondaryHref:{attribute:`secondary-href`,type:`String`}},[`items`],[],{mode:`open`}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{B as e,C as t,E as n,F as r,G as i,H as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,T as p,U as m,V as h,W as g,X as _,Y as v,Z as y,b,et as ee,f as x,h as S,i as C,j as w,n as T,o as te,q as E,s as ne,t as D,tt as O,u as re}from"./chunks/client-DNa0V682.js";import{i as ie,o as ae,r as oe,t as se}from"./chunks/calendar-B8eNjUm2.js";import{t as k}from"./chunks/stripe-BjXf5ZQJ.js";import{t as A}from"./chunks/preload-helper-Czpn1I53.js";var ce=l(`<div class="bf-loading svelte-gavyia"><div class="bf-spinner svelte-gavyia"></div></div>`),le=l(`<span class="svelte-gavyia"> </span>`),j=l(`<button type="button" class="bf-cal-cell svelte-gavyia"> </button>`),ue=l(`<div class="bf-empty svelte-gavyia"><p class="svelte-gavyia"> </p> <div class="bf-cal svelte-gavyia"><div class="bf-cal-header svelte-gavyia"><p class="bf-cal-month svelte-gavyia"> </p> <div class="bf-cal-nav svelte-gavyia"><button type="button" class="svelte-gavyia">‹</button> <button type="button" class="svelte-gavyia">›</button></div></div> <div class="bf-cal-weekdays svelte-gavyia"></div> <div class="bf-cal-grid svelte-gavyia"></div></div></div>`),de=l(`<button type="button"> </button>`),fe=l(`<option class="svelte-gavyia"> </option>`),pe=l(`<label class="svelte-gavyia"><span class="svelte-gavyia"> </span> <div class="bf-select-wrap svelte-gavyia"><select class="svelte-gavyia"><option class="svelte-gavyia"> </option><!></select> <svg class="bf-select-icon svelte-gavyia" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><path d="m6 9 6 6 6-6" stroke-linecap="round" stroke-linejoin="round" class="svelte-gavyia"></path></svg></div></label>`),me=l(`<p class="bf-error svelte-gavyia"> </p>`),he=l(`<div class="bf-payment svelte-gavyia"><div class="bf-payment-header svelte-gavyia"><span class="svelte-gavyia"> </span> <span class="svelte-gavyia"> </span></div> <div class="bf-payment-slot-anchor svelte-gavyia"></div> <p class="bf-payment-hint svelte-gavyia"> </p> <!></div>`),ge=l(`<span class="bf-spinner svelte-gavyia"></span>`),_e=l(`<form class="bf-form svelte-gavyia"><label class="svelte-gavyia"><span class="svelte-gavyia"> </span> <div class="bf-input-icon-wrap svelte-gavyia"><svg class="bf-input-icon svelte-gavyia" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><circle cx="12" cy="8" r="3.5" class="svelte-gavyia"></circle><path stroke-linecap="round" d="M5 20c1.2-3.4 4-5 7-5s5.8 1.6 7 5" class="svelte-gavyia"></path></svg> <input type="text" name="name" autocomplete="name" required="" class="svelte-gavyia"/></div></label> <label class="svelte-gavyia"><span class="svelte-gavyia"> </span> <div class="bf-input-icon-wrap svelte-gavyia"><svg class="bf-input-icon svelte-gavyia" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><rect x="2" y="4" width="20" height="16" rx="2" class="svelte-gavyia"></rect><path stroke-linecap="round" stroke-linejoin="round" d="m4 6 8 7 8-7" class="svelte-gavyia"></path></svg> <input type="email" name="email" autocomplete="email" class="svelte-gavyia"/></div></label> <label class="svelte-gavyia"><span class="svelte-gavyia"> </span> <div class="bf-input-icon-wrap svelte-gavyia"><svg class="bf-input-icon svelte-gavyia" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92Z" class="svelte-gavyia"></path></svg> <input type="tel" name="phone" autocomplete="tel" class="svelte-gavyia"/></div></label> <!> <!> <label class="svelte-gavyia"><span class="svelte-gavyia"> </span> <textarea name="notes" rows="3" class="svelte-gavyia"></textarea></label> <label class="bf-checkbox-row svelte-gavyia"><input type="checkbox" name="cancellation_policy" class="bf-checkbox svelte-gavyia" required=""/> <span class="svelte-gavyia"> </span></label> <button type="submit" class="bf-submit svelte-gavyia"><!> </button> <!></form>`),M=l(`<div class="bf-slots svelte-gavyia"><p class="bf-section-label svelte-gavyia"><svg class="bf-section-icon svelte-gavyia" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><circle cx="12" cy="12" r="9" class="svelte-gavyia"></circle><path stroke-linecap="round" stroke-linejoin="round" d="M12 7v5l3.5 2" class="svelte-gavyia"></path></svg> </p> <div class="bf-slot-list svelte-gavyia"></div></div> <!>`,1),ve=l(`<div class="bf-confirmed svelte-gavyia"><div class="bf-check-circle svelte-gavyia">✓</div> <p class="bf-confirmed-title svelte-gavyia"> </p> <div class="bf-confirmed-card svelte-gavyia"><div class="bf-confirmed-row svelte-gavyia"><span class="svelte-gavyia"> </span><span class="svelte-gavyia"> </span></div> <div class="bf-confirmed-row svelte-gavyia"><span class="svelte-gavyia"> </span><span class="svelte-gavyia"> </span></div> <div class="bf-confirmed-row svelte-gavyia"><span class="svelte-gavyia"> </span><span class="svelte-gavyia"> </span></div></div></div>`),ye=l(`<div class="bf-root svelte-gavyia"><!></div>`),be={hash:`svelte-gavyia`,code:`.bf-root.svelte-gavyia {font-family:inherit;color:var(--bf-text-color, #1a1a1a);}.bf-loading.svelte-gavyia {display:flex;flex-direction:column;align-items:center;gap:0.75rem;padding:2rem 0;}.bf-spinner.svelte-gavyia {width:24px;height:24px;border-radius:9999px;border:2px solid var(--bf-spinner-track, rgba(0, 0, 0, 0.15));border-top-color:var(--bf-spinner-active, #1a1a1a);
|
|
2
2
|
animation: svelte-gavyia-bf-spin 0.7s linear infinite;}
|
|
3
3
|
@keyframes svelte-gavyia-bf-spin {
|
|
4
4
|
to {
|
|
@@ -23,4 +23,4 @@ import{$ as e,A as t,B as n,D as r,H as i,I as a,J as o,K as s,L as c,M as l,N a
|
|
|
23
23
|
}
|
|
24
24
|
@media (prefers-reduced-motion: reduce) {.bf-spinner.svelte-gavyia {
|
|
25
25
|
animation: none;}
|
|
26
|
-
}.bf-confirmed.svelte-gavyia {text-align:center;}.bf-check-circle.svelte-gavyia {display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:9999px;background:var(--bf-accent-bg, #1a1a1a);color:var(--bf-accent-text, #fff);font-size:1.5rem;}.bf-confirmed-title.svelte-gavyia {font-size:1.1rem;}.bf-confirmed-card.svelte-gavyia {max-width:20rem;margin:1.5rem auto 0;border:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.15));border-radius:2px;padding:1.25rem;text-align:left;}.bf-confirmed-row.svelte-gavyia {display:flex;justify-content:space-between;padding:0.6rem 0;border-bottom:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.1));font-size:0.85rem;}.bf-confirmed-row.svelte-gavyia:last-child {border-bottom:none;}.bf-cal.svelte-gavyia {max-width:20rem;margin:1.5rem auto 0;border:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.15));border-radius:2px;padding:1rem;}.bf-cal-header.svelte-gavyia {display:flex;align-items:center;justify-content:space-between;}.bf-cal-month.svelte-gavyia {margin:0;font-size:0.875rem;font-weight:600;}.bf-cal-nav.svelte-gavyia {display:flex;gap:0.25rem;}.bf-cal-nav.svelte-gavyia button:where(.svelte-gavyia) {display:flex;height:28px;width:28px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;cursor:pointer;}.bf-cal-nav.svelte-gavyia button:where(.svelte-gavyia):disabled {cursor:default;opacity:0.3;}.bf-cal-weekdays.svelte-gavyia {display:grid;grid-template-columns:repeat(7, 1fr);margin-top:0.75rem;text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;opacity:0.4;}.bf-cal-grid.svelte-gavyia {display:grid;grid-template-columns:repeat(7, 1fr);row-gap:0.25rem;justify-items:center;margin-top:0.25rem;}.bf-cal-cell.svelte-gavyia {display:flex;height:32px;width:32px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;font-size:0.875rem;cursor:pointer;}.bf-cal-cell.svelte-gavyia:disabled {cursor:default;opacity:0.25;}`};function N(t,r){v(r,!0),x(t,be);let T={pickDateEmpty:`Pick a date to see available times:`,errorEmpty:`Something went wrong checking availability. Pick a date to try again:`,noSlotsEmpty:`No tables available for that date. Pick another date below:`,previousMonth:`Previous month`,nextMonth:`Next month`,availableTimes:`Available Times`,nameLabel:`Name`,emailLabel:`Email`,phoneLabel:`Phone`,selectOption:`Select an option`,paymentMethod:`Payment Method`,holdSuffix:`hold`,paymentHint:`A hold is placed on your card and released when you arrive — you're only charged if you no-show.`,paymentUnavailable:`Payment form unavailable — refresh to try again.`,notesLabel:`Notes`,cancellationPolicy:`I understand a card hold will be placed for this reservation, released when I arrive, and only charged if I don't show up.`,confirmButton:`Confirm Reservation`,processingButton:`Processing…`,paymentNotReady:`Payment form is not ready yet — please wait a moment and try again.`,cardHoldFailed:`Your card hold could not be placed. Please try again.`,confirmedTitle:`You're booked! We look forward to seeing you.`,dateLabel:`Date`,timeLabel:`Time`,partySizeLabel:`Party Size`,guestSingular:`Guest`,guestPlural:`Guests`},N=w(r,`date`,7),P=w(r,`guests`,7,2),xe=w(r,`preferredTime`,7),Se=w(r,`closedWeekdays`,23,()=>[]),Ce=w(r,`customFields`,23,()=>[]),F=w(r,`locale`,7),we=w(r,`currency`,7,`USD`),Te=w(r,`strings`,7),I=w(r,`fetchAvailableDates`,7),L=w(r,`searchSlots`,7),R=w(r,`createPaymentIntent`,7),z=w(r,`book`,7),B=w(r,`stripePublishableKey`,7),Ee=w(r,`stripeAppearance`,7),V=o(()=>({...T,...Te()})),De=o(()=>oe(F())),Oe=o(()=>ie(F()));function ke(e,t){r.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=g(`loading`),Ae=g(i([])),U=g(null);function je(e,t){let n=k(e,t);return new Intl.NumberFormat(F(),{style:`currency`,currency:t,maximumFractionDigits:0}).format(n)}function Me(e){let[t,n]=e.split(`:`),r=Number(t),i=r>=12?`PM`:`AM`;return`${r%12==0?12:r%12}:${n} ${i}`}function Ne(e){let[t,n]=e.split(`:`);return Number(t)*60+Number(n)}function Pe(e){if(!e)return null;let t=e.match(/^(\d+):(\d+)\s*(AM|PM)$/i);if(!t)return null;let n=Number(t[1])%12;return t[3].toUpperCase()===`PM`&&(n+=12),n*60+Number(t[2])}function Fe(e){m(U,e,!0),m(H,`form`),Ge()}async function Ie(){if(!(!N()||!L())){m(H,`loading`);try{let e=await L()(N(),P());if(!e.length){await ct(`no-slots`);return}m(Ae,e,!0),m(H,`slots`);let t=Pe(xe()),n=e[0],r=1/0;for(let i of e){if(t===null)break;let e=Math.abs(Ne(i.time)-t);e<r&&(r=e,n=i)}Fe(n)}catch{await ct(`error`)}}}c(()=>{if(!N()){ct(`no-date`);return}Ie()});let W=null,Le=null,G=null,Re=null,ze=null,Be=null,Ve=g(``),He=g(``),K=g(!1),Ue=o(()=>!!(B()&&R()));async function We(){return B()?(Le||=A(async()=>{let{loadStripe:e}=await import(`./chunks/lib-Bd4dedte.js`);return{loadStripe:e}},[]).then(({loadStripe:e})=>e(B())),W=await Le,W):null}async function Ge(){if(!(Re||!N()||!R())){m(K,!0);try{await d();let e=await We();if(!e)throw Error(`Stripe failed to load`);let{clientSecret:t,paymentIntentId:n,amountCents:i}=await R()(N(),P());ze=t,Be=n,m(He,`${je(i,we())} ${u(V).holdSuffix}`),G=e.elements({clientSecret:t,appearance:Ee()});let a=G.create(`payment`,{layout:{type:`tabs`,defaultCollapsed:!1},fields:{billingDetails:{address:{country:`auto`,postalCode:`never`}}}}),o=r.$$host,s=(o?.shadowRoot)?.querySelector(`.bf-payment-slot-anchor`);if(!s)throw Error(`payment slot anchor not found`);if(!s.querySelector(`slot[name="payment-mount"]`)){let e=document.createElement(`slot`);e.setAttribute(`name`,`payment-mount`),s.appendChild(e)}let c=document.createElement(`div`);c.slot=`payment-mount`,c.className=`bf-card-element`,o.appendChild(c),a.mount(c),Re=a}catch{m(Ve,u(V).paymentUnavailable,!0)}finally{m(K,!1)}}}let q=g(``),J=g(``),Y=g(``),Ke=g(i({})),qe=g(``),X=g(``),Je=g(``),Ye=g(``),Xe=g(0),Ze=!1,Z=g(0),Q=g(0),$=g(null),Qe=g(`no-date`),$e=ae(new Date),et=o(()=>se(u(Z),u(Q),$e,Se())),tt=o(()=>u(Z)!==$e.getFullYear()||u(Q)!==$e.getMonth()),nt=o(()=>u(Qe)===`no-date`?u(V).pickDateEmpty:u(Qe)===`error`?u(V).errorEmpty:u(V).noSlotsEmpty);function rt(e){return!!(!e.inMonth||e.isPast||e.isClosedWeekday||I()&&u($)!==null&&!u($).has(e.iso))}async function it(){if(!I()){m($,null);return}try{m($,new Set(await I()(P())),!0)}catch{m($,new Set,!0)}}function at(){u(tt)&&(m(Q,u(Q)-1),u(Q)<0&&(m(Q,11),m(Z,u(Z)-1)))}function ot(){m(Q,u(Q)+1),u(Q)>11&&(m(Q,0),m(Z,u(Z)+1))}function st(e){rt(e)||N(e.iso)}async function ct(e){m(H,`empty`),m(Qe,e,!0);let t=N()?new Date(N()):new Date;m(Z,t.getFullYear(),!0),m(Q,t.getMonth(),!0),await it()}function lt(e){return new Date(`${e}T00:00:00`).toLocaleDateString(F(),{weekday:`long`,month:`long`,day:`numeric`})}async function ut(e){if(e.preventDefault(),m(X,``),!u(U)||!N()||!z())return;if(u(Ue)&&(!W||!G||!ze||!Be)){m(X,u(V).paymentNotReady,!0);return}if(m(K,!0),u(Ue)&&!Ze){let e;try{e=await W.confirmPayment({elements:G,confirmParams:{payment_method_data:{billing_details:{name:u(q),email:u(J)||void 0,phone:u(Y)||void 0,address:{postal_code:`00000`}}}},redirect:`if_required`})}catch{m(X,u(V).cardHoldFailed,!0),m(K,!1);return}let{error:t,paymentIntent:n}=e;if(t||n?.status!==`requires_capture`){m(X,t?.message??u(V).cardHoldFailed,!0),m(K,!1);return}Ze=!0}let t=Me(u(U).time),n=Object.fromEntries(Object.entries(u(Ke)).filter(([,e])=>e)),r=await z()({date:N(),startTime:u(U).time,timeDisplay:t,partySize:P(),contactName:u(q),contactEmail:u(J)||void 0,contactPhone:u(Y)||void 0,notes:u(qe)||void 0,customFieldValues:Object.keys(n).length?n:void 0,stripePaymentIntentId:Be??void 0,clerkUserId:window.Clerk?.user?.id||void 0});if(r.ok){m(Je,lt(N()),!0),m(Ye,t,!0),m(Xe,P()),m(H,`confirmed`),ke(`booking-confirmed`,{date:N(),time:t,guests:P()});return}m(X,r.message,!0),m(K,!1),r.status===409&&Ie()}var dt={get date(){return N()},set date(e){N(e),s()},get guests(){return P()},set guests(e=2){P(e),s()},get preferredTime(){return xe()},set preferredTime(e){xe(e),s()},get closedWeekdays(){return Se()},set closedWeekdays(e=[]){Se(e),s()},get customFields(){return Ce()},set customFields(e=[]){Ce(e),s()},get locale(){return F()},set locale(e){F(e),s()},get currency(){return we()},set currency(e=`USD`){we(e),s()},get strings(){return Te()},set strings(e){Te(e),s()},get fetchAvailableDates(){return I()},set fetchAvailableDates(e){I(e),s()},get searchSlots(){return L()},set searchSlots(e){L(e),s()},get createPaymentIntent(){return R()},set createPaymentIntent(e){R(e),s()},get book(){return z()},set book(e){z(e),s()},get stripePublishableKey(){return B()},set stripePublishableKey(e){B(e),s()},get stripeAppearance(){return Ee()},set stripeAppearance(e){Ee(e),s()}},ft=ye(),pt=O(ft),mt=e=>{var t=ce();p(e,t)},ht=e=>{var t=ue(),n=O(t),r=O(n,!0);y(n);var i=h(n,2),o=O(i),s=O(o),c=O(s);y(s);var l=h(s,2),d=O(l),f=h(d,2);y(l),y(o);var m=h(o,2);D(m,20,()=>u(Oe),e=>e,(e,t)=>{var n=le(),r=O(n,!0);y(n),a(()=>E(r,t)),p(e,n)}),y(m);var g=h(m,2);D(g,21,()=>u(et),e=>e.iso,(e,t)=>{var n=j(),r=O(n,!0);y(n),a(e=>{n.disabled=e,E(r,u(t).dayNumber)},[()=>rt(u(t))]),C(`click`,n,()=>st(u(t))),p(e,n)}),y(g),y(i),y(t),a(()=>{E(r,u(nt)),E(c,`${u(De)[u(Q)]??``} ${u(Z)??``}`),d.disabled=!u(tt),ne(d,`aria-label`,u(V).previousMonth),ne(f,`aria-label`,u(V).nextMonth)}),C(`click`,d,at),C(`click`,f,ot),p(e,t)},gt=t=>{var r=M(),i=n(r),o=O(i),s=h(O(o));y(o);var c=h(o,2);D(c,21,()=>u(Ae),e=>e.time,(e,t)=>{var n=de();let r;var i=O(n,!0);y(n),a(e=>{r=b(n,1,`bf-slot svelte-gavyia`,null,r,{"bf-slot-selected":u(U)?.time===u(t).time}),E(i,e)},[()=>Me(u(t).time)]),C(`click`,n,()=>Fe(u(t))),p(e,n)}),y(c),y(i);var d=h(i,2),g=t=>{var n=_e(),r=O(n),i=O(r),o=O(i,!0);y(i);var s=h(i,2),c=h(O(s),2);te(c),y(s),y(r);var d=h(r,2),g=O(d),_=O(g,!0);y(g);var v=h(g,2),b=h(O(v),2);te(b),y(v),y(d);var x=h(d,2),C=O(x),w=O(C,!0);y(C);var T=h(C,2),ie=h(O(T),2);te(ie),y(T),y(x);var ae=h(x,2);D(ae,17,Ce,e=>e.key,(t,n)=>{var r=pe(),i=O(r),o=O(i,!0);y(i);var s=h(i,2),c=O(s),l=O(c),d=O(l,!0);y(l),l.value=l.__value=``;var f=h(l);D(f,16,()=>u(n).options,e=>e,(e,t)=>{var n=fe(),r=O(n,!0);y(n);var i={};a(()=>{E(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),p(e,n)}),y(c),e(2),y(s),y(r),a(()=>{E(o,u(n).label),ne(c,`name`,u(n).key),E(d,u(V).selectOption)}),re(c,()=>u(Ke)[u(n).key],e=>u(Ke)[u(n).key]=e),p(t,r)});var oe=h(ae,2),se=e=>{var t=he(),n=O(t),r=O(n),i=O(r,!0);y(r);var o=h(r,2),s=O(o,!0);y(o),y(n);var c=h(n,4),l=O(c,!0);y(c);var d=h(c,2),m=e=>{var t=me(),n=O(t,!0);y(t),a(()=>E(n,u(Ve))),p(e,t)};f(d,e=>{u(Ve)&&e(m)}),y(t),a(()=>{E(i,u(V).paymentMethod),E(s,u(He)),E(l,u(V).paymentHint)}),p(e,t)};f(oe,e=>{u(Ue)&&e(se)});var k=h(oe,2),A=O(k),ce=O(A,!0);y(A);var le=h(A,2);ee(le),y(k);var j=h(k,2),ue=h(O(j),2),de=O(ue,!0);y(ue),y(j);var M=h(j,2),ve=O(M),ye=e=>{var t=ge();p(e,t)};f(ve,e=>{u(K)&&e(ye)});var be=h(ve);y(M);var N=h(M,2),P=e=>{var t=me(),n=O(t,!0);y(t),a(()=>E(n,u(X))),p(e,t)};f(N,e=>{u(X)&&e(P)}),y(n),a(()=>{E(o,u(V).nameLabel),E(_,u(V).emailLabel),E(w,u(V).phoneLabel),E(ce,u(V).notesLabel),E(de,u(V).cancellationPolicy),M.disabled=u(K),E(be,` ${(u(K)?u(V).processingButton:u(V).confirmButton)??``}`)}),l(`submit`,n,ut),S(c,()=>u(q),e=>m(q,e)),S(b,()=>u(J),e=>m(J,e)),S(ie,()=>u(Y),e=>m(Y,e)),S(le,()=>u(qe),e=>m(qe,e)),p(t,n)};f(d,e=>{u(H)===`form`&&e(g)}),a(()=>E(s,` ${u(V).availableTimes??``}`)),p(t,r)},_t=e=>{var t=ve(),n=h(O(t),2),r=O(n,!0);y(n);var i=h(n,2),o=O(i),s=O(o),c=O(s,!0);y(s);var l=h(s),d=O(l,!0);y(l),y(o);var f=h(o,2),m=O(f),g=O(m,!0);y(m);var _=h(m),ee=O(_,!0);y(_),y(f);var v=h(f,2),b=O(v),x=O(b,!0);y(b);var S=h(b),C=O(S);y(S),y(v),y(i),y(t),a(()=>{E(r,u(V).confirmedTitle),E(c,u(V).dateLabel),E(d,u(Je)),E(g,u(V).timeLabel),E(ee,u(Ye)),E(x,u(V).partySizeLabel),E(C,`${u(Xe)??``} ${(u(Xe)===1?u(V).guestSingular:u(V).guestPlural)??``}`)}),p(e,t)};return f(pt,e=>{u(H)===`loading`?e(mt):u(H)===`empty`?e(ht,1):u(H)===`slots`||u(H)===`form`?e(gt,2):u(H)===`confirmed`&&e(_t,3)}),y(ft),p(t,ft),_(dt)}t([`click`]),customElements.define(`booking-flow`,T(N,{date:{type:`String`},guests:{type:`Number`},preferredTime:{type:`String`},closedWeekdays:{attribute:`closed-weekdays`,type:`Array`},customFields:{type:`Array`},locale:{attribute:`locale`,type:`String`},currency:{attribute:`currency`,type:`String`},strings:{type:`Object`},fetchAvailableDates:{type:`Object`},searchSlots:{type:`Object`},createPaymentIntent:{type:`Object`},book:{type:`Object`},stripePublishableKey:{type:`String`},stripeAppearance:{type:`Object`}},[],[],{mode:`open`}));
|
|
26
|
+
}.bf-confirmed.svelte-gavyia {text-align:center;}.bf-check-circle.svelte-gavyia {display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:9999px;background:var(--bf-accent-bg, #1a1a1a);color:var(--bf-accent-text, #fff);font-size:1.5rem;}.bf-confirmed-title.svelte-gavyia {font-size:1.1rem;}.bf-confirmed-card.svelte-gavyia {max-width:20rem;margin:1.5rem auto 0;border:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.15));border-radius:2px;padding:1.25rem;text-align:left;}.bf-confirmed-row.svelte-gavyia {display:flex;justify-content:space-between;padding:0.6rem 0;border-bottom:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.1));font-size:0.85rem;}.bf-confirmed-row.svelte-gavyia:last-child {border-bottom:none;}.bf-cal.svelte-gavyia {max-width:20rem;margin:1.5rem auto 0;border:1px solid var(--bf-border-color, rgba(0, 0, 0, 0.15));border-radius:2px;padding:1rem;}.bf-cal-header.svelte-gavyia {display:flex;align-items:center;justify-content:space-between;}.bf-cal-month.svelte-gavyia {margin:0;font-size:0.875rem;font-weight:600;}.bf-cal-nav.svelte-gavyia {display:flex;gap:0.25rem;}.bf-cal-nav.svelte-gavyia button:where(.svelte-gavyia) {display:flex;height:28px;width:28px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;cursor:pointer;}.bf-cal-nav.svelte-gavyia button:where(.svelte-gavyia):disabled {cursor:default;opacity:0.3;}.bf-cal-weekdays.svelte-gavyia {display:grid;grid-template-columns:repeat(7, 1fr);margin-top:0.75rem;text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;opacity:0.4;}.bf-cal-grid.svelte-gavyia {display:grid;grid-template-columns:repeat(7, 1fr);row-gap:0.25rem;justify-items:center;margin-top:0.25rem;}.bf-cal-cell.svelte-gavyia {display:flex;height:32px;width:32px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;font-size:0.875rem;cursor:pointer;}.bf-cal-cell.svelte-gavyia:disabled {cursor:default;opacity:0.25;}`};function N(l,w){d(w,!0),S(l,be);let D={pickDateEmpty:`Pick a date to see available times:`,errorEmpty:`Something went wrong checking availability. Pick a date to try again:`,noSlotsEmpty:`No tables available for that date. Pick another date below:`,previousMonth:`Previous month`,nextMonth:`Next month`,availableTimes:`Available Times`,nameLabel:`Name`,emailLabel:`Email`,phoneLabel:`Phone`,selectOption:`Select an option`,paymentMethod:`Payment Method`,holdSuffix:`hold`,paymentHint:`A hold is placed on your card and released when you arrive — you're only charged if you no-show.`,paymentUnavailable:`Payment form unavailable — refresh to try again.`,notesLabel:`Notes`,cancellationPolicy:`I understand a card hold will be placed for this reservation, released when I arrive, and only charged if I don't show up.`,confirmButton:`Confirm Reservation`,processingButton:`Processing…`,paymentNotReady:`Payment form is not ready yet — please wait a moment and try again.`,cardHoldFailed:`Your card hold could not be placed. Please try again.`,confirmedTitle:`You're booked! We look forward to seeing you.`,dateLabel:`Date`,timeLabel:`Time`,partySizeLabel:`Party Size`,guestSingular:`Guest`,guestPlural:`Guests`},N=T(w,`date`,7),P=T(w,`guests`,7,2),xe=T(w,`preferredTime`,7),Se=T(w,`closedWeekdays`,23,()=>[]),Ce=T(w,`customFields`,23,()=>[]),F=T(w,`locale`,7),we=T(w,`currency`,7,`USD`),Te=T(w,`strings`,7),I=T(w,`fetchAvailableDates`,7),L=T(w,`searchSlots`,7),R=T(w,`createPaymentIntent`,7),z=T(w,`book`,7),B=T(w,`stripePublishableKey`,7),Ee=T(w,`stripeAppearance`,7),V=v(()=>({...D,...Te()})),De=v(()=>oe(F())),Oe=v(()=>ie(F()));function ke(e,t){w.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=i(`loading`),Ae=i(m([])),U=i(null);function je(e,t){let n=k(e,t);return new Intl.NumberFormat(F(),{style:`currency`,currency:t,maximumFractionDigits:0}).format(n)}function Me(e){let[t,n]=e.split(`:`),r=Number(t),i=r>=12?`PM`:`AM`;return`${r%12==0?12:r%12}:${n} ${i}`}function Ne(e){let[t,n]=e.split(`:`);return Number(t)*60+Number(n)}function Pe(e){if(!e)return null;let t=e.match(/^(\d+):(\d+)\s*(AM|PM)$/i);if(!t)return null;let n=Number(t[1])%12;return t[3].toUpperCase()===`PM`&&(n+=12),n*60+Number(t[2])}function Fe(e){g(U,e,!0),g(H,`form`),Ge()}async function Ie(){if(!(!N()||!L())){g(H,`loading`);try{let e=await L()(N(),P());if(!e.length){await ct(`no-slots`);return}g(Ae,e,!0),g(H,`slots`);let t=Pe(xe()),n=e[0],r=1/0;for(let i of e){if(t===null)break;let e=Math.abs(Ne(i.time)-t);e<r&&(r=e,n=i)}Fe(n)}catch{await ct(`error`)}}}f(()=>{if(!N()){ct(`no-date`);return}Ie()});let W=null,Le=null,G=null,Re=null,ze=null,Be=null,Ve=i(``),He=i(``),K=i(!1),Ue=v(()=>!!(B()&&R()));async function We(){return B()?(Le||=A(async()=>{let{loadStripe:e}=await import(`./chunks/lib-Bd4dedte.js`);return{loadStripe:e}},[]).then(({loadStripe:e})=>e(B())),W=await Le,W):null}async function Ge(){if(!(Re||!N()||!R())){g(K,!0);try{await r();let e=await We();if(!e)throw Error(`Stripe failed to load`);let{clientSecret:t,paymentIntentId:n,amountCents:i}=await R()(N(),P());ze=t,Be=n,g(He,`${je(i,we())} ${u(V).holdSuffix}`),G=e.elements({clientSecret:t,appearance:Ee()});let a=G.create(`payment`,{layout:{type:`tabs`,defaultCollapsed:!1},fields:{billingDetails:{address:{country:`auto`,postalCode:`never`}}}}),o=w.$$host,s=(o?.shadowRoot)?.querySelector(`.bf-payment-slot-anchor`);if(!s)throw Error(`payment slot anchor not found`);if(!s.querySelector(`slot[name="payment-mount"]`)){let e=document.createElement(`slot`);e.setAttribute(`name`,`payment-mount`),s.appendChild(e)}let c=document.createElement(`div`);c.slot=`payment-mount`,c.className=`bf-card-element`,o.appendChild(c),a.mount(c),Re=a}catch{g(Ve,u(V).paymentUnavailable,!0)}finally{g(K,!1)}}}let q=i(``),J=i(``),Y=i(``),Ke=i(m({})),qe=i(``),X=i(``),Je=i(``),Ye=i(``),Xe=i(0),Ze=!1,Z=i(0),Q=i(0),$=i(null),Qe=i(`no-date`),$e=ae(new Date),et=v(()=>se(u(Z),u(Q),$e,Se())),tt=v(()=>u(Z)!==$e.getFullYear()||u(Q)!==$e.getMonth()),nt=v(()=>u(Qe)===`no-date`?u(V).pickDateEmpty:u(Qe)===`error`?u(V).errorEmpty:u(V).noSlotsEmpty);function rt(e){return!!(!e.inMonth||e.isPast||e.isClosedWeekday||I()&&u($)!==null&&!u($).has(e.iso))}async function it(){if(!I()){g($,null);return}try{g($,new Set(await I()(P())),!0)}catch{g($,new Set,!0)}}function at(){u(tt)&&(g(Q,u(Q)-1),u(Q)<0&&(g(Q,11),g(Z,u(Z)-1)))}function ot(){g(Q,u(Q)+1),u(Q)>11&&(g(Q,0),g(Z,u(Z)+1))}function st(e){rt(e)||N(e.iso)}async function ct(e){g(H,`empty`),g(Qe,e,!0);let t=N()?new Date(N()):new Date;g(Z,t.getFullYear(),!0),g(Q,t.getMonth(),!0),await it()}function lt(e){return new Date(`${e}T00:00:00`).toLocaleDateString(F(),{weekday:`long`,month:`long`,day:`numeric`})}async function ut(e){if(e.preventDefault(),g(X,``),!u(U)||!N()||!z())return;if(u(Ue)&&(!W||!G||!ze||!Be)){g(X,u(V).paymentNotReady,!0);return}if(g(K,!0),u(Ue)&&!Ze){let e;try{e=await W.confirmPayment({elements:G,confirmParams:{payment_method_data:{billing_details:{name:u(q),email:u(J)||void 0,phone:u(Y)||void 0,address:{postal_code:`00000`}}}},redirect:`if_required`})}catch{g(X,u(V).cardHoldFailed,!0),g(K,!1);return}let{error:t,paymentIntent:n}=e;if(t||n?.status!==`requires_capture`){g(X,t?.message??u(V).cardHoldFailed,!0),g(K,!1);return}Ze=!0}let t=Me(u(U).time),n=Object.fromEntries(Object.entries(u(Ke)).filter(([,e])=>e)),r=await z()({date:N(),startTime:u(U).time,timeDisplay:t,partySize:P(),contactName:u(q),contactEmail:u(J)||void 0,contactPhone:u(Y)||void 0,notes:u(qe)||void 0,customFieldValues:Object.keys(n).length?n:void 0,stripePaymentIntentId:Be??void 0,clerkUserId:window.Clerk?.user?.id||void 0});if(r.ok){g(Je,lt(N()),!0),g(Ye,t,!0),g(Xe,P()),g(H,`confirmed`),ke(`booking-confirmed`,{date:N(),time:t,guests:P()});return}g(X,r.message,!0),g(K,!1),r.status===409&&Ie()}var dt={get date(){return N()},set date(e){N(e),E()},get guests(){return P()},set guests(e=2){P(e),E()},get preferredTime(){return xe()},set preferredTime(e){xe(e),E()},get closedWeekdays(){return Se()},set closedWeekdays(e=[]){Se(e),E()},get customFields(){return Ce()},set customFields(e=[]){Ce(e),E()},get locale(){return F()},set locale(e){F(e),E()},get currency(){return we()},set currency(e=`USD`){we(e),E()},get strings(){return Te()},set strings(e){Te(e),E()},get fetchAvailableDates(){return I()},set fetchAvailableDates(e){I(e),E()},get searchSlots(){return L()},set searchSlots(e){L(e),E()},get createPaymentIntent(){return R()},set createPaymentIntent(e){R(e),E()},get book(){return z()},set book(e){z(e),E()},get stripePublishableKey(){return B()},set stripePublishableKey(e){B(e),E()},get stripeAppearance(){return Ee()},set stripeAppearance(e){Ee(e),E()}},ft=ye(),pt=e(ft),mt=e=>{var t=ce();n(e,t)},ht=t=>{var r=ue(),i=e(r),c=e(i,!0);O(i);var l=a(i,2),d=e(l),f=e(d),m=e(f);O(f);var h=a(f,2),g=e(h),_=a(g,2);O(h),O(d);var v=a(d,2);b(v,20,()=>u(Oe),e=>e,(t,r)=>{var i=le(),a=e(i,!0);O(i),o(()=>p(a,r)),n(t,i)}),O(v);var y=a(v,2);b(y,21,()=>u(et),e=>e.iso,(t,r)=>{var i=j(),a=e(i,!0);O(i),o(e=>{i.disabled=e,p(a,u(r).dayNumber)},[()=>rt(u(r))]),s(`click`,i,()=>st(u(r))),n(t,i)}),O(y),O(l),O(r),o(()=>{p(c,u(nt)),p(m,`${u(De)[u(Q)]??``} ${u(Z)??``}`),g.disabled=!u(tt),ne(g,`aria-label`,u(V).previousMonth),ne(_,`aria-label`,u(V).nextMonth)}),s(`click`,g,at),s(`click`,_,ot),n(t,r)},gt=r=>{var i=M(),l=h(i),d=e(l),f=a(e(d));O(d);var m=a(d,2);b(m,21,()=>u(Ae),e=>e.time,(t,r)=>{var i=de();let a;var c=e(i,!0);O(i),o(e=>{a=x(i,1,`bf-slot svelte-gavyia`,null,a,{"bf-slot-selected":u(U)?.time===u(r).time}),p(c,e)},[()=>Me(u(r).time)]),s(`click`,i,()=>Fe(u(r))),n(t,i)}),O(m),O(l);var v=a(l,2),y=r=>{var i=_e(),s=e(i),l=e(s),d=e(l,!0);O(l);var f=a(l,2),m=a(e(f),2);te(m),O(f),O(s);var h=a(s,2),v=e(h),y=e(v,!0);O(v);var x=a(v,2),S=a(e(x),2);te(S),O(x),O(h);var w=a(h,2),T=e(w),E=e(T,!0);O(T);var D=a(T,2),ie=a(e(D),2);te(ie),O(D),O(w);var ae=a(w,2);b(ae,17,Ce,e=>e.key,(t,r)=>{var i=pe(),s=e(i),c=e(s,!0);O(s);var l=a(s,2),d=e(l),f=e(d),m=e(f,!0);O(f),f.value=f.__value=``;var h=a(f);b(h,16,()=>u(r).options,e=>e,(t,r)=>{var i=fe(),a=e(i,!0);O(i);var s={};o(()=>{p(a,r),s!==(s=r)&&(i.value=(i.__value=r)??``)}),n(t,i)}),O(d),ee(2),O(l),O(i),o(()=>{p(c,u(r).label),ne(d,`name`,u(r).key),p(m,u(V).selectOption)}),re(d,()=>u(Ke)[u(r).key],e=>u(Ke)[u(r).key]=e),n(t,i)});var oe=a(ae,2),se=r=>{var i=he(),s=e(i),c=e(s),l=e(c,!0);O(c);var d=a(c,2),f=e(d,!0);O(d),O(s);var m=a(s,4),h=e(m,!0);O(m);var g=a(m,2),_=t=>{var r=me(),i=e(r,!0);O(r),o(()=>p(i,u(Ve))),n(t,r)};t(g,e=>{u(Ve)&&e(_)}),O(i),o(()=>{p(l,u(V).paymentMethod),p(f,u(He)),p(h,u(V).paymentHint)}),n(r,i)};t(oe,e=>{u(Ue)&&e(se)});var k=a(oe,2),A=e(k),ce=e(A,!0);O(A);var le=a(A,2);_(le),O(k);var j=a(k,2),ue=a(e(j),2),de=e(ue,!0);O(ue),O(j);var M=a(j,2),ve=e(M),ye=e=>{var t=ge();n(e,t)};t(ve,e=>{u(K)&&e(ye)});var be=a(ve);O(M);var N=a(M,2),P=t=>{var r=me(),i=e(r,!0);O(r),o(()=>p(i,u(X))),n(t,r)};t(N,e=>{u(X)&&e(P)}),O(i),o(()=>{p(d,u(V).nameLabel),p(y,u(V).emailLabel),p(E,u(V).phoneLabel),p(ce,u(V).notesLabel),p(de,u(V).cancellationPolicy),M.disabled=u(K),p(be,` ${(u(K)?u(V).processingButton:u(V).confirmButton)??``}`)}),c(`submit`,i,ut),C(m,()=>u(q),e=>g(q,e)),C(S,()=>u(J),e=>g(J,e)),C(ie,()=>u(Y),e=>g(Y,e)),C(le,()=>u(qe),e=>g(qe,e)),n(r,i)};t(v,e=>{u(H)===`form`&&e(y)}),o(()=>p(f,` ${u(V).availableTimes??``}`)),n(r,i)},_t=t=>{var r=ve(),i=a(e(r),2),s=e(i,!0);O(i);var c=a(i,2),l=e(c),d=e(l),f=e(d,!0);O(d);var m=a(d),h=e(m,!0);O(m),O(l);var g=a(l,2),_=e(g),v=e(_,!0);O(_);var y=a(_),b=e(y,!0);O(y),O(g);var ee=a(g,2),x=e(ee),S=e(x,!0);O(x);var C=a(x),w=e(C);O(C),O(ee),O(c),O(r),o(()=>{p(s,u(V).confirmedTitle),p(f,u(V).dateLabel),p(h,u(Je)),p(v,u(V).timeLabel),p(b,u(Ye)),p(S,u(V).partySizeLabel),p(w,`${u(Xe)??``} ${(u(Xe)===1?u(V).guestSingular:u(V).guestPlural)??``}`)}),n(t,r)};return t(pt,e=>{u(H)===`loading`?e(mt):u(H)===`empty`?e(ht,1):u(H)===`slots`||u(H)===`form`?e(gt,2):u(H)===`confirmed`&&e(_t,3)}),O(ft),n(l,ft),y(dt)}w([`click`]),customElements.define(`booking-flow`,D(N,{date:{type:`String`},guests:{type:`Number`},preferredTime:{type:`String`},closedWeekdays:{attribute:`closed-weekdays`,type:`Array`},customFields:{type:`Array`},locale:{attribute:`locale`,type:`String`},currency:{attribute:`currency`,type:`String`},strings:{type:`Object`},fetchAvailableDates:{type:`Object`},searchSlots:{type:`Object`},createPaymentIntent:{type:`Object`},book:{type:`Object`},stripePublishableKey:{type:`String`},stripeAppearance:{type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,
|
|
1
|
+
import{B as e,C as t,E as n,H as r,L as i,O as a,P as o,Q as s,T as c,V as l,Y as u,Z as d,b as f,f as p,h as m,n as h,q as g,s as _,t as v,tt as y,x as b}from"./chunks/client-DNa0V682.js";var x=a(`<a class="step done svelte-w2r7w2"><div class="step-num svelte-w2r7w2">✓</div> </a>`),S=a(`<div><div class="step-num svelte-w2r7w2"> </div> </div>`),C=a(`<div class="step-divider svelte-w2r7w2"></div>`),w=a(`<!> <!>`,1),T=a(`<div class="progress-secure svelte-w2r7w2"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg> </div>`),E=a(`<div></div>`),D=a(`<div class="pb-root svelte-w2r7w2"><div class="progress-bar-inner svelte-w2r7w2"><a class="progress-logo svelte-w2r7w2"><img src="/palm.svg" alt="" class="progress-palm svelte-w2r7w2"/> HOTAL</a> <div class="progress-steps svelte-w2r7w2"></div> <!></div></div>`),O={hash:`svelte-w2r7w2`,code:`:host {display:block;}.pb-root.svelte-w2r7w2 {position:sticky;top:0;z-index:100;background:var(--bpb-bg, #f5f2ec);border-bottom:1px solid var(--bpb-border-color, rgba(5, 4, 15, 0.08));height:64px;display:flex;align-items:center;justify-content:center;font-family:inherit;}.progress-bar-inner.svelte-w2r7w2 {width:100%;max-width:1530px;margin:0 auto;padding:0 120px;height:64px;display:flex;align-items:center;justify-content:space-between;position:relative;box-sizing:border-box;}.progress-logo.svelte-w2r7w2 {font-family:inherit;font-size:18px;font-weight:800;color:var(--bpb-text-color, #05040f);letter-spacing:-0.5px;text-decoration:none;display:flex;align-items:center;gap:8px;}.progress-palm.svelte-w2r7w2 {width:20px;height:32px;filter:var(--bpb-logo-filter, brightness(0) saturate(0) opacity(0.7));}.progress-steps.svelte-w2r7w2 {display:flex;align-items:center;position:absolute;left:50%;transform:translateX(-50%);}.step.svelte-w2r7w2 {display:flex;align-items:center;gap:10px;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--bpb-muted-text, rgba(5, 4, 15, 0.3));text-decoration:none;}.step.active.svelte-w2r7w2 {color:var(--bpb-text-color, #05040f);}.step.done.svelte-w2r7w2 {color:var(--bpb-muted-text, rgba(5, 4, 15, 0.4));}a.step.done.svelte-w2r7w2:hover {color:var(--bpb-muted-text, rgba(5, 4, 15, 0.7));}.step-num.svelte-w2r7w2 {width:28px;height:28px;border-radius:50%;border:1.5px solid var(--bpb-step-num-border, rgba(5, 4, 15, 0.2));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;}.step.active.svelte-w2r7w2 .step-num:where(.svelte-w2r7w2) {background:var(--bpb-accent-bg, #05040f);border-color:var(--bpb-accent-bg, #05040f);color:var(--bpb-accent-text, #f5f2ec);}.step.done.svelte-w2r7w2 .step-num:where(.svelte-w2r7w2) {background:var(--bpb-step-done-bg, rgba(5, 4, 15, 0.12));border-color:transparent;color:var(--bpb-step-done-text, rgba(5, 4, 15, 0.5));}.step-divider.svelte-w2r7w2 {width:48px;height:1px;background:var(--bpb-divider-color, rgba(5, 4, 15, 0.12));margin:0 16px;}.progress-secure.svelte-w2r7w2 {display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--bpb-muted-text, rgba(5, 4, 15, 0.4));}`};function k(a,v){s(v,!0),m(a,O);let k=h(v,`steps`,23,()=>[{label:`Tailor`},{label:`Complete`},{label:`Confirm`}]),A=h(v,`activeStep`,7,1),j=h(v,`secureLabel`,7,``),M=h(v,`logoHref`,7,`/`);function N(e){let t=e+1;return t<A()?`done`:t===A()?`active`:`future`}var P={get steps(){return k()},set steps(e=[{label:`Tailor`},{label:`Complete`},{label:`Confirm`}]){k(e),g()},get activeStep(){return A()},set activeStep(e=1){A(e),g()},get secureLabel(){return j()},set secureLabel(e=``){j(e),g()},get logoHref(){return M()},set logoHref(e=`/`){M(e),g()}},F=D(),I=e(F),L=e(I),R=r(L,2);f(R,21,k,b,(a,s,d)=>{let f=u(()=>N(d));var m=w(),h=l(m),g=t=>{var a=x(),l=r(e(a));y(a),i(()=>{_(a,`href`,o(s).href),c(l,` ${o(s).label??``}`)}),n(t,a)},v=t=>{var a=S(),l=e(a),u=e(l,!0);y(l);var m=r(l);y(a),i(()=>{p(a,1,`step ${o(f)??``}`,`svelte-w2r7w2`),c(u,o(f)===`done`?`✓`:d+1),c(m,` ${o(s).label??``}`)}),n(t,a)};t(h,e=>{o(f)===`done`&&o(s).href?e(g):e(v,-1)});var b=r(h,2),T=e=>{var t=C();n(e,t)};t(b,e=>{d<k().length-1&&e(T)}),n(a,m)}),y(R);var z=r(R,2),B=t=>{var a=T(),o=r(e(a));y(a),i(()=>c(o,` ${j()??``}`)),n(t,a)},V=e=>{var t=E();n(e,t)};return t(z,e=>{j()?e(B):e(V,-1)}),y(I),y(F),i(()=>_(L,`href`,M())),n(a,F),d(P)}customElements.define(`booking-progress-bar`,v(k,{steps:{attribute:`steps`,type:`Object`},activeStep:{attribute:`active-step`,type:`Number`},secureLabel:{attribute:`secure-label`,type:`String`},logoHref:{attribute:`logo-href`,type:`String`}},[],[],{mode:`open`}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{B as e,C as t,E as n,H as r,L as i,O as a,P as o,Q as s,T as c,V as l,Y as u,Z as d,b as f,et as p,h as ee,m as te,n as m,q as h,s as g,t as _,tt as v,x as ne}from"./chunks/client-DNa0V682.js";var re=a(`<div class="summary-dates svelte-quqp5i"> </div> <div class="summary-dates svelte-quqp5i"> </div>`,1),ie=a(`<img class="summary-img svelte-quqp5i" loading="lazy"/>`),ae=a(`<div class="summary-img-placeholder svelte-quqp5i"><svg class="summary-img-placeholder-icon svelte-quqp5i" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke-width="1"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" class="svelte-quqp5i"></path></svg></div>`),oe=a(`<div class="summary-room-name svelte-quqp5i"> </div> <div class="summary-room-meta svelte-quqp5i"> </div>`,1),se=a(`<div class="summary-room-meta summary-empty svelte-quqp5i"> </div>`),ce=a(`<div class="summary-line svelte-quqp5i"><span class="summary-line-label svelte-quqp5i"> </span> <span class="summary-line-value svelte-quqp5i"> </span></div>`),le=a(`<div class="summary-extras-item svelte-quqp5i"><span class="svelte-quqp5i"> </span> <span class="svelte-quqp5i"> </span></div>`),ue=a(`<div class="summary-line svelte-quqp5i"><span class="summary-line-label svelte-quqp5i"> </span> <span class="summary-line-value svelte-quqp5i"> </span></div> <div class="summary-extras-detail svelte-quqp5i"></div>`,1),de=a(`<a class="continue-btn svelte-quqp5i"><span class="svelte-quqp5i"> </span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" class="svelte-quqp5i"><line x1="5" y1="12" x2="19" y2="12" class="svelte-quqp5i"></line><polyline points="12 5 19 12 12 19" class="svelte-quqp5i"></polyline></svg></a>`),fe=a(`<div class="bs-root svelte-quqp5i"><div class="summary-card svelte-quqp5i"><div class="summary-header svelte-quqp5i"><div class="summary-gradient svelte-quqp5i"></div> <div class="summary-resort svelte-quqp5i"><img alt="" class="summary-palm svelte-quqp5i"/> <div class="summary-resort-text svelte-quqp5i"><div class="summary-hotal svelte-quqp5i"> </div> <!></div></div></div> <!> <div class="summary-body svelte-quqp5i"><div class="summary-section-label svelte-quqp5i">Your stay</div> <!> <div class="summary-divider svelte-quqp5i"></div> <!> <!> <div class="summary-total-row svelte-quqp5i"><div class="summary-total-label svelte-quqp5i"> </div> <div class="svelte-quqp5i"><div class="summary-total-value svelte-quqp5i"> </div> <div class="summary-total-sub svelte-quqp5i"> </div></div></div></div> <div class="summary-footer svelte-quqp5i"><div class="summary-footer-text svelte-quqp5i"> </div></div></div> <div class="need-help svelte-quqp5i"><div class="need-help-icon svelte-quqp5i"><svg class="need-help-icon-svg svelte-quqp5i" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke-width="1.8"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.5 2 2 0 0 1 3.6 1.32h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 9a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z" class="svelte-quqp5i"></path></svg></div> <div class="need-help-text svelte-quqp5i">Need help with your booking?<br class="svelte-quqp5i"/> <a class="svelte-quqp5i">Speak with our concierge team</a></div></div> <!></div>`),pe={hash:`svelte-quqp5i`,code:`:host {display:block;}:host,
|
|
2
2
|
:host .svelte-quqp5i {box-sizing:border-box;}.bs-root.svelte-quqp5i {font-family:inherit;color:var(--bs-text, #05040f);}.summary-card.svelte-quqp5i {background:var(--bs-bg, #fff);border:1px solid var(--bs-border, rgba(5, 4, 15, 0.08));}.summary-gradient.svelte-quqp5i {height:3px;background:linear-gradient(90deg, rgb(79, 142, 247), rgb(155, 93, 229), rgb(247, 37, 133));margin:-28px -28px 28px;}.summary-header.svelte-quqp5i {padding:28px 28px 24px;border-bottom:1px solid var(--bs-border, rgba(5, 4, 15, 0.06));}.summary-resort.svelte-quqp5i {display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;margin-bottom:6px;text-align:left;}.summary-palm.svelte-quqp5i {height:90px;width:auto;filter:var(--bs-logo-filter, brightness(0) saturate(0) opacity(0.5));}.summary-resort-text.svelte-quqp5i {display:flex;flex-direction:column;gap:4px;text-align:center;}.summary-hotal.svelte-quqp5i {font-family:inherit;font-weight:800;font-size:24px;letter-spacing:-0.3px;color:var(--bs-text, #05040f);line-height:1.2;white-space:nowrap;}.summary-dates.svelte-quqp5i {font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--bs-muted-strong, rgba(5, 4, 15, 0.55));}.summary-img.svelte-quqp5i {width:100%;height:180px;object-fit:cover;display:block;}.summary-img-placeholder.svelte-quqp5i {width:100%;height:180px;background:var(--bs-subtle-bg, rgba(5, 4, 15, 0.04));display:flex;align-items:center;justify-content:center;}.summary-img-placeholder-icon.svelte-quqp5i {stroke:var(--bs-border, rgba(5, 4, 15, 0.12));}.summary-body.svelte-quqp5i {padding:24px 28px;}.summary-section-label.svelte-quqp5i {font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--bs-muted, rgba(5, 4, 15, 0.3));margin-bottom:14px;}.summary-room-name.svelte-quqp5i {font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:18px;font-weight:800;color:var(--bs-text, #05040f);letter-spacing:-0.3px;margin-bottom:4px;}.summary-room-meta.svelte-quqp5i {font-size:13px;color:var(--bs-muted-strong, rgba(5, 4, 15, 0.45));margin-bottom:20px;}.summary-empty.svelte-quqp5i {color:var(--bs-muted, rgba(5, 4, 15, 0.3));}.summary-divider.svelte-quqp5i {height:1px;background:var(--bs-border, rgba(5, 4, 15, 0.06));margin:16px 0;}.summary-line.svelte-quqp5i {display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:16px;}.summary-line-label.svelte-quqp5i {font-size:13px;color:var(--bs-muted-strong, rgba(5, 4, 15, 0.5));}.summary-line-value.svelte-quqp5i {font-size:13px;font-weight:500;color:var(--bs-text, #05040f);text-align:right;white-space:nowrap;}.summary-extras-detail.svelte-quqp5i {margin-top:-4px;margin-bottom:10px;display:flex;flex-direction:column;gap:3px;}.summary-extras-item.svelte-quqp5i {display:flex;justify-content:space-between;font-size:12px;color:var(--bs-muted, rgba(5, 4, 15, 0.4));padding-left:8px;}.summary-total-row.svelte-quqp5i {display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;border-top:1px solid var(--bs-border, rgba(5, 4, 15, 0.1));margin-top:8px;}.summary-total-label.svelte-quqp5i {font-size:13px;font-weight:600;color:var(--bs-text, #05040f);}.summary-total-value.svelte-quqp5i {font-family:inherit;font-size:24px;font-weight:700;color:var(--bs-text, #05040f);letter-spacing:-0.5px;}.summary-total-value.svelte-quqp5i.fade,
|
|
3
3
|
.summary-line-value.svelte-quqp5i.fade {
|
|
4
4
|
animation: svelte-quqp5i-summary-fade-in 0.3s ease forwards;}
|
|
@@ -11,4 +11,4 @@ import{$ as e,B as t,D as n,I as r,J as i,K as a,N as o,S as s,T as c,V as l,X a
|
|
|
11
11
|
opacity: 1;
|
|
12
12
|
transform: translateY(0);
|
|
13
13
|
}
|
|
14
|
-
}.summary-total-sub.svelte-quqp5i {font-size:11px;color:var(--bs-muted, rgba(5, 4, 15, 0.35));text-align:right;margin-top:2px;}.summary-footer.svelte-quqp5i {padding:18px 28px;border-top:1px solid var(--bs-border, rgba(5, 4, 15, 0.06));background:var(--bs-subtle-bg, rgba(5, 4, 15, 0.02));}.summary-footer-text.svelte-quqp5i {font-size:11px;color:var(--bs-muted, rgba(5, 4, 15, 0.35));line-height:1.6;}.need-help.svelte-quqp5i {margin-top:20px;padding:18px 22px;border:1px solid var(--bs-border, rgba(5, 4, 15, 0.08));display:flex;align-items:center;gap:14px;}.need-help-icon.svelte-quqp5i {width:36px;height:36px;border-radius:50%;background:var(--bs-subtle-bg, rgba(5, 4, 15, 0.06));display:flex;align-items:center;justify-content:center;flex-shrink:0;}.need-help-icon-svg.svelte-quqp5i {stroke:var(--bs-muted-strong, rgba(5, 4, 15, 0.5));}.need-help-text.svelte-quqp5i {font-size:13px;color:var(--bs-muted-strong, rgba(5, 4, 15, 0.55));line-height:1.5;}.need-help-text.svelte-quqp5i a:where(.svelte-quqp5i) {color:var(--bs-text, #05040f);font-weight:600;text-decoration:none;border-bottom:1px solid var(--bs-border, rgba(5, 4, 15, 0.2));}.continue-btn.svelte-quqp5i {width:100%;height:52px;background:var(--bs-accent-bg, #05040f);border:none;color:var(--bs-accent-text, #f5f2ec);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity 0.2s;margin-top:20px;}.continue-btn.svelte-quqp5i:hover {opacity:0.75;}`};function
|
|
14
|
+
}.summary-total-sub.svelte-quqp5i {font-size:11px;color:var(--bs-muted, rgba(5, 4, 15, 0.35));text-align:right;margin-top:2px;}.summary-footer.svelte-quqp5i {padding:18px 28px;border-top:1px solid var(--bs-border, rgba(5, 4, 15, 0.06));background:var(--bs-subtle-bg, rgba(5, 4, 15, 0.02));}.summary-footer-text.svelte-quqp5i {font-size:11px;color:var(--bs-muted, rgba(5, 4, 15, 0.35));line-height:1.6;}.need-help.svelte-quqp5i {margin-top:20px;padding:18px 22px;border:1px solid var(--bs-border, rgba(5, 4, 15, 0.08));display:flex;align-items:center;gap:14px;}.need-help-icon.svelte-quqp5i {width:36px;height:36px;border-radius:50%;background:var(--bs-subtle-bg, rgba(5, 4, 15, 0.06));display:flex;align-items:center;justify-content:center;flex-shrink:0;}.need-help-icon-svg.svelte-quqp5i {stroke:var(--bs-muted-strong, rgba(5, 4, 15, 0.5));}.need-help-text.svelte-quqp5i {font-size:13px;color:var(--bs-muted-strong, rgba(5, 4, 15, 0.55));line-height:1.5;}.need-help-text.svelte-quqp5i a:where(.svelte-quqp5i) {color:var(--bs-text, #05040f);font-weight:600;text-decoration:none;border-bottom:1px solid var(--bs-border, rgba(5, 4, 15, 0.2));}.continue-btn.svelte-quqp5i {width:100%;height:52px;background:var(--bs-accent-bg, #05040f);border:none;color:var(--bs-accent-text, #f5f2ec);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity 0.2s;margin-top:20px;}.continue-btn.svelte-quqp5i:hover {opacity:0.75;}`};function y(a,_){s(_,!0),ee(a,pe);let y=m(_,`resortName`,7,`HOTAL`),b=m(_,`logoSrc`,7,`/palm.svg`),x=m(_,`checkIn`,7,``),S=m(_,`checkOut`,7,``),C=m(_,`roomImage`,7,null),w=m(_,`roomName`,7,``),T=m(_,`roomEmptyLabel`,7,`No room selected`),E=m(_,`guests`,7,2),D=m(_,`nightlyRate`,7,0),O=m(_,`currency`,7,`USD`),k=m(_,`totalLabel`,7,`Subtotal`),A=m(_,`showRate`,7,`true`),j=m(_,`extrasLabel`,7,`Tailored experience`),M=m(_,`extrasItems`,23,()=>[]),N=m(_,`continueHref`,7,``),P=m(_,`continueLabelSelected`,7,`Continue — Tailored`),F=m(_,`continueLabelEmpty`,7,`Continue — Untailored`),I=m(_,`needHelpHref`,7,`/contact`);function me(e,t){return!e||!t?0:Math.round((new Date(t).getTime()-new Date(e).getTime())/864e5)}function L(e){return e?new Date(`${e}T00:00:00`).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):``}function R(e,t=0){return e.toLocaleString(`en-US`,{style:`currency`,currency:O(),maximumFractionDigits:t,currencyDisplay:`code`})}let z=u(()=>me(x(),S())),B=u(()=>D()*o(z)),V=u(()=>M().reduce((e,t)=>e+t.price*t.quantity,0)),H=u(()=>o(B)+o(V)),he=u(()=>M().length>0);function U(e,t){return{update(){e.classList.remove(`fade`),e.offsetWidth,e.classList.add(`fade`)}}}var ge={get resortName(){return y()},set resortName(e=`HOTAL`){y(e),h()},get logoSrc(){return b()},set logoSrc(e=`/palm.svg`){b(e),h()},get checkIn(){return x()},set checkIn(e=``){x(e),h()},get checkOut(){return S()},set checkOut(e=``){S(e),h()},get roomImage(){return C()},set roomImage(e=null){C(e),h()},get roomName(){return w()},set roomName(e=``){w(e),h()},get roomEmptyLabel(){return T()},set roomEmptyLabel(e=`No room selected`){T(e),h()},get guests(){return E()},set guests(e=2){E(e),h()},get nightlyRate(){return D()},set nightlyRate(e=0){D(e),h()},get currency(){return O()},set currency(e=`USD`){O(e),h()},get totalLabel(){return k()},set totalLabel(e=`Subtotal`){k(e),h()},get showRate(){return A()},set showRate(e=`true`){A(e),h()},get extrasLabel(){return j()},set extrasLabel(e=`Tailored experience`){j(e),h()},get extrasItems(){return M()},set extrasItems(e=[]){M(e),h()},get continueHref(){return N()},set continueHref(e=``){N(e),h()},get continueLabelSelected(){return P()},set continueLabelSelected(e=`Continue — Tailored`){P(e),h()},get continueLabelEmpty(){return F()},set continueLabelEmpty(e=`Continue — Untailored`){F(e),h()},get needHelpHref(){return I()},set needHelpHref(e=`/contact`){I(e),h()}},W=fe(),G=e(W),K=e(G),_e=r(e(K),2),ve=e(_e),ye=r(ve,2),q=e(ye),be=e(q,!0);v(q);var xe=r(q,2),Se=t=>{var a=re(),s=l(a),u=e(s);v(s);var d=r(s,2),f=e(d);v(d),i((e,t)=>{c(u,`${e??``} – ${t??``}`),c(f,`${o(z)??``} ${o(z)===1?`night`:`nights`}`)},[()=>L(x()),()=>L(S())]),n(t,a)};t(xe,e=>{x()&&S()&&e(Se)}),v(ye),v(_e),v(K);var Ce=r(K,2),we=e=>{var t=ie();i(()=>{g(t,`src`,C()),g(t,`alt`,w())}),n(e,t)},Te=e=>{var t=ae();n(e,t)};t(Ce,e=>{C()?e(we):e(Te,-1)});var J=r(Ce,2),Ee=r(e(J),2),De=t=>{var a=oe(),o=l(a),s=e(o,!0);v(o);var u=r(o,2),d=e(u);v(u),i(()=>{c(s,w()),c(d,`${E()??``} ${E()===1?`guest`:`guests`} · Room rate`)}),n(t,a)},Oe=t=>{var r=se(),a=e(r,!0);v(r),i(()=>c(a,T())),n(t,r)};t(Ee,e=>{w()?e(De):e(Oe,-1)});var ke=r(Ee,4),Ae=t=>{var a=ce(),s=e(a),l=e(s);v(s);var u=r(s,2),d=e(u,!0);v(u),v(a),i((e,t)=>{c(l,`${o(z)??``} ${o(z)===1?`night`:`nights`}${e??``}`),c(d,t)},[()=>A()===`false`?``:` × ${R(D())}`,()=>R(o(B))]),n(t,a)};t(ke,e=>{o(z)>0&&e(Ae)});var je=r(ke,2),Me=t=>{var a=ue(),s=l(a),u=e(s),d=e(u,!0);v(u);var p=r(u,2),ee=e(p,!0);v(p),te(p,(e,t)=>U?.(e,t),()=>o(V)),v(s);var m=r(s,2);f(m,21,M,ne,(t,a)=>{var s=le(),l=e(s),u=e(l);v(l);var d=r(l,2),f=e(d,!0);v(d),v(s),i(e=>{c(u,`${o(a).name??``}${o(a).quantity>1?` ×${o(a).quantity}`:``}`),c(f,e)},[()=>R(o(a).price*o(a).quantity)]),n(t,s)}),v(m),i(e=>{c(d,j()),c(ee,e)},[()=>R(o(V))]),n(t,a)};t(je,e=>{o(V)>0&&e(Me)});var Ne=r(je,2),Y=e(Ne),Pe=e(Y,!0);v(Y);var Fe=r(Y,2),X=e(Fe),Ie=e(X,!0);v(X),te(X,(e,t)=>U?.(e,t),()=>o(H));var Z=r(X,2),Le=e(Z,!0);v(Z),v(Fe),v(Ne),v(J);var Re=r(J,2),ze=e(Re),Be=e(ze);v(ze),v(Re),v(G);var Q=r(G,2),$=r(e(Q),2),Ve=r(e($),3);v($),v(Q);var He=r(Q,2),Ue=t=>{var r=de(),a=e(r),s=e(a,!0);v(a),p(2),v(r),i(()=>{g(r,`href`,N()),c(s,o(he)?P():F())}),n(t,r)};return t(He,e=>{N()&&e(Ue)}),v(W),i(e=>{g(ve,`src`,b()),c(be,y()),c(Pe,k()),c(Ie,e),c(Le,O()),c(Be,`Prices shown in ${O()??``}. Your bank may apply exchange rate fees for international transactions.`),g(Ve,`href`,I())},[()=>o(H)>0?R(o(H)):`—`]),n(a,W),d(ge)}customElements.define(`booking-summary`,_(y,{resortName:{attribute:`resort-name`,type:`String`},logoSrc:{attribute:`logo-src`,type:`String`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},roomImage:{attribute:`room-image`,type:`String`},roomName:{attribute:`room-name`,type:`String`},roomEmptyLabel:{attribute:`room-empty-label`,type:`String`},guests:{attribute:`guests`,type:`Number`},nightlyRate:{attribute:`nightly-rate`,type:`Number`},currency:{attribute:`currency`,type:`String`},totalLabel:{attribute:`total-label`,type:`String`},showRate:{attribute:`show-rate`,type:`String`},extrasLabel:{attribute:`extras-label`,type:`String`},extrasItems:{attribute:`extras-items`,type:`Object`},continueHref:{attribute:`continue-href`,type:`String`},continueLabelSelected:{attribute:`continue-label-selected`,type:`String`},continueLabelEmpty:{attribute:`continue-label-empty`,type:`String`},needHelpHref:{attribute:`need-help-href`,type:`String`}},[],[],{mode:`open`}));
|