@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.
Files changed (45) hide show
  1. package/README.md +18 -1
  2. package/dist/components/ai-chat-widget.js +4 -4
  3. package/dist/components/availability-calendar.js +2 -2
  4. package/dist/components/booking-card.js +2 -2
  5. package/dist/components/booking-checkout.js +2 -2
  6. package/dist/components/booking-confirmed.js +1 -1
  7. package/dist/components/booking-flow.js +2 -2
  8. package/dist/components/booking-progress-bar.js +1 -1
  9. package/dist/components/booking-summary.js +2 -2
  10. package/dist/components/chunks/client-DNa0V682.js +3 -0
  11. package/dist/components/confirmation-card.js +2 -2
  12. package/dist/components/dining-teaser.js +2 -2
  13. package/dist/components/event-contact-form.js +2 -2
  14. package/dist/components/event-inquiries-feed.js +2 -2
  15. package/dist/components/extras-catalogue.js +2 -2
  16. package/dist/components/floor-plan-hero.js +2 -2
  17. package/dist/components/google-reviews.js +2 -2
  18. package/dist/components/instagram-feed.js +2 -2
  19. package/dist/components/island-map.js +1 -1
  20. package/dist/components/live-dining-orders-feed.js +2 -2
  21. package/dist/components/live-golf-bookings-feed.js +2 -2
  22. package/dist/components/live-reservations-feed.js +2 -2
  23. package/dist/components/live-room-bookings-feed.js +2 -2
  24. package/dist/components/live-shop-orders-feed.js +2 -2
  25. package/dist/components/live-spa-bookings-feed.js +2 -2
  26. package/dist/components/menu-section.js +13 -7
  27. package/dist/components/proshop-catalogue.js +2 -2
  28. package/dist/components/reservation-bar.js +2 -2
  29. package/dist/components/reservation-cancel.js +2 -2
  30. package/dist/components/restaurant-order-form.js +2 -2
  31. package/dist/components/room-grid.js +2 -2
  32. package/dist/components/searchable-select.js +2 -2
  33. package/dist/components/service-booking-bar.js +2 -2
  34. package/dist/components/spa-booking-widget.js +207 -207
  35. package/dist/components/stay-search.js +2 -2
  36. package/dist/components/tripadvisor-reviews.js +2 -2
  37. package/dist/components/venue-carousel.js +2 -2
  38. package/dist/hotal-ui.js +7440 -7215
  39. package/dist/index.d.ts +53 -2
  40. package/dist/server/index.d.ts +11 -0
  41. package/dist/server/index.js +34 -0
  42. package/dist/server/menu-section.js +944 -0
  43. package/dist/server/menu-section.meta.js +2 -0
  44. package/package.json +8 -2
  45. package/dist/components/chunks/client-BDk8LqGN.js +0 -3
@@ -1,4 +1,4 @@
1
- import{A as e,B as t,D as n,H as r,I as i,J as a,K as o,L as s,N as c,P as l,S as u,T as d,U as f,V as p,W as m,X as h,Z as g,a as _,b as v,et as y,f as b,g as x,h as S,j as C,n as w,r as T,s as E,t as D,w as O,y as k,z as A}from"./chunks/client-BDk8LqGN.js";import{t as j}from"./chunks/gsap-DWxn8li7.js";var ee=n(`<span class="pc-cat-count svelte-1ir684j"> </span>`),te=n(`<button type="button"> <!></button>`),ne=n(`<div class="pc-card-img svelte-1ir684j"><img loading="lazy" class="svelte-1ir684j"/></div>`),re=n(`<div class="pc-card-desc svelte-1ir684j"> </div>`),ie=n(`<span class="pc-variant-axis-label svelte-1ir684j"> </span>`),ae=n(`<button type="button"> </button>`),oe=n(`<div class="pc-variant-axis svelte-1ir684j" role="group"><!> <div class="pc-variants svelte-1ir684j"></div></div>`),se=n(`<div class="pc-variant-axis svelte-1ir684j" role="group"><!> <div class="pc-variants svelte-1ir684j"></div></div> <!>`,1),ce=n(`<!> <div class="pc-card-body svelte-1ir684j"><div class="pc-card-name svelte-1ir684j"> </div> <!> <!></div>`,1),le=n(`<div><!> <div class="pc-card-footer svelte-1ir684j"><div class="pc-card-price svelte-1ir684j"> </div> <div class="pc-qty svelte-1ir684j"><button type="button" class="pc-qty-btn svelte-1ir684j"><span class="svelte-1ir684j">−</span></button> <div> </div> <button type="button" class="pc-qty-btn svelte-1ir684j"><span class="svelte-1ir684j">+</span></button></div></div></div>`),ue=n(`<div class="pc-cart-bar svelte-1ir684j"><span class="svelte-1ir684j"> </span> <strong class="svelte-1ir684j"> </strong></div>`),de=n(`<div class="pc-root svelte-1ir684j"><div class="pc-cat-tabs svelte-1ir684j"></div> <div class="pc-grid svelte-1ir684j"></div> <!></div>`),fe={hash:`svelte-1ir684j`,code:`:host {display:block;}:host,
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,O as c,P as l,Q as u,R as d,T as f,U as p,V as m,W as h,Y as g,Z as _,a as v,b as y,f as b,g as x,h as S,j as C,n as w,q as T,r as E,s as D,t as O,tt as k,x as A}from"./chunks/client-DNa0V682.js";import{t as j}from"./chunks/gsap-DWxn8li7.js";var ee=c(`<span class="pc-cat-count svelte-1ir684j"> </span>`),te=c(`<button type="button"> <!></button>`),ne=c(`<div class="pc-card-img svelte-1ir684j"><img loading="lazy" class="svelte-1ir684j"/></div>`),re=c(`<div class="pc-card-desc svelte-1ir684j"> </div>`),ie=c(`<span class="pc-variant-axis-label svelte-1ir684j"> </span>`),ae=c(`<button type="button"> </button>`),oe=c(`<div class="pc-variant-axis svelte-1ir684j" role="group"><!> <div class="pc-variants svelte-1ir684j"></div></div>`),se=c(`<div class="pc-variant-axis svelte-1ir684j" role="group"><!> <div class="pc-variants svelte-1ir684j"></div></div> <!>`,1),ce=c(`<!> <div class="pc-card-body svelte-1ir684j"><div class="pc-card-name svelte-1ir684j"> </div> <!> <!></div>`,1),le=c(`<div><!> <div class="pc-card-footer svelte-1ir684j"><div class="pc-card-price svelte-1ir684j"> </div> <div class="pc-qty svelte-1ir684j"><button type="button" class="pc-qty-btn svelte-1ir684j"><span class="svelte-1ir684j">−</span></button> <div> </div> <button type="button" class="pc-qty-btn svelte-1ir684j"><span class="svelte-1ir684j">+</span></button></div></div></div>`),ue=c(`<div class="pc-cart-bar svelte-1ir684j"><span class="svelte-1ir684j"> </span> <strong class="svelte-1ir684j"> </strong></div>`),de=c(`<div class="pc-root svelte-1ir684j"><div class="pc-cat-tabs svelte-1ir684j"></div> <div class="pc-grid svelte-1ir684j"></div> <!></div>`),fe={hash:`svelte-1ir684j`,code:`:host {display:block;}:host,
2
2
  :host .svelte-1ir684j {box-sizing:border-box;}.pc-root.svelte-1ir684j {font-family:inherit;color:var(--pc-text-color, #05040f);}.pc-cat-tabs.svelte-1ir684j {display:flex;gap:0.25rem;flex-wrap:wrap;margin-bottom:1.5rem;}.pc-cat-tab.svelte-1ir684j {height:32px;padding:0 16px;border-radius:9999px;border:1px solid var(--pc-tab-border, rgba(5, 4, 15, 0.12));background:transparent;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:0.3px;color:var(--pc-muted-text, rgba(5, 4, 15, 0.55));cursor:pointer;transition:background 0.15s, color 0.15s, border-color 0.15s;white-space:nowrap;}.pc-cat-tab.svelte-1ir684j:hover {border-color:var(--pc-border-hover-color, rgba(5, 4, 15, 0.25));}.pc-cat-tab.active.svelte-1ir684j {background:var(--pc-accent-bg, #05040f);color:var(--pc-accent-text, #f5f2ec);border-color:var(--pc-accent-bg, #05040f);}.pc-cat-count.svelte-1ir684j {display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 0.25rem;border-radius:9999px;background:var(--pc-count-bg, rgba(5, 4, 15, 0.12));font-size:10px;font-weight:700;margin-left:6px;vertical-align:middle;}.pc-cat-tab.active.svelte-1ir684j .pc-cat-count:where(.svelte-1ir684j) {background:rgba(245, 242, 236, 0.25);}.pc-grid.svelte-1ir684j {display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:16px;}.pc-card.svelte-1ir684j {border:1.5px solid var(--pc-border-color, rgba(5, 4, 15, 0.08));background:var(--pc-card-bg, #fff);display:flex;flex-direction:column;transition:border-color 0.2s, box-shadow 0.2s;}.pc-card.svelte-1ir684j:hover {border-color:var(--pc-border-hover-color, rgba(5, 4, 15, 0.2));}.pc-card.selected.svelte-1ir684j {border-color:var(--pc-accent-bg, #05040f);}.pc-card-media.svelte-1ir684j {display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none;}a.pc-card-media.svelte-1ir684j:hover .pc-card-name:where(.svelte-1ir684j) {text-decoration:underline;}.pc-card-img.svelte-1ir684j {width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--pc-subtle-bg, rgba(5, 4, 15, 0.04));}.pc-card-img.svelte-1ir684j img:where(.svelte-1ir684j) {width:100%;height:100%;object-fit:cover;display:block;}.pc-card-body.svelte-1ir684j {padding:16px 16px 0;flex:1;display:flex;flex-direction:column;gap:6px;}.pc-card-name.svelte-1ir684j {font-size:15px;font-weight:700;letter-spacing:-0.2px;color:var(--pc-text-color, #05040f);line-height:1.25;}.pc-card-desc.svelte-1ir684j {font-size:12px;color:var(--pc-muted-text, rgba(5, 4, 15, 0.5));line-height:1.5;}.pc-variant-axis.svelte-1ir684j {display:flex;flex-direction:column;gap:4px;}.pc-variant-axis-label.svelte-1ir684j {font-size:10px;font-weight:700;letter-spacing:0.4px;text-transform:uppercase;color:var(--pc-muted-text, rgba(5, 4, 15, 0.5));}.pc-variants.svelte-1ir684j {display:flex;flex-wrap:wrap;gap:6px;}.pc-variant-pill.svelte-1ir684j {height:28px;padding:0 12px;border-radius:9999px;border:1px solid var(--pc-border-color, rgba(5, 4, 15, 0.18));background:transparent;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:0.2px;color:var(--pc-text-color, #05040f);cursor:pointer;transition:background 0.15s, color 0.15s, border-color 0.15s;}.pc-variant-pill.svelte-1ir684j:hover {border-color:var(--pc-border-hover-color, rgba(5, 4, 15, 0.35));}.pc-variant-pill.active.svelte-1ir684j {background:var(--pc-accent-bg, #05040f);color:var(--pc-accent-text, #f5f2ec);border-color:var(--pc-accent-bg, #05040f);}.pc-card-footer.svelte-1ir684j {display:flex;align-items:center;justify-content:space-between;padding:12px 16px 16px;margin-top:auto;}.pc-card-price.svelte-1ir684j {font-size:14px;font-weight:600;color:var(--pc-text-color, #05040f);}.pc-qty.svelte-1ir684j {display:flex;align-items:center;gap:8px;}.pc-qty-btn.svelte-1ir684j {width:28px;height:28px;border:1.5px solid var(--pc-border-color, rgba(5, 4, 15, 0.18));border-radius:50%;background:none;font-family:inherit;font-size:14px;color:var(--pc-text-color, #05040f);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;transition:color 0.25s, border-color 0.25s;}.pc-qty-btn.svelte-1ir684j::before {content:'';position:absolute;inset:0;border-radius:50%;background:var(--pc-accent-hover-bg, #1a1a18);transform:scale(0);transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);z-index:0;}.pc-qty-btn.svelte-1ir684j:hover::before {transform:scale(1);}.pc-qty-btn.svelte-1ir684j:hover {color:var(--pc-accent-text, #f5f2ec);border-color:var(--pc-accent-hover-bg, #1a1a18);}.pc-qty-btn.svelte-1ir684j span:where(.svelte-1ir684j) {position:relative;z-index:2;}.pc-qty-val.svelte-1ir684j {width:16px;text-align:center;font-size:13px;font-weight:600;color:var(--pc-text-color, #05040f);user-select:none;}.pc-qty-val.pop.svelte-1ir684j {
3
3
  animation: svelte-1ir684j-pc-qty-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}
4
4
  @keyframes svelte-1ir684j-pc-qty-pop {
@@ -17,4 +17,4 @@ import{A as e,B as t,D as n,H as r,I as i,J as a,K as o,L as s,N as c,P as l,S a
17
17
  .pc-qty-val.svelte-1ir684j,
18
18
  .pc-card.svelte-1ir684j {transition:none;
19
19
  animation: none;}
20
- }`};function M(e,n){g(n,!0),S(e,fe);let D=w(n,`items`,23,()=>[]),M=w(n,`currency`,7,`USD`),N=w(n,`categoryOrder`,7),P=w(n,`categoryLabels`,7),F=w(n,`initial`,23,()=>[]),I=w(n,`showAllTab`,7,!1),L=w(n,`allTabLabel`,7,`All`),R=`__pc_all__`;function pe(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let z=m(r({}));s(()=>{f(z,Object.fromEntries(F().filter(e=>e.quantity>0).map(e=>[String(e.id),e.quantity])),!0)});let B=`More`,V=a(()=>{let e=new Set,t=[];for(let n of D()){let r=n.category||B;e.has(r)||(e.add(r),t.push(r))}let n=N()?.length?[...N().filter(t=>e.has(t)),...t.filter(e=>!N().includes(e))]:t;return I()?[R,...n]:n});function me(e){return e===R?L():P()?.[e]??e}let H=m(!1),U=m(``),W=m(``);s(()=>{!c(H)&&c(V).length&&(f(U,c(V)[0],!0),f(W,c(V)[0],!0))});let he=a(()=>{let e={};for(let t of D())(e[t.category||B]??=[]).push(t);return e}),ge=a(()=>{let e=c(U)||c(V)[0]||``;return e===R?D():c(he)[e]??[]}),G=m(void 0);function _e(e){e||!c(G)||j.fromTo(c(G).children,{opacity:0,y:16},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:Math.min(.03,.45/Math.max(c(G).children.length,1))})}let ve=!1;s(()=>{if(ve||!c(G)||!c(ge).length)return;ve=!0;let e=typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;l().then(()=>_e(e))});function ye(e){if(f(H,!0),e===c(W))return;if(f(W,e,!0),typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||!c(G)){f(U,e,!0);return}let t=c(G).children;j.killTweensOf(t),j.to(t,{opacity:0,y:-12,duration:.2,ease:`power1.in`,stagger:Math.min(.015,.25/Math.max(t.length,1)),onComplete:async()=>{f(U,e,!0),await l(),_e(!1)}})}let K=a(()=>{let e=[];for(let t of D())if(t.variants?.length)for(let n of t.variants){let r=n.option2?`${n.option1} — ${n.option2}`:n.option1;e.push({id:n.id,name:`${t.name} — ${r}`,price:n.price,category:t.category})}else e.push({id:t.id,name:t.name,price:t.price,category:t.category});return e}),be=m(r({}));function q(e){if(!e.variants?.length)return;let t=c(be)[e.id];return e.variants.find(e=>e.id===t)??e.variants[0]}function xe(e){return q(e)?.id??e.id}function Se(e){let t=q(e);return t?t.price:e.price}function Ce(e){return q(e)?.image??e.image}function we(e,t){let n=new Set,r=[];for(let i of e){let e=i[t];e&&!n.has(e)&&(n.add(e),r.push(e))}return r}function Te(e,t,n){if(!e.variants?.length)return;let r=q(e),i=t===`option1`?r?.option2:r?.option1,a=e.variants.find(e=>t===`option1`?e.option1===n&&e.option2===i:e.option2===n&&e.option1===i),o=e.variants.find(e=>e[t]===n),s=a??o;s&&(c(be)[e.id]=s.id)}let J=a(()=>c(K).filter(e=>(c(z)[e.id]??0)>0).map(e=>({id:e.id,name:e.name,price:e.price??0,quantity:c(z)[e.id]}))),Y=a(()=>c(J).reduce((e,t)=>e+t.quantity,0)),Ee=a(()=>c(J).reduce((e,t)=>e+t.price*t.quantity,0));s(()=>{pe(`cart-change`,{items:c(J),total:c(Ee)})});function De(e){return(e===R?c(K):c(K).filter(t=>(t.category||B)===e)).reduce((e,t)=>e+(c(z)[t.id]??0),0)}function Oe(e,t){c(z)[e]=Math.max(0,Math.min(t,99))}function ke(e){e.animate([{transform:`scale(1)`,offset:0},{transform:`scale(0.82)`,offset:.15},{transform:`scale(1.1)`,offset:.55},{transform:`scale(1)`,offset:1}],{duration:420,easing:`ease`})}let X=m(null);function Ae(e){f(X,null),queueMicrotask(()=>f(X,e,!0))}function je(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:M(),minimumFractionDigits:0,currencyDisplay:`code`})}var Me={get items(){return D()},set items(e=[]){D(e),o()},get currency(){return M()},set currency(e=`USD`){M(e),o()},get categoryOrder(){return N()},set categoryOrder(e){N(e),o()},get categoryLabels(){return P()},set categoryLabels(e){P(e),o()},get initial(){return F()},set initial(e=[]){F(e),o()},get showAllTab(){return I()},set showAllTab(e=!1){I(e),o()},get allTabLabel(){return L()},set allTabLabel(e=`All`){L(e),o()}},Z=de(),Q=A(Z);k(Q,21,()=>c(V),v,(e,t)=>{var n=te();let r;var o=A(n),s=p(o),l=e=>{var n=ee(),r=A(n,!0);y(n),i(e=>O(r,e),[()=>De(c(t))]),d(e,n)},f=a(()=>De(c(t)));u(s,e=>{c(f)&&e(l)}),y(n),i(e=>{r=b(n,1,`pc-cat-tab svelte-1ir684j`,null,r,{active:c(t)===c(W)}),O(o,`${e??``} `)},[()=>me(c(t))]),C(`click`,n,()=>ye(c(t))),d(e,n)}),y(Q);var $=p(Q,2);k($,21,()=>c(ge),e=>e.id,(e,n)=>{let r=a(()=>xe(c(n)));var o=le();let s;var l=A(o);x(l,()=>c(n).href?`a`:`div`,!1,(e,r)=>{_(e,()=>({class:`pc-card-media`,...c(n).href?{href:c(n).href}:{}}),void 0,void 0,void 0,`svelte-1ir684j`);var o=ce(),s=t(o),l=e=>{var t=ne(),r=A(t);y(t),i(e=>{E(r,`src`,e),E(r,`alt`,c(n).name)},[()=>Ce(c(n))]),d(e,t)},f=a(()=>Ce(c(n)));u(s,e=>{c(f)&&e(l)});var m=p(s,2),h=A(m),g=A(h,!0);y(h);var x=p(h,2),S=e=>{var t=re(),r=A(t,!0);y(t),i(()=>O(r,c(n).description)),d(e,t)};u(x,e=>{c(n).description&&e(S)});var w=p(x,2),T=e=>{let r=a(()=>c(n).variants),o=a(()=>q(c(n))),s=a(()=>we(c(r),`option1`)),l=a(()=>we(c(r),`option2`));var f=se(),m=t(f),h=A(m),g=e=>{var t=ie(),r=A(t,!0);y(t),i(()=>O(r,c(n).variantAxisLabels[0])),d(e,t)};u(h,e=>{c(n).variantAxisLabels?.[0]&&e(g)});var _=p(h,2);k(_,21,()=>c(s),v,(e,t)=>{var r=ae();let a;var s=A(r,!0);y(r),i(()=>{a=b(r,1,`pc-variant-pill svelte-1ir684j`,null,a,{active:c(o)?.option1===c(t)}),O(s,c(t))}),C(`click`,r,e=>{e.preventDefault(),Te(c(n),`option1`,c(t))}),d(e,r)}),y(_),y(m);var x=p(m,2),S=e=>{var t=oe(),r=A(t),a=e=>{var t=ie(),r=A(t,!0);y(t),i(()=>O(r,c(n).variantAxisLabels[1])),d(e,t)};u(r,e=>{c(n).variantAxisLabels?.[1]&&e(a)});var s=p(r,2);k(s,21,()=>c(l),v,(e,t)=>{var r=ae();let a;var s=A(r,!0);y(r),i(()=>{a=b(r,1,`pc-variant-pill svelte-1ir684j`,null,a,{active:c(o)?.option2===c(t)}),O(s,c(t))}),C(`click`,r,e=>{e.preventDefault(),Te(c(n),`option2`,c(t))}),d(e,r)}),y(s),y(t),i(()=>E(t,`aria-label`,c(n).variantAxisLabels?.[1]??`${c(n).name} options, second axis`)),d(e,t)};u(x,e=>{c(l).length&&e(S)}),i(()=>E(m,`aria-label`,c(n).variantAxisLabels?.[0]??`${c(n).name} options`)),d(e,f)};u(w,e=>{c(n).variants?.length&&e(T)}),y(m),i(()=>O(g,c(n).name)),d(r,o)});var f=p(l,2),m=A(f),h=A(m,!0);y(m);var g=p(m,2),S=A(g),w=p(S,2);let T;var D=A(w,!0);y(w);var j=p(w,2);y(g),y(f),y(o),i(e=>{s=b(o,1,`pc-card svelte-1ir684j`,null,s,{selected:(c(z)[c(r)]??0)>0}),O(h,e),E(S,`aria-label`,`Remove one ${c(n).name}`),T=b(w,1,`pc-qty-val svelte-1ir684j`,null,T,{pop:c(X)===c(r)}),O(D,c(z)[c(r)]??0),E(j,`aria-label`,`Add one ${c(n).name}`)},[()=>Se(c(n))===null?`—`:je(Se(c(n)))]),C(`click`,S,e=>{ke(e.currentTarget),Oe(c(r),(c(z)[c(r)]??0)-1)}),C(`click`,j,e=>{ke(e.currentTarget),Oe(c(r),(c(z)[c(r)]??0)+1),Ae(c(r))}),d(e,o)}),y($),T($,e=>f(G,e),()=>c(G));var Ne=p($,2),Pe=e=>{var t=ue(),n=A(t),r=A(n);y(n);var a=p(n,2),o=A(a,!0);y(a),y(t),i(e=>{O(r,`${c(Y)??``} item${c(Y)===1?``:`s`}`),O(o,e)},[()=>je(c(Ee))]),d(e,t)};return u(Ne,e=>{c(Y)>0&&e(Pe)}),y(Z),d(e,Z),h(Me)}e([`click`]),customElements.define(`proshop-catalogue`,D(M,{items:{attribute:`items`,type:`Object`},currency:{attribute:`currency`,type:`String`},categoryOrder:{attribute:`category-order`,type:`Object`},categoryLabels:{attribute:`category-labels`,type:`Object`},initial:{attribute:`initial`,type:`Object`},showAllTab:{attribute:`show-all-tab`,type:`Boolean`},allTabLabel:{attribute:`all-tab-label`,type:`String`}},[],[],{mode:`open`}));
20
+ }`};function M(c,C){u(C,!0),S(c,fe);let O=w(C,`items`,23,()=>[]),M=w(C,`currency`,7,`USD`),N=w(C,`categoryOrder`,7),P=w(C,`categoryLabels`,7),F=w(C,`initial`,23,()=>[]),I=w(C,`showAllTab`,7,!1),L=w(C,`allTabLabel`,7,`All`),R=`__pc_all__`;function pe(e,t){C.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let z=i(p({}));d(()=>{h(z,Object.fromEntries(F().filter(e=>e.quantity>0).map(e=>[String(e.id),e.quantity])),!0)});let B=`More`,V=g(()=>{let e=new Set,t=[];for(let n of O()){let r=n.category||B;e.has(r)||(e.add(r),t.push(r))}let n=N()?.length?[...N().filter(t=>e.has(t)),...t.filter(e=>!N().includes(e))]:t;return I()?[R,...n]:n});function me(e){return e===R?L():P()?.[e]??e}let H=i(!1),U=i(``),W=i(``);d(()=>{!l(H)&&l(V).length&&(h(U,l(V)[0],!0),h(W,l(V)[0],!0))});let he=g(()=>{let e={};for(let t of O())(e[t.category||B]??=[]).push(t);return e}),ge=g(()=>{let e=l(U)||l(V)[0]||``;return e===R?O():l(he)[e]??[]}),G=i(void 0);function _e(e){e||!l(G)||j.fromTo(l(G).children,{opacity:0,y:16},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:Math.min(.03,.45/Math.max(l(G).children.length,1))})}let ve=!1;d(()=>{if(ve||!l(G)||!l(ge).length)return;ve=!0;let e=typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;r().then(()=>_e(e))});function ye(e){if(h(H,!0),e===l(W))return;if(h(W,e,!0),typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||!l(G)){h(U,e,!0);return}let t=l(G).children;j.killTweensOf(t),j.to(t,{opacity:0,y:-12,duration:.2,ease:`power1.in`,stagger:Math.min(.015,.25/Math.max(t.length,1)),onComplete:async()=>{h(U,e,!0),await r(),_e(!1)}})}let K=g(()=>{let e=[];for(let t of O())if(t.variants?.length)for(let n of t.variants){let r=n.option2?`${n.option1} — ${n.option2}`:n.option1;e.push({id:n.id,name:`${t.name} — ${r}`,price:n.price,category:t.category})}else e.push({id:t.id,name:t.name,price:t.price,category:t.category});return e}),be=i(p({}));function q(e){if(!e.variants?.length)return;let t=l(be)[e.id];return e.variants.find(e=>e.id===t)??e.variants[0]}function xe(e){return q(e)?.id??e.id}function Se(e){let t=q(e);return t?t.price:e.price}function Ce(e){return q(e)?.image??e.image}function we(e,t){let n=new Set,r=[];for(let i of e){let e=i[t];e&&!n.has(e)&&(n.add(e),r.push(e))}return r}function Te(e,t,n){if(!e.variants?.length)return;let r=q(e),i=t===`option1`?r?.option2:r?.option1,a=e.variants.find(e=>t===`option1`?e.option1===n&&e.option2===i:e.option2===n&&e.option1===i),o=e.variants.find(e=>e[t]===n),s=a??o;s&&(l(be)[e.id]=s.id)}let J=g(()=>l(K).filter(e=>(l(z)[e.id]??0)>0).map(e=>({id:e.id,name:e.name,price:e.price??0,quantity:l(z)[e.id]}))),Y=g(()=>l(J).reduce((e,t)=>e+t.quantity,0)),Ee=g(()=>l(J).reduce((e,t)=>e+t.price*t.quantity,0));d(()=>{pe(`cart-change`,{items:l(J),total:l(Ee)})});function De(e){return(e===R?l(K):l(K).filter(t=>(t.category||B)===e)).reduce((e,t)=>e+(l(z)[t.id]??0),0)}function Oe(e,t){l(z)[e]=Math.max(0,Math.min(t,99))}function ke(e){e.animate([{transform:`scale(1)`,offset:0},{transform:`scale(0.82)`,offset:.15},{transform:`scale(1.1)`,offset:.55},{transform:`scale(1)`,offset:1}],{duration:420,easing:`ease`})}let X=i(null);function Ae(e){h(X,null),queueMicrotask(()=>h(X,e,!0))}function je(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:M(),minimumFractionDigits:0,currencyDisplay:`code`})}var Me={get items(){return O()},set items(e=[]){O(e),T()},get currency(){return M()},set currency(e=`USD`){M(e),T()},get categoryOrder(){return N()},set categoryOrder(e){N(e),T()},get categoryLabels(){return P()},set categoryLabels(e){P(e),T()},get initial(){return F()},set initial(e=[]){F(e),T()},get showAllTab(){return I()},set showAllTab(e=!1){I(e),T()},get allTabLabel(){return L()},set allTabLabel(e=`All`){L(e),T()}},Z=de(),Q=e(Z);y(Q,21,()=>l(V),A,(r,i)=>{var c=te();let u;var d=e(c),p=a(d),m=t=>{var r=ee(),a=e(r,!0);k(r),o(e=>f(a,e),[()=>De(l(i))]),n(t,r)},h=g(()=>De(l(i)));t(p,e=>{l(h)&&e(m)}),k(c),o(e=>{u=b(c,1,`pc-cat-tab svelte-1ir684j`,null,u,{active:l(i)===l(W)}),f(d,`${e??``} `)},[()=>me(l(i))]),s(`click`,c,()=>ye(l(i))),n(r,c)}),k(Q);var $=a(Q,2);y($,21,()=>l(ge),e=>e.id,(r,i)=>{let c=g(()=>xe(l(i)));var u=le();let d;var p=e(u);x(p,()=>l(i).href?`a`:`div`,!1,(r,c)=>{v(r,()=>({class:`pc-card-media`,...l(i).href?{href:l(i).href}:{}}),void 0,void 0,void 0,`svelte-1ir684j`);var u=ce(),d=m(u),p=t=>{var r=ne(),a=e(r);k(r),o(e=>{D(a,`src`,e),D(a,`alt`,l(i).name)},[()=>Ce(l(i))]),n(t,r)},h=g(()=>Ce(l(i)));t(d,e=>{l(h)&&e(p)});var _=a(d,2),x=e(_),S=e(x,!0);k(x);var C=a(x,2),w=t=>{var r=re(),a=e(r,!0);k(r),o(()=>f(a,l(i).description)),n(t,r)};t(C,e=>{l(i).description&&e(w)});var T=a(C,2),E=r=>{let c=g(()=>l(i).variants),u=g(()=>q(l(i))),d=g(()=>we(l(c),`option1`)),p=g(()=>we(l(c),`option2`));var h=se(),_=m(h),v=e(_),x=t=>{var r=ie(),a=e(r,!0);k(r),o(()=>f(a,l(i).variantAxisLabels[0])),n(t,r)};t(v,e=>{l(i).variantAxisLabels?.[0]&&e(x)});var S=a(v,2);y(S,21,()=>l(d),A,(t,r)=>{var a=ae();let c;var d=e(a,!0);k(a),o(()=>{c=b(a,1,`pc-variant-pill svelte-1ir684j`,null,c,{active:l(u)?.option1===l(r)}),f(d,l(r))}),s(`click`,a,e=>{e.preventDefault(),Te(l(i),`option1`,l(r))}),n(t,a)}),k(S),k(_);var C=a(_,2),w=r=>{var c=oe(),d=e(c),m=t=>{var r=ie(),a=e(r,!0);k(r),o(()=>f(a,l(i).variantAxisLabels[1])),n(t,r)};t(d,e=>{l(i).variantAxisLabels?.[1]&&e(m)});var h=a(d,2);y(h,21,()=>l(p),A,(t,r)=>{var a=ae();let c;var d=e(a,!0);k(a),o(()=>{c=b(a,1,`pc-variant-pill svelte-1ir684j`,null,c,{active:l(u)?.option2===l(r)}),f(d,l(r))}),s(`click`,a,e=>{e.preventDefault(),Te(l(i),`option2`,l(r))}),n(t,a)}),k(h),k(c),o(()=>D(c,`aria-label`,l(i).variantAxisLabels?.[1]??`${l(i).name} options, second axis`)),n(r,c)};t(C,e=>{l(p).length&&e(w)}),o(()=>D(_,`aria-label`,l(i).variantAxisLabels?.[0]??`${l(i).name} options`)),n(r,h)};t(T,e=>{l(i).variants?.length&&e(E)}),k(_),o(()=>f(S,l(i).name)),n(c,u)});var h=a(p,2),_=e(h),S=e(_,!0);k(_);var C=a(_,2),w=e(C),T=a(w,2);let E;var O=e(T,!0);k(T);var j=a(T,2);k(C),k(h),k(u),o(e=>{d=b(u,1,`pc-card svelte-1ir684j`,null,d,{selected:(l(z)[l(c)]??0)>0}),f(S,e),D(w,`aria-label`,`Remove one ${l(i).name}`),E=b(T,1,`pc-qty-val svelte-1ir684j`,null,E,{pop:l(X)===l(c)}),f(O,l(z)[l(c)]??0),D(j,`aria-label`,`Add one ${l(i).name}`)},[()=>Se(l(i))===null?`—`:je(Se(l(i)))]),s(`click`,w,e=>{ke(e.currentTarget),Oe(l(c),(l(z)[l(c)]??0)-1)}),s(`click`,j,e=>{ke(e.currentTarget),Oe(l(c),(l(z)[l(c)]??0)+1),Ae(l(c))}),n(r,u)}),k($),E($,e=>h(G,e),()=>l(G));var Ne=a($,2),Pe=t=>{var r=ue(),i=e(r),s=e(i);k(i);var c=a(i,2),u=e(c,!0);k(c),k(r),o(e=>{f(s,`${l(Y)??``} item${l(Y)===1?``:`s`}`),f(u,e)},[()=>je(l(Ee))]),n(t,r)};return t(Ne,e=>{l(Y)>0&&e(Pe)}),k(Z),n(c,Z),_(Me)}C([`click`]),customElements.define(`proshop-catalogue`,O(M,{items:{attribute:`items`,type:`Object`},currency:{attribute:`currency`,type:`String`},categoryOrder:{attribute:`category-order`,type:`Object`},categoryLabels:{attribute:`category-labels`,type:`Object`},initial:{attribute:`initial`,type:`Object`},showAllTab:{attribute:`show-all-tab`,type:`Boolean`},allTabLabel:{attribute:`all-tab-label`,type:`String`}},[],[],{mode:`open`}));
@@ -1,5 +1,5 @@
1
- import{A as e,B 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 ee,T as l,U as u,V as d,W as f,X as te,Z as ne,et as p,f as re,h as ie,j as m,n as h,r as g,s as _,t as ae,w as v,y,z as b}from"./chunks/client-BDk8LqGN.js";import{a as oe,i as se,n as ce,r as le,t as ue}from"./chunks/floating-ui.dom-DY3dGoEq.js";import{a as de,i as fe,n as pe,o as me,r as he,s as ge,t as _e}from"./chunks/calendar-B8eNjUm2.js";var ve=n(`<a class="rb-reserve svelte-gp9ujg"> </a>`),ye=n(`<span> </span>`),be=n(`<button type="button"> </button>`),xe=n(`<li role="presentation" class="svelte-gp9ujg"><button type="button" role="option" class="svelte-gp9ujg"> </button></li>`),Se=n(`<div class="rb-bar svelte-gp9ujg"><button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <!></div> <div popover="" class="rb-panel rb-panel-date svelte-gp9ujg"><div class="rb-cal-header svelte-gp9ujg"><p class="rb-cal-month svelte-gp9ujg"> </p> <div class="rb-cal-nav svelte-gp9ujg"><button type="button" class="svelte-gp9ujg">‹</button> <button type="button" class="svelte-gp9ujg">›</button></div></div> <div class="rb-cal-weekdays svelte-gp9ujg"></div> <div class="rb-cal-grid svelte-gp9ujg"></div></div> <ul popover="" data-match-trigger-width="" data-lenis-prevent="" role="listbox" class="rb-panel rb-panel-list svelte-gp9ujg"></ul> <ul popover="" data-match-trigger-width="" data-lenis-prevent="" role="listbox" class="rb-panel rb-panel-list svelte-gp9ujg"></ul>`,1),Ce={hash:`svelte-gp9ujg`,code:`.rb-bar.svelte-gp9ujg {display:flex;width:100%;flex-direction:column;align-items:stretch;overflow:hidden;border-radius:var(--rb-radius, 2px);border:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.25));background:var(--rb-bar-bg, rgba(0, 0, 0, 0.3));backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);}\r
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,V as ee,W as p,Y as m,Z as te,b as h,f as ne,h as re,j as g,n as _,q as v,r as y,s as b,t as ie,tt as x}from"./chunks/client-DNa0V682.js";import{a as ae,i as oe,n as se,r as ce,t as le}from"./chunks/floating-ui.dom-DY3dGoEq.js";import{a as ue,i as de,n as fe,o as pe,r as me,s as he,t as ge}from"./chunks/calendar-B8eNjUm2.js";var _e=s(`<a class="rb-reserve svelte-gp9ujg"> </a>`),ve=s(`<span> </span>`),ye=s(`<button type="button"> </button>`),be=s(`<li role="presentation" class="svelte-gp9ujg"><button type="button" role="option" class="svelte-gp9ujg"> </button></li>`),xe=s(`<div class="rb-bar svelte-gp9ujg"><button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <button type="button" class="rb-trigger svelte-gp9ujg" aria-haspopup="true"><span class="rb-trigger-label svelte-gp9ujg"> </span> <span class="rb-trigger-value svelte-gp9ujg"> </span></button> <!></div> <div popover="" class="rb-panel rb-panel-date svelte-gp9ujg"><div class="rb-cal-header svelte-gp9ujg"><p class="rb-cal-month svelte-gp9ujg"> </p> <div class="rb-cal-nav svelte-gp9ujg"><button type="button" class="svelte-gp9ujg">‹</button> <button type="button" class="svelte-gp9ujg">›</button></div></div> <div class="rb-cal-weekdays svelte-gp9ujg"></div> <div class="rb-cal-grid svelte-gp9ujg"></div></div> <ul popover="" data-match-trigger-width="" data-lenis-prevent="" role="listbox" class="rb-panel rb-panel-list svelte-gp9ujg"></ul> <ul popover="" data-match-trigger-width="" data-lenis-prevent="" role="listbox" class="rb-panel rb-panel-list svelte-gp9ujg"></ul>`,1),Se={hash:`svelte-gp9ujg`,code:`.rb-bar.svelte-gp9ujg {display:flex;width:100%;flex-direction:column;align-items:stretch;overflow:hidden;border-radius:var(--rb-radius, 2px);border:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.25));background:var(--rb-bar-bg, rgba(0, 0, 0, 0.3));backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);}\r
2
2
  @media (min-width: 640px) {.rb-bar.svelte-gp9ujg {flex-direction:row;}\r
3
3
  }.rb-trigger.svelte-gp9ujg {display:flex;flex:1;cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:0.75rem 1.5rem;text-align:left;background:transparent;border:none;border-top:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.2));color:var(--rb-text-color, #fff);transition:background-color 150ms ease;}.rb-trigger.svelte-gp9ujg:first-child {border-top:none;}\r
4
4
  @media (min-width: 640px) {.rb-trigger.svelte-gp9ujg {border-top:none;border-right:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.2));}\r
5
- }.rb-trigger.svelte-gp9ujg:hover {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-trigger-label.svelte-gp9ujg {font-size:10px;font-weight:300;text-transform:uppercase;letter-spacing:0.1em;}.rb-trigger-value.svelte-gp9ujg {font-size:0.875rem;font-weight:600;white-space:nowrap;}.rb-reserve.svelte-gp9ujg {display:flex;align-items:center;justify-content:center;padding:1rem 2rem;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#fff;text-decoration:none;background:var(--rb-accent-bg, #1c3f60);transition:background-color 150ms ease;}.rb-reserve.svelte-gp9ujg:hover {background:var(--rb-accent-hover-bg, #2a557f);}.rb-panel.svelte-gp9ujg {position:fixed;inset:auto;margin:0;border-radius:var(--rb-radius, 2px);border:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.2));background:var(--rb-panel-bg, rgba(10, 10, 12, 0.92));backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.25);color:var(--rb-text-color, #fff);}.rb-panel-date.svelte-gp9ujg {width:288px;padding:1rem;}.rb-cal-header.svelte-gp9ujg {display:flex;align-items:center;justify-content:space-between;}.rb-cal-month.svelte-gp9ujg {margin:0;font-size:0.875rem;font-weight:600;}.rb-cal-nav.svelte-gp9ujg {display:flex;gap:0.25rem;}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg) {display:flex;height:28px;width:28px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;cursor:pointer;}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg):hover:not(:disabled) {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg):disabled {cursor:default;opacity:0.3;}.rb-cal-weekdays.svelte-gp9ujg {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;}.rb-cal-grid.svelte-gp9ujg {display:grid;grid-template-columns:repeat(7, 1fr);row-gap:0.25rem;justify-items:center;margin-top:0.25rem;}.rb-cal-cell.svelte-gp9ujg {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;}.rb-cal-cell.svelte-gp9ujg:hover:not(:disabled) {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-cal-cell.svelte-gp9ujg:disabled {cursor:default;opacity:0.25;}.rb-cal-cell-selected.svelte-gp9ujg {background:var(--rb-text-color, #fff);color:var(--rb-bar-bg, #111);}.rb-panel-list.svelte-gp9ujg {max-height:16rem;width:10rem;list-style:none;overflow:auto;padding:0.25rem 0;scrollbar-width:thin;scrollbar-color:rgba(255, 255, 255, 0.3) transparent;}.rb-panel-list.svelte-gp9ujg li:where(.svelte-gp9ujg) {display:block;}.rb-panel-list.svelte-gp9ujg button:where(.svelte-gp9ujg) {display:block;width:100%;cursor:pointer;white-space:nowrap;border:none;background:transparent;color:inherit;padding:0.5rem 1rem;text-align:left;font-size:0.875rem;}.rb-panel-list.svelte-gp9ujg button:where(.svelte-gp9ujg):hover {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-panel-list.svelte-gp9ujg button[aria-selected='true']:where(.svelte-gp9ujg) {background:rgba(255, 255, 255, 0.15);font-weight:600;}`};function x(e,n){ne(n,!0),ie(e,Ce);let ae={dateLabel:`Date`,guestsLabel:`Guests`,timeLabel:`Time`,guestSingular:`Guest`,guestPlural:`Guests`,reserveLabel:`Reserve`,previousMonth:`Previous month`,nextMonth:`Next month`,selectGuestsAriaLabel:`Select number of guests`,selectTimeAriaLabel:`Select a time`},x=h(n,`minGuests`,7,1),S=h(n,`maxGuests`,7,20),C=h(n,`defaultGuests`,7,2),w=h(n,`timeSlots`,23,()=>[`7:00 PM`,`7:30 PM`,`8:00 PM`,`8:30 PM`,`9:00 PM`,`9:30 PM`,`10:00 PM`,`10:30 PM`,`11:00 PM`]),T=h(n,`defaultTime`,7,`7:00 PM`),E=h(n,`showReserveButton`,7,!0),D=h(n,`reserveHref`,7,`/reservations`),O=h(n,`applyOnSelect`,7),k=h(n,`syncWithUrl`,7,!1),A=h(n,`closedWeekdays`,23,()=>[]),j=h(n,`locale`,7),M=h(n,`strings`,7),N=h(n,`fetchAvailableDates`,7),P=a(()=>({...ae,...M()})),F=me(new Date),I=k()&&typeof window<`u`?new URLSearchParams(window.location.search):null,L=de(F,A(),I?.get(`date`)??null),R=f(r(L.getFullYear())),z=f(r(L.getMonth())),B=f(r(L)),V=I?Number(I.get(`guests`)):NaN,H=f(r(!Number.isNaN(V)&&V>0?V:C())),we=I?.get(`time`),U=f(r(we||T())),W=f(null),G=f(null);async function Te(e){if(N())try{let t=await N()(e);u(G,new Set(t),!0)}catch{u(G,new Set,!0)}}s(()=>{Te(c(H))});let Ee=f(void 0),De=f(void 0),Oe=f(void 0),ke=f(void 0),Ae=f(void 0),je=f(void 0),Me=a(()=>pe(c(B),j())),Ne=a(()=>ge(c(B))),Pe=a(()=>_e(c(R),c(z),F,A())),Fe=a(()=>c(R)!==F.getFullYear()||c(z)!==F.getMonth()),Ie=a(()=>he(j())),Le=a(()=>fe(j())),Re=a(()=>Array.from({length:S()-x()+1},(e,t)=>x()+t)),ze=a(()=>{let e=new URLSearchParams;return e.set(`date`,c(Ne)),e.set(`guests`,String(c(H))),e.set(`time`,c(U)),`${D()}?${e.toString()}`});function Be(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}s(()=>{Be(`reservationchange`,{date:c(Ne),guests:c(H),time:c(U)})});function Ve(e){return!!(!e.inMonth||e.isPast||e.isClosedWeekday||N()&&c(G)!==null&&!c(G).has(e.iso))}function He(){(O()??!E())&&typeof window<`u`&&(window.location.href=c(ze))}function Ue(e){Ve(e)||(u(B,e.date,!0),Je(),He())}function We(){c(Fe)&&(u(z,c(z)-1),c(z)<0&&(u(z,11),u(R,c(R)-1)))}function Ge(){u(z,c(z)+1),c(z)>11&&(u(z,0),u(R,c(R)+1))}function Ke(e){u(H,e,!0),Je(),He()}function qe(e){u(U,e,!0),Je(),He()}function Je(){u(W,null)}function Ye(e){u(W,c(W)===e?null:e,!0)}function Xe(e){return c(e===`date`?Ee:e===`guests`?De:Oe)}function Ze(e){return c(e===`date`?ke:e===`guests`?Ae:je)}s(()=>{let e=c(W);if(!e)return;let t=Xe(e),n=Ze(e);if(!t||!n)return;n.hasAttribute(`data-match-trigger-width`)&&(n.style.width=`${t.getBoundingClientRect().width}px`),n.showPopover();let r=ue(t,n,async()=>{let{x:e,y:r}=await ce(t,n,{strategy:`fixed`,placement:`bottom-start`,middleware:[se(8),le(),oe({padding:12})]});n.style.left=`${e}px`,n.style.top=`${r}px`});function i(t){t.newState===`closed`&&c(W)===e&&u(W,null)}return n.addEventListener(`toggle`,i),()=>{r(),n.removeEventListener(`toggle`,i),n.matches(`:popover-open`)&&n.hidePopover()}});var Qe={get minGuests(){return x()},set minGuests(e=1){x(e),o()},get maxGuests(){return S()},set maxGuests(e=20){S(e),o()},get defaultGuests(){return C()},set defaultGuests(e=2){C(e),o()},get timeSlots(){return w()},set timeSlots(e=[`7:00 PM`,`7:30 PM`,`8:00 PM`,`8:30 PM`,`9:00 PM`,`9:30 PM`,`10:00 PM`,`10:30 PM`,`11:00 PM`]){w(e),o()},get defaultTime(){return T()},set defaultTime(e=`7:00 PM`){T(e),o()},get showReserveButton(){return E()},set showReserveButton(e=!0){E(e),o()},get reserveHref(){return D()},set reserveHref(e=`/reservations`){D(e),o()},get applyOnSelect(){return O()},set applyOnSelect(e){O(e),o()},get syncWithUrl(){return k()},set syncWithUrl(e=!1){k(e),o()},get closedWeekdays(){return A()},set closedWeekdays(e=[]){A(e),o()},get locale(){return j()},set locale(e){j(e),o()},get strings(){return M()},set strings(e){M(e),o()},get fetchAvailableDates(){return N()},set fetchAvailableDates(e){N(e),o()}},$e=Se(),et=t($e),K=b(et),tt=b(K),nt=b(tt,!0);p(tt);var rt=d(tt,2),it=b(rt,!0);p(rt),p(K),g(K,e=>u(Ee,e),()=>c(Ee));var q=d(K,2),at=b(q),ot=b(at,!0);p(at);var st=d(at,2),ct=b(st);p(st),p(q),g(q,e=>u(De,e),()=>c(De));var J=d(q,2),Y=b(J),lt=b(Y,!0);p(Y);var ut=d(Y,2),dt=b(ut,!0);p(ut),p(J),g(J,e=>u(Oe,e),()=>c(Oe));var ft=d(J,2),pt=e=>{var t=ve(),n=b(t,!0);p(t),i(()=>{_(t,`href`,c(ze)),v(n,c(P).reserveLabel)}),l(e,t)};ee(ft,e=>{E()&&e(pt)}),p(et);var X=d(et,2),mt=b(X),ht=b(mt),gt=b(ht);p(ht);var _t=d(ht,2),Z=b(_t),vt=d(Z,2);p(_t),p(mt);var yt=d(mt,2);y(yt,20,()=>c(Le),e=>e,(e,t)=>{var n=ye(),r=b(n,!0);p(n),i(()=>v(r,t)),l(e,n)}),p(yt);var bt=d(yt,2);y(bt,21,()=>c(Pe),e=>e.iso,(e,t)=>{var n=be();let r;var a=b(n,!0);p(n),i(e=>{r=re(n,1,`rb-cal-cell svelte-gp9ujg`,null,r,{"rb-cal-cell-selected":c(Ne)===c(t).iso}),n.disabled=e,v(a,c(t).dayNumber)},[()=>Ve(c(t))]),m(`click`,n,()=>Ue(c(t))),l(e,n)}),p(bt),p(X),g(X,e=>u(ke,e),()=>c(ke));var Q=d(X,2);y(Q,20,()=>c(Re),e=>e,(e,t)=>{var n=xe(),r=b(n),a=b(r);p(r),p(n),i(()=>{_(r,`aria-selected`,t===c(H)),v(a,`${t??``} ${(t===1?c(P).guestSingular:c(P).guestPlural)??``}`)}),m(`click`,r,()=>Ke(t)),l(e,n)}),p(Q),g(Q,e=>u(Ae,e),()=>c(Ae));var $=d(Q,2);return y($,20,w,e=>e,(e,t)=>{var n=xe(),r=b(n),a=b(r,!0);p(r),p(n),i(()=>{_(r,`aria-selected`,t===c(U)),v(a,t)}),m(`click`,r,()=>qe(t)),l(e,n)}),p($),g($,e=>u(je,e),()=>c(je)),i(()=>{_(K,`aria-expanded`,c(W)===`date`),v(nt,c(P).dateLabel),v(it,c(Me)),_(q,`aria-expanded`,c(W)===`guests`),v(ot,c(P).guestsLabel),v(ct,`${c(H)??``} ${(c(H)===1?c(P).guestSingular:c(P).guestPlural)??``}`),_(J,`aria-expanded`,c(W)===`time`),v(lt,c(P).timeLabel),v(dt,c(U)),v(gt,`${c(Ie)[c(z)]??``} ${c(R)??``}`),Z.disabled=!c(Fe),_(Z,`aria-label`,c(P).previousMonth),_(vt,`aria-label`,c(P).nextMonth),_(Q,`aria-label`,c(P).selectGuestsAriaLabel),_($,`aria-label`,c(P).selectTimeAriaLabel)}),m(`click`,K,()=>Ye(`date`)),m(`click`,q,()=>Ye(`guests`)),m(`click`,J,()=>Ye(`time`)),m(`click`,Z,We),m(`click`,vt,Ge),l(e,$e),te(Qe)}e([`click`]),customElements.define(`reservation-bar`,ae(x,{minGuests:{attribute:`min-guests`,type:`Number`},maxGuests:{attribute:`max-guests`,type:`Number`},defaultGuests:{attribute:`default-guests`,type:`Number`},timeSlots:{attribute:`time-slots`,type:`Array`},defaultTime:{attribute:`default-time`,type:`String`},showReserveButton:{attribute:`show-reserve-button`,type:`Boolean`},reserveHref:{attribute:`reserve-href`,type:`String`},applyOnSelect:{attribute:`apply-on-select`,type:`Boolean`},syncWithUrl:{attribute:`sync-with-url`,type:`Boolean`},closedWeekdays:{attribute:`closed-weekdays`,type:`Array`},locale:{attribute:`locale`,type:`String`},strings:{type:`Object`},fetchAvailableDates:{type:`Object`}},[],[],{mode:`open`}));
5
+ }.rb-trigger.svelte-gp9ujg:hover {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-trigger-label.svelte-gp9ujg {font-size:10px;font-weight:300;text-transform:uppercase;letter-spacing:0.1em;}.rb-trigger-value.svelte-gp9ujg {font-size:0.875rem;font-weight:600;white-space:nowrap;}.rb-reserve.svelte-gp9ujg {display:flex;align-items:center;justify-content:center;padding:1rem 2rem;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#fff;text-decoration:none;background:var(--rb-accent-bg, #1c3f60);transition:background-color 150ms ease;}.rb-reserve.svelte-gp9ujg:hover {background:var(--rb-accent-hover-bg, #2a557f);}.rb-panel.svelte-gp9ujg {position:fixed;inset:auto;margin:0;border-radius:var(--rb-radius, 2px);border:1px solid var(--rb-bar-border, rgba(255, 255, 255, 0.2));background:var(--rb-panel-bg, rgba(10, 10, 12, 0.92));backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.25);color:var(--rb-text-color, #fff);}.rb-panel-date.svelte-gp9ujg {width:288px;padding:1rem;}.rb-cal-header.svelte-gp9ujg {display:flex;align-items:center;justify-content:space-between;}.rb-cal-month.svelte-gp9ujg {margin:0;font-size:0.875rem;font-weight:600;}.rb-cal-nav.svelte-gp9ujg {display:flex;gap:0.25rem;}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg) {display:flex;height:28px;width:28px;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;cursor:pointer;}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg):hover:not(:disabled) {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-cal-nav.svelte-gp9ujg button:where(.svelte-gp9ujg):disabled {cursor:default;opacity:0.3;}.rb-cal-weekdays.svelte-gp9ujg {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;}.rb-cal-grid.svelte-gp9ujg {display:grid;grid-template-columns:repeat(7, 1fr);row-gap:0.25rem;justify-items:center;margin-top:0.25rem;}.rb-cal-cell.svelte-gp9ujg {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;}.rb-cal-cell.svelte-gp9ujg:hover:not(:disabled) {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-cal-cell.svelte-gp9ujg:disabled {cursor:default;opacity:0.25;}.rb-cal-cell-selected.svelte-gp9ujg {background:var(--rb-text-color, #fff);color:var(--rb-bar-bg, #111);}.rb-panel-list.svelte-gp9ujg {max-height:16rem;width:10rem;list-style:none;overflow:auto;padding:0.25rem 0;scrollbar-width:thin;scrollbar-color:rgba(255, 255, 255, 0.3) transparent;}.rb-panel-list.svelte-gp9ujg li:where(.svelte-gp9ujg) {display:block;}.rb-panel-list.svelte-gp9ujg button:where(.svelte-gp9ujg) {display:block;width:100%;cursor:pointer;white-space:nowrap;border:none;background:transparent;color:inherit;padding:0.5rem 1rem;text-align:left;font-size:0.875rem;}.rb-panel-list.svelte-gp9ujg button:where(.svelte-gp9ujg):hover {background:var(--rb-trigger-hover-bg, rgba(255, 255, 255, 0.1));}.rb-panel-list.svelte-gp9ujg button[aria-selected='true']:where(.svelte-gp9ujg) {background:rgba(255, 255, 255, 0.15);font-weight:600;}`};function S(s,g){l(g,!0),re(s,Se);let ie={dateLabel:`Date`,guestsLabel:`Guests`,timeLabel:`Time`,guestSingular:`Guest`,guestPlural:`Guests`,reserveLabel:`Reserve`,previousMonth:`Previous month`,nextMonth:`Next month`,selectGuestsAriaLabel:`Select number of guests`,selectTimeAriaLabel:`Select a time`},S=_(g,`minGuests`,7,1),C=_(g,`maxGuests`,7,20),w=_(g,`defaultGuests`,7,2),T=_(g,`timeSlots`,23,()=>[`7:00 PM`,`7:30 PM`,`8:00 PM`,`8:30 PM`,`9:00 PM`,`9:30 PM`,`10:00 PM`,`10:30 PM`,`11:00 PM`]),E=_(g,`defaultTime`,7,`7:00 PM`),D=_(g,`showReserveButton`,7,!0),O=_(g,`reserveHref`,7,`/reservations`),k=_(g,`applyOnSelect`,7),A=_(g,`syncWithUrl`,7,!1),j=_(g,`closedWeekdays`,23,()=>[]),M=_(g,`locale`,7),N=_(g,`strings`,7),P=_(g,`fetchAvailableDates`,7),F=m(()=>({...ie,...N()})),I=pe(new Date),L=A()&&typeof window<`u`?new URLSearchParams(window.location.search):null,R=ue(I,j(),L?.get(`date`)??null),z=r(f(R.getFullYear())),B=r(f(R.getMonth())),V=r(f(R)),Ce=L?Number(L.get(`guests`)):NaN,H=r(f(!Number.isNaN(Ce)&&Ce>0?Ce:w())),we=L?.get(`time`),U=r(f(we||E())),W=r(null),G=r(null);async function Te(e){if(P())try{let t=await P()(e);p(G,new Set(t),!0)}catch{p(G,new Set,!0)}}u(()=>{Te(c(H))});let Ee=r(void 0),De=r(void 0),Oe=r(void 0),ke=r(void 0),Ae=r(void 0),je=r(void 0),Me=m(()=>fe(c(V),M())),Ne=m(()=>he(c(V))),Pe=m(()=>ge(c(z),c(B),I,j())),Fe=m(()=>c(z)!==I.getFullYear()||c(B)!==I.getMonth()),Ie=m(()=>me(M())),Le=m(()=>de(M())),Re=m(()=>Array.from({length:C()-S()+1},(e,t)=>S()+t)),ze=m(()=>{let e=new URLSearchParams;return e.set(`date`,c(Ne)),e.set(`guests`,String(c(H))),e.set(`time`,c(U)),`${O()}?${e.toString()}`});function Be(e,t){g.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}u(()=>{Be(`reservationchange`,{date:c(Ne),guests:c(H),time:c(U)})});function Ve(e){return!!(!e.inMonth||e.isPast||e.isClosedWeekday||P()&&c(G)!==null&&!c(G).has(e.iso))}function He(){(k()??!D())&&typeof window<`u`&&(window.location.href=c(ze))}function Ue(e){Ve(e)||(p(V,e.date,!0),Je(),He())}function We(){c(Fe)&&(p(B,c(B)-1),c(B)<0&&(p(B,11),p(z,c(z)-1)))}function Ge(){p(B,c(B)+1),c(B)>11&&(p(B,0),p(z,c(z)+1))}function Ke(e){p(H,e,!0),Je(),He()}function qe(e){p(U,e,!0),Je(),He()}function Je(){p(W,null)}function Ye(e){p(W,c(W)===e?null:e,!0)}function Xe(e){return c(e===`date`?Ee:e===`guests`?De:Oe)}function Ze(e){return c(e===`date`?ke:e===`guests`?Ae:je)}u(()=>{let e=c(W);if(!e)return;let t=Xe(e),n=Ze(e);if(!t||!n)return;n.hasAttribute(`data-match-trigger-width`)&&(n.style.width=`${t.getBoundingClientRect().width}px`),n.showPopover();let r=le(t,n,async()=>{let{x:e,y:r}=await se(t,n,{strategy:`fixed`,placement:`bottom-start`,middleware:[oe(8),ce(),ae({padding:12})]});n.style.left=`${e}px`,n.style.top=`${r}px`});function i(t){t.newState===`closed`&&c(W)===e&&p(W,null)}return n.addEventListener(`toggle`,i),()=>{r(),n.removeEventListener(`toggle`,i),n.matches(`:popover-open`)&&n.hidePopover()}});var Qe={get minGuests(){return S()},set minGuests(e=1){S(e),v()},get maxGuests(){return C()},set maxGuests(e=20){C(e),v()},get defaultGuests(){return w()},set defaultGuests(e=2){w(e),v()},get timeSlots(){return T()},set timeSlots(e=[`7:00 PM`,`7:30 PM`,`8:00 PM`,`8:30 PM`,`9:00 PM`,`9:30 PM`,`10:00 PM`,`10:30 PM`,`11:00 PM`]){T(e),v()},get defaultTime(){return E()},set defaultTime(e=`7:00 PM`){E(e),v()},get showReserveButton(){return D()},set showReserveButton(e=!0){D(e),v()},get reserveHref(){return O()},set reserveHref(e=`/reservations`){O(e),v()},get applyOnSelect(){return k()},set applyOnSelect(e){k(e),v()},get syncWithUrl(){return A()},set syncWithUrl(e=!1){A(e),v()},get closedWeekdays(){return j()},set closedWeekdays(e=[]){j(e),v()},get locale(){return M()},set locale(e){M(e),v()},get strings(){return N()},set strings(e){N(e),v()},get fetchAvailableDates(){return P()},set fetchAvailableDates(e){P(e),v()}},$e=xe(),et=ee($e),K=e(et),tt=e(K),nt=e(tt,!0);x(tt);var rt=i(tt,2),it=e(rt,!0);x(rt),x(K),y(K,e=>p(Ee,e),()=>c(Ee));var q=i(K,2),at=e(q),ot=e(at,!0);x(at);var st=i(at,2),ct=e(st);x(st),x(q),y(q,e=>p(De,e),()=>c(De));var J=i(q,2),Y=e(J),lt=e(Y,!0);x(Y);var ut=i(Y,2),dt=e(ut,!0);x(ut),x(J),y(J,e=>p(Oe,e),()=>c(Oe));var ft=i(J,2),pt=t=>{var r=_e(),i=e(r,!0);x(r),a(()=>{b(r,`href`,c(ze)),d(i,c(F).reserveLabel)}),n(t,r)};t(ft,e=>{D()&&e(pt)}),x(et);var X=i(et,2),mt=e(X),ht=e(mt),gt=e(ht);x(ht);var _t=i(ht,2),Z=e(_t),vt=i(Z,2);x(_t),x(mt);var yt=i(mt,2);h(yt,20,()=>c(Le),e=>e,(t,r)=>{var i=ve(),o=e(i,!0);x(i),a(()=>d(o,r)),n(t,i)}),x(yt);var bt=i(yt,2);h(bt,21,()=>c(Pe),e=>e.iso,(t,r)=>{var i=ye();let s;var l=e(i,!0);x(i),a(e=>{s=ne(i,1,`rb-cal-cell svelte-gp9ujg`,null,s,{"rb-cal-cell-selected":c(Ne)===c(r).iso}),i.disabled=e,d(l,c(r).dayNumber)},[()=>Ve(c(r))]),o(`click`,i,()=>Ue(c(r))),n(t,i)}),x(bt),x(X),y(X,e=>p(ke,e),()=>c(ke));var Q=i(X,2);h(Q,20,()=>c(Re),e=>e,(t,r)=>{var i=be(),s=e(i),l=e(s);x(s),x(i),a(()=>{b(s,`aria-selected`,r===c(H)),d(l,`${r??``} ${(r===1?c(F).guestSingular:c(F).guestPlural)??``}`)}),o(`click`,s,()=>Ke(r)),n(t,i)}),x(Q),y(Q,e=>p(Ae,e),()=>c(Ae));var $=i(Q,2);return h($,20,T,e=>e,(t,r)=>{var i=be(),s=e(i),l=e(s,!0);x(s),x(i),a(()=>{b(s,`aria-selected`,r===c(U)),d(l,r)}),o(`click`,s,()=>qe(r)),n(t,i)}),x($),y($,e=>p(je,e),()=>c(je)),a(()=>{b(K,`aria-expanded`,c(W)===`date`),d(nt,c(F).dateLabel),d(it,c(Me)),b(q,`aria-expanded`,c(W)===`guests`),d(ot,c(F).guestsLabel),d(ct,`${c(H)??``} ${(c(H)===1?c(F).guestSingular:c(F).guestPlural)??``}`),b(J,`aria-expanded`,c(W)===`time`),d(lt,c(F).timeLabel),d(dt,c(U)),d(gt,`${c(Ie)[c(B)]??``} ${c(z)??``}`),Z.disabled=!c(Fe),b(Z,`aria-label`,c(F).previousMonth),b(vt,`aria-label`,c(F).nextMonth),b(Q,`aria-label`,c(F).selectGuestsAriaLabel),b($,`aria-label`,c(F).selectTimeAriaLabel)}),o(`click`,K,()=>Ye(`date`)),o(`click`,q,()=>Ye(`guests`)),o(`click`,J,()=>Ye(`time`)),o(`click`,Z,We),o(`click`,vt,Ge),n(s,$e),te(Qe)}g([`click`]),customElements.define(`reservation-bar`,ie(S,{minGuests:{attribute:`min-guests`,type:`Number`},maxGuests:{attribute:`max-guests`,type:`Number`},defaultGuests:{attribute:`default-guests`,type:`Number`},timeSlots:{attribute:`time-slots`,type:`Array`},defaultTime:{attribute:`default-time`,type:`String`},showReserveButton:{attribute:`show-reserve-button`,type:`Boolean`},reserveHref:{attribute:`reserve-href`,type:`String`},applyOnSelect:{attribute:`apply-on-select`,type:`Boolean`},syncWithUrl:{attribute:`sync-with-url`,type:`Boolean`},closedWeekdays:{attribute:`closed-weekdays`,type:`Array`},locale:{attribute:`locale`,type:`String`},strings:{type:`Object`},fetchAvailableDates:{type:`Object`}},[],[],{mode:`open`}));
@@ -1,4 +1,4 @@
1
- import{A as e,B as t,D as n,E as r,H as i,I as a,J as o,K as s,L as c,N as l,S as u,T as d,U as f,V as p,W as m,X as h,Z as g,et as _,f as ee,h as v,j as y,n as b,r as te,t as x,w as S,z as C}from"./chunks/client-BDk8LqGN.js";var ne=n(`<button type="button" class="rc-link-btn svelte-195t3l3"> </button>`),w=n(`<p class="rc-message svelte-195t3l3"> </p>`),T=n(`<p class="rc-message rc-message-error svelte-195t3l3"> </p>`),re=n(`<div class="rc-root svelte-195t3l3"><!></div> <dialog><div class="rc-dialog-inner svelte-195t3l3"><p class="rc-dialog-eyebrow svelte-195t3l3"> </p> <div class="rc-dialog-rule svelte-195t3l3"></div> <p class="rc-dialog-body svelte-195t3l3"> </p> <div class="rc-dialog-actions svelte-195t3l3"><button type="button" class="rc-btn-secondary svelte-195t3l3"> </button> <button type="button" class="rc-btn-danger svelte-195t3l3"> </button></div></div></dialog>`,1),E=n(`<p class="rc-countdown svelte-195t3l3"> <span class="svelte-195t3l3"> </span></p>`),D=n(`<div class="rc-alarm svelte-195t3l3" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-195t3l3"><circle cx="12" cy="13" r="8"></circle><path d="M12 9v4l2.5 2.5M5 3 3 5M19 3l2 2" stroke-linecap="round"></path></svg></div> <!> <button type="button" class="rc-btn-danger rc-btn-full svelte-195t3l3"> </button> <!>`,1),O=n(`<div class="rc-alarm rc-alarm-expired svelte-195t3l3" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-195t3l3"><circle cx="12" cy="13" r="8"></circle><path d="M12 9v4l2.5 2.5M5 3 3 5M19 3l2 2" stroke-linecap="round"></path></svg></div> <p class="rc-countdown svelte-195t3l3"> </p> <button type="button" class="rc-btn-primary rc-btn-full svelte-195t3l3"><svg class="rc-mail-icon svelte-195t3l3" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="m3 7 9 6 9-6"></path></svg> </button> <!>`,1),k=n(`<div class="rc-root svelte-195t3l3"><!></div>`),A={hash:`svelte-195t3l3`,code:`.rc-root.svelte-195t3l3 {display:block;font-family:inherit;color:var(--rc-text-color, #1a1a1a);text-align:center;}.rc-link-btn.svelte-195t3l3 {cursor:pointer;border:none;background:none;padding:0;font:inherit;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--rc-danger-color, #dc2626);text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--rc-danger-color, #dc2626) 30%, transparent);text-underline-offset:4px;}.rc-link-btn.svelte-195t3l3:hover:not(:disabled) {color:var(--rc-danger-hover-color, #b91c1c);}.rc-link-btn.svelte-195t3l3:disabled {opacity:0.5;cursor:default;}.rc-message.svelte-195t3l3 {margin:0.5rem 0 0;font-size:0.875rem;color:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 70%, transparent);}.rc-message-error.svelte-195t3l3 {color:var(--rc-danger-color, #dc2626);}.rc-dialog.svelte-195t3l3 {position:fixed;inset:0;margin:auto;height:fit-content;width:fit-content;border:1px solid var(--rc-border-color, rgba(0, 0, 0, 0.1));border-radius:2px;padding:0;box-shadow:0 20px 40px rgba(0, 0, 0, 0.2);opacity:0;transform:translateY(24px);transition:opacity 0.25s ease, transform 0.25s ease;}.rc-dialog.svelte-195t3l3::backdrop {background:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 40%, transparent);backdrop-filter:blur(4px);}.rc-dialog-visible.svelte-195t3l3 {opacity:1;transform:translateY(0);}.rc-dialog-inner.svelte-195t3l3 {width:20rem;max-width:90vw;padding:1.5rem;text-align:center;color:var(--rc-text-color, #1a1a1a);}.rc-dialog-eyebrow.svelte-195t3l3 {margin:0;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--rc-danger-color, #b91c1c);}.rc-dialog-rule.svelte-195t3l3 {width:3rem;height:1px;margin:0.75rem auto 0;background:var(--rc-danger-color, #b91c1c);}.rc-dialog-body.svelte-195t3l3 {margin:1rem 0 0;font-size:0.875rem;color:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 80%, transparent);}.rc-dialog-actions.svelte-195t3l3 {display:flex;justify-content:center;gap:0.75rem;margin-top:1.5rem;}.rc-btn-secondary.svelte-195t3l3,
1
+ import{B as e,C as t,D as n,E as r,G as i,H as a,L as o,M as s,O as c,P as l,Q as u,R as d,T as f,U as p,V as m,W as h,Y as g,Z as _,f as ee,h as v,j as y,n as b,q as x,r as te,t as S,tt as C}from"./chunks/client-DNa0V682.js";var ne=c(`<button type="button" class="rc-link-btn svelte-195t3l3"> </button>`),w=c(`<p class="rc-message svelte-195t3l3"> </p>`),T=c(`<p class="rc-message rc-message-error svelte-195t3l3"> </p>`),re=c(`<div class="rc-root svelte-195t3l3"><!></div> <dialog><div class="rc-dialog-inner svelte-195t3l3"><p class="rc-dialog-eyebrow svelte-195t3l3"> </p> <div class="rc-dialog-rule svelte-195t3l3"></div> <p class="rc-dialog-body svelte-195t3l3"> </p> <div class="rc-dialog-actions svelte-195t3l3"><button type="button" class="rc-btn-secondary svelte-195t3l3"> </button> <button type="button" class="rc-btn-danger svelte-195t3l3"> </button></div></div></dialog>`,1),E=c(`<p class="rc-countdown svelte-195t3l3"> <span class="svelte-195t3l3"> </span></p>`),D=c(`<div class="rc-alarm svelte-195t3l3" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-195t3l3"><circle cx="12" cy="13" r="8"></circle><path d="M12 9v4l2.5 2.5M5 3 3 5M19 3l2 2" stroke-linecap="round"></path></svg></div> <!> <button type="button" class="rc-btn-danger rc-btn-full svelte-195t3l3"> </button> <!>`,1),O=c(`<div class="rc-alarm rc-alarm-expired svelte-195t3l3" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-195t3l3"><circle cx="12" cy="13" r="8"></circle><path d="M12 9v4l2.5 2.5M5 3 3 5M19 3l2 2" stroke-linecap="round"></path></svg></div> <p class="rc-countdown svelte-195t3l3"> </p> <button type="button" class="rc-btn-primary rc-btn-full svelte-195t3l3"><svg class="rc-mail-icon svelte-195t3l3" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="m3 7 9 6 9-6"></path></svg> </button> <!>`,1),k=c(`<div class="rc-root svelte-195t3l3"><!></div>`),A={hash:`svelte-195t3l3`,code:`.rc-root.svelte-195t3l3 {display:block;font-family:inherit;color:var(--rc-text-color, #1a1a1a);text-align:center;}.rc-link-btn.svelte-195t3l3 {cursor:pointer;border:none;background:none;padding:0;font:inherit;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--rc-danger-color, #dc2626);text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--rc-danger-color, #dc2626) 30%, transparent);text-underline-offset:4px;}.rc-link-btn.svelte-195t3l3:hover:not(:disabled) {color:var(--rc-danger-hover-color, #b91c1c);}.rc-link-btn.svelte-195t3l3:disabled {opacity:0.5;cursor:default;}.rc-message.svelte-195t3l3 {margin:0.5rem 0 0;font-size:0.875rem;color:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 70%, transparent);}.rc-message-error.svelte-195t3l3 {color:var(--rc-danger-color, #dc2626);}.rc-dialog.svelte-195t3l3 {position:fixed;inset:0;margin:auto;height:fit-content;width:fit-content;border:1px solid var(--rc-border-color, rgba(0, 0, 0, 0.1));border-radius:2px;padding:0;box-shadow:0 20px 40px rgba(0, 0, 0, 0.2);opacity:0;transform:translateY(24px);transition:opacity 0.25s ease, transform 0.25s ease;}.rc-dialog.svelte-195t3l3::backdrop {background:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 40%, transparent);backdrop-filter:blur(4px);}.rc-dialog-visible.svelte-195t3l3 {opacity:1;transform:translateY(0);}.rc-dialog-inner.svelte-195t3l3 {width:20rem;max-width:90vw;padding:1.5rem;text-align:center;color:var(--rc-text-color, #1a1a1a);}.rc-dialog-eyebrow.svelte-195t3l3 {margin:0;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--rc-danger-color, #b91c1c);}.rc-dialog-rule.svelte-195t3l3 {width:3rem;height:1px;margin:0.75rem auto 0;background:var(--rc-danger-color, #b91c1c);}.rc-dialog-body.svelte-195t3l3 {margin:1rem 0 0;font-size:0.875rem;color:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 80%, transparent);}.rc-dialog-actions.svelte-195t3l3 {display:flex;justify-content:center;gap:0.75rem;margin-top:1.5rem;}.rc-btn-secondary.svelte-195t3l3,
2
2
  .rc-btn-danger.svelte-195t3l3,
3
3
  .rc-btn-primary.svelte-195t3l3 {cursor:pointer;border-radius:2px;padding:0.5rem 1.25rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;font-family:inherit;}.rc-btn-secondary.svelte-195t3l3 {border:1px solid color-mix(in oklab, var(--rc-text-color, #1a1a1a) 15%, transparent);background:transparent;color:var(--rc-text-color, #1a1a1a);}.rc-btn-secondary.svelte-195t3l3:hover {background:color-mix(in oklab, var(--rc-text-color, #1a1a1a) 5%, transparent);}.rc-btn-danger.svelte-195t3l3 {border:none;background:var(--rc-danger-color, #dc2626);color:#fff;}.rc-btn-danger.svelte-195t3l3:hover:not(:disabled) {background:var(--rc-danger-hover-color, #b91c1c);}.rc-btn-danger.svelte-195t3l3:disabled,
4
- .rc-btn-primary.svelte-195t3l3:disabled {opacity:0.6;cursor:default;}.rc-btn-primary.svelte-195t3l3 {display:inline-flex;align-items:center;gap:0.75rem;border:none;background:var(--rc-accent-bg, #1a1a1a);color:#fff;}.rc-btn-primary.svelte-195t3l3:hover:not(:disabled) {background:var(--rc-accent-hover-bg, #333);}.rc-btn-full.svelte-195t3l3 {width:100%;justify-content:center;margin-top:1rem;padding:0.75rem 2rem;font-size:0.75rem;}.rc-mail-icon.svelte-195t3l3 {width:1.25rem;height:1.25rem;}.rc-alarm.svelte-195t3l3 {display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin:0 auto;border:3px solid var(--rc-text-color, #1a1a1a);border-radius:9999px;padding:0.75rem;color:var(--rc-text-color, #1a1a1a);}.rc-alarm-expired.svelte-195t3l3 {border-color:var(--rc-danger-color, #dc2626);color:var(--rc-danger-color, #dc2626);}.rc-alarm.svelte-195t3l3 svg:where(.svelte-195t3l3) {width:100%;height:100%;}.rc-countdown.svelte-195t3l3 {margin:0.75rem 0 0;font-size:0.75rem;color:var(--rc-text-color, #1a1a1a);}.rc-countdown.svelte-195t3l3 span:where(.svelte-195t3l3) {font-size:1rem;font-weight:700;}`};function j(e,n){g(n,!0),v(e,A);let x={cancelReservation:`Cancel Reservation`,requestSuccess:`Check your email to confirm the cancellation.`,noEmailOnFile:`We don't have an email on file for this reservation. Please call us to cancel.`,requestError:`Could not start the cancellation. Please try again or call us directly.`,dialogEyebrow:`Cancel Reservation`,dialogBody:`We'll email you a link to confirm the cancellation.`,nevermind:`Nevermind`,continueLabel:`Continue`,confirmSuccess:`Your reservation has been cancelled.`,expiresIn:`This link expires in`,confirmButton:`Yes, Cancel My Reservation`,confirmError:`Could not confirm the cancellation. Please try again or call us directly.`,resendSuccess:`Check your email for a new cancellation link.`,linkExpired:`This confirmation link has expired.`,resendButton:`Resend Cancellation Email`,resendError:`Could not resend the email. Please try again or call us directly.`},j=b(n,`mode`,7),M=b(n,`reservationId`,7),N=b(n,`restaurantSlug`,7),P=b(n,`token`,7),F=b(n,`expiresAt`,7),I=b(n,`initiallyExpired`,7,!1),L=b(n,`requestCancel`,7),R=b(n,`confirmCancel`,7),z=b(n,`strings`,7),B=o(()=>({...x,...z()}));function V(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=m(void 0),U=m(!1),W=m(!1),G=m(`idle`);function ie(){l(H)?.showModal(),requestAnimationFrame(()=>requestAnimationFrame(()=>f(U,!0)))}function K(){f(U,!1),setTimeout(()=>l(H)?.close(),250)}async function ae(){if(!(!M()||!L())){K(),f(W,!0);try{let e=await L()({reservationId:M(),restaurantSlug:N()});if(!e.ok&&e.status===422)f(G,`no-email`);else if(e.ok)f(G,`success`),V(`cancel-requested`,{reservationId:M(),restaurantSlug:N()});else throw Error(`request failed`)}catch{f(G,`error`)}finally{f(W,!1)}}}let q=m(i(I())),J=m(``),Y=m(!1),X=m(`idle`),Z=m(!1),Q=m(`idle`);c(()=>{if(j()!==`confirm`||I()||!F())return;let e;function t(){let t=F()-Date.now();if(t<=0){f(q,!0),f(J,``),e&&clearInterval(e);return}let n=Math.floor(t/1e3),r=Math.floor(n/60),i=n%60;f(J,`${r}:${String(i).padStart(2,`0`)}`)}return t(),e=setInterval(t,1e3),()=>{e&&clearInterval(e)}});async function oe(){if(!(!P()||!R())){f(Y,!0);try{if(!(await R()({token:P()})).ok)throw Error(`confirm failed`);f(X,`success`),V(`cancel-confirmed`,{token:P()})}catch{f(X,`error`)}finally{f(Y,!1)}}}async function se(){if(!(!M()||!L())){f(Z,!0);try{if(!(await L()({reservationId:M(),restaurantSlug:N()})).ok)throw Error(`resend failed`);f(Q,`success`),V(`cancel-requested`,{reservationId:M(),restaurantSlug:N()})}catch{f(Q,`error`)}finally{f(Z,!1)}}}var ce={get mode(){return j()},set mode(e){j(e),s()},get reservationId(){return M()},set reservationId(e){M(e),s()},get restaurantSlug(){return N()},set restaurantSlug(e){N(e),s()},get token(){return P()},set token(e){P(e),s()},get expiresAt(){return F()},set expiresAt(e){F(e),s()},get initiallyExpired(){return I()},set initiallyExpired(e=!1){I(e),s()},get requestCancel(){return L()},set requestCancel(e){L(e),s()},get confirmCancel(){return R()},set confirmCancel(e){R(e),s()},get strings(){return z()},set strings(e){z(e),s()}},$=r(),le=t($),ue=e=>{var n=re(),r=t(n),i=C(r),o=e=>{var t=ne(),n=C(t,!0);_(t),a(()=>{t.disabled=l(W),S(n,l(B).cancelReservation)}),y(`click`,t,ie),d(e,t)},s=e=>{var t=w(),n=C(t,!0);_(t),a(()=>S(n,l(B).requestSuccess)),d(e,t)},c=e=>{var t=w(),n=C(t,!0);_(t),a(()=>S(n,l(B).noEmailOnFile)),d(e,t)},m=e=>{var t=T(),n=C(t,!0);_(t),a(()=>S(n,l(B).requestError)),d(e,t)};u(i,e=>{l(G)===`idle`?e(o):l(G)===`success`?e(s,1):l(G)===`no-email`?e(c,2):e(m,-1)}),_(r);var h=p(r,2);let g;var v=C(h),b=C(v),x=C(b,!0);_(b);var E=p(b,4),D=C(E,!0);_(E);var O=p(E,2),k=C(O),A=C(k,!0);_(k);var j=p(k,2),M=C(j,!0);_(j),_(O),_(v),_(h),te(h,e=>f(H,e),()=>l(H)),a(()=>{g=ee(h,1,`rc-dialog svelte-195t3l3`,null,g,{"rc-dialog-visible":l(U)}),S(x,l(B).dialogEyebrow),S(D,l(B).dialogBody),S(A,l(B).nevermind),S(M,l(B).continueLabel)}),y(`click`,h,e=>e.target===l(H)&&K()),y(`click`,k,K),y(`click`,j,ae),d(e,n)},de=e=>{var n=k(),r=C(n),i=e=>{var t=w(),n=C(t,!0);_(t),a(()=>S(n,l(B).confirmSuccess)),d(e,t)},o=e=>{var n=D(),r=p(t(n),2),i=e=>{var t=E(),n=C(t),r=p(n),i=C(r,!0);_(r),_(t),a(()=>{S(n,`${l(B).expiresIn??``} `),S(i,l(J))}),d(e,t)};u(r,e=>{l(J)&&e(i)});var o=p(r,2),s=C(o,!0);_(o);var c=p(o,2),f=e=>{var t=T(),n=C(t,!0);_(t),a(()=>S(n,l(B).confirmError)),d(e,t)};u(c,e=>{l(X)===`error`&&e(f)}),a(()=>{o.disabled=l(Y),S(s,l(B).confirmButton)}),y(`click`,o,oe),d(e,n)},s=e=>{var t=w(),n=C(t,!0);_(t),a(()=>S(n,l(B).resendSuccess)),d(e,t)},c=e=>{var n=O(),r=p(t(n),2),i=C(r,!0);_(r);var o=p(r,2),s=p(C(o));_(o);var c=p(o,2),f=e=>{var t=T(),n=C(t,!0);_(t),a(()=>S(n,l(B).resendError)),d(e,t)};u(c,e=>{l(Q)===`error`&&e(f)}),a(()=>{S(i,l(B).linkExpired),o.disabled=l(Z),S(s,` ${l(B).resendButton??``}`)}),y(`click`,o,se),d(e,n)};u(r,e=>{l(X)===`success`?e(i):l(q)?l(Q)===`success`?e(s,2):e(c,-1):e(o,1)}),_(n),d(e,n)};return u(le,e=>{j()===`request`?e(ue):e(de,-1)}),d(e,$),h(ce)}e([`click`]),customElements.define(`reservation-cancel`,x(j,{mode:{attribute:`mode`,type:`String`},reservationId:{attribute:`reservation-id`,type:`String`},restaurantSlug:{attribute:`restaurant-slug`,type:`String`},token:{attribute:`token`,type:`String`},expiresAt:{attribute:`expires-at`,type:`Number`},initiallyExpired:{attribute:`initially-expired`,type:`Boolean`},requestCancel:{type:`Object`},confirmCancel:{type:`Object`},strings:{type:`Object`}},[],[],{mode:`open`}));
4
+ .rc-btn-primary.svelte-195t3l3:disabled {opacity:0.6;cursor:default;}.rc-btn-primary.svelte-195t3l3 {display:inline-flex;align-items:center;gap:0.75rem;border:none;background:var(--rc-accent-bg, #1a1a1a);color:#fff;}.rc-btn-primary.svelte-195t3l3:hover:not(:disabled) {background:var(--rc-accent-hover-bg, #333);}.rc-btn-full.svelte-195t3l3 {width:100%;justify-content:center;margin-top:1rem;padding:0.75rem 2rem;font-size:0.75rem;}.rc-mail-icon.svelte-195t3l3 {width:1.25rem;height:1.25rem;}.rc-alarm.svelte-195t3l3 {display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin:0 auto;border:3px solid var(--rc-text-color, #1a1a1a);border-radius:9999px;padding:0.75rem;color:var(--rc-text-color, #1a1a1a);}.rc-alarm-expired.svelte-195t3l3 {border-color:var(--rc-danger-color, #dc2626);color:var(--rc-danger-color, #dc2626);}.rc-alarm.svelte-195t3l3 svg:where(.svelte-195t3l3) {width:100%;height:100%;}.rc-countdown.svelte-195t3l3 {margin:0.75rem 0 0;font-size:0.75rem;color:var(--rc-text-color, #1a1a1a);}.rc-countdown.svelte-195t3l3 span:where(.svelte-195t3l3) {font-size:1rem;font-weight:700;}`};function j(c,y){u(y,!0),v(c,A);let S={cancelReservation:`Cancel Reservation`,requestSuccess:`Check your email to confirm the cancellation.`,noEmailOnFile:`We don't have an email on file for this reservation. Please call us to cancel.`,requestError:`Could not start the cancellation. Please try again or call us directly.`,dialogEyebrow:`Cancel Reservation`,dialogBody:`We'll email you a link to confirm the cancellation.`,nevermind:`Nevermind`,continueLabel:`Continue`,confirmSuccess:`Your reservation has been cancelled.`,expiresIn:`This link expires in`,confirmButton:`Yes, Cancel My Reservation`,confirmError:`Could not confirm the cancellation. Please try again or call us directly.`,resendSuccess:`Check your email for a new cancellation link.`,linkExpired:`This confirmation link has expired.`,resendButton:`Resend Cancellation Email`,resendError:`Could not resend the email. Please try again or call us directly.`},j=b(y,`mode`,7),M=b(y,`reservationId`,7),N=b(y,`restaurantSlug`,7),P=b(y,`token`,7),F=b(y,`expiresAt`,7),I=b(y,`initiallyExpired`,7,!1),L=b(y,`requestCancel`,7),R=b(y,`confirmCancel`,7),z=b(y,`strings`,7),B=g(()=>({...S,...z()}));function V(e,t){y.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=i(void 0),U=i(!1),W=i(!1),G=i(`idle`);function ie(){l(H)?.showModal(),requestAnimationFrame(()=>requestAnimationFrame(()=>h(U,!0)))}function K(){h(U,!1),setTimeout(()=>l(H)?.close(),250)}async function ae(){if(!(!M()||!L())){K(),h(W,!0);try{let e=await L()({reservationId:M(),restaurantSlug:N()});if(!e.ok&&e.status===422)h(G,`no-email`);else if(e.ok)h(G,`success`),V(`cancel-requested`,{reservationId:M(),restaurantSlug:N()});else throw Error(`request failed`)}catch{h(G,`error`)}finally{h(W,!1)}}}let q=i(p(I())),J=i(``),Y=i(!1),X=i(`idle`),Z=i(!1),Q=i(`idle`);d(()=>{if(j()!==`confirm`||I()||!F())return;let e;function t(){let t=F()-Date.now();if(t<=0){h(q,!0),h(J,``),e&&clearInterval(e);return}let n=Math.floor(t/1e3),r=Math.floor(n/60),i=n%60;h(J,`${r}:${String(i).padStart(2,`0`)}`)}return t(),e=setInterval(t,1e3),()=>{e&&clearInterval(e)}});async function oe(){if(!(!P()||!R())){h(Y,!0);try{if(!(await R()({token:P()})).ok)throw Error(`confirm failed`);h(X,`success`),V(`cancel-confirmed`,{token:P()})}catch{h(X,`error`)}finally{h(Y,!1)}}}async function se(){if(!(!M()||!L())){h(Z,!0);try{if(!(await L()({reservationId:M(),restaurantSlug:N()})).ok)throw Error(`resend failed`);h(Q,`success`),V(`cancel-requested`,{reservationId:M(),restaurantSlug:N()})}catch{h(Q,`error`)}finally{h(Z,!1)}}}var ce={get mode(){return j()},set mode(e){j(e),x()},get reservationId(){return M()},set reservationId(e){M(e),x()},get restaurantSlug(){return N()},set restaurantSlug(e){N(e),x()},get token(){return P()},set token(e){P(e),x()},get expiresAt(){return F()},set expiresAt(e){F(e),x()},get initiallyExpired(){return I()},set initiallyExpired(e=!1){I(e),x()},get requestCancel(){return L()},set requestCancel(e){L(e),x()},get confirmCancel(){return R()},set confirmCancel(e){R(e),x()},get strings(){return z()},set strings(e){z(e),x()}},$=n(),le=m($),ue=n=>{var i=re(),c=m(i),u=e(c),d=t=>{var n=ne(),i=e(n,!0);C(n),o(()=>{n.disabled=l(W),f(i,l(B).cancelReservation)}),s(`click`,n,ie),r(t,n)},p=t=>{var n=w(),i=e(n,!0);C(n),o(()=>f(i,l(B).requestSuccess)),r(t,n)},g=t=>{var n=w(),i=e(n,!0);C(n),o(()=>f(i,l(B).noEmailOnFile)),r(t,n)},_=t=>{var n=T(),i=e(n,!0);C(n),o(()=>f(i,l(B).requestError)),r(t,n)};t(u,e=>{l(G)===`idle`?e(d):l(G)===`success`?e(p,1):l(G)===`no-email`?e(g,2):e(_,-1)}),C(c);var v=a(c,2);let y;var b=e(v),x=e(b),S=e(x,!0);C(x);var E=a(x,4),D=e(E,!0);C(E);var O=a(E,2),k=e(O),A=e(k,!0);C(k);var j=a(k,2),M=e(j,!0);C(j),C(O),C(b),C(v),te(v,e=>h(H,e),()=>l(H)),o(()=>{y=ee(v,1,`rc-dialog svelte-195t3l3`,null,y,{"rc-dialog-visible":l(U)}),f(S,l(B).dialogEyebrow),f(D,l(B).dialogBody),f(A,l(B).nevermind),f(M,l(B).continueLabel)}),s(`click`,v,e=>e.target===l(H)&&K()),s(`click`,k,K),s(`click`,j,ae),r(n,i)},de=n=>{var i=k(),c=e(i),u=t=>{var n=w(),i=e(n,!0);C(n),o(()=>f(i,l(B).confirmSuccess)),r(t,n)},d=n=>{var i=D(),c=a(m(i),2),u=t=>{var n=E(),i=e(n),s=a(i),c=e(s,!0);C(s),C(n),o(()=>{f(i,`${l(B).expiresIn??``} `),f(c,l(J))}),r(t,n)};t(c,e=>{l(J)&&e(u)});var d=a(c,2),p=e(d,!0);C(d);var h=a(d,2),g=t=>{var n=T(),i=e(n,!0);C(n),o(()=>f(i,l(B).confirmError)),r(t,n)};t(h,e=>{l(X)===`error`&&e(g)}),o(()=>{d.disabled=l(Y),f(p,l(B).confirmButton)}),s(`click`,d,oe),r(n,i)},p=t=>{var n=w(),i=e(n,!0);C(n),o(()=>f(i,l(B).resendSuccess)),r(t,n)},h=n=>{var i=O(),c=a(m(i),2),u=e(c,!0);C(c);var d=a(c,2),p=a(e(d));C(d);var h=a(d,2),g=t=>{var n=T(),i=e(n,!0);C(n),o(()=>f(i,l(B).resendError)),r(t,n)};t(h,e=>{l(Q)===`error`&&e(g)}),o(()=>{f(u,l(B).linkExpired),d.disabled=l(Z),f(p,` ${l(B).resendButton??``}`)}),s(`click`,d,se),r(n,i)};t(c,e=>{l(X)===`success`?e(u):l(q)?l(Q)===`success`?e(p,2):e(h,-1):e(d,1)}),C(i),r(n,i)};return t(le,e=>{j()===`request`?e(ue):e(de,-1)}),r(c,$),_(ce)}y([`click`]),customElements.define(`reservation-cancel`,S(j,{mode:{attribute:`mode`,type:`String`},reservationId:{attribute:`reservation-id`,type:`String`},restaurantSlug:{attribute:`restaurant-slug`,type:`String`},token:{attribute:`token`,type:`String`},expiresAt:{attribute:`expires-at`,type:`Number`},initiallyExpired:{attribute:`initially-expired`,type:`Boolean`},requestCancel:{type:`Object`},confirmCancel:{type:`Object`},strings:{type:`Object`}},[],[],{mode:`open`}));
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,B as n,D as r,E as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,R as f,S as p,T as m,U as h,V as g,W as _,X as v,Z as y,b,et as x,f as S,h as C,j as w,n as T,s as E,t as D,w as O,y as k,z as A}from"./chunks/client-BDk8LqGN.js";var j=r(`<span class="rof-cat-count svelte-6oqepq"> </span>`),M=r(`<button type="button"> <!></button>`),N=r(`<div class="rof-item-desc svelte-6oqepq"> </div>`),ee=r(`<button type="button"> </button>`),te=r(`<div class="rof-variant-picker svelte-6oqepq"></div>`),ne=r(`<span class="rof-item-tag rof-item-tag--icon svelte-6oqepq"><img width="20" height="20" class="rof-diet-icon svelte-6oqepq"/></span>`),re=r(`<span class="rof-item-tag svelte-6oqepq"> </span>`),ie=r(`<div class="rof-item-tags svelte-6oqepq"></div>`),ae=r(`<div class="rof-item svelte-6oqepq"><div class="rof-item-body svelte-6oqepq"><div class="rof-item-name svelte-6oqepq"> </div> <!> <!> <!> <div class="rof-item-footer svelte-6oqepq"><div class="rof-item-price svelte-6oqepq"> </div> <div class="rof-qty svelte-6oqepq"><button type="button" class="rof-qty-btn svelte-6oqepq"><span class="svelte-6oqepq">−</span></button> <div> </div> <button type="button" class="rof-qty-btn svelte-6oqepq"><span class="svelte-6oqepq">+</span></button></div></div></div></div>`),oe=r(`<div class="rof-confirm-left svelte-6oqepq"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="rgb(0,245,212)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-6oqepq"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg> <span class="rof-confirm-label svelte-6oqepq">Order placed</span> <span class="rof-confirm-items svelte-6oqepq"> </span></div> <div class="rof-confirm-right svelte-6oqepq"><span class="rof-confirm-total svelte-6oqepq"> </span> <span class="rof-confirm-time svelte-6oqepq"> </span></div>`,1),se=r(`<button type="button"><span class="svelte-6oqepq"> </span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg></button>`),P=r(`<div class="rof-cart-summary svelte-6oqepq"> <strong class="svelte-6oqepq"> </strong></div> <div class="rof-cart-right svelte-6oqepq"><div class="rof-schedule svelte-6oqepq"><span class="rof-schedule-label svelte-6oqepq">Deliver at</span> <div><button type="button" class="rof-timepicker-btn svelte-6oqepq"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-6oqepq"><circle cx="12" cy="12" r="10" class="svelte-6oqepq"></circle><polyline points="12 6 12 12 16 14" class="svelte-6oqepq"></polyline></svg> <span class="svelte-6oqepq"> </span> <svg class="rof-timepicker-caret svelte-6oqepq" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="svelte-6oqepq"></polyline></svg></button> <div class="rof-timepicker-drop svelte-6oqepq" role="presentation"><div class="rof-tp-days svelte-6oqepq"></div> <button type="button" class="rof-tp-slot rof-tp-asap svelte-6oqepq"><span class="svelte-6oqepq">ASAP</span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg></button> <!></div></div></div> <button type="button" class="rof-place-btn svelte-6oqepq"> </button></div>`,1),F=r(`<div class="rof-order-msg rof-order-msg--error svelte-6oqepq"> </div>`),I=r(`<div class="rof-cart-bar svelte-6oqepq"><!></div> <!>`,1),ce=r(`<div class="rof-root svelte-6oqepq"><div class="rof-cat-tabs svelte-6oqepq"></div> <div class="rof-grid svelte-6oqepq"></div> <!></div>`),le={hash:`svelte-6oqepq`,code:`.rof-root.svelte-6oqepq {display:block;font-family:inherit;color:var(--rof-text-color, #05040f);}.rof-cat-tabs.svelte-6oqepq {display:flex;gap:0.25rem;flex-wrap:wrap;margin-bottom:1.25rem;}.rof-cat-tab.svelte-6oqepq {height:30px;padding:0 14px;border-radius:9999px;border:1px solid var(--rof-tab-border, rgba(5, 4, 15, 0.1));background:transparent;font-size:12px;font-weight:600;color:var(--rof-tab-color, #5e5d6b);cursor:pointer;transition:background 0.15s, color 0.15s, border-color 0.15s;white-space:nowrap;}.rof-cat-tab.svelte-6oqepq:hover {background:rgba(5, 4, 15, 0.04);color:#3d3c4c;}.rof-cat-tab.active.svelte-6oqepq {background:var(--rof-accent-bg, #05040f);color:#fff;border-color:var(--rof-accent-bg, #05040f);}.rof-cat-count.svelte-6oqepq {display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 0.25rem;border-radius:9999px;background:rgba(0, 245, 212, 0.25);color:#05040f;font-size:10px;font-weight:700;margin-left:5px;vertical-align:middle;}.rof-cat-tab.active.svelte-6oqepq .rof-cat-count:where(.svelte-6oqepq) {background:rgba(0, 245, 212, 0.35);color:#fff;}.rof-grid.svelte-6oqepq {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
1
+ import{B as e,C as t,D as n,E 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,Y as _,Z as v,b as y,et as ee,f as b,h as x,j as S,n as C,q as w,s as T,t as E,tt as D,x as O,z as k}from"./chunks/client-DNa0V682.js";var A=l(`<span class="rof-cat-count svelte-6oqepq"> </span>`),j=l(`<button type="button"> <!></button>`),M=l(`<div class="rof-item-desc svelte-6oqepq"> </div>`),te=l(`<button type="button"> </button>`),ne=l(`<div class="rof-variant-picker svelte-6oqepq"></div>`),re=l(`<span class="rof-item-tag rof-item-tag--icon svelte-6oqepq"><img width="20" height="20" class="rof-diet-icon svelte-6oqepq"/></span>`),ie=l(`<span class="rof-item-tag svelte-6oqepq"> </span>`),ae=l(`<div class="rof-item-tags svelte-6oqepq"></div>`),oe=l(`<div class="rof-item svelte-6oqepq"><div class="rof-item-body svelte-6oqepq"><div class="rof-item-name svelte-6oqepq"> </div> <!> <!> <!> <div class="rof-item-footer svelte-6oqepq"><div class="rof-item-price svelte-6oqepq"> </div> <div class="rof-qty svelte-6oqepq"><button type="button" class="rof-qty-btn svelte-6oqepq"><span class="svelte-6oqepq">−</span></button> <div> </div> <button type="button" class="rof-qty-btn svelte-6oqepq"><span class="svelte-6oqepq">+</span></button></div></div></div></div>`),se=l(`<div class="rof-confirm-left svelte-6oqepq"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="rgb(0,245,212)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-6oqepq"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg> <span class="rof-confirm-label svelte-6oqepq">Order placed</span> <span class="rof-confirm-items svelte-6oqepq"> </span></div> <div class="rof-confirm-right svelte-6oqepq"><span class="rof-confirm-total svelte-6oqepq"> </span> <span class="rof-confirm-time svelte-6oqepq"> </span></div>`,1),ce=l(`<button type="button"><span class="svelte-6oqepq"> </span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg></button>`),N=l(`<div class="rof-cart-summary svelte-6oqepq"> <strong class="svelte-6oqepq"> </strong></div> <div class="rof-cart-right svelte-6oqepq"><div class="rof-schedule svelte-6oqepq"><span class="rof-schedule-label svelte-6oqepq">Deliver at</span> <div><button type="button" class="rof-timepicker-btn svelte-6oqepq"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-6oqepq"><circle cx="12" cy="12" r="10" class="svelte-6oqepq"></circle><polyline points="12 6 12 12 16 14" class="svelte-6oqepq"></polyline></svg> <span class="svelte-6oqepq"> </span> <svg class="rof-timepicker-caret svelte-6oqepq" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="svelte-6oqepq"></polyline></svg></button> <div class="rof-timepicker-drop svelte-6oqepq" role="presentation"><div class="rof-tp-days svelte-6oqepq"></div> <button type="button" class="rof-tp-slot rof-tp-asap svelte-6oqepq"><span class="svelte-6oqepq">ASAP</span> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12" class="svelte-6oqepq"></polyline></svg></button> <!></div></div></div> <button type="button" class="rof-place-btn svelte-6oqepq"> </button></div>`,1),P=l(`<div class="rof-order-msg rof-order-msg--error svelte-6oqepq"> </div>`),F=l(`<div class="rof-cart-bar svelte-6oqepq"><!></div> <!>`,1),le=l(`<div class="rof-root svelte-6oqepq"><div class="rof-cat-tabs svelte-6oqepq"></div> <div class="rof-grid svelte-6oqepq"></div> <!></div>`),I={hash:`svelte-6oqepq`,code:`.rof-root.svelte-6oqepq {display:block;font-family:inherit;color:var(--rof-text-color, #05040f);}.rof-cat-tabs.svelte-6oqepq {display:flex;gap:0.25rem;flex-wrap:wrap;margin-bottom:1.25rem;}.rof-cat-tab.svelte-6oqepq {height:30px;padding:0 14px;border-radius:9999px;border:1px solid var(--rof-tab-border, rgba(5, 4, 15, 0.1));background:transparent;font-size:12px;font-weight:600;color:var(--rof-tab-color, #5e5d6b);cursor:pointer;transition:background 0.15s, color 0.15s, border-color 0.15s;white-space:nowrap;}.rof-cat-tab.svelte-6oqepq:hover {background:rgba(5, 4, 15, 0.04);color:#3d3c4c;}.rof-cat-tab.active.svelte-6oqepq {background:var(--rof-accent-bg, #05040f);color:#fff;border-color:var(--rof-accent-bg, #05040f);}.rof-cat-count.svelte-6oqepq {display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 0.25rem;border-radius:9999px;background:rgba(0, 245, 212, 0.25);color:#05040f;font-size:10px;font-weight:700;margin-left:5px;vertical-align:middle;}.rof-cat-tab.active.svelte-6oqepq .rof-cat-count:where(.svelte-6oqepq) {background:rgba(0, 245, 212, 0.35);color:#fff;}.rof-grid.svelte-6oqepq {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
2
2
  @media (max-width: 640px) {.rof-grid.svelte-6oqepq {grid-template-columns:1fr;} }.rof-item.svelte-6oqepq {background:var(--rof-item-bg, #fff);border:1px solid var(--rof-border-color, rgba(5, 4, 15, 0.07));padding:1rem;display:flex;gap:0.875rem;align-items:flex-start;transition:border-color 0.2s;}.rof-item.svelte-6oqepq:hover {border-color:rgba(5, 4, 15, 0.15);}.rof-item-body.svelte-6oqepq {flex:1;min-width:0;}.rof-item-name.svelte-6oqepq {font-size:14px;font-weight:600;color:#05040f;line-height:1.3;margin-bottom:3px;}.rof-item-desc.svelte-6oqepq {font-size:12px;color:#5e5d6b;line-height:1.5;margin-bottom:6px;}.rof-variant-picker.svelte-6oqepq {display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}.rof-variant-pill.svelte-6oqepq {height:24px;padding:0 10px;border-radius:9999px;border:1px solid rgba(5, 4, 15, 0.14);background:transparent;font-size:11px;font-weight:600;color:#5e5d6b;cursor:pointer;transition:background 0.15s, color 0.15s, border-color 0.15s;white-space:nowrap;}.rof-variant-pill.svelte-6oqepq:hover {background:rgba(5, 4, 15, 0.04);color:#3d3c4c;}.rof-variant-pill.active.svelte-6oqepq {background:#05040f;color:#fff;border-color:#05040f;}.rof-item-tags.svelte-6oqepq {display:flex;gap:0.25rem;flex-wrap:wrap;margin-bottom:0.5rem;}.rof-item-tag.svelte-6oqepq {font-size:10px;font-weight:600;letter-spacing:0.5px;color:rgba(0, 160, 120, 0.8);background:rgba(0, 200, 160, 0.06);border:1px solid rgba(0, 200, 160, 0.15);padding:2px 7px;}.rof-item-tag--icon.svelte-6oqepq {padding:0;background:transparent;border:0;display:inline-flex;align-items:center;}.rof-diet-icon.svelte-6oqepq {display:block;}.rof-item-footer.svelte-6oqepq {display:flex;align-items:center;justify-content:space-between;}.rof-item-price.svelte-6oqepq {font-size:15px;font-weight:700;color:#05040f;letter-spacing:-0.3px;font-variant-numeric:tabular-nums;}.rof-qty.svelte-6oqepq {display:inline-flex;align-items:center;gap:10px;}.rof-qty-btn.svelte-6oqepq {width:32px;height:32px;border-radius:9999px;background:transparent;font-size:16px;color:#05040f;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;border:1.5px solid rgba(5, 4, 15, 0.18);transition:color 0.25s, border-color 0.25s;}.rof-qty-btn.svelte-6oqepq::before {content:'';position:absolute;inset:0;border-radius:50%;background:#1a1a18;transform:scale(0);transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);z-index:0;}.rof-qty-btn.svelte-6oqepq::after {content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.22) 50%, transparent 100%);transform:skewX(-12deg);transition:left 0.45s cubic-bezier(0.4, 0, 0.2, 1);z-index:1;pointer-events:none;}.rof-qty-btn.svelte-6oqepq:hover::before {transform:scale(1);}.rof-qty-btn.svelte-6oqepq:hover::after {left:130%;}.rof-qty-btn.svelte-6oqepq:hover {color:#f5f2ec;border-color:#1a1a18;}.rof-qty-btn.svelte-6oqepq span:where(.svelte-6oqepq) {position:relative;z-index:2;}.rof-qty-val.svelte-6oqepq {width:1.25rem;text-align:center;font-size:14px;font-weight:600;color:#05040f;user-select:none;}.rof-qty-val.pop.svelte-6oqepq { animation: svelte-6oqepq-rof-qty-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}
3
3
  @keyframes svelte-6oqepq-rof-qty-pop {
4
4
  0% { transform: scale(1); }
@@ -6,4 +6,4 @@ import{$ as e,A as t,B as n,D as r,E as i,H as a,I as o,J as s,K as c,L as l,M a
6
6
  100% { transform: scale(1); }
7
7
  }.rof-cart-bar.svelte-6oqepq {display:flex;align-items:center;justify-content:space-between;background:var(--rof-cart-bg, #05040f);padding:1rem 1.5rem;margin-top:1.5rem;position:sticky;bottom:1.5rem;}
8
8
  @media (max-width: 640px) {.rof-cart-bar.svelte-6oqepq {flex-direction:column;gap:12px;align-items:stretch;position:static;} }.rof-confirm-left.svelte-6oqepq {display:flex;align-items:center;gap:10px;min-width:0;flex:1;}.rof-confirm-label.svelte-6oqepq {font-size:13px;font-weight:700;color:rgb(0, 245, 212);letter-spacing:0.2px;white-space:nowrap;}.rof-confirm-items.svelte-6oqepq {font-size:13px;color:#9896b0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rof-confirm-right.svelte-6oqepq {display:flex;align-items:center;gap:1rem;flex-shrink:0;}.rof-confirm-total.svelte-6oqepq {font-size:15px;font-weight:700;color:#f0eeff;font-variant-numeric:tabular-nums;}.rof-confirm-time.svelte-6oqepq {font-size:12px;color:#9896b0;}.rof-cart-summary.svelte-6oqepq {font-size:14px;color:#f0eeff;font-variant-numeric:tabular-nums;}.rof-cart-summary.svelte-6oqepq strong:where(.svelte-6oqepq) {font-size:17px;font-weight:700;}.rof-cart-right.svelte-6oqepq {display:flex;align-items:center;gap:1rem;}
9
- @media (max-width: 640px) {.rof-cart-right.svelte-6oqepq {justify-content:space-between;} }.rof-schedule.svelte-6oqepq {display:flex;align-items:center;gap:10px;}.rof-schedule-label.svelte-6oqepq {font-size:12px;font-weight:600;color:#9896b0;white-space:nowrap;letter-spacing:0.3px;text-transform:uppercase;}.rof-timepicker.svelte-6oqepq {position:relative;}.rof-timepicker-btn.svelte-6oqepq {display:flex;align-items:center;gap:7px;height:36px;padding:0 12px;background:rgba(255, 255, 255, 0.07);border:1px solid rgba(255, 255, 255, 0.12);border-radius:8px;color:#f0eeff;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s, border-color 0.15s;white-space:nowrap;}.rof-timepicker-btn.svelte-6oqepq:hover {background:rgba(255, 255, 255, 0.11);border-color:rgba(255, 255, 255, 0.2);}.rof-timepicker-caret.svelte-6oqepq {opacity:0.4;flex-shrink:0;transition:transform 0.15s;}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-caret:where(.svelte-6oqepq) {transform:rotate(180deg);}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-btn:where(.svelte-6oqepq) {background:rgba(255, 255, 255, 0.11);border-color:rgba(255, 255, 255, 0.22);}.rof-timepicker-drop.svelte-6oqepq {display:none;position:absolute;bottom:calc(100% + 8px);right:0;width:148px;background:#111018;border:1px solid rgba(255, 255, 255, 0.1);border-radius:10px;padding:0.25rem;z-index:200;max-height:220px;overflow-y:auto;box-shadow:0 8px 32px rgba(0, 0, 0, 0.5);}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-drop:where(.svelte-6oqepq) {display:block;}.rof-tp-slot.svelte-6oqepq {display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.5rem 0.75rem;background:transparent;border:0;border-radius:6px;color:#c8c6dc;font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background 0.1s, color 0.1s;}.rof-tp-slot.svelte-6oqepq:hover {background:rgba(255, 255, 255, 0.07);color:#f0eeff;}.rof-tp-slot.selected.svelte-6oqepq {background:rgba(0, 245, 212, 0.1);color:rgb(0, 245, 212);font-weight:600;}.rof-tp-tick.svelte-6oqepq {opacity:0;flex-shrink:0;}.rof-tp-tick.selected.svelte-6oqepq {opacity:1;}.rof-tp-days.svelte-6oqepq {display:flex;gap:0.25rem;padding:0.25rem 0 0.5rem;border-bottom:1px solid rgba(255, 255, 255, 0.08);margin-bottom:0.25rem;overflow-x:auto;scrollbar-width:none;}.rof-tp-days.svelte-6oqepq::-webkit-scrollbar {display:none;}.rof-tp-day.svelte-6oqepq {flex-shrink:0;height:26px;padding:0 10px;border-radius:6px;border:1px solid rgba(255, 255, 255, 0.1);background:transparent;font-size:12px;font-weight:600;color:#9896b0;cursor:pointer;transition:background 0.1s, color 0.1s, border-color 0.1s;white-space:nowrap;}.rof-tp-day.active.svelte-6oqepq {background:rgba(255, 255, 255, 0.1);border-color:rgba(255, 255, 255, 0.2);color:#f0eeff;}.rof-tp-asap.svelte-6oqepq {border-bottom:1px solid rgba(255, 255, 255, 0.08);border-radius:6px 6px 0 0;margin-bottom:0.25rem;padding-bottom:10px;}.rof-place-btn.svelte-6oqepq {height:40px;padding:0 1.5rem;background:var(--rof-place-btn-bg, rgb(0, 200, 160));color:#05040f;border:0;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:0.3px;transition:opacity 0.15s;}.rof-place-btn.svelte-6oqepq:hover {opacity:0.85;}.rof-place-btn.svelte-6oqepq:disabled {opacity:0.4;cursor:not-allowed;}.rof-order-msg.svelte-6oqepq {padding:14px 0 0;font-size:14px;font-weight:500;color:rgb(180, 40, 40);}`};function L(t,r){y(r,!0),C(t,le);let D=T(r,`items`,23,()=>[]),L=T(r,`categoryOrder`,7),R=T(r,`categoryLabels`,7),z=T(r,`currency`,7,``),ue=T(r,`iconFor`,7),B=T(r,`checkIn`,7),V=T(r,`checkOut`,7),de=T(r,`placeOrder`,7);function fe(e,t){r.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=_(``),pe=_(!1),U=_(a({})),me=_(a({})),W=_(``),G=_(0),K=_(!1),q=_(!1),J=_(null),Y=_(null),he=_(null);function X(e,t){return t?`${e}:${t}`:e}function Z(e){return d(me)[e.id]??e.variants?.[0]}function ge(e){return d(U)[X(e.id,Z(e))]?.qty??0}function _e(e){let t=Z(e),n=X(e.id,t),r=d(U)[n];h(U,{...d(U),[n]:{item:e,variant:t,qty:(r?.qty??0)+1}},!0),h(he,null),queueMicrotask(()=>h(he,n,!0))}function ve(e){let t=Z(e),n=X(e.id,t),r=d(U)[n];if(r){if(r.qty<=1){let e={...d(U)};delete e[n],h(U,e,!0)}else h(U,{...d(U),[n]:{...r,qty:r.qty-1}},!0)}}let Q=s(()=>Object.values(d(U))),ye=s(()=>d(Q).reduce((e,t)=>e+t.qty,0)),be=s(()=>d(Q).reduce((e,t)=>e+Number(t.item.price)*t.qty,0)),xe=s(()=>d(ye)>0||d(Y)!==null),Se=s(()=>{let e={};for(let t of d(Q))e[t.item.category]=(e[t.item.category]??0)+t.qty;return e}),Ce=s(()=>{let e=new Set,t=[];for(let n of D())e.has(n.category)||(e.add(n.category),t.push(n.category));if(!L()?.length)return t;let n=L().filter(t=>e.has(t)),r=t.filter(e=>!L().includes(e));return[...n,...r]});function we(e){return R()?.[e]?R()[e]:e.split(`-`).map(e=>e&&e[0].toUpperCase()+e.slice(1)).join(` `)}let Te=s(()=>{let e={};for(let t of D())(e[t.category]??=[]).push(t);return e}),Ee=s(()=>d(Te)[d(H)]??[]);l(()=>{!d(pe)&&d(Ce).length&&h(H,d(Ce)[0],!0)});function De(e){let t=Number(e);return Number.isNaN(t)?`${z()}${e}`:`${z()}${Number.isInteger(t)?t:t.toFixed(2)}`}let Oe=(()=>{let e=[];for(let t=6;t<24;t++)for(let n of[0,30])e.push(`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`);return e})();function ke(e){let[t,n]=e.split(`:`).map(Number),r=t>=12?`pm`:`am`;return`${t%12||12}:${String(n).padStart(2,`0`)} ${r}`}let Ae=s(()=>{let e=new Date;e.setHours(0,0,0,0);let t=[];if(B()&&V()){let n=new Date(`${B().slice(0,10)}T00:00:00`),r=new Date(`${V().slice(0,10)}T00:00:00`),i=new Date(Math.max(e.getTime(),n.getTime())),a=new Date(r.getTime());a.setDate(a.getDate()-1);for(let n=new Date(i);n<=a;n.setDate(n.getDate()+1)){let r=Math.round((n.getTime()-e.getTime())/864e5),i=r===0?`Today`:r===1?`Tomorrow`:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`});t.push({offset:r,label:i})}}return t.length||t.push({offset:0,label:`Today`},{offset:1,label:`Tomorrow`}),t}),je=s(()=>{if(!d(W))return`ASAP`;let e=d(Ae).find(e=>e.offset===d(G));return(e&&e.offset!==0?e.label+` · `:``)+ke(d(W))});function Me(e){h(G,e,!0)}function Ne(e){h(W,e??``,!0),e&&h(K,!1)}async function Pe(){if(!d(Q).length||d(q))return;h(q,!0),h(J,null);let e=d(W)?(()=>{let[e,t]=d(W).split(`:`).map(Number),n=new Date;return n.setDate(n.getDate()+d(G)),n.setHours(e,t,0,0),n.toISOString()})():null,t=d(Q).map(e=>({item_id:e.item.id,quantity:e.qty,...e.variant?{variant:e.variant}:{}}));try{let n=await de()({items:t,scheduledFor:e});n.ok?(h(Y,{items:d(Q).map(e=>`${e.item.name}${e.variant?` (${e.variant})`:``} ×${e.qty}`),total:d(be),deliveryLabel:d(je)},!0),fe(`order-placed`,{items:t,total:d(be),scheduledFor:e,order:n.order}),h(U,{},!0),h(W,``),h(G,0),setTimeout(()=>h(Y,null),4500)):h(J,n.error??`Something went wrong. Please try again.`,!0)}catch{h(J,`Network error. Please try again.`)}finally{h(q,!1)}}function Fe(){h(K,!1)}var Ie={get items(){return D()},set items(e=[]){D(e),c()},get categoryOrder(){return L()},set categoryOrder(e){L(e),c()},get categoryLabels(){return R()},set categoryLabels(e){R(e),c()},get currency(){return z()},set currency(e=``){z(e),c()},get iconFor(){return ue()},set iconFor(e){ue(e),c()},get checkIn(){return B()},set checkIn(e){B(e),c()},get checkOut(){return V()},set checkOut(e){V(e),c()},get placeOrder(){return de()},set placeOrder(e){de(e),c()}},Le=ce();u(`click`,f,Fe);var Re=A(Le);k(Re,21,()=>d(Ce),b,(e,t)=>{var n=M();let r;var i=A(n),a=g(i),s=e=>{var n=j(),r=A(n,!0);x(n),o(()=>O(r,d(Se)[d(t)])),m(e,n)};p(a,e=>{d(Se)[d(t)]&&e(s)}),x(n),o(e=>{r=S(n,1,`rof-cat-tab svelte-6oqepq`,null,r,{active:d(t)===d(H)}),O(i,`${e??``} `)},[()=>we(d(t))]),w(`click`,n,()=>{h(pe,!0),h(H,d(t),!0)}),m(e,n)}),x(Re);var $=g(Re,2);k($,21,()=>d(Ee),e=>e.id,(e,t)=>{let r=s(()=>Z(d(t))),a=s(()=>ge(d(t)));var c=ae(),l=A(c),u=A(l),f=A(u,!0);x(u);var _=g(u,2),v=e=>{var n=N(),r=A(n,!0);x(n),o(()=>O(r,d(t).description)),m(e,n)};p(_,e=>{d(t).description&&e(v)});var y=g(_,2),C=e=>{var n=te();k(n,21,()=>d(t).variants,b,(e,n)=>{var i=ee();let a;var s=A(i,!0);x(i),o(()=>{a=S(i,1,`rof-variant-pill svelte-6oqepq`,null,a,{active:d(n)===d(r)}),O(s,d(n))}),w(`click`,i,()=>h(me,{...d(me),[d(t).id]:d(n)},!0)),m(e,i)}),x(n),m(e,n)};p(y,e=>{d(t).variants?.length&&e(C)});var T=g(y,2),D=e=>{var r=ie();k(r,21,()=>d(t).allergens,b,(e,t)=>{let r=s(()=>ue()?.(d(t)));var a=i(),c=n(a),l=e=>{var n=ne(),i=A(n);x(n),o(()=>{E(i,`src`,d(r)),E(i,`alt`,d(t)),E(i,`title`,d(t))}),m(e,n)},u=e=>{var n=re(),r=A(n,!0);x(n),o(()=>O(r,d(t))),m(e,n)};p(c,e=>{d(r)?e(l):e(u,-1)}),m(e,a)}),x(r),m(e,r)};p(T,e=>{d(t).allergens?.length&&e(D)});var j=g(T,2),M=A(j),oe=A(M,!0);x(M);var se=g(M,2),P=A(se),F=g(P,2);let I;var ce=A(F,!0);x(F);var le=g(F,2);x(se),x(j),x(l),x(c),o((e,n)=>{O(f,d(t).name),O(oe,e),E(P,`aria-label`,`Remove one ${d(t).name}`),I=S(F,1,`rof-qty-val svelte-6oqepq`,null,I,n),O(ce,d(a)),E(le,`aria-label`,`Add one ${d(t).name}`)},[()=>De(d(t).price),()=>({pop:d(he)===X(d(t).id,d(r))})]),w(`click`,P,()=>ve(d(t))),w(`click`,le,()=>_e(d(t))),m(e,c)}),x($);var ze=g($,2),Be=t=>{var r=I(),i=n(r),a=A(i),s=e=>{var t=oe(),r=n(t),i=g(A(r),4),a=A(i,!0);x(i),x(r);var s=g(r,2),c=A(s),l=A(c,!0);x(c);var u=g(c,2),f=A(u,!0);x(u),x(s),o((e,t)=>{O(a,e),O(l,t),O(f,d(Y).deliveryLabel)},[()=>d(Y).items.join(` · `),()=>De(d(Y).total)]),m(e,t)},c=t=>{var r=P(),i=n(r),a=A(i),s=g(a),c=A(s,!0);x(s),x(i);var l=g(i,2),u=A(l),f=g(A(u),2);let p;var _=A(f),v=g(A(_),2),y=A(v,!0);x(v),e(2),x(_);var C=g(_,2),T=A(C);k(T,21,()=>d(Ae),b,(e,t)=>{var n=ee();let r;var i=A(n,!0);x(n),o(()=>{r=S(n,1,`rof-tp-day svelte-6oqepq`,null,r,{active:d(t).offset===d(G)}),O(i,d(t).label)}),w(`click`,n,()=>Me(d(t).offset)),m(e,n)}),x(T);var E=g(T,2),D=g(A(E),2);let j;x(E);var M=g(E,2);k(M,17,()=>Oe,b,(e,t)=>{var n=se();let r;var i=A(n),a=A(i,!0);x(i);var s=g(i,2);let c;x(n),o(e=>{r=S(n,1,`rof-tp-slot svelte-6oqepq`,null,r,{selected:d(W)===d(t)}),O(a,e),c=S(s,0,`rof-tp-tick svelte-6oqepq`,null,c,{selected:d(W)===d(t)})},[()=>ke(d(t))]),w(`click`,n,()=>Ne(d(t))),m(e,n)}),x(C),x(f),x(u);var N=g(u,2),te=A(N,!0);x(N),x(l),o(e=>{O(a,`${d(ye)??``} item${d(ye)===1?``:`s`}  ·  `),O(c,e),p=S(f,1,`rof-timepicker svelte-6oqepq`,null,p,{open:d(K)}),O(y,d(je)),j=S(D,0,`rof-tp-tick svelte-6oqepq`,null,j,{selected:!d(W)}),N.disabled=d(q),O(te,d(q)?`Placing order…`:`Place Order`)},[()=>De(d(be))]),w(`click`,_,e=>{e.stopPropagation(),h(K,!d(K))}),w(`click`,C,e=>e.stopPropagation()),w(`click`,E,()=>Ne(null)),w(`click`,N,Pe),m(t,r)};p(a,e=>{d(Y)?e(s):e(c,-1)}),x(i);var l=g(i,2),u=e=>{var t=F(),n=A(t,!0);x(t),o(()=>O(n,d(J))),m(e,t)};p(l,e=>{d(J)&&e(u)}),m(t,r)};return p(ze,e=>{d(xe)&&e(Be)}),x(Le),m(t,Le),v(Ie)}t([`click`]),customElements.define(`restaurant-order-form`,D(L,{currency:{attribute:`currency`,type:`String`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},items:{},categoryOrder:{},categoryLabels:{},iconFor:{},placeOrder:{}},[],[],{mode:`open`}));
9
+ @media (max-width: 640px) {.rof-cart-right.svelte-6oqepq {justify-content:space-between;} }.rof-schedule.svelte-6oqepq {display:flex;align-items:center;gap:10px;}.rof-schedule-label.svelte-6oqepq {font-size:12px;font-weight:600;color:#9896b0;white-space:nowrap;letter-spacing:0.3px;text-transform:uppercase;}.rof-timepicker.svelte-6oqepq {position:relative;}.rof-timepicker-btn.svelte-6oqepq {display:flex;align-items:center;gap:7px;height:36px;padding:0 12px;background:rgba(255, 255, 255, 0.07);border:1px solid rgba(255, 255, 255, 0.12);border-radius:8px;color:#f0eeff;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s, border-color 0.15s;white-space:nowrap;}.rof-timepicker-btn.svelte-6oqepq:hover {background:rgba(255, 255, 255, 0.11);border-color:rgba(255, 255, 255, 0.2);}.rof-timepicker-caret.svelte-6oqepq {opacity:0.4;flex-shrink:0;transition:transform 0.15s;}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-caret:where(.svelte-6oqepq) {transform:rotate(180deg);}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-btn:where(.svelte-6oqepq) {background:rgba(255, 255, 255, 0.11);border-color:rgba(255, 255, 255, 0.22);}.rof-timepicker-drop.svelte-6oqepq {display:none;position:absolute;bottom:calc(100% + 8px);right:0;width:148px;background:#111018;border:1px solid rgba(255, 255, 255, 0.1);border-radius:10px;padding:0.25rem;z-index:200;max-height:220px;overflow-y:auto;box-shadow:0 8px 32px rgba(0, 0, 0, 0.5);}.rof-timepicker.open.svelte-6oqepq .rof-timepicker-drop:where(.svelte-6oqepq) {display:block;}.rof-tp-slot.svelte-6oqepq {display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.5rem 0.75rem;background:transparent;border:0;border-radius:6px;color:#c8c6dc;font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background 0.1s, color 0.1s;}.rof-tp-slot.svelte-6oqepq:hover {background:rgba(255, 255, 255, 0.07);color:#f0eeff;}.rof-tp-slot.selected.svelte-6oqepq {background:rgba(0, 245, 212, 0.1);color:rgb(0, 245, 212);font-weight:600;}.rof-tp-tick.svelte-6oqepq {opacity:0;flex-shrink:0;}.rof-tp-tick.selected.svelte-6oqepq {opacity:1;}.rof-tp-days.svelte-6oqepq {display:flex;gap:0.25rem;padding:0.25rem 0 0.5rem;border-bottom:1px solid rgba(255, 255, 255, 0.08);margin-bottom:0.25rem;overflow-x:auto;scrollbar-width:none;}.rof-tp-days.svelte-6oqepq::-webkit-scrollbar {display:none;}.rof-tp-day.svelte-6oqepq {flex-shrink:0;height:26px;padding:0 10px;border-radius:6px;border:1px solid rgba(255, 255, 255, 0.1);background:transparent;font-size:12px;font-weight:600;color:#9896b0;cursor:pointer;transition:background 0.1s, color 0.1s, border-color 0.1s;white-space:nowrap;}.rof-tp-day.active.svelte-6oqepq {background:rgba(255, 255, 255, 0.1);border-color:rgba(255, 255, 255, 0.2);color:#f0eeff;}.rof-tp-asap.svelte-6oqepq {border-bottom:1px solid rgba(255, 255, 255, 0.08);border-radius:6px 6px 0 0;margin-bottom:0.25rem;padding-bottom:10px;}.rof-place-btn.svelte-6oqepq {height:40px;padding:0 1.5rem;background:var(--rof-place-btn-bg, rgb(0, 200, 160));color:#05040f;border:0;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:0.3px;transition:opacity 0.15s;}.rof-place-btn.svelte-6oqepq:hover {opacity:0.85;}.rof-place-btn.svelte-6oqepq:disabled {opacity:0.4;cursor:not-allowed;}.rof-order-msg.svelte-6oqepq {padding:14px 0 0;font-size:14px;font-weight:500;color:rgb(180, 40, 40);}`};function L(l,S){d(S,!0),x(l,I);let E=C(S,`items`,23,()=>[]),L=C(S,`categoryOrder`,7),R=C(S,`categoryLabels`,7),z=C(S,`currency`,7,``),ue=C(S,`iconFor`,7),B=C(S,`checkIn`,7),V=C(S,`checkOut`,7),H=C(S,`placeOrder`,7);function de(e,t){S.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let U=i(``),fe=i(!1),W=i(m({})),pe=i(m({})),G=i(``),K=i(0),q=i(!1),J=i(!1),Y=i(null),X=i(null),me=i(null);function Z(e,t){return t?`${e}:${t}`:e}function Q(e){return u(pe)[e.id]??e.variants?.[0]}function he(e){return u(W)[Z(e.id,Q(e))]?.qty??0}function ge(e){let t=Q(e),n=Z(e.id,t),r=u(W)[n];g(W,{...u(W),[n]:{item:e,variant:t,qty:(r?.qty??0)+1}},!0),g(me,null),queueMicrotask(()=>g(me,n,!0))}function _e(e){let t=Q(e),n=Z(e.id,t),r=u(W)[n];if(r){if(r.qty<=1){let e={...u(W)};delete e[n],g(W,e,!0)}else g(W,{...u(W),[n]:{...r,qty:r.qty-1}},!0)}}let $=_(()=>Object.values(u(W))),ve=_(()=>u($).reduce((e,t)=>e+t.qty,0)),ye=_(()=>u($).reduce((e,t)=>e+Number(t.item.price)*t.qty,0)),be=_(()=>u(ve)>0||u(X)!==null),xe=_(()=>{let e={};for(let t of u($))e[t.item.category]=(e[t.item.category]??0)+t.qty;return e}),Se=_(()=>{let e=new Set,t=[];for(let n of E())e.has(n.category)||(e.add(n.category),t.push(n.category));if(!L()?.length)return t;let n=L().filter(t=>e.has(t)),r=t.filter(e=>!L().includes(e));return[...n,...r]});function Ce(e){return R()?.[e]?R()[e]:e.split(`-`).map(e=>e&&e[0].toUpperCase()+e.slice(1)).join(` `)}let we=_(()=>{let e={};for(let t of E())(e[t.category]??=[]).push(t);return e}),Te=_(()=>u(we)[u(U)]??[]);f(()=>{!u(fe)&&u(Se).length&&g(U,u(Se)[0],!0)});function Ee(e){let t=Number(e);return Number.isNaN(t)?`${z()}${e}`:`${z()}${Number.isInteger(t)?t:t.toFixed(2)}`}let De=(()=>{let e=[];for(let t=6;t<24;t++)for(let n of[0,30])e.push(`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`);return e})();function Oe(e){let[t,n]=e.split(`:`).map(Number),r=t>=12?`pm`:`am`;return`${t%12||12}:${String(n).padStart(2,`0`)} ${r}`}let ke=_(()=>{let e=new Date;e.setHours(0,0,0,0);let t=[];if(B()&&V()){let n=new Date(`${B().slice(0,10)}T00:00:00`),r=new Date(`${V().slice(0,10)}T00:00:00`),i=new Date(Math.max(e.getTime(),n.getTime())),a=new Date(r.getTime());a.setDate(a.getDate()-1);for(let n=new Date(i);n<=a;n.setDate(n.getDate()+1)){let r=Math.round((n.getTime()-e.getTime())/864e5),i=r===0?`Today`:r===1?`Tomorrow`:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`});t.push({offset:r,label:i})}}return t.length||t.push({offset:0,label:`Today`},{offset:1,label:`Tomorrow`}),t}),Ae=_(()=>{if(!u(G))return`ASAP`;let e=u(ke).find(e=>e.offset===u(K));return(e&&e.offset!==0?e.label+` · `:``)+Oe(u(G))});function je(e){g(K,e,!0)}function Me(e){g(G,e??``,!0),e&&g(q,!1)}async function Ne(){if(!u($).length||u(J))return;g(J,!0),g(Y,null);let e=u(G)?(()=>{let[e,t]=u(G).split(`:`).map(Number),n=new Date;return n.setDate(n.getDate()+u(K)),n.setHours(e,t,0,0),n.toISOString()})():null,t=u($).map(e=>({item_id:e.item.id,quantity:e.qty,...e.variant?{variant:e.variant}:{}}));try{let n=await H()({items:t,scheduledFor:e});n.ok?(g(X,{items:u($).map(e=>`${e.item.name}${e.variant?` (${e.variant})`:``} ×${e.qty}`),total:u(ye),deliveryLabel:u(Ae)},!0),de(`order-placed`,{items:t,total:u(ye),scheduledFor:e,order:n.order}),g(W,{},!0),g(G,``),g(K,0),setTimeout(()=>g(X,null),4500)):g(Y,n.error??`Something went wrong. Please try again.`,!0)}catch{g(Y,`Network error. Please try again.`)}finally{g(J,!1)}}function Pe(){g(q,!1)}var Fe={get items(){return E()},set items(e=[]){E(e),w()},get categoryOrder(){return L()},set categoryOrder(e){L(e),w()},get categoryLabels(){return R()},set categoryLabels(e){R(e),w()},get currency(){return z()},set currency(e=``){z(e),w()},get iconFor(){return ue()},set iconFor(e){ue(e),w()},get checkIn(){return B()},set checkIn(e){B(e),w()},get checkOut(){return V()},set checkOut(e){V(e),w()},get placeOrder(){return H()},set placeOrder(e){H(e),w()}},Ie=le();c(`click`,k,Pe);var Le=e(Ie);y(Le,21,()=>u(Se),O,(n,i)=>{var c=j();let l;var d=e(c),f=a(d),m=t=>{var n=A(),a=e(n,!0);D(n),o(()=>p(a,u(xe)[u(i)])),r(t,n)};t(f,e=>{u(xe)[u(i)]&&e(m)}),D(c),o(e=>{l=b(c,1,`rof-cat-tab svelte-6oqepq`,null,l,{active:u(i)===u(U)}),p(d,`${e??``} `)},[()=>Ce(u(i))]),s(`click`,c,()=>{g(fe,!0),g(U,u(i),!0)}),r(n,c)}),D(Le);var Re=a(Le,2);y(Re,21,()=>u(Te),e=>e.id,(i,c)=>{let l=_(()=>Q(u(c))),d=_(()=>he(u(c)));var f=oe(),m=e(f),v=e(m),ee=e(v,!0);D(v);var x=a(v,2),S=t=>{var n=M(),i=e(n,!0);D(n),o(()=>p(i,u(c).description)),r(t,n)};t(x,e=>{u(c).description&&e(S)});var C=a(x,2),w=t=>{var n=ne();y(n,21,()=>u(c).variants,O,(t,n)=>{var i=te();let a;var d=e(i,!0);D(i),o(()=>{a=b(i,1,`rof-variant-pill svelte-6oqepq`,null,a,{active:u(n)===u(l)}),p(d,u(n))}),s(`click`,i,()=>g(pe,{...u(pe),[u(c).id]:u(n)},!0)),r(t,i)}),D(n),r(t,n)};t(C,e=>{u(c).variants?.length&&e(w)});var E=a(C,2),k=i=>{var a=ae();y(a,21,()=>u(c).allergens,O,(i,a)=>{let s=_(()=>ue()?.(u(a)));var c=n(),l=h(c),d=t=>{var n=re(),i=e(n);D(n),o(()=>{T(i,`src`,u(s)),T(i,`alt`,u(a)),T(i,`title`,u(a))}),r(t,n)},f=t=>{var n=ie(),i=e(n,!0);D(n),o(()=>p(i,u(a))),r(t,n)};t(l,e=>{u(s)?e(d):e(f,-1)}),r(i,c)}),D(a),r(i,a)};t(E,e=>{u(c).allergens?.length&&e(k)});var A=a(E,2),j=e(A),se=e(j,!0);D(j);var ce=a(j,2),N=e(ce),P=a(N,2);let F;var le=e(P,!0);D(P);var I=a(P,2);D(ce),D(A),D(m),D(f),o((e,t)=>{p(ee,u(c).name),p(se,e),T(N,`aria-label`,`Remove one ${u(c).name}`),F=b(P,1,`rof-qty-val svelte-6oqepq`,null,F,t),p(le,u(d)),T(I,`aria-label`,`Add one ${u(c).name}`)},[()=>Ee(u(c).price),()=>({pop:u(me)===Z(u(c).id,u(l))})]),s(`click`,N,()=>_e(u(c))),s(`click`,I,()=>ge(u(c))),r(i,f)}),D(Re);var ze=a(Re,2),Be=n=>{var i=F(),c=h(i),l=e(c),d=t=>{var n=se(),i=h(n),s=a(e(i),4),c=e(s,!0);D(s),D(i);var l=a(i,2),d=e(l),f=e(d,!0);D(d);var m=a(d,2),g=e(m,!0);D(m),D(l),o((e,t)=>{p(c,e),p(f,t),p(g,u(X).deliveryLabel)},[()=>u(X).items.join(` · `),()=>Ee(u(X).total)]),r(t,n)},f=t=>{var n=N(),i=h(n),c=e(i),l=a(c),d=e(l,!0);D(l),D(i);var f=a(i,2),m=e(f),_=a(e(m),2);let v;var x=e(_),S=a(e(x),2),C=e(S,!0);D(S),ee(2),D(x);var w=a(x,2),T=e(w);y(T,21,()=>u(ke),O,(t,n)=>{var i=te();let a;var c=e(i,!0);D(i),o(()=>{a=b(i,1,`rof-tp-day svelte-6oqepq`,null,a,{active:u(n).offset===u(K)}),p(c,u(n).label)}),s(`click`,i,()=>je(u(n).offset)),r(t,i)}),D(T);var E=a(T,2),k=a(e(E),2);let A;D(E);var j=a(E,2);y(j,17,()=>De,O,(t,n)=>{var i=ce();let c;var l=e(i),d=e(l,!0);D(l);var f=a(l,2);let m;D(i),o(e=>{c=b(i,1,`rof-tp-slot svelte-6oqepq`,null,c,{selected:u(G)===u(n)}),p(d,e),m=b(f,0,`rof-tp-tick svelte-6oqepq`,null,m,{selected:u(G)===u(n)})},[()=>Oe(u(n))]),s(`click`,i,()=>Me(u(n))),r(t,i)}),D(w),D(_),D(m);var M=a(m,2),ne=e(M,!0);D(M),D(f),o(e=>{p(c,`${u(ve)??``} item${u(ve)===1?``:`s`}  ·  `),p(d,e),v=b(_,1,`rof-timepicker svelte-6oqepq`,null,v,{open:u(q)}),p(C,u(Ae)),A=b(k,0,`rof-tp-tick svelte-6oqepq`,null,A,{selected:!u(G)}),M.disabled=u(J),p(ne,u(J)?`Placing order…`:`Place Order`)},[()=>Ee(u(ye))]),s(`click`,x,e=>{e.stopPropagation(),g(q,!u(q))}),s(`click`,w,e=>e.stopPropagation()),s(`click`,E,()=>Me(null)),s(`click`,M,Ne),r(t,n)};t(l,e=>{u(X)?e(d):e(f,-1)}),D(c);var m=a(c,2),_=t=>{var n=P(),i=e(n,!0);D(n),o(()=>p(i,u(Y))),r(t,n)};t(m,e=>{u(Y)&&e(_)}),r(n,i)};return t(ze,e=>{u(be)&&e(Be)}),D(Ie),r(l,Ie),v(Fe)}S([`click`]),customElements.define(`restaurant-order-form`,E(L,{currency:{attribute:`currency`,type:`String`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},items:{},categoryOrder:{},categoryLabels:{},iconFor:{},placeOrder:{}},[],[],{mode:`open`}));
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,S as m,T as h,U as g,V as _,W as v,X as y,Z as b,b as x,et as S,f as C,h as w,j as T,n as E,r as D,s as O,t as k,w as A,y as j,z as M}from"./chunks/client-BDk8LqGN.js";import{i as ee,o as te,r as ne,s as re,t as ie}from"./chunks/calendar-B8eNjUm2.js";import{t as N}from"./chunks/gsap-DWxn8li7.js";var ae=i(`<div class="rgf-badge svelte-1gtjszk"> </div>`),oe=i(`<p class="rgf-desc svelte-1gtjszk"> </p>`),se=i(`<a class="rgf-card svelte-1gtjszk"><div class="rgf-img svelte-1gtjszk"><img loading="lazy" width="800" height="560" class="svelte-1gtjszk"/> <!></div> <div class="rgf-body svelte-1gtjszk"><div class="rgf-info svelte-1gtjszk"><div class="rgf-name svelte-1gtjszk"> </div> <!></div> <div class="rgf-footer svelte-1gtjszk"><div><div class="rgf-from svelte-1gtjszk">From</div> <div class="rgf-price svelte-1gtjszk"> <span class="rgf-price-cur svelte-1gtjszk"> </span></div></div> <span class="rgf-view svelte-1gtjszk"><span class="rgf-view-shine svelte-1gtjszk" aria-hidden="true"></span> <span class="rgf-view-inner svelte-1gtjszk">View <svg width="14" height="14" viewBox="0 0 22 22" fill="none"><line x1="2" y1="11" x2="18" y2="11" stroke="white" stroke-width="2" stroke-linecap="round"></line><polyline points="12,5 19,11 12,17" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></polyline></svg></span></span></div></div></a>`),ce=i(`<div class="rgf-cards svelte-1gtjszk"></div>`),le=i(`<div class="rgr-tag svelte-1gtjszk"> </div>`),ue=i(`<a class="rgr-card svelte-1gtjszk"><div class="rgr-img svelte-1gtjszk"><img loading="lazy" class="svelte-1gtjszk"/></div> <div class="rgr-body svelte-1gtjszk"><div><!> <div class="rgr-name svelte-1gtjszk"> </div> <div class="rgr-desc svelte-1gtjszk"> </div></div> <div class="rgr-price svelte-1gtjszk"> <span class="rgr-price-cur svelte-1gtjszk"> </span> <span class="rgr-price-per svelte-1gtjszk">/ night</span></div></div></a>`),de=i(`<div class="rgr-grid svelte-1gtjszk"></div>`),P=i(`<button type="button"> </button>`),fe=i(`<span class="svelte-1gtjszk"> </span>`),pe=i(`<div class="rg-cal svelte-1gtjszk" role="dialog" aria-label="Choose check-in and check-out dates"><div class="rg-cal-head svelte-1gtjszk"><button type="button" class="rg-cal-nav svelte-1gtjszk" aria-label="Previous month">‹</button> <span class="rg-cal-month svelte-1gtjszk"> </span> <button type="button" class="rg-cal-nav svelte-1gtjszk" aria-label="Next month">›</button></div> <div class="rg-cal-weekdays svelte-1gtjszk"></div> <div class="rg-cal-grid svelte-1gtjszk"></div></div>`),me=i(`<div part="card" role="group"><div class="rg-card-img svelte-1gtjszk"><img class="svelte-1gtjszk"/></div> <div class="rg-card-body svelte-1gtjszk"><h2 class="rg-card-name svelte-1gtjszk"> </h2> <p class="rg-card-desc svelte-1gtjszk"> </p> <div class="rg-card-rule svelte-1gtjszk"></div> <div class="rg-card-footer svelte-1gtjszk"><div><div class="rg-from svelte-1gtjszk">From</div> <div class="rg-price svelte-1gtjszk"> <span class="rg-price-currency svelte-1gtjszk"> </span></div></div> <a class="rg-view svelte-1gtjszk"><span class="rg-view-shine svelte-1gtjszk" aria-hidden="true"></span> <span class="rg-view-inner svelte-1gtjszk">View <svg width="14" height="14" viewBox="0 0 22 22" fill="none"><line x1="2" y1="11" x2="18" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round"></line><polyline points="12,5 19,11 12,17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></polyline></svg></span></a></div></div></div>`),he=i(`<div class="rg-filter-bar svelte-1gtjszk" part="filter-bar"><div class="rg-tabs svelte-1gtjszk"></div> <div class="rg-dates svelte-1gtjszk"><button type="button" class="rg-date-box svelte-1gtjszk" aria-label="Select dates"><span class="rg-date-cell rg-date-cell-first svelte-1gtjszk"><span class="rg-date-label svelte-1gtjszk">Check in</span> <span class="rg-date-value svelte-1gtjszk"> </span></span> <span class="rg-date-cell svelte-1gtjszk"><span class="rg-date-label svelte-1gtjszk">Check out</span> <span class="rg-date-value svelte-1gtjszk"> </span></span></button> <!></div></div> <div class="rg-grid svelte-1gtjszk" part="grid"></div>`,1),ge={hash:`svelte-1gtjszk`,code:`:host {display:block;}
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,N as l,O as u,P as d,Q as f,R as p,T as m,U as h,V as g,W as _,Y as v,Z as y,b,et as x,f as S,h as C,j as w,n as T,q as E,r as D,s as O,t as k,tt as A,w as j,x as ee}from"./chunks/client-DNa0V682.js";import{i as te,o as ne,r as re,s as ie,t as ae}from"./chunks/calendar-B8eNjUm2.js";import{t as M}from"./chunks/gsap-DWxn8li7.js";var oe=u(`<div class="rgf-badge svelte-1gtjszk"> </div>`),se=u(`<p class="rgf-desc svelte-1gtjszk"> </p>`),ce=u(`<a class="rgf-card svelte-1gtjszk"><div class="rgf-img svelte-1gtjszk"><img loading="lazy" width="800" height="560" class="svelte-1gtjszk"/> <!></div> <div class="rgf-body svelte-1gtjszk"><div class="rgf-info svelte-1gtjszk"><div class="rgf-name svelte-1gtjszk"> </div> <!></div> <div class="rgf-footer svelte-1gtjszk"><div><div class="rgf-from svelte-1gtjszk">From</div> <div class="rgf-price svelte-1gtjszk"> <span class="rgf-price-cur svelte-1gtjszk"> </span></div></div> <span class="rgf-view svelte-1gtjszk"><span class="rgf-view-shine svelte-1gtjszk" aria-hidden="true"></span> <span class="rgf-view-inner svelte-1gtjszk">View <svg width="14" height="14" viewBox="0 0 22 22" fill="none"><line x1="2" y1="11" x2="18" y2="11" stroke="white" stroke-width="2" stroke-linecap="round"></line><polyline points="12,5 19,11 12,17" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></polyline></svg></span></span></div></div></a>`),le=u(`<div class="rgf-cards svelte-1gtjszk"></div>`),N=u(`<div class="rgr-tag svelte-1gtjszk"> </div>`),ue=u(`<a class="rgr-card svelte-1gtjszk"><div class="rgr-img svelte-1gtjszk"><img loading="lazy" class="svelte-1gtjszk"/></div> <div class="rgr-body svelte-1gtjszk"><div><!> <div class="rgr-name svelte-1gtjszk"> </div> <div class="rgr-desc svelte-1gtjszk"> </div></div> <div class="rgr-price svelte-1gtjszk"> <span class="rgr-price-cur svelte-1gtjszk"> </span> <span class="rgr-price-per svelte-1gtjszk">/ night</span></div></div></a>`),de=u(`<div class="rgr-grid svelte-1gtjszk"></div>`),P=u(`<button type="button"> </button>`),fe=u(`<span class="svelte-1gtjszk"> </span>`),pe=u(`<div class="rg-cal svelte-1gtjszk" role="dialog" aria-label="Choose check-in and check-out dates"><div class="rg-cal-head svelte-1gtjszk"><button type="button" class="rg-cal-nav svelte-1gtjszk" aria-label="Previous month">‹</button> <span class="rg-cal-month svelte-1gtjszk"> </span> <button type="button" class="rg-cal-nav svelte-1gtjszk" aria-label="Next month">›</button></div> <div class="rg-cal-weekdays svelte-1gtjszk"></div> <div class="rg-cal-grid svelte-1gtjszk"></div></div>`),me=u(`<div part="card" role="group"><div class="rg-card-img svelte-1gtjszk"><img class="svelte-1gtjszk"/></div> <div class="rg-card-body svelte-1gtjszk"><h2 class="rg-card-name svelte-1gtjszk"> </h2> <p class="rg-card-desc svelte-1gtjszk"> </p> <div class="rg-card-rule svelte-1gtjszk"></div> <div class="rg-card-footer svelte-1gtjszk"><div><div class="rg-from svelte-1gtjszk">From</div> <div class="rg-price svelte-1gtjszk"> <span class="rg-price-currency svelte-1gtjszk"> </span></div></div> <a class="rg-view svelte-1gtjszk"><span class="rg-view-shine svelte-1gtjszk" aria-hidden="true"></span> <span class="rg-view-inner svelte-1gtjszk">View <svg width="14" height="14" viewBox="0 0 22 22" fill="none"><line x1="2" y1="11" x2="18" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round"></line><polyline points="12,5 19,11 12,17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></polyline></svg></span></a></div></div></div>`),he=u(`<div class="rg-filter-bar svelte-1gtjszk" part="filter-bar"><div class="rg-tabs svelte-1gtjszk"></div> <div class="rg-dates svelte-1gtjszk"><button type="button" class="rg-date-box svelte-1gtjszk" aria-label="Select dates"><span class="rg-date-cell rg-date-cell-first svelte-1gtjszk"><span class="rg-date-label svelte-1gtjszk">Check in</span> <span class="rg-date-value svelte-1gtjszk"> </span></span> <span class="rg-date-cell svelte-1gtjszk"><span class="rg-date-label svelte-1gtjszk">Check out</span> <span class="rg-date-value svelte-1gtjszk"> </span></span></button> <!></div></div> <div class="rg-grid svelte-1gtjszk" part="grid"></div>`,1),ge={hash:`svelte-1gtjszk`,code:`:host {display:block;}
2
2
 
3
3
  /* ── Filter bar ── */.rg-filter-bar.svelte-1gtjszk {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;border-bottom:1px solid rgba(255, 255, 255, 0.06);background:#05040f;padding:1rem 1.25rem;}.rg-tabs.svelte-1gtjszk {display:flex;gap:0.25rem;}.rg-tab.svelte-1gtjszk {height:2.25rem;cursor:pointer;border:none;border-radius:0.5rem;background:transparent;padding:0 18px;font-family:'Inter', sans-serif;font-size:13px;font-weight:500;color:rgba(240, 238, 255, 0.7);transition:color 150ms;}.rg-tab.svelte-1gtjszk:hover {color:rgba(240, 238, 255, 0.8);}.rg-tab-active.svelte-1gtjszk {background:rgba(255, 255, 255, 0.07);font-weight:600;color:#f0eeff;}.rg-dates.svelte-1gtjszk {position:relative;}.rg-date-box.svelte-1gtjszk {display:flex;cursor:pointer;border:1px solid rgba(255, 255, 255, 0.1);background:rgba(255, 255, 255, 0.05);padding:0;font-family:'Inter', sans-serif;
4
4
  /* Buttons default to line-height normal; the design this ports used divs
@@ -23,4 +23,4 @@ import{$ as e,A as t,B as n,C as r,D as i,E as a,G as o,H as s,I as c,J as l,K a
23
23
  @media (min-width: 640px) {.rg-grid.svelte-1gtjszk {gap:1.5rem;padding:0 2.5rem;}
24
24
  }
25
25
  @media (min-width: 1024px) {.rg-filter-bar.svelte-1gtjszk {flex-wrap:nowrap;padding:1.25rem 60px;}.rg-grid.svelte-1gtjszk {display:grid;grid-template-columns:repeat(3, 1fr);padding:0 60px;}.rgr-grid.svelte-1gtjszk {grid-template-columns:repeat(2, 1fr);}
26
- }`};function F(t,i){b(i,!0),w(t,ge);let k=E(i,`rooms`,23,()=>[]),F=E(i,`filterTabs`,7,void 0),I=E(i,`checkIn`,7,``),L=E(i,`checkOut`,7,``),R=E(i,`currency`,7,`USD`),z=E(i,`allLabel`,7,`All`),B=E(i,`variant`,7,`grid`);function V(e,t){i.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=l(()=>F()?[z(),...F().map(e=>e.label)]:[z(),...k().map(e=>e.tag).filter((e,t,n)=>!!e&&n.indexOf(e)===t)]),U=v(0);function _e(e,t){return t===0?!0:F()?e.slug===F()[t-1]?.slug:e.tag===p(H)[t]}let W=e=>e?new Date(`${e}T00:00:00`).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`—`,G=v(!1),K=te(new Date),q=v(s(K.getFullYear())),J=v(s(K.getMonth())),ve=ne(),ye=ee(),be=l(()=>ie(p(q),p(J),K,[])),Y=v(void 0);function xe(){let e=I()?new Date(`${I()}T00:00:00`):K;g(q,e.getFullYear(),!0),g(J,e.getMonth(),!0),g(G,!0)}function Se(){p(J)===0?(g(J,11),o(q,-1)):o(J,-1)}function Ce(){p(J)===11?(g(J,0),o(q)):o(J)}function we(e){!I()||I()&&L()?(I(e),L(``)):e>=I()?(L(e),g(G,!1)):(I(e),L(``)),V(`dates-change`,{checkIn:I(),checkOut:L()})}d(()=>{if(!p(G)||typeof document>`u`)return;let e=e=>{p(Y)&&!e.composedPath().includes(p(Y))&&g(G,!1)},t=e=>{e.key===`Escape`&&g(G,!1)};return document.addEventListener(`click`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),document.removeEventListener(`keydown`,t)}});let X=e=>e==null?``:e.toLocaleString(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:0}),Z=v(s([])),Q=v(s([]));r(()=>{if(typeof window>`u`||B()===`rows`)return;if(B()===`feature`){let e=p(Q).filter(e=>!!e);if(!e.length||typeof IntersectionObserver>`u`)return;N.set(e,{opacity:0,y:48});let t=new IntersectionObserver(n=>{n[0].isIntersecting&&(t.disconnect(),N.to(e,{opacity:1,y:0,ease:`power2.out`,stagger:.12,duration:.7}))},{rootMargin:`0px 0px -15% 0px`});return t.observe(e[0]),()=>t.disconnect()}let e=p(Z).filter(e=>!!e);if(e.length>1){let t=e[0].offsetLeft;e.forEach((n,r)=>{N.set(n,{x:t-n.offsetLeft,opacity:1,zIndex:e.length-r})}),N.to(e,{x:0,zIndex:0,duration:.9,ease:`expo.out`,stagger:.1,delay:.15})}});var Te={get rooms(){return k()},set rooms(e=[]){k(e),u()},get filterTabs(){return F()},set filterTabs(e=void 0){F(e),u()},get checkIn(){return I()},set checkIn(e=``){I(e),u()},get checkOut(){return L()},set checkOut(e=``){L(e),u()},get currency(){return R()},set currency(e=`USD`){R(e),u()},get allLabel(){return z()},set allLabel(e=`All`){z(e),u()},get variant(){return B()},set variant(e=`grid`){B(e),u()}},$=a(),Ee=n($),De=t=>{var n=ce();j(n,23,k,(e,t)=>e.slug??t,(t,n,r)=>{var i=se(),a=M(i),o=M(a),s=_(o,2),l=e=>{var t=ae(),r=M(t,!0);S(t),c(()=>A(r,p(n).tag)),h(e,t)};m(s,e=>{p(n).tag&&e(l)}),S(a);var u=_(a,2),d=M(u),g=M(d),v=M(g,!0);S(g);var y=_(g,2),b=e=>{var t=oe(),r=M(t,!0);S(t),c(()=>A(r,p(n).description)),h(e,t)};m(y,e=>{p(n).description&&e(b)}),S(d);var x=_(d,2),C=M(x),w=_(M(C),2),T=M(w),E=_(T),k=M(E,!0);S(E),S(w),S(C),e(2),S(x),S(u),S(i),D(i,(e,t)=>p(Q)[t]=e,e=>p(Q)?.[e],()=>[p(r)]),c(e=>{O(i,`href`,p(n).href),O(o,`src`,p(n).image),O(o,`alt`,p(n).name),A(v,p(n).name),A(T,`${e??``} `),A(k,R())},[()=>X(p(n).price)]),f(`mouseenter`,i,()=>V(`room-hover`,{slug:p(n).slug})),f(`mouseleave`,i,()=>V(`room-leave`,{slug:p(n).slug})),h(t,i)}),S(n),h(t,n)},Oe=t=>{var n=de();j(n,23,k,(e,t)=>e.slug??t,(t,n)=>{var r=ue(),i=M(r),a=M(i);S(i);var o=_(i,2),s=M(o),l=M(s),u=e=>{var t=le(),r=M(t,!0);S(t),c(()=>A(r,p(n).tag)),h(e,t)};m(l,e=>{p(n).tag&&e(u)});var d=_(l,2),g=M(d,!0);S(d);var v=_(d,2),y=M(v,!0);S(v),S(s);var b=_(s,2),x=M(b),C=_(x),w=M(C,!0);S(C),e(2),S(b),S(o),S(r),c(e=>{O(r,`href`,p(n).href),O(a,`src`,p(n).image),O(a,`alt`,p(n).name),A(g,p(n).name),A(y,p(n).description),A(x,`${e??``} `),A(w,R())},[()=>X(p(n).price)]),f(`mouseenter`,r,()=>V(`room-hover`,{slug:p(n).slug})),f(`mouseleave`,r,()=>V(`room-leave`,{slug:p(n).slug})),h(t,r)}),S(n),h(t,n)},ke=e=>{var t=he(),r=n(t),i=M(r);j(i,21,()=>p(H),x,(e,t,n)=>{var r=P();let i;var a=M(r,!0);S(r),c(()=>{i=C(r,1,`rg-tab svelte-1gtjszk`,null,i,{"rg-tab-active":n===p(U)}),O(r,`part`,n===p(U)?`tab tab-active`:`tab`),A(a,p(t))}),T(`click`,r,()=>g(U,n,!0)),h(e,r)}),S(i);var a=_(i,2),o=M(a),s=M(o),l=_(M(s),2),u=M(l,!0);S(l),S(s);var d=_(s,2),v=_(M(d),2),y=M(v,!0);S(v),S(d),S(o);var b=_(o,2),w=e=>{var t=pe(),n=M(t),r=M(n),i=_(r,2),a=M(i);S(i);var o=_(i,2);S(n);var s=_(n,2);j(s,20,()=>ye,e=>e,(e,t)=>{var n=fe(),r=M(n,!0);S(n),c(()=>A(r,t)),h(e,n)}),S(s);var l=_(s,2);j(l,21,()=>p(be),e=>e.iso,(e,t)=>{var n=P();let r;var i=M(n,!0);S(n),c(e=>{r=C(n,1,`rg-cal-day svelte-1gtjszk`,null,r,e),n.disabled=p(t).isPast,A(i,p(t).dayNumber)},[()=>({"rg-out":!p(t).inMonth||p(t).isPast,"rg-today":p(t).iso===re(K),"rg-edge":p(t).iso===I()||p(t).iso===L(),"rg-inrange":I()&&L()&&p(t).iso>I()&&p(t).iso<L()})]),T(`click`,n,()=>we(p(t).iso)),h(e,n)}),S(l),S(t),c(()=>A(a,`${ve[p(J)]??``} ${p(q)??``}`)),T(`click`,r,Se),T(`click`,o,Ce),h(e,t)};m(b,e=>{p(G)&&e(w)}),S(a),D(a,e=>g(Y,e),()=>p(Y)),S(r);var E=_(r,2);j(E,23,k,(e,t)=>e.slug??t,(e,t,n)=>{var r=me();let i;var a=M(r),o=M(a);S(a);var s=_(a,2),l=M(s),u=M(l,!0);S(l);var d=_(l,2),m=M(d,!0);S(d);var g=_(d,4),v=M(g),y=_(M(v),2),b=M(y),x=_(b),w=M(x,!0);S(x),S(y),S(v);var T=_(v,2);S(g),S(s),S(r),D(r,(e,t)=>p(Z)[t]=e,e=>p(Z)?.[e],()=>[p(n)]),c((e,a)=>{i=C(r,1,`rg-card svelte-1gtjszk`,null,i,e),O(o,`src`,p(t).image),O(o,`alt`,p(t).name),O(o,`loading`,p(n)===0?`eager`:`lazy`),A(u,p(t).name),A(m,p(t).description),A(b,`${a??``} `),A(w,R()),O(T,`href`,p(t).href)},[()=>({"rg-hidden":!_e(p(t),p(U))}),()=>X(p(t).price)]),f(`mouseenter`,r,()=>V(`room-hover`,{slug:p(t).slug})),f(`mouseleave`,r,()=>V(`room-leave`,{slug:p(t).slug})),h(e,r)}),S(E),c((e,t)=>{A(u,e),A(y,t)},[()=>W(I()),()=>W(L())]),T(`click`,o,xe),h(e,t)};return m(Ee,e=>{B()===`feature`?e(De):B()===`rows`?e(Oe,1):e(ke,-1)}),h(t,$),y(Te)}t([`click`]),customElements.define(`room-grid`,k(F,{rooms:{attribute:`rooms`,type:`Object`},filterTabs:{attribute:`filter-tabs`,type:`Object`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},currency:{attribute:`currency`,type:`String`},allLabel:{attribute:`all-label`,type:`String`},variant:{attribute:`variant`,type:`String`}},[],[],{mode:`open`}));
26
+ }`};function F(u,w){f(w,!0),C(u,ge);let k=T(w,`rooms`,23,()=>[]),F=T(w,`filterTabs`,7,void 0),I=T(w,`checkIn`,7,``),L=T(w,`checkOut`,7,``),R=T(w,`currency`,7,`USD`),z=T(w,`allLabel`,7,`All`),B=T(w,`variant`,7,`grid`);function V(e,t){w.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let H=v(()=>F()?[z(),...F().map(e=>e.label)]:[z(),...k().map(e=>e.tag).filter((e,t,n)=>!!e&&n.indexOf(e)===t)]),U=i(0);function _e(e,t){return t===0?!0:F()?e.slug===F()[t-1]?.slug:e.tag===d(H)[t]}let W=e=>e?new Date(`${e}T00:00:00`).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`—`,G=i(!1),K=ne(new Date),q=i(h(K.getFullYear())),J=i(h(K.getMonth())),ve=re(),ye=te(),be=v(()=>ae(d(q),d(J),K,[])),Y=i(void 0);function xe(){let e=I()?new Date(`${I()}T00:00:00`):K;_(q,e.getFullYear(),!0),_(J,e.getMonth(),!0),_(G,!0)}function Se(){d(J)===0?(_(J,11),o(q,-1)):o(J,-1)}function Ce(){d(J)===11?(_(J,0),o(q)):o(J)}function we(e){!I()||I()&&L()?(I(e),L(``)):e>=I()?(L(e),_(G,!1)):(I(e),L(``)),V(`dates-change`,{checkIn:I(),checkOut:L()})}p(()=>{if(!d(G)||typeof document>`u`)return;let e=e=>{d(Y)&&!e.composedPath().includes(d(Y))&&_(G,!1)},t=e=>{e.key===`Escape`&&_(G,!1)};return document.addEventListener(`click`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),document.removeEventListener(`keydown`,t)}});let X=e=>e==null?``:e.toLocaleString(`en-US`,{minimumFractionDigits:0,maximumFractionDigits:0}),Z=i(h([])),Q=i(h([]));j(()=>{if(typeof window>`u`||B()===`rows`)return;if(B()===`feature`){let e=d(Q).filter(e=>!!e);if(!e.length||typeof IntersectionObserver>`u`)return;M.set(e,{opacity:0,y:48});let t=new IntersectionObserver(n=>{n[0].isIntersecting&&(t.disconnect(),M.to(e,{opacity:1,y:0,ease:`power2.out`,stagger:.12,duration:.7}))},{rootMargin:`0px 0px -15% 0px`});return t.observe(e[0]),()=>t.disconnect()}let e=d(Z).filter(e=>!!e);if(e.length>1){let t=e[0].offsetLeft;e.forEach((n,r)=>{M.set(n,{x:t-n.offsetLeft,opacity:1,zIndex:e.length-r})}),M.to(e,{x:0,zIndex:0,duration:.9,ease:`expo.out`,stagger:.1,delay:.15})}});var Te={get rooms(){return k()},set rooms(e=[]){k(e),E()},get filterTabs(){return F()},set filterTabs(e=void 0){F(e),E()},get checkIn(){return I()},set checkIn(e=``){I(e),E()},get checkOut(){return L()},set checkOut(e=``){L(e),E()},get currency(){return R()},set currency(e=`USD`){R(e),E()},get allLabel(){return z()},set allLabel(e=`All`){z(e),E()},get variant(){return B()},set variant(e=`grid`){B(e),E()}},$=n(),Ee=g($),De=n=>{var i=le();b(i,23,k,(e,t)=>e.slug??t,(n,i,o)=>{var c=ce(),u=e(c),f=e(u),p=a(f,2),h=t=>{var n=oe(),a=e(n,!0);A(n),s(()=>m(a,d(i).tag)),r(t,n)};t(p,e=>{d(i).tag&&e(h)}),A(u);var g=a(u,2),_=e(g),v=e(_),y=e(v,!0);A(v);var b=a(v,2),S=t=>{var n=se(),a=e(n,!0);A(n),s(()=>m(a,d(i).description)),r(t,n)};t(b,e=>{d(i).description&&e(S)}),A(_);var C=a(_,2),w=e(C),T=a(e(w),2),E=e(T),k=a(E),j=e(k,!0);A(k),A(T),A(w),x(2),A(C),A(g),A(c),D(c,(e,t)=>d(Q)[t]=e,e=>d(Q)?.[e],()=>[d(o)]),s(e=>{O(c,`href`,d(i).href),O(f,`src`,d(i).image),O(f,`alt`,d(i).name),m(y,d(i).name),m(E,`${e??``} `),m(j,R())},[()=>X(d(i).price)]),l(`mouseenter`,c,()=>V(`room-hover`,{slug:d(i).slug})),l(`mouseleave`,c,()=>V(`room-leave`,{slug:d(i).slug})),r(n,c)}),A(i),r(n,i)},Oe=n=>{var i=de();b(i,23,k,(e,t)=>e.slug??t,(n,i)=>{var o=ue(),c=e(o),u=e(c);A(c);var f=a(c,2),p=e(f),h=e(p),g=t=>{var n=N(),a=e(n,!0);A(n),s(()=>m(a,d(i).tag)),r(t,n)};t(h,e=>{d(i).tag&&e(g)});var _=a(h,2),v=e(_,!0);A(_);var y=a(_,2),b=e(y,!0);A(y),A(p);var S=a(p,2),C=e(S),w=a(C),T=e(w,!0);A(w),x(2),A(S),A(f),A(o),s(e=>{O(o,`href`,d(i).href),O(u,`src`,d(i).image),O(u,`alt`,d(i).name),m(v,d(i).name),m(b,d(i).description),m(C,`${e??``} `),m(T,R())},[()=>X(d(i).price)]),l(`mouseenter`,o,()=>V(`room-hover`,{slug:d(i).slug})),l(`mouseleave`,o,()=>V(`room-leave`,{slug:d(i).slug})),r(n,o)}),A(i),r(n,i)},ke=n=>{var i=he(),o=g(i),u=e(o);b(u,21,()=>d(H),ee,(t,n,i)=>{var a=P();let o;var l=e(a,!0);A(a),s(()=>{o=S(a,1,`rg-tab svelte-1gtjszk`,null,o,{"rg-tab-active":i===d(U)}),O(a,`part`,i===d(U)?`tab tab-active`:`tab`),m(l,d(n))}),c(`click`,a,()=>_(U,i,!0)),r(t,a)}),A(u);var f=a(u,2),p=e(f),h=e(p),v=a(e(h),2),y=e(v,!0);A(v),A(h);var x=a(h,2),C=a(e(x),2),w=e(C,!0);A(C),A(x),A(p);var T=a(p,2),E=t=>{var n=pe(),i=e(n),o=e(i),l=a(o,2),u=e(l);A(l);var f=a(l,2);A(i);var p=a(i,2);b(p,20,()=>ye,e=>e,(t,n)=>{var i=fe(),a=e(i,!0);A(i),s(()=>m(a,n)),r(t,i)}),A(p);var h=a(p,2);b(h,21,()=>d(be),e=>e.iso,(t,n)=>{var i=P();let a;var o=e(i,!0);A(i),s(e=>{a=S(i,1,`rg-cal-day svelte-1gtjszk`,null,a,e),i.disabled=d(n).isPast,m(o,d(n).dayNumber)},[()=>({"rg-out":!d(n).inMonth||d(n).isPast,"rg-today":d(n).iso===ie(K),"rg-edge":d(n).iso===I()||d(n).iso===L(),"rg-inrange":I()&&L()&&d(n).iso>I()&&d(n).iso<L()})]),c(`click`,i,()=>we(d(n).iso)),r(t,i)}),A(h),A(n),s(()=>m(u,`${ve[d(J)]??``} ${d(q)??``}`)),c(`click`,o,Se),c(`click`,f,Ce),r(t,n)};t(T,e=>{d(G)&&e(E)}),A(f),D(f,e=>_(Y,e),()=>d(Y)),A(o);var j=a(o,2);b(j,23,k,(e,t)=>e.slug??t,(t,n,i)=>{var o=me();let c;var u=e(o),f=e(u);A(u);var p=a(u,2),h=e(p),g=e(h,!0);A(h);var _=a(h,2),v=e(_,!0);A(_);var y=a(_,4),b=e(y),x=a(e(b),2),C=e(x),w=a(C),T=e(w,!0);A(w),A(x),A(b);var E=a(b,2);A(y),A(p),A(o),D(o,(e,t)=>d(Z)[t]=e,e=>d(Z)?.[e],()=>[d(i)]),s((e,t)=>{c=S(o,1,`rg-card svelte-1gtjszk`,null,c,e),O(f,`src`,d(n).image),O(f,`alt`,d(n).name),O(f,`loading`,d(i)===0?`eager`:`lazy`),m(g,d(n).name),m(v,d(n).description),m(C,`${t??``} `),m(T,R()),O(E,`href`,d(n).href)},[()=>({"rg-hidden":!_e(d(n),d(U))}),()=>X(d(n).price)]),l(`mouseenter`,o,()=>V(`room-hover`,{slug:d(n).slug})),l(`mouseleave`,o,()=>V(`room-leave`,{slug:d(n).slug})),r(t,o)}),A(j),s((e,t)=>{m(y,e),m(w,t)},[()=>W(I()),()=>W(L())]),c(`click`,p,xe),r(n,i)};return t(Ee,e=>{B()===`feature`?e(De):B()===`rows`?e(Oe,1):e(ke,-1)}),r(u,$),y(Te)}w([`click`]),customElements.define(`room-grid`,k(F,{rooms:{attribute:`rooms`,type:`Object`},filterTabs:{attribute:`filter-tabs`,type:`Object`},checkIn:{attribute:`check-in`,type:`String`},checkOut:{attribute:`check-out`,type:`String`},currency:{attribute:`currency`,type:`String`},allLabel:{attribute:`all-label`,type:`String`},variant:{attribute:`variant`,type:`String`}},[],[],{mode:`open`}));
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,D as n,I as r,J as i,K as a,L as o,N as s,S as c,T as l,U as u,V as d,W as f,X as ee,Z as p,et as m,f as h,h as te,i as g,j as _,n as v,o as ne,r as y,s as b,t as x,w as S,y as C,z as w}from"./chunks/client-BDk8LqGN.js";import{a as T,i as E,n as D,r as re,t as ie}from"./chunks/floating-ui.dom-DY3dGoEq.js";var O=n(`<span class="ss-detail svelte-dozlh7"> </span>`),ae=n(`<div class="ss-search-wrap svelte-dozlh7"><input class="ss-search svelte-dozlh7" type="text"/></div>`),k=n(`<div role="option" tabindex="0"><span> </span> <!></div>`),A=n(`<div class="ss-panel svelte-dozlh7" popover="" data-lenis-prevent=""><!> <!></div>`),j=n(`<div><div role="button" tabindex="0"><span class="ss-trigger-label svelte-dozlh7"> </span> <!> <svg class="ss-chevron svelte-dozlh7" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div> <!></div>`),oe={hash:`svelte-dozlh7`,code:`:host {display:block;}.ss-root.svelte-dozlh7 {position:relative;user-select:none;font-family:inherit;}.ss-trigger.svelte-dozlh7 {height:var(--ss-height, 52px);border:var(--ss-border-width, 1px) solid var(--ss-border, rgba(5, 4, 15, 0.12));
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,W as f,Y as p,Z as m,b as h,et as g,f as _,h as v,i as y,j as b,n as x,o as S,q as C,r as w,s as T,t as E,tt as D}from"./chunks/client-DNa0V682.js";import{a as O,i as k,n as A,r as ee,t as te}from"./chunks/floating-ui.dom-DY3dGoEq.js";var j=s(`<span class="ss-detail svelte-dozlh7"> </span>`),ne=s(`<div class="ss-search-wrap svelte-dozlh7"><input class="ss-search svelte-dozlh7" type="text"/></div>`),re=s(`<div role="option" tabindex="0"><span> </span> <!></div>`),M=s(`<div class="ss-panel svelte-dozlh7" popover="" data-lenis-prevent=""><!> <!></div>`),N=s(`<div><div role="button" tabindex="0"><span class="ss-trigger-label svelte-dozlh7"> </span> <!> <svg class="ss-chevron svelte-dozlh7" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div> <!></div>`),P={hash:`svelte-dozlh7`,code:`:host {display:block;}.ss-root.svelte-dozlh7 {position:relative;user-select:none;font-family:inherit;}.ss-trigger.svelte-dozlh7 {height:var(--ss-height, 52px);border:var(--ss-border-width, 1px) solid var(--ss-border, rgba(5, 4, 15, 0.12));
2
2
  /* Overridable separately so a host can square individual corners to
3
3
  attach a sibling control (e.g. service-booking-bar's Book button);
4
4
  the panel and options keep the uniform --ss-radius. */border-radius:var(--ss-trigger-radius, var(--ss-radius, 0));background:var(--ss-bg, #f5f2ec);padding:0 40px 0 16px;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ss-text, #05040f);cursor:pointer;transition:border-color 0.15s;position:relative;box-sizing:border-box;}.ss-trigger.placeholder.svelte-dozlh7 {color:var(--ss-placeholder, rgba(5, 4, 15, 0.6));}.ss-trigger.svelte-dozlh7:focus {outline:none;border-color:var(--ss-border-focus, rgba(5, 4, 15, 0.4));}.ss-root.open.svelte-dozlh7 .ss-trigger:where(.svelte-dozlh7) {border-color:var(--ss-border-focus, rgba(5, 4, 15, 0.4));}.ss-chevron.svelte-dozlh7 {position:absolute;right:14px;top:50%;width:var(--ss-chevron-size, 12px);height:var(--ss-chevron-size, 12px);transform:translateY(-50%);pointer-events:none;transition:transform 0.2s;stroke:var(--ss-chevron, rgba(5, 4, 15, 0.4));}.ss-root.open.svelte-dozlh7 .ss-chevron:where(.svelte-dozlh7) {transform:translateY(-50%) rotate(180deg);}.ss-panel.svelte-dozlh7 {
@@ -17,4 +17,4 @@ import{$ as e,A as t,D as n,I as r,J as i,K as a,L as o,N as s,S as c,T as l,U a
17
17
  isn't that background at all -- a translucent tint there just lets
18
18
  whatever's underneath show through. Falls back straight to the
19
19
  opaque literal, not through --ss-bg, so a host that themed --ss-bg
20
- translucent doesn't inherit that problem here without opting in. */position:fixed;inset:auto;margin:0;box-sizing:border-box;z-index:200;background:var(--ss-panel-bg, #f5f2ec);border:var(--ss-border-width, 1px) solid var(--ss-panel-border, rgba(5, 4, 15, 0.15));border-radius:var(--ss-radius, 0);padding:6px;max-height:288px;overflow-y:auto;box-shadow:0 16px 40px var(--ss-panel-shadow, rgba(5, 4, 15, 0.1));scrollbar-width:thin;scrollbar-color:var(--ss-border, rgba(5, 4, 15, 0.12)) transparent;}.ss-option.svelte-dozlh7 {display:flex;align-items:baseline;justify-content:space-between;gap:20px;text-align:left;padding:12px 14px;border-radius:max(calc(var(--ss-radius, 0) - 4px), 0px);font-size:14px;color:var(--ss-text, #05040f);cursor:pointer;transition:background 0.1s;white-space:nowrap;}.ss-detail.svelte-dozlh7 {color:var(--ss-detail, rgba(5, 4, 15, 0.45));font-family:var(--ss-detail-font-family, inherit);font-weight:var(--ss-detail-font-weight, inherit);font-variant-numeric:tabular-nums;}.ss-trigger-label.svelte-dozlh7 {flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.ss-trigger.svelte-dozlh7 .ss-detail:where(.svelte-dozlh7) {margin-right:22px;}.ss-option.svelte-dozlh7:hover {background:var(--ss-option-hover-bg, rgba(5, 4, 15, 0.05));}.ss-option.selected.svelte-dozlh7 {font-weight:600;}.ss--phone.svelte-dozlh7 .ss-trigger:where(.svelte-dozlh7) {padding-right:36px;}.ss--phone.svelte-dozlh7 .ss-panel:where(.svelte-dozlh7) {min-width:180px;}.ss--country.svelte-dozlh7 .ss-panel:where(.svelte-dozlh7) {max-height:280px;}.ss-search-wrap.svelte-dozlh7 {padding:8px 10px;border-bottom:1px solid var(--ss-panel-shadow, rgba(5, 4, 15, 0.08));}.ss-search.svelte-dozlh7 {width:100%;height:36px;border:var(--ss-border-width, 1px) solid var(--ss-border, rgba(5, 4, 15, 0.12));background:var(--ss-bg, #f5f2ec);padding:0 10px;font-family:inherit;font-size:13px;color:var(--ss-text, #05040f);outline:none;box-sizing:border-box;}.ss-search.svelte-dozlh7::placeholder {color:var(--ss-placeholder, rgba(5, 4, 15, 0.6));}`};function M(t,n){p(n,!0),te(t,oe);let x=v(n,`options`,23,()=>[]),M=v(n,`value`,15,``),N=v(n,`placeholder`,7,``),P=v(n,`variant`,7,``),F=v(n,`searchPlaceholder`,7,`Search…`),I=v(n,`noSearch`,7,!1),L=v(n,`anchor`,7,void 0),R=f(!1),z=f(``),B,V=f(void 0),H=f(void 0),U=i(()=>L()??s(V));function W(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let G=i(()=>x().find(e=>e.value===M())),K=i(()=>M()?P()===`phone`?M():s(G)?.label??M():N()),se=i(()=>s(z)?x().filter(e=>e.label.toLowerCase().includes(s(z).toLowerCase())):x());function q(e){M(e.value),u(R,!1),W(`change`,{value:e.value,label:e.label,meta:e.meta})}function J(){u(R,!s(R)),s(R)&&u(z,``)}o(()=>{if(!s(R))return;let e=s(U),t=s(H);if(!e||!t)return;t.style.width=`${e.getBoundingClientRect().width}px`,t.showPopover();let n=ie(e,t,async()=>{let{x:n,y:r}=await D(e,t,{strategy:`fixed`,placement:`bottom-start`,middleware:[E(6),re(),T({padding:8})]});t.style.left=`${n}px`,t.style.top=`${r}px`});function r(e){e.newState===`closed`&&u(R,!1)}return t.addEventListener(`toggle`,r),()=>{n(),t.removeEventListener(`toggle`,r),t.matches(`:popover-open`)&&t.hidePopover()}});var ce={get options(){return x()},set options(e=[]){x(e),a()},get value(){return M()},set value(e=``){M(e),a()},get placeholder(){return N()},set placeholder(e=``){N(e),a()},get variant(){return P()},set variant(e=``){P(e),a()},get searchPlaceholder(){return F()},set searchPlaceholder(e=`Search…`){F(e),a()},get noSearch(){return I()},set noSearch(e=!1){I(e),a()},get anchor(){return L()},set anchor(e=void 0){L(e),a()}},Y=j();let X;var Z=w(Y);let Q;var $=w(Z),le=w($,!0);m($);var ue=d($,2),de=e=>{var t=O(),n=w(t,!0);m(t),r(()=>S(n,s(G).detail)),l(e,t)};c(ue,e=>{M()&&s(G)?.detail&&e(de)}),e(2),m(Z),y(Z,e=>u(V,e),()=>s(V));var fe=d(Z,2),pe=e=>{var t=A(),n=w(t),i=e=>{var t=ae(),n=w(t);ne(n),m(t),r(()=>b(n,`placeholder`,F())),_(`click`,n,e=>e.stopPropagation()),g(n,()=>s(z),e=>u(z,e)),l(e,t)};c(n,e=>{I()||e(i)});var a=d(n,2);C(a,17,()=>s(se),e=>e.value,(e,t)=>{var n=k();let i;var a=w(n),o=w(a,!0);m(a);var u=d(a,2),f=e=>{var n=O(),i=w(n,!0);m(n),r(()=>S(i,s(t).detail)),l(e,n)};c(u,e=>{s(t).detail&&e(f)}),m(n),r(()=>{i=h(n,1,`ss-option svelte-dozlh7`,null,i,{selected:s(t).value===M()}),b(n,`aria-selected`,s(t).value===M()),S(o,s(t).label)}),_(`click`,n,()=>q(s(t))),_(`keydown`,n,e=>e.key===`Enter`&&q(s(t))),l(e,n)}),m(t),y(t,e=>u(H,e),()=>s(H)),l(e,t)};return c(fe,e=>{s(R)&&e(pe)}),m(Y),y(Y,e=>B=e,()=>B),r(()=>{X=h(Y,1,`ss-root ${P()?`ss--${P()}`:``}`,`svelte-dozlh7`,X,{open:s(R)}),Q=h(Z,1,`ss-trigger svelte-dozlh7`,null,Q,{placeholder:!M()}),S(le,s(K))}),_(`click`,Z,J),_(`keydown`,Z,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),J()),e.key===`Escape`&&u(R,!1)}),l(t,Y),ee(ce)}t([`click`,`keydown`]),customElements.define(`searchable-select`,x(M,{options:{attribute:`options`,type:`Object`},value:{attribute:`value`,type:`String`},placeholder:{attribute:`placeholder`,type:`String`},variant:{attribute:`variant`,type:`String`},searchPlaceholder:{attribute:`search-placeholder`,type:`String`},noSearch:{attribute:`no-search`,type:`Boolean`},anchor:{attribute:`anchor`,type:`Object`}},[],[],{mode:`open`}));
20
+ translucent doesn't inherit that problem here without opting in. */position:fixed;inset:auto;margin:0;box-sizing:border-box;z-index:200;background:var(--ss-panel-bg, #f5f2ec);border:var(--ss-border-width, 1px) solid var(--ss-panel-border, rgba(5, 4, 15, 0.15));border-radius:var(--ss-radius, 0);padding:6px;max-height:288px;overflow-y:auto;box-shadow:0 16px 40px var(--ss-panel-shadow, rgba(5, 4, 15, 0.1));scrollbar-width:thin;scrollbar-color:var(--ss-border, rgba(5, 4, 15, 0.12)) transparent;}.ss-option.svelte-dozlh7 {display:flex;align-items:baseline;justify-content:space-between;gap:20px;text-align:left;padding:12px 14px;border-radius:max(calc(var(--ss-radius, 0) - 4px), 0px);font-size:14px;color:var(--ss-text, #05040f);cursor:pointer;transition:background 0.1s;white-space:nowrap;}.ss-detail.svelte-dozlh7 {color:var(--ss-detail, rgba(5, 4, 15, 0.45));font-family:var(--ss-detail-font-family, inherit);font-weight:var(--ss-detail-font-weight, inherit);font-variant-numeric:tabular-nums;}.ss-trigger-label.svelte-dozlh7 {flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.ss-trigger.svelte-dozlh7 .ss-detail:where(.svelte-dozlh7) {margin-right:22px;}.ss-option.svelte-dozlh7:hover {background:var(--ss-option-hover-bg, rgba(5, 4, 15, 0.05));}.ss-option.selected.svelte-dozlh7 {font-weight:600;}.ss--phone.svelte-dozlh7 .ss-trigger:where(.svelte-dozlh7) {padding-right:36px;}.ss--phone.svelte-dozlh7 .ss-panel:where(.svelte-dozlh7) {min-width:180px;}.ss--country.svelte-dozlh7 .ss-panel:where(.svelte-dozlh7) {max-height:280px;}.ss-search-wrap.svelte-dozlh7 {padding:8px 10px;border-bottom:1px solid var(--ss-panel-shadow, rgba(5, 4, 15, 0.08));}.ss-search.svelte-dozlh7 {width:100%;height:36px;border:var(--ss-border-width, 1px) solid var(--ss-border, rgba(5, 4, 15, 0.12));background:var(--ss-bg, #f5f2ec);padding:0 10px;font-family:inherit;font-size:13px;color:var(--ss-text, #05040f);outline:none;box-sizing:border-box;}.ss-search.svelte-dozlh7::placeholder {color:var(--ss-placeholder, rgba(5, 4, 15, 0.6));}`};function F(s,b){l(b,!0),v(s,P);let E=x(b,`options`,23,()=>[]),F=x(b,`value`,15,``),I=x(b,`placeholder`,7,``),L=x(b,`variant`,7,``),R=x(b,`searchPlaceholder`,7,`Search…`),z=x(b,`noSearch`,7,!1),B=x(b,`anchor`,7,void 0),V=r(!1),H=r(``),U,W=r(void 0),G=r(void 0),ie=p(()=>B()??c(W));function ae(e,t){b.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let K=p(()=>E().find(e=>e.value===F())),oe=p(()=>F()?L()===`phone`?F():c(K)?.label??F():I()),se=p(()=>c(H)?E().filter(e=>e.label.toLowerCase().includes(c(H).toLowerCase())):E());function q(e){F(e.value),f(V,!1),ae(`change`,{value:e.value,label:e.label,meta:e.meta})}function J(){f(V,!c(V)),c(V)&&f(H,``)}u(()=>{if(!c(V))return;let e=c(ie),t=c(G);if(!e||!t)return;t.style.width=`${e.getBoundingClientRect().width}px`,t.showPopover();let n=te(e,t,async()=>{let{x:n,y:r}=await A(e,t,{strategy:`fixed`,placement:`bottom-start`,middleware:[k(6),ee(),O({padding:8})]});t.style.left=`${n}px`,t.style.top=`${r}px`});function r(e){e.newState===`closed`&&f(V,!1)}return t.addEventListener(`toggle`,r),()=>{n(),t.removeEventListener(`toggle`,r),t.matches(`:popover-open`)&&t.hidePopover()}});var ce={get options(){return E()},set options(e=[]){E(e),C()},get value(){return F()},set value(e=``){F(e),C()},get placeholder(){return I()},set placeholder(e=``){I(e),C()},get variant(){return L()},set variant(e=``){L(e),C()},get searchPlaceholder(){return R()},set searchPlaceholder(e=`Search…`){R(e),C()},get noSearch(){return z()},set noSearch(e=!1){z(e),C()},get anchor(){return B()},set anchor(e=void 0){B(e),C()}},Y=N();let X;var Z=e(Y);let Q;var $=e(Z),le=e($,!0);D($);var ue=i($,2),de=t=>{var r=j(),i=e(r,!0);D(r),a(()=>d(i,c(K).detail)),n(t,r)};t(ue,e=>{F()&&c(K)?.detail&&e(de)}),g(2),D(Z),w(Z,e=>f(W,e),()=>c(W));var fe=i(Z,2),pe=r=>{var s=M(),l=e(s),u=t=>{var r=ne(),i=e(r);S(i),D(r),a(()=>T(i,`placeholder`,R())),o(`click`,i,e=>e.stopPropagation()),y(i,()=>c(H),e=>f(H,e)),n(t,r)};t(l,e=>{z()||e(u)});var p=i(l,2);h(p,17,()=>c(se),e=>e.value,(r,s)=>{var l=re();let u;var f=e(l),p=e(f,!0);D(f);var m=i(f,2),h=t=>{var r=j(),i=e(r,!0);D(r),a(()=>d(i,c(s).detail)),n(t,r)};t(m,e=>{c(s).detail&&e(h)}),D(l),a(()=>{u=_(l,1,`ss-option svelte-dozlh7`,null,u,{selected:c(s).value===F()}),T(l,`aria-selected`,c(s).value===F()),d(p,c(s).label)}),o(`click`,l,()=>q(c(s))),o(`keydown`,l,e=>e.key===`Enter`&&q(c(s))),n(r,l)}),D(s),w(s,e=>f(G,e),()=>c(G)),n(r,s)};return t(fe,e=>{c(V)&&e(pe)}),D(Y),w(Y,e=>U=e,()=>U),a(()=>{X=_(Y,1,`ss-root ${L()?`ss--${L()}`:``}`,`svelte-dozlh7`,X,{open:c(V)}),Q=_(Z,1,`ss-trigger svelte-dozlh7`,null,Q,{placeholder:!F()}),d(le,c(oe))}),o(`click`,Z,J),o(`keydown`,Z,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),J()),e.key===`Escape`&&f(V,!1)}),n(s,Y),m(ce)}b([`click`,`keydown`]),customElements.define(`searchable-select`,E(F,{options:{attribute:`options`,type:`Object`},value:{attribute:`value`,type:`String`},placeholder:{attribute:`placeholder`,type:`String`},variant:{attribute:`variant`,type:`String`},searchPlaceholder:{attribute:`search-placeholder`,type:`String`},noSearch:{attribute:`no-search`,type:`Boolean`},anchor:{attribute:`anchor`,type:`Object`}},[],[],{mode:`open`}));
@@ -1,4 +1,4 @@
1
- import{A as e,D as t,H as n,I as r,J as i,K as a,L as o,N as s,S as c,T as l,U as u,V as d,W as f,X as p,Z as m,et as h,f as g,h as _,j as v,l as y,n as b,r as x,s as S,t as C,w,z as T}from"./chunks/client-BDk8LqGN.js";import"./searchable-select.js";var E=t(`<searchable-select></searchable-select>`,2),D=t(`<div class="svb-pending svelte-4apeha"> </div>`),O=t(`<button type="button"> </button>`),k=t(`<div class="svb-root svelte-4apeha"><!> <!></div>`),A={hash:`svelte-4apeha`,code:`
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,Y as m,Z as h,f as g,h as _,j as v,l as y,n as b,q as x,r as S,s as C,t as w,tt as T}from"./chunks/client-DNa0V682.js";import"./searchable-select.js";var E=s(`<searchable-select></searchable-select>`,2),D=s(`<div class="svb-pending svelte-4apeha"> </div>`),O=s(`<button type="button"> </button>`),k=s(`<div class="svb-root svelte-4apeha"><!> <!></div>`),A={hash:`svelte-4apeha`,code:`
2
2
  /* One joined control: the select's right corners and the button's left
3
3
  corners are squared so they read as a single bar. */.svb-root.svelte-4apeha {display:inline-flex;align-items:stretch;font-family:var(--svb-font-family, inherit);}
4
4
 
@@ -11,4 +11,4 @@ import{A as e,D as t,H as n,I as r,J as i,K as a,L as o,N as s,S as c,T as l,U a
11
11
  leaving mid-sweep reverses smoothly from wherever it stopped. */.svb-book.shimmer.svelte-4apeha {position:relative;overflow:hidden;}.svb-book.shimmer.svelte-4apeha::after {content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.55), transparent);transform:skewX(-20deg);transition:left 0.6s ease-in-out;pointer-events:none;}.svb-book.shimmer.svelte-4apeha:hover::after,
12
12
  .svb-book.shimmer.svelte-4apeha:focus-visible::after {left:125%;}
13
13
  @media (prefers-reduced-motion: reduce) {.svb-book.shimmer.svelte-4apeha::after {display:none;}
14
- }`};function j(e,t){m(t,!0),_(e,A);let C=b(t,`applyOnSelect`,7,!0),j=b(t,`showBookButton`,7,!0),M=b(t,`ctaShimmer`,7,!1),N=b(t,`strings`,23,()=>({})),P=b(t,`fetchTreatments`,7,void 0),F=i(()=>({placeholder:`Choose a service…`,bookLabel:`Book`,loadingLabel:`Loading services…`,errorLabel:`Services unavailable — please try again.`,...N()})),I=f(n([])),L=f(`idle`),R=f(``);function z(e,n){t.$$host?.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0}))}o(()=>{let e=P();!e||s(L)===`ready`||s(L)===`loading`||(u(L,`loading`),e().then(e=>{u(I,e,!0),u(L,`ready`)}).catch(()=>{u(L,`error`)}))});let B=i(()=>s(I).map(e=>({value:e.id,label:e.name,detail:`£${(e.price??e.memberPrice??0).toFixed(2)}`})));function V(e){let t=s(I).find(t=>t.id===e);z(`book`,t?{id:t.id,name:t.name,price:t.price}:null)}let H=f(void 0);function U(e){u(R,e.detail?.value??``,!0),C()&&s(R)&&V(s(R))}var W={get applyOnSelect(){return C()},set applyOnSelect(e=!0){C(e),a()},get showBookButton(){return j()},set showBookButton(e=!0){j(e),a()},get ctaShimmer(){return M()},set ctaShimmer(e=!1){M(e),a()},get strings(){return N()},set strings(e={}){N(e),a()},get fetchTreatments(){return P()},set fetchTreatments(e=void 0){P(e),a()}},G=k(),K=T(G),q=e=>{var t=E();g(t,1,`svb-select svelte-4apeha`),y(t,`no-search`,!0),r(()=>y(t,`anchor`,s(H))),r(()=>y(t,`options`,s(B))),r(()=>y(t,`placeholder`,s(F).placeholder)),v(`change`,t,U),l(e,t)},J=e=>{var t=D(),n=T(t,!0);h(t),r(()=>{S(t,`aria-busy`,s(L)===`loading`),w(n,s(L)===`error`?s(F).errorLabel:s(F).loadingLabel)}),l(e,t)};c(K,e=>{s(L)===`ready`?e(q):e(J,-1)});var Y=d(K,2),X=e=>{var t=O();let n;var i=T(t,!0);h(t),r(()=>{n=g(t,1,`svb-book svelte-4apeha`,null,n,{shimmer:M()}),w(i,s(F).bookLabel)}),v(`click`,t,()=>V(s(R))),l(e,t)};return c(Y,e=>{j()&&e(X)}),h(G),x(G,e=>u(H,e),()=>s(H)),l(e,G),p(W)}e([`change`,`click`]),customElements.define(`service-booking-bar`,C(j,{applyOnSelect:{attribute:`apply-on-select`,type:`Boolean`},showBookButton:{attribute:`show-book-button`,type:`Boolean`},ctaShimmer:{attribute:`cta-shimmer`,type:`Boolean`},strings:{type:`Object`},fetchTreatments:{type:`Object`}},[],[],{mode:`open`}));
14
+ }`};function j(s,v){l(v,!0),_(s,A);let w=b(v,`applyOnSelect`,7,!0),j=b(v,`showBookButton`,7,!0),M=b(v,`ctaShimmer`,7,!1),N=b(v,`strings`,23,()=>({})),P=b(v,`fetchTreatments`,7,void 0),F=m(()=>({placeholder:`Choose a service…`,bookLabel:`Book`,loadingLabel:`Loading services…`,errorLabel:`Services unavailable — please try again.`,...N()})),I=r(f([])),L=r(`idle`),R=r(``);function z(e,t){v.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}u(()=>{let e=P();!e||c(L)===`ready`||c(L)===`loading`||(p(L,`loading`),e().then(e=>{p(I,e,!0),p(L,`ready`)}).catch(()=>{p(L,`error`)}))});let B=m(()=>c(I).map(e=>({value:e.id,label:e.name,detail:`£${(e.price??e.memberPrice??0).toFixed(2)}`})));function V(e){let t=c(I).find(t=>t.id===e);z(`book`,t?{id:t.id,name:t.name,price:t.price}:null)}let H=r(void 0);function U(e){p(R,e.detail?.value??``,!0),w()&&c(R)&&V(c(R))}var W={get applyOnSelect(){return w()},set applyOnSelect(e=!0){w(e),x()},get showBookButton(){return j()},set showBookButton(e=!0){j(e),x()},get ctaShimmer(){return M()},set ctaShimmer(e=!1){M(e),x()},get strings(){return N()},set strings(e={}){N(e),x()},get fetchTreatments(){return P()},set fetchTreatments(e=void 0){P(e),x()}},G=k(),K=e(G),q=e=>{var t=E();g(t,1,`svb-select svelte-4apeha`),y(t,`no-search`,!0),a(()=>y(t,`anchor`,c(H))),a(()=>y(t,`options`,c(B))),a(()=>y(t,`placeholder`,c(F).placeholder)),o(`change`,t,U),n(e,t)},J=t=>{var r=D(),i=e(r,!0);T(r),a(()=>{C(r,`aria-busy`,c(L)===`loading`),d(i,c(L)===`error`?c(F).errorLabel:c(F).loadingLabel)}),n(t,r)};t(K,e=>{c(L)===`ready`?e(q):e(J,-1)});var Y=i(K,2),X=t=>{var r=O();let i;var s=e(r,!0);T(r),a(()=>{i=g(r,1,`svb-book svelte-4apeha`,null,i,{shimmer:M()}),d(s,c(F).bookLabel)}),o(`click`,r,()=>V(c(R))),n(t,r)};return t(Y,e=>{j()&&e(X)}),T(G),S(G,e=>p(H,e),()=>c(H)),n(s,G),h(W)}v([`change`,`click`]),customElements.define(`service-booking-bar`,w(j,{applyOnSelect:{attribute:`apply-on-select`,type:`Boolean`},showBookButton:{attribute:`show-book-button`,type:`Boolean`},ctaShimmer:{attribute:`cta-shimmer`,type:`Boolean`},strings:{type:`Object`},fetchTreatments:{type:`Object`}},[],[],{mode:`open`}));