@forgebuild/hotal-ui 0.23.152 → 0.23.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ai-chat-widget.js +75 -0
- package/dist/components/availability-calendar.js +7 -0
- package/dist/components/booking-card.js +30 -0
- package/dist/components/booking-checkout.js +40 -0
- package/dist/components/booking-confirmed.js +1 -0
- package/dist/components/booking-flow.js +26 -0
- package/dist/components/booking-progress-bar.js +1 -0
- package/dist/components/booking-summary.js +14 -0
- package/dist/components/chunks/ably-5cVT4knS.js +9 -0
- package/dist/components/chunks/calendar-B8eNjUm2.js +1 -0
- package/dist/components/chunks/client-BDk8LqGN.js +3 -0
- package/dist/components/chunks/floating-ui.dom-DY3dGoEq.js +1 -0
- package/dist/components/chunks/gsap-DWxn8li7.js +1 -0
- package/dist/components/chunks/lib-Bd4dedte.js +1 -0
- package/dist/components/chunks/min-DdO-yBwh.js +17 -0
- package/dist/components/chunks/preload-helper-Czpn1I53.js +1 -0
- package/dist/components/chunks/rolldown-runtime-CbXtAM7H.js +1 -0
- package/dist/components/confirmation-card.js +3 -0
- package/dist/components/dining-teaser.js +19 -0
- package/dist/components/event-contact-form.js +33 -0
- package/dist/components/event-inquiries-feed.js +29 -0
- package/dist/components/extras-catalogue.js +25 -0
- package/dist/components/floor-plan-hero.js +2 -0
- package/dist/components/google-reviews.js +31 -0
- package/dist/components/instagram-feed.js +16 -0
- package/dist/components/island-map.js +1 -0
- package/dist/components/live-dining-orders-feed.js +37 -0
- package/dist/components/live-golf-bookings-feed.js +18 -0
- package/dist/components/live-reservations-feed.js +18 -0
- package/dist/components/live-room-bookings-feed.js +18 -0
- package/dist/components/live-shop-orders-feed.js +37 -0
- package/dist/components/live-spa-bookings-feed.js +55 -0
- package/dist/components/menu-section.js +90 -0
- package/dist/components/proshop-catalogue.js +20 -0
- package/dist/components/reservation-bar.js +5 -0
- package/dist/components/reservation-cancel.js +4 -0
- package/dist/components/restaurant-order-form.js +9 -0
- package/dist/components/room-grid.js +26 -0
- package/dist/components/searchable-select.js +20 -0
- package/dist/components/service-booking-bar.js +14 -0
- package/dist/components/spa-booking-widget.js +179 -0
- package/dist/components/stay-search.js +31 -0
- package/dist/components/tripadvisor-reviews.js +38 -0
- package/dist/components/venue-carousel.js +18 -0
- package/dist/hotal-ui.js +5032 -4708
- package/dist/index.d.ts +40 -2
- package/package.json +6 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,H as i,I as a,J as o,K as s,L as c,M as l,N as u,S as d,T as f,U as p,V as m,W as h,X as g,Y as _,Z as v,c as ee,d as te,et as y,f as b,h as x,i as S,j as C,k as ne,n as w,o as T,r as E,s as D,t as O,w as k,y as re,z as A}from"./chunks/client-BDk8LqGN.js";import{a as ie,i as ae,n as oe,r as se,t as ce}from"./chunks/floating-ui.dom-DY3dGoEq.js";import{i as le,o as ue,r as de,s as fe,t as pe}from"./chunks/calendar-B8eNjUm2.js";var me=r(`<h2 class="ecf-heading svelte-1cgy5x5"> </h2> <div class="ecf-rule svelte-1cgy5x5"></div>`,1),he=r(`<p class="ecf-tagline svelte-1cgy5x5"> </p>`),ge=r(`<p class="ecf-description svelte-1cgy5x5"> </p>`),_e=r(`<!> <!>`,1),ve=r(`<button type="button" class="ecf-input-btn svelte-1cgy5x5"> </button>`),ye=r(`<span class="ecf-spinner ecf-spinner-dark svelte-1cgy5x5"></span>`),be=r(`<button type="button" class="ecf-input-btn svelte-1cgy5x5"><!> </button>`),xe=r(`<p class="ecf-error-text svelte-1cgy5x5"> </p>`),Se=r(`<div class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5" id="ecf-order-label"> </span> <div class="ecf-input-group svelte-1cgy5x5"><input type="text" autocomplete="off" spellcheck="false" aria-labelledby="ecf-order-label" class="svelte-1cgy5x5"/> <!></div> <!></div>`),Ce=r(`<li role="presentation"><button type="button" role="option" class="svelte-1cgy5x5"> </button></li>`),we=r(`<div class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5" id="ecf-type-label"> </span> <button type="button" class="ecf-select-trigger svelte-1cgy5x5" aria-haspopup="listbox" aria-labelledby="ecf-type-label ecf-type-value"><span id="ecf-type-value"> </span> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <ul popover="" role="listbox" aria-label="Event type" class="ecf-select-panel svelte-1cgy5x5"></ul></div>`),Te=r(`<div class="ecf-format svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <div class="ecf-format-toggle svelte-1cgy5x5"><span class="ecf-format-indicator svelte-1cgy5x5"></span> <button type="button"> </button> <button type="button"> </button></div></div>`),Ee=r(`<div class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <div class="ecf-stepper svelte-1cgy5x5"><button type="button" class="ecf-stepper-btn svelte-1cgy5x5"><span class="ecf-stepper-btn-inner svelte-1cgy5x5">−</span></button> <span class="ecf-stepper-count svelte-1cgy5x5"> </span> <button type="button" class="ecf-stepper-btn svelte-1cgy5x5"><span class="ecf-stepper-btn-inner svelte-1cgy5x5">+</span></button></div> <p class="ecf-hint svelte-1cgy5x5"> </p> <!></div>`),De=r(`<span class="ecf-required svelte-1cgy5x5">*</span>`),Oe=r(`<span> </span>`),ke=r(`<button type="button"> </button>`),Ae=r(`<div class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> <!></span> <div><div class="ecf-cal-header svelte-1cgy5x5"><p class="ecf-cal-month svelte-1cgy5x5"> </p> <div class="ecf-cal-nav svelte-1cgy5x5"><button type="button" class="svelte-1cgy5x5">‹</button> <button type="button" class="svelte-1cgy5x5">›</button></div></div> <div class="ecf-cal-weekdays svelte-1cgy5x5"></div> <div class="ecf-cal-grid svelte-1cgy5x5"></div></div> <!></div>`),je=r(`<div class="ecf-grid ecf-grid-secondary svelte-1cgy5x5"><!> <!></div>`),Me=r(`<img class="ecf-item-img svelte-1cgy5x5" alt="" loading="lazy"/>`),Ne=r(`<span class="ecf-item-meta svelte-1cgy5x5"> </span>`),Pe=r(`<div class="ecf-item-stepper svelte-1cgy5x5"><button type="button" class="svelte-1cgy5x5">−</button> <span class="svelte-1cgy5x5"> </span> <button type="button" class="svelte-1cgy5x5">+</button></div>`),Fe=r(`<li><label class="ecf-item-main svelte-1cgy5x5"><input type="checkbox" class="svelte-1cgy5x5"/> <!> <span class="ecf-item-text svelte-1cgy5x5"><span class="ecf-item-name svelte-1cgy5x5"> </span> <!> <span class="ecf-item-meta svelte-1cgy5x5"> <!></span></span></label> <!></li>`),Ie=r(`<div class="ecf-field ecf-order-field svelte-1cgy5x5"><p class="ecf-hint ecf-items-hint svelte-1cgy5x5"> </p> <ul class="ecf-items svelte-1cgy5x5"></ul></div>`),Le=r(`<span class="ecf-spinner svelte-1cgy5x5"></span>`),Re=r(`<span aria-hidden="true">→</span>`),ze=r(`<p class="ecf-submit-note svelte-1cgy5x5"> </p>`),Be=r(`<p class="ecf-error-text ecf-submit-error svelte-1cgy5x5"> </p>`),Ve=r(`<form class="ecf-form svelte-1cgy5x5"><div class="ecf-grid svelte-1cgy5x5"><label class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <input type="text" required="" class="svelte-1cgy5x5"/></label> <label class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <input type="email" required="" pattern="[^\\s@]+@[^\\s@]+\\.[^\\s@]+" class="svelte-1cgy5x5"/></label> <label class="ecf-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <input type="tel" class="svelte-1cgy5x5"/></label> <!> <!></div> <!> <!> <label class="ecf-field ecf-message-field svelte-1cgy5x5"><span class="ecf-label svelte-1cgy5x5"> </span> <textarea rows="5" class="svelte-1cgy5x5"></textarea></label> <button type="submit"><!> <span> </span> <!></button> <!> <!></form>`),j=r(`<div class="ecf-success svelte-1cgy5x5"><div class="ecf-success-icon svelte-1cgy5x5"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" class="svelte-1cgy5x5"><path d="M5 13l4 4L19 7" stroke-linecap="round" stroke-linejoin="round"></path></svg></div> <p class="svelte-1cgy5x5"> </p></div>`),He=r(`<section class="ecf-root svelte-1cgy5x5"><div class="ecf-intro svelte-1cgy5x5"><!> <!></div> <!></section>`),Ue={hash:`svelte-1cgy5x5`,code:`.ecf-root.svelte-1cgy5x5 {display:block;font-family:inherit;color:var(--ecf-text-color, #1a1a1a);background:var(--ecf-bg, #faf6ec);padding:var(--ecf-padding, 5rem 1.5rem);}.ecf-intro.svelte-1cgy5x5 {max-width:var(--ecf-intro-max-width, 36rem);margin:0 auto;text-align:center;}.ecf-heading.svelte-1cgy5x5 {margin:0;font-size:2.25rem;}
|
|
2
|
+
@media (min-width: 640px) {.ecf-heading.svelte-1cgy5x5 {font-size:3rem;}
|
|
3
|
+
}.ecf-rule.svelte-1cgy5x5 {width:4rem;height:1px;margin:1rem auto 0;background:var(--ecf-rule-color, rgba(196, 158, 90, 0.5));}.ecf-tagline.svelte-1cgy5x5 {margin:1.5rem 0 0;font-style:italic;font-size:1.25rem;}.ecf-description.svelte-1cgy5x5 {margin:1.5rem 0 0;font-size:1.125rem;line-height:1.6;}.ecf-form.svelte-1cgy5x5 {max-width:var(--ecf-form-max-width, 42rem);margin:3.5rem auto 0;}.ecf-grid.svelte-1cgy5x5 {display:grid;gap:1.5rem;}
|
|
4
|
+
@media (min-width: 640px) {.ecf-grid.svelte-1cgy5x5 {grid-template-columns:1fr 1fr;}
|
|
5
|
+
}.ecf-grid-secondary.svelte-1cgy5x5 {margin-top:1.5rem;align-items:start;}.ecf-field.svelte-1cgy5x5 {display:flex;position:relative;flex-direction:column;gap:0.5rem;}.ecf-label.svelte-1cgy5x5 {font-size:0.75rem;font-weight:300;text-transform:uppercase;letter-spacing:0.05em;}.ecf-required.svelte-1cgy5x5 {color:#dc2626;}.ecf-field.svelte-1cgy5x5 input:where(.svelte-1cgy5x5),
|
|
6
|
+
.ecf-field.svelte-1cgy5x5 textarea:where(.svelte-1cgy5x5) {border-radius:var(--ecf-control-radius, 2px);border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:0.75rem 1rem;font-size:0.875rem;font-family:inherit;color:inherit;}
|
|
7
|
+
/* Own hook: a pill radius that suits one-line fields would clip a
|
|
8
|
+
multi-line box, so the message box can stay softer. */.ecf-field.svelte-1cgy5x5 textarea:where(.svelte-1cgy5x5) {border-radius:var(--ecf-textarea-radius, var(--ecf-control-radius, 2px));}.ecf-field.svelte-1cgy5x5 input:where(.svelte-1cgy5x5)::placeholder,
|
|
9
|
+
.ecf-field.svelte-1cgy5x5 textarea:where(.svelte-1cgy5x5)::placeholder {color:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 40%, transparent);}.ecf-field.svelte-1cgy5x5 input:where(.svelte-1cgy5x5):focus,
|
|
10
|
+
.ecf-field.svelte-1cgy5x5 textarea:where(.svelte-1cgy5x5):focus,
|
|
11
|
+
.ecf-select-trigger.svelte-1cgy5x5:focus {outline:none;border-color:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 40%, transparent);}.ecf-select-trigger.svelte-1cgy5x5 {display:flex;align-items:center;justify-content:space-between;border-radius:var(--ecf-control-radius, 2px);border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:0.75rem 1rem;font-size:0.875rem;font-family:inherit;color:inherit;cursor:pointer;text-align:left;}.ecf-placeholder.svelte-1cgy5x5 {color:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 65%, transparent);}.ecf-chevron.svelte-1cgy5x5 {width:1rem;height:1rem;flex-shrink:0;opacity:0.5;transition:transform 200ms ease;}.ecf-chevron-open.svelte-1cgy5x5 {transform:rotate(180deg);}.ecf-select-panel.svelte-1cgy5x5 {position:fixed;inset:auto;margin:0.25rem 0 0;max-height:15rem;overflow:auto;list-style:none;border-radius:2px;border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);padding:0;}.ecf-select-panel.svelte-1cgy5x5 button:where(.svelte-1cgy5x5) {display:block;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;padding:0.625rem 1rem;font-size:0.875rem;cursor:pointer;}.ecf-select-panel.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):hover {background:var(--ecf-hover-bg, #000);color:#fff;}.ecf-stepper.svelte-1cgy5x5 {display:flex;align-items:center;justify-content:space-between;border-radius:var(--ecf-control-radius, 2px);border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:0.75rem 1rem;}.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5) {position:relative;display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;overflow:hidden;border-radius:9999px;border:1px solid color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 20%, transparent);background:transparent;color:inherit;cursor:pointer;font-size:1rem;padding:0;transition:color 300ms ease;}
|
|
12
|
+
/* Fill-from-center circle on hover, same as the original's ::before trick. */.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5)::before {content:'';position:absolute;inset:0;border-radius:9999px;background:var(--ecf-text-color, #1a1a1a);transform:scale(0);transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1);}.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):hover:not(:disabled) {color:var(--ecf-bg, #faf6ec);}.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):hover:not(:disabled)::before {transform:scale(1);}.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):disabled {cursor:default;opacity:0.3;}.ecf-stepper-btn-inner.svelte-1cgy5x5 {position:relative;z-index:1;display:flex;height:100%;width:100%;align-items:center;justify-content:center;}
|
|
13
|
+
@media (prefers-reduced-motion: reduce) {.ecf-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5)::before {transition:none;}
|
|
14
|
+
}.ecf-stepper-count.svelte-1cgy5x5 {font-size:1.125rem;font-weight:600;}.ecf-hint.svelte-1cgy5x5 {margin:0;font-size:0.6875rem;opacity:0.7;}.ecf-format.svelte-1cgy5x5 {display:flex;flex-direction:column;gap:0.5rem;margin-top:1rem;}.ecf-format-toggle.svelte-1cgy5x5 {position:relative;display:inline-flex;width:fit-content;border-radius:var(--ecf-control-radius, 2px);border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:0.25rem;}.ecf-format-indicator.svelte-1cgy5x5 {position:absolute;top:0.25rem;bottom:0.25rem;border-radius:2px;background:var(--ecf-text-color, #1a1a1a);transition:all 300ms cubic-bezier(0.4, 0, 0.2, 1);}.ecf-format-toggle.svelte-1cgy5x5 button:where(.svelte-1cgy5x5) {position:relative;z-index:1;border:none;border-radius:2px;background:transparent;color:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 70%, transparent);padding:0.5rem 1.25rem;font-size:0.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:color 150ms ease;}.ecf-format-active.svelte-1cgy5x5 {color:var(--ecf-bg, #faf6ec) !important;}.ecf-calendar.svelte-1cgy5x5 {flex:1;border-radius:2px;border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:1rem;transition:border-color 150ms ease;}.ecf-calendar-error.svelte-1cgy5x5 {border-color:#dc2626;}.ecf-cal-header.svelte-1cgy5x5 {display:flex;align-items:center;justify-content:space-between;}.ecf-cal-month.svelte-1cgy5x5 {margin:0;font-size:0.875rem;font-weight:600;}.ecf-cal-nav.svelte-1cgy5x5 {display:flex;gap:0.25rem;}.ecf-cal-nav.svelte-1cgy5x5 button:where(.svelte-1cgy5x5) {display:flex;height:1.75rem;width:1.75rem;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 60%, transparent);cursor:pointer;}.ecf-cal-nav.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):hover:not(:disabled) {background:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 5%, transparent);}.ecf-cal-nav.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):disabled {cursor:default;opacity:0.3;}.ecf-cal-weekdays.svelte-1cgy5x5 {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.7;}.ecf-cal-grid.svelte-1cgy5x5 {display:grid;grid-template-columns:repeat(7, 1fr);row-gap:0.25rem;justify-items:center;margin-top:0.25rem;}.ecf-cal-cell.svelte-1cgy5x5 {display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:9999px;border:none;background:transparent;color:inherit;font-size:0.875rem;cursor:pointer;}.ecf-cal-cell.svelte-1cgy5x5:hover:not(:disabled) {background:color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 10%, transparent);}.ecf-cal-cell.svelte-1cgy5x5:disabled {cursor:default;opacity:0.25;}.ecf-cal-cell-selected.svelte-1cgy5x5 {background:var(--ecf-text-color, #1a1a1a);color:var(--ecf-bg, #faf6ec);}.ecf-message-field.svelte-1cgy5x5 {margin-top:1.5rem;}
|
|
15
|
+
/* Order lookup: an input with its button attached (in the grid, beside
|
|
16
|
+
Phone), then the found order's lines as a full-width tick list under
|
|
17
|
+
the grid. */.ecf-order-field.svelte-1cgy5x5 {margin-top:1.5rem;}.ecf-items-hint.svelte-1cgy5x5 {margin-top:0;}.ecf-input-group.svelte-1cgy5x5 {display:flex;}.ecf-input-group.svelte-1cgy5x5 input:where(.svelte-1cgy5x5) {flex:1;min-width:0;border-right:0;border-radius:var(--ecf-control-radius, 2px) 0 0 var(--ecf-control-radius, 2px);text-transform:uppercase;}.ecf-input-group.svelte-1cgy5x5 input:where(.svelte-1cgy5x5)::placeholder {text-transform:none;}.ecf-input-btn.svelte-1cgy5x5 {display:inline-flex;align-items:center;gap:0.5rem;flex-shrink:0;border:none;border-radius:0 var(--ecf-control-radius, 2px) var(--ecf-control-radius, 2px) 0;background:var(--ecf-accent-bg, #1a1a1a);color:#fff;padding:0 1.25rem;font-family:inherit;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;transition:background-color 150ms ease;}.ecf-input-btn.svelte-1cgy5x5:hover:not(:disabled) {background:var(--ecf-accent-hover-bg, #333);}.ecf-input-btn.svelte-1cgy5x5:disabled {cursor:default;opacity:0.6;}.ecf-spinner-dark.svelte-1cgy5x5 {border-color:rgba(255, 255, 255, 0.3);border-top-color:#fff;}.ecf-items-hint.svelte-1cgy5x5 {margin-top:0.75rem;font-size:0.75rem;opacity:1;font-weight:600;}.ecf-items.svelte-1cgy5x5 {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem;}.ecf-item.svelte-1cgy5x5 {display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:2px;border:1px solid var(--ecf-border-color, rgba(0, 0, 0, 0.15));background:var(--ecf-input-bg, #fff);padding:0.625rem 0.875rem;transition:border-color 150ms ease;}.ecf-item-on.svelte-1cgy5x5 {border-color:var(--ecf-accent-bg, #1a1a1a);}.ecf-item-main.svelte-1cgy5x5 {display:flex;align-items:center;gap:0.75rem;flex:1;min-width:0;cursor:pointer;}.ecf-item-main.svelte-1cgy5x5 input[type='checkbox']:where(.svelte-1cgy5x5) {width:1.1rem;height:1.1rem;flex-shrink:0;padding:0;accent-color:var(--ecf-accent-bg, #1a1a1a);}.ecf-item-img.svelte-1cgy5x5 {width:2.75rem;height:2.75rem;flex-shrink:0;object-fit:cover;border-radius:2px;}.ecf-item-text.svelte-1cgy5x5 {display:flex;flex-direction:column;gap:0.1rem;min-width:0;}.ecf-item-name.svelte-1cgy5x5 {font-weight:600;font-size:0.9375rem;}.ecf-item-meta.svelte-1cgy5x5 {font-size:0.8125rem;opacity:0.7;}.ecf-item-stepper.svelte-1cgy5x5 {display:flex;align-items:center;gap:0.5rem;flex-shrink:0;}.ecf-item-stepper.svelte-1cgy5x5 span:where(.svelte-1cgy5x5) {min-width:1.25rem;text-align:center;font-weight:600;}.ecf-item-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5) {display:flex;width:1.75rem;height:1.75rem;align-items:center;justify-content:center;border-radius:9999px;border:1px solid color-mix(in oklab, var(--ecf-text-color, #1a1a1a) 25%, transparent);background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;}.ecf-item-stepper.svelte-1cgy5x5 button:where(.svelte-1cgy5x5):disabled {cursor:default;opacity:0.3;}.ecf-submit.svelte-1cgy5x5 {display:inline-flex;align-items:center;gap:0.5rem;margin-top:2rem;cursor:pointer;border:none;border-radius:var(--ecf-submit-radius, 2px);background:var(--ecf-accent-bg, #1a1a1a);color:var(--ecf-submit-color, #fff);padding:0.75rem 1.75rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;transition:background-color 150ms ease;}.ecf-submit.svelte-1cgy5x5:hover:not(:disabled) {background:var(--ecf-accent-hover-bg, #333);}
|
|
18
|
+
/* Opt-in (ctaShimmer prop): a soft light band sweeps across on hover and
|
|
19
|
+
eases back out on leave, in place of the background-colour change --
|
|
20
|
+
same treatment as <google-reviews>' CTA. A transition on \`left\` (not a
|
|
21
|
+
keyframe loop), so leaving mid-sweep reverses from wherever it stopped. */.ecf-submit.shimmer.svelte-1cgy5x5 {position:relative;overflow:hidden;transition:none;}.ecf-submit.shimmer.svelte-1cgy5x5:hover:not(:disabled) {background:var(--ecf-accent-bg, #1a1a1a);}.ecf-submit.shimmer.svelte-1cgy5x5::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;}.ecf-submit.shimmer.svelte-1cgy5x5:hover:not(:disabled)::after,
|
|
22
|
+
.ecf-submit.shimmer.svelte-1cgy5x5:focus-visible::after {left:125%;}
|
|
23
|
+
@media (prefers-reduced-motion: reduce) {.ecf-submit.shimmer.svelte-1cgy5x5::after {display:none;}
|
|
24
|
+
}.ecf-submit.svelte-1cgy5x5:disabled {cursor:default;opacity:0.6;}.ecf-spinner.svelte-1cgy5x5 {height:1rem;width:1rem;border-radius:9999px;border:2px solid rgba(255, 255, 255, 0.3);border-top-color:#fff;
|
|
25
|
+
animation: svelte-1cgy5x5-ecf-spin 0.7s linear infinite;}
|
|
26
|
+
@keyframes svelte-1cgy5x5-ecf-spin {
|
|
27
|
+
to {
|
|
28
|
+
transform: rotate(360deg);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
@media (prefers-reduced-motion: reduce) {.ecf-spinner.svelte-1cgy5x5 {
|
|
32
|
+
animation: none;}
|
|
33
|
+
}.ecf-submit-note.svelte-1cgy5x5 {margin:1rem 0 0;font-size:0.875rem;}.ecf-error-text.svelte-1cgy5x5 {margin:0.75rem 0 0;font-size:0.75rem;color:#dc2626;}.ecf-submit-error.svelte-1cgy5x5 {font-size:0.875rem;}.ecf-success.svelte-1cgy5x5 {max-width:var(--ecf-form-max-width, 36rem);margin:3.5rem auto 0;text-align:center;}.ecf-success-icon.svelte-1cgy5x5 {display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 auto 1rem;border-radius:9999px;background:var(--ecf-success-bg, #c49e5a);color:#fff;}.ecf-success-icon.svelte-1cgy5x5 svg:where(.svelte-1cgy5x5) {width:1.5rem;height:1.5rem;}.ecf-success.svelte-1cgy5x5 p:where(.svelte-1cgy5x5) {margin:0;font-size:1.25rem;}`};function M(t,r){v(r,!0),x(t,Ue);let O={nameLabel:`Name`,namePlaceholder:`Jane Smith`,emailLabel:`Email`,emailPlaceholder:`jane@email.com`,emailInvalidTitle:`Enter a valid email address, e.g. jane@email.com`,phoneLabel:`Phone`,phonePlaceholder:`+1 555 123 4567`,eventTypeLabel:`Event Type`,selectOption:`Select an option`,guestsLabel:`Guests`,guestsMinimumHint:`{minGuests}-guest minimum for private events.`,decreaseGuestsAriaLabel:`Decrease guest count`,increaseGuestsAriaLabel:`Increase guest count`,eventFormatLabel:`Event Format`,seatedDinner:`Seated Dinner`,cocktailReception:`Cocktail Reception`,selectDateLabel:`Select a Date`,previousMonth:`Previous month`,nextMonth:`Next month`,selectDateError:`Please select a date.`,messageLabel:`Tell Us More`,messagePlaceholder:`Vision for the evening, budget, must-haves...`,sendingLabel:`Sending…`,sendLabel:`Send Inquiry`,notWiredError:`This form is not wired up to send inquiries yet.`,genericSubmitError:`Something went wrong sending your inquiry. Please try again or call us directly.`,successMessage:`Thank you! Your inquiry has been sent — our events team will follow up shortly.`,orderLabel:`Order number`,orderPlaceholder:`e.g. A1B2C3`,findOrderLabel:`Find`,findingOrderLabel:`Finding…`,clearOrderLabel:`Clear`,orderEmailFirstError:`Enter the email you ordered with first.`,orderLookupError:`We couldn't find a paid order for that number and email.`,returnItemsLabel:`Tick what you are sending back`,boughtLabel:`{count} bought`,decreaseReturnAriaLabel:`Return one fewer`,increaseReturnAriaLabel:`Return one more`},M=w(r,`heading`,7,`Plan Your Event`),N=w(r,`tagline`,7,`Tell Us the Occasion`),We=w(r,`description`,7,`Share a few details below and our events team will follow up to help shape the evening around you.`),Ge=w(r,`eventTypes`,23,()=>[`Birthday`,`Anniversary`,`Engagement`,`Corporate Event`,`Cocktail Reception`,`Wedding`,`Other`]),P=w(r,`minGuests`,7,12),Ke=w(r,`requireDate`,7,!0),qe=w(r,`showFormat`,7,!0),Je=w(r,`showEventType`,7,!0),Ye=w(r,`showGuests`,7,!0),Xe=w(r,`showDate`,7,!0),Ze=w(r,`submitNote`,7,``),F=w(r,`locale`,7),Qe=w(r,`showOrderLookup`,7,!1),$e=w(r,`ctaShimmer`,7,!1),et=w(r,`currency`,7,`USD`),I=w(r,`strings`,7),L=w(r,`submitInquiry`,7),R=w(r,`lookupOrder`,7),z=o(()=>({...O,...I()})),tt=o(()=>new Intl.NumberFormat(F(),{style:`currency`,currency:et()})),B=h(``),V=h(!1),H=h(``),U=h(null),W=h(i({}));async function nt(){if(p(H,``),!R()){p(H,u(z).notWiredError,!0);return}if(!u(G).trim()){p(H,u(z).orderEmailFirstError,!0);return}if(u(B).trim()){p(V,!0),p(U,null),p(W,{},!0);try{let e=await R()(u(B).trim(),u(G).trim());if(!e.ok){p(H,e.error||u(z).orderLookupError,!0);return}p(U,e.order,!0),Pt(`order-found`,{reference:u(U).reference})}catch{p(H,u(z).orderLookupError,!0)}finally{p(V,!1)}}}function rt(){p(U,null),p(W,{},!0),p(B,``),p(H,``)}function it(e){if(u(W)[e.id]){let t={...u(W)};delete t[e.id],p(W,t,!0)}else p(W,{...u(W),[e.id]:1},!0)}function at(e,t){let n=u(W)[e.id]??0;p(W,{...u(W),[e.id]:Math.min(e.quantity,Math.max(1,n+t))},!0)}let ot=o(()=>de(F())),st=o(()=>le(F())),ct=h(``),G=h(``),lt=h(``),K=h(``),q=h(i(P())),J=h(``),ut=h(``),Y=h(!1),dt=h(void 0),ft=h(void 0);function pt(){p(Y,!u(Y))}function mt(e){p(K,e,!0),p(Y,!1)}c(()=>{if(!u(Y)||!u(dt)||!u(ft))return;let e=u(dt),t=u(ft);t.style.width=`${e.getBoundingClientRect().width}px`,t.showPopover();let n=ce(e,t,async()=>{let{x:n,y:r}=await oe(e,t,{strategy:`fixed`,placement:`bottom-start`,middleware:[ae(4),se(),ie({padding:12})]});t.style.left=`${n}px`,t.style.top=`${r}px`});function r(e){e.newState===`closed`&&p(Y,!1)}return t.addEventListener(`toggle`,r),()=>{n(),t.removeEventListener(`toggle`,r),t.matches(`:popover-open`)&&t.hidePopover()}});let ht=h(void 0),gt=h(void 0);function _t(e){!e||typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||e.animate([{transform:`scale(1)`},{transform:`scale(1.25)`,offset:.4},{transform:`scale(1)`}],{duration:350,easing:`ease-out`})}function vt(){p(q,Math.max(P(),u(q)-1),!0),_t(u(ht))}function yt(){p(q,Math.min(200,u(q)+1),!0),_t(u(gt))}let bt=h(void 0),X=h(i({})),xt=h(`opacity: 0; transform: scaleX(0);`);function St(e){p(J,u(J)===e?``:e,!0)}c(()=>{let e=u(J)?u(X)[u(J)]:void 0;e?p(xt,`left: ${e.offsetLeft}px; width: ${e.offsetWidth}px; opacity: 1; transform: scaleX(1);`):p(xt,`opacity: 0; transform: scaleX(0);`)});let Ct=ue(new Date),Z=h(i(Ct.getFullYear())),Q=h(i(Ct.getMonth())),wt=h(null),Tt=h(!1),Et=o(()=>pe(u(Z),u(Q),Ct,[])),Dt=o(()=>u(Z)!==Ct.getFullYear()||u(Q)!==Ct.getMonth()),Ot=o(()=>u(wt)?fe(u(wt)):null);function kt(){u(Dt)&&(p(Q,u(Q)-1),u(Q)<0&&(p(Q,11),p(Z,u(Z)-1)))}function At(){p(Q,u(Q)+1),u(Q)>11&&(p(Q,0),p(Z,u(Z)+1))}function jt(e){!e.inMonth||e.isPast||(p(wt,e.date,!0),p(Tt,!1))}let $=h(!1),Mt=h(``),Nt=h(!1);function Pt(e,t){r.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}async function Ft(e){if(e.preventDefault(),Xe()&&Ke()&&!u(Ot)){p(Tt,!0);return}if(!L()){p(Mt,u(z).notWiredError,!0);return}p(Mt,``),p($,!0);let t={name:u(ct),email:u(G),phone:u(lt),date:u(Ot),guests:u(q),eventType:u(K),format:u(J),message:u(ut),orderReference:u(U)?.reference??null,returnItems:Object.entries(u(W)).filter(([,e])=>e>0).map(([e,t])=>({orderItemId:e,quantity:t}))};try{let e=await L()(t);if(!e.ok)throw Error(e.error||`request failed`);p(Nt,!0),Pt(`inquiry-submitted`,t)}catch(e){p(Mt,e instanceof Error&&e.message!==`request failed`?e.message:u(z).genericSubmitError,!0)}finally{p($,!1)}}var It={get heading(){return M()},set heading(e=`Plan Your Event`){M(e),s()},get tagline(){return N()},set tagline(e=`Tell Us the Occasion`){N(e),s()},get description(){return We()},set description(e=`Share a few details below and our events team will follow up to help shape the evening around you.`){We(e),s()},get eventTypes(){return Ge()},set eventTypes(e=[`Birthday`,`Anniversary`,`Engagement`,`Corporate Event`,`Cocktail Reception`,`Wedding`,`Other`]){Ge(e),s()},get minGuests(){return P()},set minGuests(e=12){P(e),s()},get requireDate(){return Ke()},set requireDate(e=!0){Ke(e),s()},get showFormat(){return qe()},set showFormat(e=!0){qe(e),s()},get showEventType(){return Je()},set showEventType(e=!0){Je(e),s()},get showGuests(){return Ye()},set showGuests(e=!0){Ye(e),s()},get showDate(){return Xe()},set showDate(e=!0){Xe(e),s()},get submitNote(){return Ze()},set submitNote(e=``){Ze(e),s()},get locale(){return F()},set locale(e){F(e),s()},get showOrderLookup(){return Qe()},set showOrderLookup(e=!1){Qe(e),s()},get ctaShimmer(){return $e()},set ctaShimmer(e=!1){$e(e),s()},get currency(){return et()},set currency(e=`USD`){et(e),s()},get strings(){return I()},set strings(e){I(e),s()},get submitInquiry(){return L()},set submitInquiry(e){L(e),s()},get lookupOrder(){return R()},set lookupOrder(e){R(e),s()}},Lt=He(),Rt=A(Lt),zt=A(Rt),Bt=t=>{var r=me(),i=n(r),o=A(i,!0);y(i),e(2),a(()=>k(o,M())),f(t,r)};d(zt,e=>{M()&&e(Bt)});var Vt=m(zt,2),Ht=e=>{var t=_e(),r=n(t),i=e=>{var t=he(),n=A(t,!0);y(t),a(()=>k(n,N())),f(e,t)};d(r,e=>{N()&&e(i)});var o=m(r,2),s=e=>{var t=ge(),n=A(t,!0);y(t),a(()=>k(n,We())),f(e,t)};d(o,e=>{We()&&e(s)}),f(e,t)};d(Vt,e=>{u(Nt)||e(Ht)}),y(Rt);var Ut=m(Rt,2),Wt=e=>{var t=Ve(),n=A(t),r=A(n),i=A(r),s=A(i,!0);y(i);var c=m(i,2);T(c),y(r);var h=m(r,2),g=A(h),v=A(g,!0);y(g);var x=m(g,2);T(x),y(h);var w=m(h,2),O=A(w),ie=A(O,!0);y(O);var ae=m(O,2);T(ae),y(w);var oe=m(w,2),se=e=>{var t=Se(),n=A(t),r=A(n,!0);y(n);var i=m(n,2),o=A(i);T(o);var s=m(o,2),c=e=>{var t=ve(),n=A(t,!0);y(t),a(()=>k(n,u(z).clearOrderLabel)),C(`click`,t,rt),f(e,t)},l=e=>{var t=be(),n=A(t),r=e=>{var t=ye();f(e,t)};d(n,e=>{u(V)&&e(r)});var i=m(n);y(t),a(()=>{t.disabled=u(V),k(i,` ${(u(V)?u(z).findingOrderLabel:u(z).findOrderLabel)??``}`)}),C(`click`,t,nt),f(e,t)};d(s,e=>{u(U)?e(c):e(l,-1)}),y(i);var h=m(i,2),g=e=>{var t=xe(),n=A(t,!0);y(t),a(()=>k(n,u(H))),f(e,t)};d(h,e=>{u(H)&&e(g)}),y(t),a(()=>{k(r,u(z).orderLabel),D(o,`placeholder`,u(z).orderPlaceholder),o.disabled=!!u(U)||u(V)}),C(`keydown`,o,e=>{e.key===`Enter`&&(e.preventDefault(),u(U)||nt())}),S(o,()=>u(B),e=>p(B,e)),f(e,t)};d(oe,e=>{Qe()&&e(se)});var ce=m(oe,2),le=e=>{var t=we(),n=A(t),r=A(n,!0);y(n);var i=m(n,2),o=A(i);let s;var c=A(o,!0);y(o);var l=m(o,2);let d;y(i),E(i,e=>p(dt,e),()=>u(dt));var h=m(i,2);re(h,20,Ge,e=>e,(e,t)=>{var n=Ce(),r=A(n),i=A(r,!0);y(r),y(n),a(()=>{D(r,`aria-selected`,t===u(K)),k(i,t)}),C(`click`,r,()=>mt(t)),f(e,n)}),y(h),E(h,e=>p(ft,e),()=>u(ft)),y(t),a(()=>{k(r,u(z).eventTypeLabel),D(i,`aria-expanded`,u(Y)),s=b(o,1,`svelte-1cgy5x5`,null,s,{"ecf-placeholder":!u(K)}),k(c,u(K)||u(z).selectOption),d=b(l,0,`ecf-chevron svelte-1cgy5x5`,null,d,{"ecf-chevron-open":u(Y)})}),C(`click`,i,pt),f(e,t)};d(ce,e=>{Je()&&e(le)}),y(n);var ue=m(n,2),de=e=>{var t=je(),n=A(t),r=e=>{var t=Ee(),n=A(t),r=A(n,!0);y(n);var i=m(n,2),o=A(i);E(o,e=>p(ht,e),()=>u(ht));var s=m(o,2),c=A(s,!0);y(s);var l=m(s,2);E(l,e=>p(gt,e),()=>u(gt)),y(i);var h=m(i,2),g=A(h,!0);y(h);var _=m(h,2),v=e=>{var t=Te(),n=A(t),r=A(n,!0);y(n);var i=m(n,2),o=A(i),s=m(o,2);let c;var l=A(s,!0);y(s),E(s,e=>u(X)[`Seated Dinner`]=e,()=>u(X)?.[`Seated Dinner`]);var d=m(s,2);let h;var g=A(d,!0);y(d),E(d,e=>u(X)[`Cocktail Reception`]=e,()=>u(X)?.[`Cocktail Reception`]),y(i),E(i,e=>p(bt,e),()=>u(bt)),y(t),a(()=>{k(r,u(z).eventFormatLabel),te(o,u(xt)),c=b(s,1,`svelte-1cgy5x5`,null,c,{"ecf-format-active":u(J)===`Seated Dinner`}),k(l,u(z).seatedDinner),h=b(d,1,`svelte-1cgy5x5`,null,h,{"ecf-format-active":u(J)===`Cocktail Reception`}),k(g,u(z).cocktailReception)}),C(`click`,s,()=>St(`Seated Dinner`)),C(`click`,d,()=>St(`Cocktail Reception`)),f(e,t)};d(_,e=>{qe()&&e(v)}),y(t),a(e=>{k(r,u(z).guestsLabel),o.disabled=u(q)<=P(),D(o,`aria-label`,u(z).decreaseGuestsAriaLabel),k(c,u(q)),l.disabled=u(q)>=200,D(l,`aria-label`,u(z).increaseGuestsAriaLabel),k(g,e)},[()=>u(z).guestsMinimumHint.replace(`{minGuests}`,String(P()))]),C(`click`,o,vt),C(`click`,l,yt),f(e,t)};d(n,e=>{Ye()&&e(r)});var i=m(n,2),o=e=>{var t=Ae(),n=A(t),r=A(n,!0),i=m(r),o=e=>{var t=De();f(e,t)};d(i,e=>{Ke()&&e(o)}),y(n);var s=m(n,2);let c;var l=A(s),p=A(l),h=A(p);y(p);var g=m(p,2),_=A(g),v=m(_,2);y(g),y(l);var ee=m(l,2);re(ee,20,()=>u(st),e=>e,(e,t)=>{var n=Oe(),r=A(n,!0);y(n),a(()=>k(r,t)),f(e,n)}),y(ee);var te=m(ee,2);re(te,21,()=>u(Et),e=>e.iso,(e,t)=>{var n=ke();let r;var i=A(n,!0);y(n),a(()=>{r=b(n,1,`ecf-cal-cell svelte-1cgy5x5`,null,r,{"ecf-cal-cell-selected":u(Ot)===u(t).iso}),n.disabled=!u(t).inMonth||u(t).isPast,k(i,u(t).dayNumber)}),C(`click`,n,()=>jt(u(t))),f(e,n)}),y(te),y(s);var x=m(s,2),S=e=>{var t=xe(),n=A(t,!0);y(t),a(()=>k(n,u(z).selectDateError)),f(e,t)};d(x,e=>{u(Tt)&&e(S)}),y(t),a(()=>{k(r,u(z).selectDateLabel),c=b(s,1,`ecf-calendar svelte-1cgy5x5`,null,c,{"ecf-calendar-error":u(Tt)}),k(h,`${u(ot)[u(Q)]??``} ${u(Z)??``}`),_.disabled=!u(Dt),D(_,`aria-label`,u(z).previousMonth),D(v,`aria-label`,u(z).nextMonth)}),C(`click`,_,kt),C(`click`,v,At),f(e,t)};d(i,e=>{Xe()&&e(o)}),y(t),f(e,t)};d(ue,e=>{(Ye()||Xe())&&e(de)});var fe=m(ue,2),pe=e=>{var t=Ie(),n=A(t),r=A(n,!0);y(n);var i=m(n,2);re(i,21,()=>u(U).items,e=>e.id,(e,t)=>{let n=o(()=>u(W)[u(t).id]??0);var r=Fe();let i;var s=A(r),c=A(s);T(c);var l=m(c,2),p=e=>{var n=Me();a(()=>D(n,`src`,u(t).image)),f(e,n)};d(l,e=>{u(t).image&&e(p)});var h=m(l,2),g=A(h),_=A(g,!0);y(g);var v=m(g,2),te=e=>{var n=Ne(),r=A(n,!0);y(n),a(()=>k(r,u(t).variant)),f(e,n)};d(v,e=>{u(t).variant&&e(te)});var x=m(v,2),S=A(x,!0),w=m(S),E=e=>{var n=ne();a(e=>k(n,` · ${e??``}`),[()=>u(tt).format(u(t).price)]),f(e,n)};d(w,e=>{u(t).price!=null&&e(E)}),y(x),y(h),y(s);var O=m(s,2),re=e=>{var r=Pe(),i=A(r),o=m(i,2),s=A(o,!0);y(o);var c=m(o,2);y(r),a(()=>{i.disabled=u(n)<=1,D(i,`aria-label`,u(z).decreaseReturnAriaLabel),k(s,u(n)),c.disabled=u(n)>=u(t).quantity,D(c,`aria-label`,u(z).increaseReturnAriaLabel)}),C(`click`,i,()=>at(u(t),-1)),C(`click`,c,()=>at(u(t),1)),f(e,r)};d(O,e=>{u(n)>0&&u(t).quantity>1&&e(re)}),y(r),a(e=>{i=b(r,1,`ecf-item svelte-1cgy5x5`,null,i,{"ecf-item-on":u(n)>0}),ee(c,u(n)>0),k(_,u(t).name),k(S,e)},[()=>u(z).boughtLabel.replace(`{count}`,String(u(t).quantity))]),C(`change`,c,()=>it(u(t))),f(e,r)}),y(i),y(t),a(()=>k(r,u(z).returnItemsLabel)),f(e,t)};d(fe,e=>{Qe()&&u(U)&&e(pe)});var me=m(fe,2),he=A(me),ge=A(he,!0);y(he);var _e=m(he,2);_(_e),y(me);var j=m(me,2);let He;var Ue=A(j),M=e=>{var t=Le();f(e,t)};d(Ue,e=>{u($)&&e(M)});var N=m(Ue,2),We=A(N,!0);y(N);var F=m(N,2),et=e=>{var t=Re();f(e,t)};d(F,e=>{u($)||e(et)}),y(j);var I=m(j,2),L=e=>{var t=ze(),n=A(t,!0);y(t),a(()=>k(n,Ze())),f(e,t)};d(I,e=>{Ze()&&e(L)});var R=m(I,2),_t=e=>{var t=Be(),n=A(t,!0);y(t),a(()=>k(n,u(Mt))),f(e,t)};d(R,e=>{u(Mt)&&e(_t)}),y(t),a(()=>{k(s,u(z).nameLabel),D(c,`placeholder`,u(z).namePlaceholder),k(v,u(z).emailLabel),D(x,`title`,u(z).emailInvalidTitle),D(x,`placeholder`,u(z).emailPlaceholder),k(ie,u(z).phoneLabel),D(ae,`placeholder`,u(z).phonePlaceholder),k(ge,u(z).messageLabel),D(_e,`placeholder`,u(z).messagePlaceholder),He=b(j,1,`ecf-submit svelte-1cgy5x5`,null,He,{shimmer:$e()}),j.disabled=u($),k(We,u($)?u(z).sendingLabel:u(z).sendLabel)}),l(`submit`,t,Ft),S(c,()=>u(ct),e=>p(ct,e)),S(x,()=>u(G),e=>p(G,e)),S(ae,()=>u(lt),e=>p(lt,e)),S(_e,()=>u(ut),e=>p(ut,e)),f(e,t)},Gt=e=>{var t=j(),n=m(A(t),2),r=A(n,!0);y(n),y(t),a(()=>k(r,u(z).successMessage)),f(e,t)};return d(Ut,e=>{u(Nt)?e(Gt,-1):e(Wt)}),y(Lt),f(t,Lt),g(It)}t([`keydown`,`click`,`change`]),customElements.define(`event-contact-form`,O(M,{heading:{attribute:`heading`,type:`String`},tagline:{attribute:`tagline`,type:`String`},description:{attribute:`description`,type:`String`},eventTypes:{attribute:`event-types`,type:`Array`},minGuests:{attribute:`min-guests`,type:`Number`},requireDate:{attribute:`require-date`,type:`Boolean`},showFormat:{attribute:`show-format`,type:`Boolean`},showEventType:{attribute:`show-event-type`,type:`Boolean`},showGuests:{attribute:`show-guests`,type:`Boolean`},showDate:{attribute:`show-date`,type:`Boolean`},submitNote:{attribute:`submit-note`,type:`String`},locale:{attribute:`locale`,type:`String`},showOrderLookup:{attribute:`show-order-lookup`,type:`Boolean`},ctaShimmer:{attribute:`cta-shimmer`,type:`Boolean`},currency:{attribute:`currency`,type:`String`},strings:{type:`Object`},submitInquiry:{type:`Object`},lookupOrder:{type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/ably-5cVT4knS.js","chunks/rolldown-runtime-CbXtAM7H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./chunks/rolldown-runtime-CbXtAM7H.js";import{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 l,T as u,U as d,V as f,W as p,X as m,Z as h,b as g,d as ee,et as _,f as v,h as te,k as y,n as b,r as x,s as S,t as C,w,y as T,z as E}from"./chunks/client-BDk8LqGN.js";import{t as ne}from"./chunks/preload-helper-Czpn1I53.js";import{t as D}from"./chunks/gsap-DWxn8li7.js";var O=n(`<span><svg class="eif-live-icon svelte-9vf17e" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M198-278q-57-57-87.5-129.5T80-560q0-80 30.5-152.5T198-842l48 48q-47 47-72.5 107.5T148-560q0 66 25.5 126.5T246-326l-48 48Zm92-92q-38-38-58-87t-20-103q0-54 20-103t58-87l48 48q-29 29-43.5 65.5T280-560q0 40 14.5 76.5T338-418l-48 48Zm150 250v-348q-27-12-43.5-37T380-560q0-42 29-71t71-29q42 0 71 29t29 71q0 30-16.5 55T520-468v348h-80Zm230-250-48-48q29-29 43.5-65.5T680-560q0-40-14.5-76.5T622-702l48-48q38 38 58 87t20 103q0 54-20 103t-58 87Zm92 92-48-48q47-47 72.5-107.5T812-560q0-66-25.5-126.5T714-794l48-48q57 57 87.5 129.5T880-560q0 80-30.5 152.5T762-278Z" class="svelte-9vf17e"></path></svg></span> <span class="eif-visually-hidden svelte-9vf17e"> </span>`,1),re=n(`<div><!></div>`),k=n(`<div class="eif-header svelte-9vf17e"><h2 class="eif-heading svelte-9vf17e"><svg class="eif-heading-icon svelte-9vf17e" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z" class="svelte-9vf17e"></path></svg> </h2> <!></div>`),ie=n(`<li class="eif-item eif-skeleton-item svelte-9vf17e"><div class="eif-item-header svelte-9vf17e"><div class="eif-item-header-left svelte-9vf17e"><span class="eif-skeleton-bar eif-skeleton-bar-name svelte-9vf17e"></span> <span class="eif-skeleton-bar eif-skeleton-bar-sub svelte-9vf17e"></span></div> <div class="eif-item-header-right svelte-9vf17e"><span class="eif-skeleton-bar eif-skeleton-bar-status svelte-9vf17e"></span> <span class="eif-skeleton-bar eif-skeleton-bar-received svelte-9vf17e"></span></div></div> <div class="eif-item-body svelte-9vf17e"><div class="eif-item-guests svelte-9vf17e"><span class="eif-skeleton-bar eif-skeleton-bar-stat svelte-9vf17e"></span> <span class="eif-skeleton-bar eif-skeleton-bar-stat-label svelte-9vf17e"></span></div> <div class="eif-item-meta svelte-9vf17e"><span class="eif-skeleton-bar eif-skeleton-bar-meta svelte-9vf17e"></span> <span class="eif-skeleton-bar eif-skeleton-bar-meta svelte-9vf17e"></span> <span class="eif-skeleton-bar eif-skeleton-bar-meta svelte-9vf17e"></span></div></div> <div class="eif-item-contact svelte-9vf17e"><span class="eif-skeleton-bar eif-skeleton-bar-contact svelte-9vf17e"></span></div></li>`),A=n(`<ul class="eif-list svelte-9vf17e" aria-hidden="true"></ul>`),j=n(`<p class="eif-empty svelte-9vf17e"> </p>`),ae=n(`<span class="eif-item-accent svelte-9vf17e" aria-hidden="true"></span> <span class="eif-visually-hidden svelte-9vf17e"><!></span>`,1),oe=n(`<span class="eif-item-restaurant svelte-9vf17e"> </span>`),se=n(`<span class="eif-item-status eif-status-draft svelte-9vf17e">AI draft</span>`),ce=n(`<span class="eif-item-status svelte-9vf17e"> </span>`),le=n(`<img class="eif-item-avatar svelte-9vf17e"/>`),ue=n(`<div class="eif-item-guests svelte-9vf17e"><span class="eif-item-guests-number svelte-9vf17e"> </span> <span class="eif-item-guests-label svelte-9vf17e"> </span></div>`),de=n(`<span class="eif-meta-item svelte-9vf17e"><svg class="eif-meta-icon svelte-9vf17e" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><rect x="3" y="5" width="18" height="16" rx="2" class="svelte-9vf17e"></rect><path d="M3 10h18M8 3v4M16 3v4" stroke-linecap="round" class="svelte-9vf17e"></path></svg> </span>`),M=n(`<span class="svelte-9vf17e"> </span>`),fe=n(`<div class="eif-item-meta svelte-9vf17e"><!> <!> <!></div>`),pe=n(`<a class="svelte-9vf17e"> </a>`),me=n(`<div class="eif-item-contact svelte-9vf17e"><!> <!></div>`),he=n(`<p class="eif-item-message svelte-9vf17e"> </p>`),ge=n(`<li class="eif-item svelte-9vf17e"><!> <div class="eif-item-header svelte-9vf17e"><div class="eif-item-header-left svelte-9vf17e"><span class="eif-item-name svelte-9vf17e"> </span> <!></div> <div class="eif-item-header-right svelte-9vf17e"><!> <!> <span class="eif-item-received svelte-9vf17e"> </span></div></div> <div class="eif-item-body svelte-9vf17e"><!> <!></div> <!> <!></li>`),_e=n(`<p class="eif-loading-more svelte-9vf17e" aria-live="polite">Loading more…</p>`),ve=n(`<div class="eif-sentinel svelte-9vf17e" aria-hidden="true"></div>`),ye=n(`<ul class="eif-list svelte-9vf17e"></ul> <!> <!>`,1),N=n(`<section class="eif-root svelte-9vf17e"><!> <!></section>`),be={hash:`svelte-9vf17e`,code:`.eif-root.svelte-9vf17e {display:block;font-family:inherit;color:var(--eif-text-color, #1a1a1a);}.eif-header.svelte-9vf17e {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}\r
|
|
3
|
+
/* Icon + title, same as every other feed's heading. */.eif-heading.svelte-9vf17e {display:flex;align-items:center;gap:0.5rem;margin:0;font-family:var(--eif-heading-font-family, inherit);font-size:var(--eif-heading-font-size, 1.125rem);font-weight:var(--eif-heading-font-weight, 700);}.eif-heading-icon.svelte-9vf17e {flex-shrink:0;color:var(--eif-heading-icon-color, currentColor);opacity:0.8;}.eif-status.svelte-9vf17e {display:flex;justify-content:flex-end;align-items:center;gap:0.375rem;margin-bottom:1rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--eif-live-color, #1a7d3a);}.eif-header.svelte-9vf17e .eif-status:where(.svelte-9vf17e) {margin-bottom:0;}.eif-status-error.svelte-9vf17e {color:var(--eif-error-color, #b3261e);}.eif-live-icon-wrap.svelte-9vf17e {position:relative;display:inline-flex;flex-shrink:0;}.eif-live-icon-wrap.svelte-9vf17e::before {content:'';position:absolute;inset:0;border-radius:9999px;background:currentColor;opacity:0;\r
|
|
4
|
+
animation: svelte-9vf17e-eif-pulse 4s ease-out infinite;}\r
|
|
5
|
+
@media (prefers-reduced-motion: reduce) {.eif-live-icon-wrap.svelte-9vf17e::before {\r
|
|
6
|
+
animation: none;}\r
|
|
7
|
+
}.eif-live-icon-wrap-connecting.svelte-9vf17e {opacity:0.55;}.eif-live-icon-wrap-connecting.svelte-9vf17e::before {\r
|
|
8
|
+
animation: none;}.eif-live-icon.svelte-9vf17e {position:relative;display:block;}.eif-visually-hidden.svelte-9vf17e {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}\r
|
|
9
|
+
@keyframes svelte-9vf17e-eif-pulse {\r
|
|
10
|
+
0% {\r
|
|
11
|
+
transform: scale(1);\r
|
|
12
|
+
opacity: 0.6;\r
|
|
13
|
+
}\r
|
|
14
|
+
40%,
|
|
15
|
+
100% {\r
|
|
16
|
+
transform: scale(2.5);\r
|
|
17
|
+
opacity: 0;\r
|
|
18
|
+
}\r
|
|
19
|
+
}.eif-empty.svelte-9vf17e {opacity:0.6;font-size:0.875rem;}.eif-loading-more.svelte-9vf17e {opacity:0.6;font-size:0.8125rem;text-align:center;margin:0.75rem 0 0;}.eif-list.svelte-9vf17e {display:flex;flex-direction:column;gap:0.75rem;margin:0;padding:0;list-style:none;}\r
|
|
20
|
+
/* Same shape as LiveReservationsFeed/LiveSpaBookingsFeed items -- 12px\r
|
|
21
|
+
radius, room on the left for an accent stripe, and overflow hidden so\r
|
|
22
|
+
that stripe is clipped by the rounded corners. The left padding is on\r
|
|
23
|
+
every item, striped or not, so names still line up down the list. */.eif-item.svelte-9vf17e {position:relative;overflow:hidden;border:1px solid var(--eif-border-color, rgba(0, 0, 0, 0.1));border-radius:12px;padding:0.875rem 1rem 0.875rem 1.75rem;background:var(--eif-item-bg, #fff);transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}\r
|
|
24
|
+
/* --eif-accent is set per item by statusAccent(), which resolves through\r
|
|
25
|
+
the consumer's existing status colours -- a page that themed the old\r
|
|
26
|
+
"new" badge gets a matching stripe without touching its CSS. */.eif-item-accent.svelte-9vf17e {position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--eif-accent, currentColor);}.eif-item.svelte-9vf17e:hover {border-color:var(--eif-item-hover-border, rgba(0, 0, 0, 0.25));box-shadow:var(--eif-item-hover-shadow, 0 4px 16px rgba(0, 0, 0, 0.08));transform:translateY(-1px);cursor:pointer;}.eif-item-header.svelte-9vf17e {display:flex;align-items:flex-start;justify-content:space-between;gap:0.5rem;}.eif-item-name.svelte-9vf17e {font-weight:700;}.eif-item-header-left.svelte-9vf17e {display:flex;flex-direction:column;gap:0.125rem;min-width:0;}.eif-item-restaurant.svelte-9vf17e {font-size:0.75rem;font-weight:600;color:var(--eif-restaurant-color, currentColor);opacity:0.65;}.eif-item-header-right.svelte-9vf17e {display:flex;flex-direction:column;align-items:flex-end;gap:0.25rem;flex-shrink:0;}.eif-item-status.svelte-9vf17e {font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;padding:0.125rem 0.5rem;border-radius:2px;background:var(--eif-status-bg, rgba(0, 0, 0, 0.06));}\r
|
|
27
|
+
/* Defaults to the same tint the "new" badge used to carry, so a draft\r
|
|
28
|
+
waiting for approval reads as something to go and do. */.eif-status-draft.svelte-9vf17e {background:var(--eif-status-draft-bg, var(--eif-status-new-bg, #fde9b0));color:var(--eif-status-draft-text, var(--eif-status-new-text, #5c4300));}.eif-item-avatar.svelte-9vf17e {width:1.5rem;height:1.5rem;border-radius:9999px;object-fit:cover;flex-shrink:0;}.eif-item-received.svelte-9vf17e {font-size:0.6875rem;font-weight:400;text-transform:none;letter-spacing:normal;white-space:nowrap;opacity:0.55;}.eif-item-body.svelte-9vf17e {display:flex;align-items:center;gap:0.875rem;margin-top:0.625rem;}.eif-item-guests.svelte-9vf17e {display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1;padding-right:0.875rem;border-right:1px solid var(--eif-border-color, rgba(0, 0, 0, 0.1));}.eif-item-guests-number.svelte-9vf17e {font-size:1.75rem;font-weight:800;line-height:1;}.eif-item-guests-label.svelte-9vf17e {font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;opacity:0.6;margin-top:0.1875rem;}.eif-item-meta.svelte-9vf17e,\r
|
|
29
|
+
.eif-item-contact.svelte-9vf17e {display:flex;flex-wrap:wrap;gap:0.5rem 0.75rem;font-size:0.8125rem;opacity:0.75;}.eif-item-contact.svelte-9vf17e {margin-top:0.375rem;}.eif-item-contact.svelte-9vf17e a:where(.svelte-9vf17e) {color:inherit;}.eif-meta-item.svelte-9vf17e {display:inline-flex;align-items:center;gap:0.3125rem;}.eif-meta-icon.svelte-9vf17e {width:0.875rem;height:0.875rem;flex-shrink:0;opacity:0.8;}.eif-item-message.svelte-9vf17e {margin:0.5rem 0 0;font-size:0.8125rem;opacity:0.8;white-space:pre-wrap;}.eif-sentinel.svelte-9vf17e {height:1px;}.eif-skeleton-item.svelte-9vf17e {pointer-events:none;}.eif-skeleton-bar.svelte-9vf17e {display:inline-block;height:0.75rem;border-radius:3px;background:var(--eif-skeleton-color, color-mix(in srgb, currentColor 8%, transparent));}.eif-skeleton-bar-name.svelte-9vf17e {width:8.5rem;}.eif-skeleton-bar-sub.svelte-9vf17e {width:6rem;height:0.625rem;}.eif-skeleton-bar-status.svelte-9vf17e {width:3.5rem;}.eif-skeleton-bar-received.svelte-9vf17e {width:5.5rem;height:0.5625rem;}.eif-skeleton-bar-stat.svelte-9vf17e {width:2.5rem;height:1.75rem;}.eif-skeleton-bar-stat-label.svelte-9vf17e {width:2.5rem;height:0.5rem;margin-top:0.25rem;}.eif-skeleton-bar-meta.svelte-9vf17e {width:5.5rem;}.eif-skeleton-bar-meta.svelte-9vf17e + .eif-skeleton-bar-meta:where(.svelte-9vf17e) {width:4rem;}.eif-skeleton-bar-contact.svelte-9vf17e {width:55%;}`};function P(n,C){h(C,!0),te(n,be);let P=e=>{var n=re();let r;var a=E(n),o=e=>{var t=y(`Live updates unavailable — showing loaded inquiries only.`);u(e,t)},s=e=>{var n=O(),r=t(n);let a;var o=f(r,2),s=E(o,!0);_(o),i(()=>{a=v(r,1,`eif-live-icon-wrap svelte-9vf17e`,null,a,{"eif-live-icon-wrap-connecting":c(K)===`connecting`}),w(s,c(K)===`connecting`?`Connecting…`:`Live`)}),u(e,n)};l(a,e=>{c(K)===`error`?e(o):e(s,-1)}),_(n),i(()=>r=v(n,1,`eif-status svelte-9vf17e`,null,r,{"eif-status-error":c(K)===`error`})),u(e,n)},F=b(C,`heading`,7),I=b(C,`channelName`,7),L=b(C,`ablyAuthUrl`,7),R=b(C,`fetchInquiries`,7),z=b(C,`restaurants`,7),B=b(C,`maxItems`,7,30),V=b(C,`autoLoadMore`,7,!0),H=b(C,`emptyLabel`,7,`No inquiries yet.`),U=b(C,`showEmail`,7,!0),W=p(r([])),G=p(void 0),K=p(`connecting`),q=p(!0),J=p(!1),Y=p(!0),X=p(void 0),Z=p(void 0);function xe(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}let Se=a(()=>new Map((z()??[]).map(e=>[e.id,e.name])));function Ce(e){let t=[e,...c(W).filter(t=>t.id!==e.id)];d(W,V()?t:t.slice(0,B()),!0)}function Q(e,t){d(W,c(W).map(n=>n.id===e?{...n,...t}:n),!0)}async function we(){if(!(c(J)||!c(Y)||!R())){d(J,!0);try{let e=c(W)[c(W).length-1]?.created_at,t=await R()({cursor:e,limit:B()}),n=new Set(c(W).map(e=>e.id)),r=t.filter(e=>!n.has(e.id));d(W,[...c(W),...r],!0),d(Y,t.length===B()&&r.length>0,!0)}catch(e){console.error(`event-inquiries-feed: failed to load more inquiries`,e),d(Y,!1)}finally{d(J,!1)}}}function Te(e){return e.pending_ai_draft_id||e.status===`new`?`var(--eif-accent-new, var(--eif-status-new-text, #f0b429))`:e.status===`contacted`?`var(--eif-accent-replied, var(--eif-status-replied-text, #22c55e))`:``}function Ee(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function De(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}catch{return e}}s(()=>{if(typeof window>`u`||!I()||!L())return;let t,n=!1;return(async()=>{if(R())try{let e=await R()({limit:B()});n||(d(W,e,!0),d(Y,e.length===B()))}catch(e){console.error(`event-inquiries-feed: failed to load existing inquiries`,e)}finally{n||d(q,!1)}else d(q,!1);try{let{default:r}=await ne(async()=>{let{default:t}=await import(`./chunks/ably-5cVT4knS.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]));if(n)return;t=new r.Realtime({authUrl:L()});let i=t.channels.get(I());t.connection.on(`connected`,()=>{n||d(K,`connected`)}),t.connection.on(`failed`,()=>{n||d(K,`error`)}),await i.subscribe(`new-inquiry`,e=>{n||Ce(e.data)}),await i.subscribe(`inquiry-updated`,e=>{if(n)return;let t=e.data;Q(t.id,t)}),await i.subscribe(`new-reply`,e=>{if(n)return;let t=e.data,r=t.message?.direction===`inbound`;d(W,c(W).map(e=>e.id===t.inquiry_id?{...e,status:t.message?.direction===`outbound`&&e.status===`new`?`contacted`:e.status,last_inbound_at:r?t.message?.created_at??new Date().toISOString():e.last_inbound_at,lastReplyAvatarUrl:t.message?.sent_by_avatar_url??null,lastReplyByName:t.message?.sent_by_name??null}:e),!0)}),await i.subscribe(`ai-draft-ready`,e=>{if(n)return;let t=e.data;t.draft?.status!==`pending`||!t.draft?.id||Q(t.inquiry_id,{pending_ai_draft_id:t.draft.id})}),await i.subscribe(`ai-draft-updated`,e=>{if(n)return;let t=e.data;if(t.draft?.id){if(t.draft.status===`pending`){Q(t.inquiry_id,{pending_ai_draft_id:t.draft.id});return}c(W).find(e=>e.id===t.inquiry_id)?.pending_ai_draft_id===t.draft.id&&Q(t.inquiry_id,{pending_ai_draft_id:null})}})}catch(e){console.error(`event-inquiries-feed: Ably connection failed`,e),n||d(K,`error`)}})(),()=>{n=!0,t?.close()}}),s(()=>{if(!c(q)||!c(X)||xe())return;let e=c(X).querySelectorAll(`.eif-skeleton-bar`),t=D.to(e,{opacity:.35,duration:.7,ease:`sine.inOut`,repeat:-1,yoyo:!0,stagger:.08});return()=>{t.kill()}});let Oe=new Set;s(()=>{if(c(W).length,c(q)||!c(Z))return;let e=Array.from(c(Z).querySelectorAll(`.eif-item`)).filter(e=>{let t=e.dataset.id;return t!==void 0&&!Oe.has(t)});if(e.length){for(let t of e)t.dataset.id&&Oe.add(t.dataset.id);if(xe()){D.set(e,{opacity:1,y:0});return}D.fromTo(e,{opacity:0,y:8},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:.06})}}),s(()=>{if(!V()||!c(G))return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&we()},{rootMargin:`200px`});return e.observe(c(G)),()=>e.disconnect()});var ke={get heading(){return F()},set heading(e){F(e),o()},get channelName(){return I()},set channelName(e){I(e),o()},get ablyAuthUrl(){return L()},set ablyAuthUrl(e){L(e),o()},get fetchInquiries(){return R()},set fetchInquiries(e){R(e),o()},get restaurants(){return z()},set restaurants(e){z(e),o()},get maxItems(){return B()},set maxItems(e=30){B(e),o()},get autoLoadMore(){return V()},set autoLoadMore(e=!0){V(e),o()},get emptyLabel(){return H()},set emptyLabel(e=`No inquiries yet.`){H(e),o()},get showEmail(){return U()},set showEmail(e=!0){U(e),o()}},$=N(),Ae=E($),je=e=>{var t=k(),n=E(t),r=f(E(n));_(n);var a=f(n,2);P(a),_(t),i(()=>w(r,` ${F()??``}`)),u(e,t)},Me=e=>{P(e)};l(Ae,e=>{F()?e(je):e(Me,-1)});var Ne=f(Ae,2),Pe=e=>{var t=A();T(t,20,()=>({length:3}),g,(e,t)=>{var n=ie();u(e,n)}),_(t),x(t,e=>d(X,e),()=>c(X)),u(e,t)},Fe=e=>{var t=j(),n=E(t,!0);_(t),i(()=>w(n,H())),u(e,t)},Ie=e=>{var n=ye(),r=t(n);T(r,21,()=>c(W),e=>e.id,(e,n)=>{let r=a(()=>Ee(c(n).event_date)),o=a(()=>Te(c(n)));var s=ge(),d=E(s),p=e=>{var r=ae(),i=f(t(r),2),a=E(i),o=e=>{var t=y(`Reply waiting for approval`);u(e,t)},s=e=>{var t=y(`New enquiry`);u(e,t)},d=e=>{var t=y(`Replied`);u(e,t)};l(a,e=>{c(n).pending_ai_draft_id?e(o):c(n).status===`new`?e(s,1):e(d,-1)}),_(i),u(e,r)};l(d,e=>{c(o)&&e(p)});var m=f(d,2),h=E(m),g=E(h),v=E(g,!0);_(g);var te=f(g,2),b=e=>{var t=oe(),r=E(t,!0);_(t),i(e=>w(r,e),[()=>c(Se).get(c(n).restaurant_id)]),u(e,t)},x=a(()=>c(n).restaurant_id&&c(Se).get(c(n).restaurant_id));l(te,e=>{c(x)&&e(b)}),_(h);var C=f(h,2),T=E(C),ne=e=>{var t=se();u(e,t)},D=e=>{var t=ce(),r=E(t,!0);_(t),i(()=>w(r,c(n).status)),u(e,t)};l(T,e=>{c(n).pending_ai_draft_id?e(ne):c(n).status!==`new`&&c(n).status!==`contacted`&&e(D,1)});var O=f(T,2),re=e=>{var t=le();i(()=>{S(t,`src`,c(n).lastReplyAvatarUrl),S(t,`alt`,c(n).lastReplyByName??`Replied`),S(t,`title`,c(n).lastReplyByName??void 0)}),u(e,t)};l(O,e=>{c(n).status===`contacted`&&c(n).lastReplyAvatarUrl&&e(re)});var k=f(O,2),ie=E(k);_(k),_(C),_(m);var A=f(m,2),j=E(A),_e=e=>{var t=ue(),r=E(t),a=E(r,!0);_(r);var o=f(r,2),s=E(o);_(o),_(t),i(()=>{w(a,c(n).guests),w(s,`guest${c(n).guests===1?``:`s`}`)}),u(e,t)};l(j,e=>{c(n).guests!=null&&e(_e)});var ve=f(j,2),ye=e=>{var t=fe(),a=E(t),o=e=>{var t=de(),n=f(E(t));_(t),i(()=>w(n,` ${c(r)??``}`)),u(e,t)};l(a,e=>{c(r)&&e(o)});var s=f(a,2),d=e=>{var t=M(),r=E(t,!0);_(t),i(()=>w(r,c(n).event_type)),u(e,t)};l(s,e=>{c(n).event_type&&e(d)});var p=f(s,2),m=e=>{var t=M(),r=E(t,!0);_(t),i(()=>w(r,c(n).format)),u(e,t)};l(p,e=>{c(n).format&&e(m)}),_(t),u(e,t)};l(ve,e=>{(c(r)||c(n).event_type||c(n).format)&&e(ye)}),_(A);var N=f(A,2),be=e=>{var t=me(),r=E(t),a=e=>{var t=pe(),r=E(t,!0);_(t),i(()=>{S(t,`href`,`mailto:${c(n).email}`),w(r,c(n).email)}),u(e,t)};l(r,e=>{U()&&e(a)});var o=f(r,2),s=e=>{var t=M(),r=E(t,!0);_(t),i(()=>w(r,c(n).phone)),u(e,t)};l(o,e=>{c(n).phone&&e(s)}),_(t),u(e,t)};l(N,e=>{(U()||c(n).phone)&&e(be)});var P=f(N,2),F=e=>{var t=he(),r=E(t,!0);_(t),i(()=>w(r,c(n).message)),u(e,t)};l(P,e=>{c(n).message&&e(F)}),_(s),i(e=>{S(s,`data-id`,c(n).id),ee(s,c(o)?`--eif-accent: ${c(o)}`:void 0),w(v,c(n).name),w(ie,`Received ${e??``}`)},[()=>De(c(n).last_inbound_at??c(n).created_at)]),u(e,s)}),_(r),x(r,e=>d(Z,e),()=>c(Z));var o=f(r,2),s=e=>{var t=_e();u(e,t)};l(o,e=>{c(J)&&e(s)});var p=f(o,2),m=e=>{var t=ve();x(t,e=>d(G,e),()=>c(G)),u(e,t)};l(p,e=>{V()&&c(Y)&&e(m)}),u(e,n)};return l(Ne,e=>{c(q)?e(Pe):c(W).length===0?e(Fe,1):e(Ie,-1)}),_($),u(n,$),m(ke)}customElements.define(`event-inquiries-feed`,C(P,{heading:{attribute:`heading`,type:`String`},channelName:{attribute:`channel-name`,type:`String`},ablyAuthUrl:{attribute:`ably-auth-url`,type:`String`},maxItems:{attribute:`max-items`,type:`Number`},autoLoadMore:{attribute:`auto-load-more`,type:`Boolean`},emptyLabel:{attribute:`empty-label`,type:`String`},showEmail:{attribute:`show-email`,type:`Boolean`},fetchInquiries:{},restaurants:{}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import{$ as e,A as t,D as n,H as r,I as i,J as a,K as o,L as s,N as c,S as l,T 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,m as y,n as b,s as x,t as S,w as C,y as w,z as T}from"./chunks/client-BDk8LqGN.js";var E=n(`<div class="extra-card-img svelte-1dhddob"><img loading="lazy" class="svelte-1dhddob"/></div>`),D=n(`<div role="button" tabindex="0"><!> <div class="extra-card-body svelte-1dhddob"><div class="extra-card-name svelte-1dhddob"> </div> <div class="extra-card-desc svelte-1dhddob"> </div></div> <div class="extra-card-footer svelte-1dhddob"><div class="extra-check svelte-1dhddob"><svg viewBox="0 0 12 12" fill="none" stroke="#f5f2ec" stroke-width="2" stroke-linecap="round" class="svelte-1dhddob"><polyline points="2,6 5,9 10,3" class="svelte-1dhddob"></polyline></svg></div> <div class="extra-card-price svelte-1dhddob"> <span class="svelte-1dhddob">/ item</span></div> <div class="qty-control svelte-1dhddob"><button class="qty-btn qty-dec svelte-1dhddob" aria-label="Decrease quantity"><span class="svelte-1dhddob">−</span></button> <div class="qty-num svelte-1dhddob"> </div> <button class="qty-btn qty-inc svelte-1dhddob" aria-label="Increase quantity"><span class="svelte-1dhddob">+</span></button></div></div></div>`),O=n(`<div><div class="category-label svelte-1dhddob" role="button" tabindex="0"><div class="category-check svelte-1dhddob"><div class="category-label-line svelte-1dhddob"></div> <svg class="category-check-icon svelte-1dhddob" viewBox="0 0 12 12" fill="none" stroke="#f5f2ec" stroke-width="2.2" stroke-linecap="round"><polyline points="2,6 5,9 10,3" class="svelte-1dhddob"></polyline></svg></div> <div class="category-label-text svelte-1dhddob"> <span class="category-count svelte-1dhddob"> </span></div> <svg class="category-chevron svelte-1dhddob" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9" class="svelte-1dhddob"></polyline></svg></div> <div class="category-body svelte-1dhddob"><div class="category-body-inner svelte-1dhddob"><div class="extras-grid svelte-1dhddob"></div></div></div></div>`),k=n(`<div class="ec-root svelte-1dhddob"></div>`),A={hash:`svelte-1dhddob`,code:`:host {display:block;}:host,
|
|
2
|
+
:host .svelte-1dhddob {box-sizing:border-box;}.ec-root.svelte-1dhddob {font-family:inherit;color:var(--ec-text-color, #05040f);}
|
|
3
|
+
|
|
4
|
+
/* Category label */.category-group.svelte-1dhddob {margin-bottom:48px;}.category-group.svelte-1dhddob:last-child {margin-bottom:0;}.category-body.svelte-1dhddob {display:grid;grid-template-rows:1fr;transition:grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1),
|
|
5
|
+
opacity 0.3s ease;opacity:1;}.category-body-inner.svelte-1dhddob {overflow:hidden;}.category-group.collapsed.svelte-1dhddob .category-body:where(.svelte-1dhddob) {grid-template-rows:0fr;opacity:0;}.category-label.svelte-1dhddob {display:flex;align-items:center;gap:14px;margin-bottom:24px;cursor:pointer;user-select:none;}.category-check.svelte-1dhddob {width:20px;height:20px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;}.category-label-line.svelte-1dhddob {width:20px;height:1px;background:var(--ec-border-hover-color, rgba(5, 4, 15, 0.2));transition:opacity 0.2s;}.category-check-icon.svelte-1dhddob {position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 0.2s;background:var(--ec-accent-bg, #05040f);stroke:var(--ec-accent-text, #f5f2ec);border-radius:50%;padding:4px;}.category-group.has-selection.svelte-1dhddob .category-label-line:where(.svelte-1dhddob) {opacity:0;}.category-group.has-selection.svelte-1dhddob .category-check-icon:where(.svelte-1dhddob) {opacity:1;}.category-label-text.svelte-1dhddob {font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ec-muted-text-strong, rgba(5, 4, 15, 0.85));}.category-count.svelte-1dhddob {color:var(--ec-muted-text, rgba(5, 4, 15, 0.6));font-weight:500;letter-spacing:0;text-transform:none;}.category-chevron.svelte-1dhddob {margin-left:auto;width:16px;height:16px;opacity:0.7;transition:transform 0.2s;}.category-group.collapsed.svelte-1dhddob .category-chevron:where(.svelte-1dhddob) {transform:rotate(-90deg);}
|
|
6
|
+
|
|
7
|
+
/* Extra cards grid */.extras-grid.svelte-1dhddob {display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px;}.extra-card.svelte-1dhddob {border:1.5px solid var(--ec-border-color, rgba(5, 4, 15, 0.08));background:var(--ec-card-bg, #fff);display:flex;flex-direction:column;cursor:pointer;transition:border-color 0.2s,
|
|
8
|
+
box-shadow 0.2s;position:relative;}.extra-card.svelte-1dhddob:hover {border-color:var(--ec-border-hover-color, rgba(5, 4, 15, 0.2));}.extra-card.selected.svelte-1dhddob {border-color:var(--ec-accent-bg, #05040f);}.extra-card-img.svelte-1dhddob {width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--ec-subtle-bg, rgba(5, 4, 15, 0.04));}.extra-card-img.svelte-1dhddob img:where(.svelte-1dhddob) {width:100%;height:100%;object-fit:cover;display:block;}.extra-card-body.svelte-1dhddob {padding:20px;flex:1;display:flex;flex-direction:column;gap:8px;}.extra-card-name.svelte-1dhddob {font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:18px;font-weight:800;letter-spacing:-0.3px;color:var(--ec-text-color, #05040f);line-height:1.1;}.extra-card-desc.svelte-1dhddob {font-size:13px;color:var(--ec-muted-text, rgba(5, 4, 15, 0.5));line-height:1.55;flex:1;}.extra-card-footer.svelte-1dhddob {display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--ec-border-color, rgba(5, 4, 15, 0.06));}.extra-card-price.svelte-1dhddob {font-size:16px;font-weight:600;color:var(--ec-text-color, #05040f);}.extra-card-price.svelte-1dhddob span:where(.svelte-1dhddob) {font-size:12px;font-weight:400;color:var(--ec-muted-text, rgba(5, 4, 15, 0.4));}
|
|
9
|
+
|
|
10
|
+
/* Quantity control */.qty-control.svelte-1dhddob {display:flex;align-items:center;gap:10px;}.qty-btn.svelte-1dhddob {width:32px;height:32px;border:1.5px solid var(--ec-border-color, rgba(5, 4, 15, 0.18));border-radius:50%;background:none;font-size:16px;font-weight:400;color:var(--ec-text-color, #05040f);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color 0.25s,
|
|
11
|
+
border-color 0.25s;font-family:inherit;flex-shrink:0;position:relative;overflow:hidden;}.qty-btn.svelte-1dhddob::before {content:'';position:absolute;inset:0;border-radius:50%;background:var(--ec-accent-hover-bg, #1a1a18);transform:scale(0);transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);z-index:0;}.qty-btn.svelte-1dhddob::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;}.qty-btn.svelte-1dhddob:hover::before {transform:scale(1);}.qty-btn.svelte-1dhddob:hover::after {left:130%;}.qty-btn.svelte-1dhddob:hover {color:var(--ec-accent-text, #f5f2ec);border-color:var(--ec-accent-hover-bg, #1a1a18);}.qty-btn.svelte-1dhddob span:where(.svelte-1dhddob) {position:relative;z-index:2;}.qty-num.svelte-1dhddob {width:20px;text-align:center;font-size:14px;font-weight:600;color:var(--ec-text-color, #05040f);user-select:none;transition:transform 0.15s ease;}.qty-num.svelte-1dhddob.pop {
|
|
12
|
+
animation: svelte-1dhddob-qty-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}
|
|
13
|
+
@keyframes svelte-1dhddob-qty-pop {
|
|
14
|
+
0% {
|
|
15
|
+
transform: scale(1);
|
|
16
|
+
}
|
|
17
|
+
40% {
|
|
18
|
+
transform: scale(1.5);
|
|
19
|
+
}
|
|
20
|
+
100% {
|
|
21
|
+
transform: scale(1);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Selected indicator */.extra-check.svelte-1dhddob {position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;flex-shrink:0;background:var(--ec-accent-bg, #05040f);display:none;align-items:center;justify-content:center;z-index:2;}.extra-card.selected.svelte-1dhddob .extra-check:where(.svelte-1dhddob) {display:flex;}.extra-check.svelte-1dhddob svg:where(.svelte-1dhddob) {width:12px;height:12px;stroke:var(--ec-accent-text, #f5f2ec);}`};function j(t,n){m(n,!0),_(t,A);let S=b(n,`extras`,23,()=>[]),j=b(n,`currency`,7,`USD`),M=b(n,`categories`,23,()=>[`Romance`,`Celebration`,`Wellness`,`Comfort`,`Transportation`]),N=b(n,`fallbackCategory`,7,`Comfort`),P=b(n,`initial`,23,()=>[]);function F(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let I=f(r(Object.fromEntries(P().filter(e=>e.quantity>0).map(e=>[String(e.id),e.quantity])))),L=f(r({})),R=a(()=>{let e=Object.fromEntries(M().map(e=>[e,[]]));e[N()]||(e[N()]=[]);for(let t of S())e[t.category&&e[t.category]?t.category:N()]?.push(t);return M().filter(t=>e[t]?.length).map(t=>({name:t,items:e[t]}))}),z=a(()=>S().filter(e=>(c(I)[e.id]??0)>0).map(e=>({id:e.id,name:e.name,price:e.price??0,quantity:c(I)[e.id],imageEmail:e.imageEmail??``}))),B=a(()=>c(z).reduce((e,t)=>e+t.price*t.quantity,0));s(()=>{F(`extras-change`,{items:c(z),total:c(B)})});function V(e){return e.filter(e=>(c(I)[e.id]??0)>0).length}function H(e,t){c(I)[e]=Math.max(0,Math.min(t,9))}function U(e){let t=c(I)[e]??0;H(e,t===0?1:t)}function W(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`})}function G(e,t){return{update(){e.classList.remove(`pop`),e.offsetWidth,e.classList.add(`pop`)}}}function K(e){return e.toLocaleString(`en-US`,{style:`currency`,currency:j(),minimumFractionDigits:0,currencyDisplay:`code`})}var q={get extras(){return S()},set extras(e=[]){S(e),o()},get currency(){return j()},set currency(e=`USD`){j(e),o()},get categories(){return M()},set categories(e=[`Romance`,`Celebration`,`Wellness`,`Comfort`,`Transportation`]){M(e),o()},get fallbackCategory(){return N()},set fallbackCategory(e=`Comfort`){N(e),o()},get initial(){return P()},set initial(e=[]){P(e),o()}},J=k();return w(J,21,()=>c(R),e=>e.name,(t,n)=>{var r=O();let a;var o=T(r),s=d(T(o),2),f=T(s),p=d(f),m=T(p,!0);h(p),h(s),e(2),h(o);var _=d(o,2),b=T(_),S=T(b);w(S,21,()=>c(n).items,e=>e.id,(t,n)=>{var r=D();let a;var o=T(r),s=e=>{var t=E(),r=T(t);h(t),i(()=>{x(r,`src`,c(n).image),x(r,`alt`,c(n).name)}),u(e,t)};l(o,e=>{c(n).image&&e(s)});var f=d(o,2),p=T(f),m=T(p,!0);h(p);var _=d(p,2),b=T(_,!0);h(_),h(f);var S=d(f,2),w=d(T(S),2),O=T(w);e(),h(w);var k=d(w,2),A=T(k),j=d(A,2),M=T(j,!0);h(j),y(j,(e,t)=>G?.(e,t),()=>c(I)[c(n).id]??0);var N=d(j,2);h(k),h(S),h(r),i(e=>{a=g(r,1,`extra-card svelte-1dhddob`,null,a,{selected:(c(I)[c(n).id]??0)>0}),C(m,c(n).name),C(b,c(n).description),C(O,`${e??``} `),C(M,c(I)[c(n).id]??0)},[()=>c(n).price===null?`—`:K(c(n).price)]),v(`click`,r,()=>U(c(n).id)),v(`keydown`,r,e=>e.key===`Enter`&&U(c(n).id)),v(`click`,A,e=>{e.stopPropagation(),W(e.currentTarget),H(c(n).id,(c(I)[c(n).id]??0)-1)}),v(`click`,N,e=>{e.stopPropagation(),W(e.currentTarget),H(c(n).id,(c(I)[c(n).id]??0)+1)}),u(t,r)}),h(S),h(b),h(_),h(r),i((e,t)=>{a=g(r,1,`category-group svelte-1dhddob`,null,a,e),C(f,`${c(n).name??``} `),C(m,t)},[()=>({collapsed:c(L)[c(n).name],"has-selection":V(c(n).items)>0}),()=>V(c(n).items)>0?` (${V(c(n).items)})`:``]),v(`click`,o,()=>c(L)[c(n).name]=!c(L)[c(n).name]),v(`keydown`,o,e=>e.key===`Enter`&&(c(L)[c(n).name]=!c(L)[c(n).name])),u(t,r)}),h(J),u(t,J),p(q)}t([`click`,`keydown`]),customElements.define(`extras-catalogue`,S(j,{extras:{attribute:`extras`,type:`Object`},currency:{attribute:`currency`,type:`String`},categories:{attribute:`categories`,type:`Object`},fallbackCategory:{attribute:`fallback-category`,type:`String`},initial:{attribute:`initial`,type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,E as r,I as i,J as a,K as o,M as s,N as c,O as l,S as u,T as d,U as f,V as p,W as m,X as h,Z as g,d as _,et as v,f as y,h as b,j as x,n as S,s as C,t as w,w as T,y as E,z as D}from"./chunks/client-BDk8LqGN.js";var O=l(`<image preserveAspectRatio="xMidYMid meet" opacity="0.3"></image>`),k=l(`<text text-anchor="middle" font-family="Inter,sans-serif"> </text>`),A=l(`<g class="fph-room"><rect stroke-width="1.5" rx="4"></rect><text text-anchor="middle" font-weight="700" font-family="Inter,sans-serif"> </text><!></g>`),j=l(`<image pointer-events="none"></image>`),M=l(`<svg class="fph-svg svelte-mxvaak" xmlns="http://www.w3.org/2000/svg"><!><!><!></svg>`),N=n(`<div class="fph-bare svelte-mxvaak"><!></div>`),P=n(`<div><div class="fph-head svelte-mxvaak"><span class="fph-label svelte-mxvaak"> </span> <button type="button" class="fph-close svelte-mxvaak"> </button></div> <div class="fph-box svelte-mxvaak"><!></div></div>`),F={hash:`svelte-mxvaak`,code:`:host {display:block;pointer-events:none;}.fph-bare.svelte-mxvaak {pointer-events:auto;}.fph-root.svelte-mxvaak {transform:translateY(24px);opacity:0;pointer-events:none;transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
|
|
2
|
+
opacity 0.45s ease;}.fph-open.svelte-mxvaak {transform:translateY(0);opacity:1;pointer-events:auto;}.fph-head.svelte-mxvaak {margin-bottom:0.5rem;display:flex;align-items:center;justify-content:space-between;padding:0 0.25rem;font-family:'Inter', sans-serif;}.fph-label.svelte-mxvaak {font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(240, 238, 255, 0.4);}.fph-close.svelte-mxvaak {cursor:pointer;border:none;background:transparent;padding:0;font-family:'Inter', sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(240, 238, 255, 0.35);transition:color 150ms;}.fph-close.svelte-mxvaak:hover {color:rgba(240, 238, 255, 0.7);}.fph-box.svelte-mxvaak {overflow:hidden;border:1px solid rgba(255, 255, 255, 0.12);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.fph-svg.svelte-mxvaak {display:block;width:100%;}`};function I(e,n){g(n,!0),b(e,F);let l=e=>{var t=M(),n=D(t),r=e=>{var t=O();C(t,`x`,0),C(t,`y`,0),i(()=>{C(t,`href`,I()),C(t,`width`,c(W)),C(t,`height`,c(G))}),d(e,t)};u(n,e=>{I()&&e(r)});var a=p(n);E(a,17,()=>w().rooms??[],e=>e.id,(e,t)=>{var n=A(),r=D(n);C(r,`x`,0),C(r,`y`,0);var a=p(r),o=D(a,!0);v(a);var l=p(a),f=e=>{var n=k(),r=D(n);v(n),i(()=>{C(n,`x`,c(t).w/2),C(n,`y`,c(t).h/2+10),C(n,`fill`,c(U).sqmFill),C(n,`font-size`,c(U).sqmSize),T(r,`${c(t).sqm??``}m²`)}),d(e,n)};u(l,e=>{c(t).sqm&&e(f)}),v(n),i(()=>{C(n,`transform`,`translate(${c(t).x},${c(t).y})`),C(r,`width`,c(t).w),C(r,`height`,c(t).h),C(r,`fill`,c(U).zoneFill),C(r,`stroke`,c(U).zoneStroke),C(a,`x`,c(t).w/2),C(a,`y`,c(t).h/2-(c(t).sqm?7:0)),C(a,`fill`,c(U).labelFill),C(a,`font-size`,c(U).labelSize),T(o,c(t).label)}),s(`mouseenter`,n,()=>K(`zone-hover`,{img:c(t).imgUrl??``,label:c(t).label,type:c(t).type})),s(`mouseleave`,n,()=>K(`zone-leave`,{label:c(t).label,type:c(t).type})),d(e,n)});var o=p(a);E(o,17,()=>w().items??[],e=>e.id,(e,t)=>{var n=j();i(e=>{C(n,`href`,e),C(n,`x`,c(t).x),C(n,`y`,c(t).y),C(n,`width`,c(t).w),C(n,`height`,c(t).h),C(n,`opacity`,c(U).itemOpacity),_(n,c(U).itemFilter===`none`?void 0:`filter:${c(U).itemFilter}`)},[()=>X(c(t).asset)]),d(e,n)}),v(t),i(()=>{C(t,`viewBox`,`0 0 ${c(W)} ${c(G)}`),_(t,`background:${c(U).svgBg}`)}),d(e,t)},w=S(n,`plan`,23,()=>({})),I=S(n,`bgUrl`,7,``),L=S(n,`assetBase`,7,`/SVG/`),R=S(n,`label`,7,`Floor plan`),z=S(n,`closeLabel`,7,`Close ×`),B=S(n,`theme`,7,`dark`),V=S(n,`bare`,7,!1),H=m(!1),U=a(()=>B()===`light`?{svgBg:`#f0ede6`,zoneFill:`rgba(26,20,10,0.06)`,zoneStroke:`rgba(26,20,10,0.18)`,labelFill:`rgba(26,20,10,0.5)`,labelSize:12,sqmFill:`rgba(26,20,10,0.35)`,sqmSize:10,itemOpacity:.75,itemFilter:`sepia(0.6) brightness(0.7)`}:{svgBg:`rgba(5,4,15,0.6)`,zoneFill:`rgba(240,238,255,0.07)`,zoneStroke:`rgba(240,238,255,0.3)`,labelFill:`rgba(240,238,255,0.7)`,labelSize:11,sqmFill:`rgba(240,238,255,0.4)`,sqmSize:9,itemOpacity:.35,itemFilter:`none`}),W=a(()=>w().w??760),G=a(()=>w().h??480);function K(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function q(){f(H,!0)}function J(){f(H,!1)}function Y(){f(H,!c(H))}let X=e=>`${L()}Asset ${e.replace(`asset`,``)}.svg`;var Z={open:q,close:J,toggle:Y,get plan(){return w()},set plan(e={}){w(e),o()},get bgUrl(){return I()},set bgUrl(e=``){I(e),o()},get assetBase(){return L()},set assetBase(e=`/SVG/`){L(e),o()},get label(){return R()},set label(e=`Floor plan`){R(e),o()},get closeLabel(){return z()},set closeLabel(e=`Close ×`){z(e),o()},get theme(){return B()},set theme(e=`dark`){B(e),o()},get bare(){return V()},set bare(e=!1){V(e),o()}},Q=r(),$=t(Q),ee=e=>{var t=N(),n=D(t);l(n),v(t),d(e,t)},te=e=>{var t=P();let n;var r=D(t),a=D(r),o=D(a,!0);v(a);var s=p(a,2),u=D(s,!0);v(s),v(r);var m=p(r,2),h=D(m);l(h),v(m),v(t),i(()=>{n=y(t,1,`fph-root svelte-mxvaak`,null,n,{"fph-open":c(H)}),T(o,R()),T(u,z())}),x(`click`,s,()=>{f(H,!1),K(`panel-close`,{})}),d(e,t)};return u($,e=>{V()?e(ee):e(te,-1)}),d(e,Q),h(Z)}e([`click`]),customElements.define(`floor-plan-hero`,w(I,{plan:{attribute:`plan`,type:`Object`},bgUrl:{attribute:`bg-url`,type:`String`},assetBase:{attribute:`asset-base`,type:`String`},label:{attribute:`label`,type:`String`},closeLabel:{attribute:`close-label`,type:`String`},theme:{attribute:`theme`,type:`String`},bare:{attribute:`bare`,type:`Boolean`}},[],[`open`,`close`,`toggle`],{mode:`open`}));
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,E as r,I as i,J as a,K as o,L as s,M 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,b as _,et as v,f as y,h as b,j as x,k as S,n as C,p as ee,r as w,s as T,t as E,w as D,y as O,z as k}from"./chunks/client-BDk8LqGN.js";import{t as A}from"./chunks/gsap-DWxn8li7.js";var j=n(`<p class="status svelte-9idkhv"> </p>`),te=n(`<span class="score-number svelte-9idkhv"> </span> <span class="score-stars svelte-9idkhv" role="img"> </span>`,1),ne=n(`<a target="_blank" rel="noopener noreferrer" class="svelte-9idkhv"> </a>`),re=n(`<a target="_blank" rel="noopener noreferrer"> </a>`),ie=n(`<img class="card-photo svelte-9idkhv" alt="" loading="lazy"/>`),ae=n(`<div class="card-photos svelte-9idkhv"></div>`),oe=n(`<img class="card-avatar svelte-9idkhv" alt="" loading="lazy"/>`),se=n(`<span class="card-time svelte-9idkhv"> </span>`),ce=n(`<li class="card svelte-9idkhv"><div class="card-stars svelte-9idkhv" role="img"> </div> <blockquote> </blockquote> <!> <footer class="card-foot svelte-9idkhv"><span class="card-author svelte-9idkhv"><!> </span> <!></footer></li>`),le=n(`<ul></ul>`),ue=n(`<a class="see-all svelte-9idkhv" target="_blank" rel="noopener noreferrer"> </a>`),de=n(`<span class="svelte-9idkhv"></span>`),fe=n(`<div class="slider-nav svelte-9idkhv"><button class="nav-btn svelte-9idkhv" type="button" aria-label="Previous reviews"><span class="nav-btn-glyph svelte-9idkhv">‹</span></button> <button class="nav-btn svelte-9idkhv" type="button" aria-label="Next reviews"><span class="nav-btn-glyph svelte-9idkhv">›</span></button></div>`),pe=n(`<div class="foot svelte-9idkhv"><!> <!></div>`),me=n(`<div class="header svelte-9idkhv"><div class="score svelte-9idkhv"><!> <span class="score-count svelte-9idkhv"><svg class="g-mark svelte-9idkhv" viewBox="0 0 186.69 190.5" aria-hidden="true"><g transform="translate(1184.583 765.171)" class="svelte-9idkhv"><path d="M-1089.333-687.239v36.888h51.262c-2.251 11.863-9.006 21.908-19.137 28.662l30.913 23.986c18.011-16.625 28.402-41.044 28.402-70.052 0-6.754-.606-13.249-1.732-19.483z" fill="#4285f4" class="svelte-9idkhv"></path><path d="M-1142.714-651.791l-6.972 5.337-24.679 19.223c15.673 31.086 47.796 52.561 85.03 52.561 25.717 0 47.278-8.486 63.038-23.033l-30.913-23.986c-8.486 5.715-19.31 9.179-32.125 9.179-24.765 0-45.806-16.712-53.34-39.226z" fill="#34a853" class="svelte-9idkhv"></path><path d="M-1174.365-712.61c-6.494 12.815-10.217 27.276-10.217 42.689s3.723 29.874 10.217 42.689c0 .086 31.693-24.592 31.693-24.592-1.905-5.715-3.031-11.776-3.031-18.098s1.126-12.383 3.031-18.098z" fill="#fbbc05" class="svelte-9idkhv"></path><path d="M-1089.333-727.244c14.028 0 26.497 4.849 36.455 14.201l27.276-27.276c-16.539-15.413-38.013-24.852-63.731-24.852-37.234 0-69.359 21.388-85.032 52.561l31.692 24.592c7.533-22.514 28.575-39.226 53.34-39.226z" fill="#ea4335" class="svelte-9idkhv"></path></g></svg> <!></span></div> <!></div> <!> <!>`,1),M={hash:`svelte-9idkhv`,code:`:host {display:block;font-family:var(--gr-font-family, inherit);color:var(--gr-color, inherit);}:host,
|
|
2
|
+
:host .svelte-9idkhv {box-sizing:border-box;}.status.svelte-9idkhv {margin:0;font-size:var(--gr-status-font-size, 14px);color:var(--gr-muted, rgba(5, 4, 15, 0.55));}.header.svelte-9idkhv {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--gr-header-gap, 28px);}.score.svelte-9idkhv {display:flex;align-items:baseline;gap:12px;}.score-number.svelte-9idkhv {font-family:var(--gr-heading-font-family, var(--gr-font-family, inherit));font-size:var(--gr-score-font-size, 44px);font-weight:var(--gr-score-font-weight, 800);line-height:1;color:var(--gr-accent, #050508);}.score-stars.svelte-9idkhv {font-size:var(--gr-star-size, 18px);letter-spacing:2px;color:var(--gr-star-color, var(--gr-accent, #f5b301));}.score-count.svelte-9idkhv,
|
|
3
|
+
.score-count.svelte-9idkhv a:where(.svelte-9idkhv) {font-size:14px;color:var(--gr-muted, rgba(5, 4, 15, 0.55));}.score-count.svelte-9idkhv {display:inline-flex;align-items:center;gap:7px;}
|
|
4
|
+
|
|
5
|
+
/* The Google G, full-colour -- it is the attribution, not themeable ink. */.g-mark.svelte-9idkhv {width:var(--gr-g-mark-size, 16px);height:auto;flex-shrink:0;}.score-count.svelte-9idkhv a:where(.svelte-9idkhv) {text-decoration:underline;text-underline-offset:2px;}.cta.svelte-9idkhv {position:relative;display:inline-flex;align-items:center;height:var(--gr-cta-height, 44px);padding:0 22px;border-radius:var(--gr-cta-radius, 8px);background:var(--gr-cta-bg, var(--gr-accent, #050508));color:var(--gr-cta-color, #fff);font-size:13px;font-weight:600;letter-spacing:0.5px;text-decoration:none;overflow:hidden;}.cta.svelte-9idkhv:hover {opacity:0.88;}
|
|
6
|
+
|
|
7
|
+
/* Opt-in (ctaShimmer prop): a soft light band sweeps across the CTA on
|
|
8
|
+
hover and eases back out on leave, instead of the plain opacity dip
|
|
9
|
+
above. A transition on \`left\` (not a keyframe loop) so leaving
|
|
10
|
+
mid-sweep reverses smoothly from wherever it stopped. */.cta--shimmer.svelte-9idkhv:hover {opacity:1;}.cta--shimmer.svelte-9idkhv::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.4s ease-in-out;}.cta--shimmer.svelte-9idkhv:hover::after {left:125%;}
|
|
11
|
+
|
|
12
|
+
@media (prefers-reduced-motion: reduce) {.cta--shimmer.svelte-9idkhv::after {transition:none;display:none;}
|
|
13
|
+
}.cards.svelte-9idkhv {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--gr-card-min-width, 260px), 1fr));gap:var(--gr-card-gap, 16px);}.card.svelte-9idkhv {display:flex;flex-direction:column;gap:12px;padding:var(--gr-card-padding, 22px);background:var(--gr-card-bg, rgba(5, 4, 15, 0.03));border:1px solid var(--gr-card-border, rgba(5, 4, 15, 0.08));border-radius:var(--gr-card-radius, 12px);}
|
|
14
|
+
|
|
15
|
+
/* Slider variant: the same cards on a scroll-snap track. */.cards.track.svelte-9idkhv {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}.cards.track.svelte-9idkhv::-webkit-scrollbar {display:none;}
|
|
16
|
+
|
|
17
|
+
/* Whole cards only: each slide is an exact fraction of the track, so the
|
|
18
|
+
* container edge never clips a card. --gr-visible-cards sets how many. */.cards.track.svelte-9idkhv .card:where(.svelte-9idkhv) {flex:0 0
|
|
19
|
+
calc(
|
|
20
|
+
(100% - (var(--gr-visible-cards, 3) - 1) * var(--gr-card-gap, 16px)) /
|
|
21
|
+
var(--gr-visible-cards, 3)
|
|
22
|
+
);scroll-snap-align:start;}
|
|
23
|
+
|
|
24
|
+
/* Footer row: "see all" left, slider arrows right. */.foot.svelte-9idkhv {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:var(--gr-header-gap, 28px);}.slider-nav.svelte-9idkhv {display:flex;gap:10px;}.nav-btn.svelte-9idkhv {position:relative;width:var(--gr-nav-size, 38px);height:var(--gr-nav-size, 38px);border-radius:50%;border:1px solid var(--gr-card-border, rgba(5, 4, 15, 0.15));background:transparent;color:var(--gr-accent, inherit);font-size:20px;line-height:1;cursor:pointer;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;transition:color 0.3s ease, border-color 0.3s ease;}.nav-btn.svelte-9idkhv::before {content:'';position:absolute;inset:0;border-radius:50%;background:var(--gr-nav-hover-bg, var(--gr-cta-bg, var(--gr-accent, #1a1a18)));transform:scale(0);transition:transform 0.3s ease;}.nav-btn.svelte-9idkhv:hover:not(:disabled)::before {transform:scale(1);}.nav-btn.svelte-9idkhv:hover:not(:disabled) {color:var(--gr-nav-hover-text, var(--gr-cta-color, #fff));border-color:var(--gr-nav-hover-bg, var(--gr-cta-bg, var(--gr-accent, #1a1a18)));}.nav-btn-glyph.svelte-9idkhv {position:relative;z-index:1;}.nav-btn.svelte-9idkhv:disabled {opacity:0.35;cursor:default;}.card-stars.svelte-9idkhv {font-size:var(--gr-star-size, 13px);letter-spacing:2px;color:var(--gr-star-color, var(--gr-accent, #f5b301));}.card-text.svelte-9idkhv {margin:0;font-size:var(--gr-review-font-size, 14px);line-height:1.65;font-style:var(--gr-review-font-style, italic);display:-webkit-box;-webkit-line-clamp:var(--gr-review-clamp, 6);-webkit-box-orient:vertical;overflow:hidden;}
|
|
25
|
+
|
|
26
|
+
/* Less room to quote when photos are already claiming card space. */.card-text--with-photos.svelte-9idkhv {-webkit-line-clamp:var(--gr-review-clamp-with-photos, 3);}
|
|
27
|
+
|
|
28
|
+
/* Grid of 4 fixed columns rather than flex, so each photo is always
|
|
29
|
+
* "however wide a quarter of the card is" -- 1 photo doesn't blow up to
|
|
30
|
+
* fill the row, and a 5th+ photo (capped at 4 above) never has a column
|
|
31
|
+
* to land in. */.card-photos.svelte-9idkhv {display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;}.card-photo.svelte-9idkhv {width:100%;aspect-ratio:1;border-radius:var(--gr-review-photo-radius, 8px);object-fit:cover;}.card-foot.svelte-9idkhv {margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;}.card-author.svelte-9idkhv {display:inline-flex;align-items:center;gap:8px;font-weight:600;}.card-avatar.svelte-9idkhv {width:24px;height:24px;border-radius:50%;object-fit:cover;}.card-time.svelte-9idkhv {color:var(--gr-muted, rgba(5, 4, 15, 0.55));}.see-all.svelte-9idkhv {display:inline-block;font-size:13px;color:var(--gr-accent, inherit);text-decoration:underline;text-underline-offset:3px;}`};function N(e,n){g(n,!0),b(e,M);let E=C(n,`variant`,7,`grid`),N=C(n,`autoAdvance`,7,0),P=C(n,`maxReviews`,7,5),F=C(n,`ctaShimmer`,7,!1),I=C(n,`strings`,23,()=>({})),L=C(n,`fetchReviews`,7,void 0),R=m(null),z=m(!0),B=m(!1),V=m(!1);function H(){if(l(R)){if(l(V)){f(z,!1),f(B,!1);let e=l(R).scrollWidth/2;l(R).scrollLeft>=e&&(l(R).scrollLeft-=e);return}f(z,l(R).scrollLeft<=4),f(B,l(R).scrollLeft+l(R).clientWidth>=l(R).scrollWidth-4)}}function U(e){if(!l(R))return;let t=(l(R).querySelector(`.card`)?.offsetWidth??300)+16;if(l(V)){let n=l(R).scrollWidth/2;e===1&&l(R).scrollLeft>=n-t/2&&(l(R).scrollLeft-=n),e===-1&&l(R).scrollLeft<=t/2&&(l(R).scrollLeft+=n)}l(R).scrollBy({left:e*t,behavior:`smooth`})}let W=m(void 0),G=m(void 0);function K(e){e&&A.fromTo(e,{scale:.82},{scale:1,duration:.4,ease:`elastic.out(1, 0.5)`})}function he(){K(l(W)),U(-1)}function ge(){K(l(G)),U(1)}s(()=>{l(Z),l(R),requestAnimationFrame(()=>{l(R)&&!l(V)&&l(R).scrollWidth>l(R).clientWidth+8&&f(V,!0),H()})});let q=m(!1);s(()=>{if(E()!==`slider`||!N()||N()<=0||l(X)!==`ready`||matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let e=setInterval(()=>{l(q)||document.visibilityState===`hidden`||!l(R)||(!l(V)&&l(B)?l(R).scrollTo({left:0,behavior:`smooth`}):U(1))},N()*1e3);return()=>clearInterval(e)});let J=a(()=>({reviewsLabel:`Google reviews`,ctaLabel:`Review us on Google`,seeAllLabel:`See all reviews`,loadingLabel:`Loading reviews…`,errorLabel:`Reviews are unavailable right now.`,...I()})),Y=m(null),X=m(`idle`);function _e(e,t){n.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}s(()=>{let e=L();!e||l(X)===`ready`||l(X)===`loading`||(f(X,`loading`),e().then(e=>{f(Y,e,!0),f(X,`ready`),_e(`loaded`,{rating:e.rating,count:e.count})}).catch(()=>{f(X,`error`)}))});let Z=a(()=>(l(Y)?.reviews??[]).filter(e=>e.text?.trim()).slice(0,P()));function Q(e){return`★`.repeat(Math.round(e))}let ve=a(()=>E()===`slider`&&l(V)?[...l(Z),...l(Z)]:l(Z));var ye={get variant(){return E()},set variant(e=`grid`){E(e),o()},get autoAdvance(){return N()},set autoAdvance(e=0){N(e),o()},get maxReviews(){return P()},set maxReviews(e=5){P(e),o()},get ctaShimmer(){return F()},set ctaShimmer(e=!1){F(e),o()},get strings(){return I()},set strings(e={}){I(e),o()},get fetchReviews(){return L()},set fetchReviews(e=void 0){L(e),o()}},$=r(),be=t($),xe=e=>{var t=j(),n=k(t,!0);v(t),i(()=>D(n,l(J).loadingLabel)),d(e,t)},Se=e=>{var t=j(),n=k(t,!0);v(t),i(()=>D(n,l(J).errorLabel)),d(e,t)},Ce=e=>{var n=me(),r=t(n),a=k(r),o=k(a),s=e=>{var n=te(),r=t(n),a=k(r,!0);v(r);var o=p(r,2),s=k(o,!0);v(o),i((e,t,n)=>{D(a,e),T(o,`aria-label`,t),D(s,n)},[()=>l(Y).rating.toFixed(1),()=>`${l(Y).rating.toFixed(1)} out of 5`,()=>Q(l(Y).rating)]),d(e,n)};u(o,e=>{l(Y).rating!=null&&e(s)});var m=p(o,2),h=p(k(m),2),g=e=>{var t=ne(),n=k(t);v(t),i(()=>{T(t,`href`,l(Y).maps_url),D(n,`${l(Y).count??``} ${l(J).reviewsLabel??``}`)}),d(e,t)},b=e=>{var t=S();i(()=>D(t,`${l(Y).count??``} ${l(J).reviewsLabel??``}`)),d(e,t)};u(h,e=>{l(Y).maps_url?e(g):e(b,-1)}),v(m),v(a);var C=p(a,2),A=e=>{var t=re();let n;var r=k(t,!0);v(t),i(()=>{n=y(t,1,`cta svelte-9idkhv`,null,n,{"cta--shimmer":F()}),T(t,`href`,l(Y).write_review_url),D(r,l(J).ctaLabel)}),d(e,t)};u(C,e=>{l(Y).write_review_url&&e(A)}),v(r);var j=p(r,2),M=e=>{var t=le();O(t,21,()=>l(ve),_,(e,t)=>{var n=ce(),r=k(n),a=k(r,!0);v(r);var o=p(r,2);let s;var c=k(o,!0);v(o);var f=p(o,2),m=e=>{var n=ae();O(n,20,()=>l(t).photos.slice(0,4),e=>e,(e,t)=>{var n=ie();i(()=>T(n,`src`,t)),d(e,n)}),v(n),d(e,n)};u(f,e=>{l(t).photos?.length&&e(m)});var h=p(f,2),g=k(h),_=k(g),b=e=>{var n=oe();i(()=>T(n,`src`,l(t).author_photo)),d(e,n)};u(_,e=>{l(t).author_photo&&e(b)});var x=p(_);v(g);var S=p(g,2),C=e=>{var n=se(),r=k(n,!0);v(n),i(()=>D(r,l(t).relative_time)),d(e,n)};u(S,e=>{l(t).relative_time&&e(C)}),v(h),v(n),i(e=>{T(r,`aria-label`,`${l(t).rating} stars`),D(a,e),s=y(o,1,`card-text svelte-9idkhv`,null,s,{"card-text--with-photos":!!l(t).photos?.length}),D(c,l(t).text),D(x,` ${l(t).author??``}`)},[()=>Q(l(t).rating)]),d(e,n)}),v(t),w(t,e=>f(R,e),()=>l(R)),i(()=>y(t,1,ee(E()===`slider`?`cards track`:`cards`),`svelte-9idkhv`)),c(`scroll`,t,H),c(`mouseenter`,t,()=>f(q,!0)),c(`mouseleave`,t,()=>f(q,!1)),x(`focusin`,t,()=>f(q,!0)),x(`focusout`,t,()=>f(q,!1)),d(e,t)};u(j,e=>{l(Z).length&&e(M)});var N=p(j,2),P=e=>{var t=pe(),n=k(t),r=e=>{var t=ue(),n=k(t,!0);v(t),i(()=>{T(t,`href`,l(Y).maps_url),D(n,l(J).seeAllLabel)}),d(e,t)},a=e=>{var t=de();d(e,t)};u(n,e=>{l(Y).maps_url?e(r):e(a,-1)});var o=p(n,2),s=e=>{var t=fe(),n=k(t);w(n,e=>f(W,e),()=>l(W));var r=p(n,2);w(r,e=>f(G,e),()=>l(G)),v(t),i(()=>{n.disabled=l(z),r.disabled=l(B)}),x(`click`,n,he),x(`click`,r,ge),d(e,t)};u(o,e=>{l(Z).length&&E()===`slider`&&e(s)}),v(t),d(e,t)};u(N,e=>{(l(Y).maps_url||l(Z).length&&E()===`slider`)&&e(P)}),d(e,n)};return u(be,e=>{l(X)===`loading`||l(X)===`idle`?e(xe):l(X)===`error`?e(Se,1):l(Y)&&e(Ce,2)}),d(e,$),h(ye)}e([`focusin`,`focusout`,`click`]),customElements.define(`google-reviews`,E(N,{variant:{attribute:`variant`,type:`String`},autoAdvance:{attribute:`auto-advance`,type:`Number`},maxReviews:{attribute:`max-reviews`,type:`Number`},ctaShimmer:{attribute:`cta-shimmer`,type:`Boolean`},strings:{type:`Object`},fetchReviews:{type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,I as r,J as i,K as a,L as o,M as s,N as c,S as l,T as u,U as d,V as f,W as p,X as ee,Z as m,b as h,et as g,f as _,h as v,j as y,n as b,p as te,r as x,s as S,t as C,w,y as T,z as E}from"./chunks/client-BDk8LqGN.js";import{t as D}from"./chunks/gsap-DWxn8li7.js";var O=n(`<div class="stat svelte-merfar"><span class="stat-number svelte-merfar"> </span> <span class="stat-label svelte-merfar"> </span></div>`),k=n(`<a class="cta svelte-merfar" target="_blank" rel="noopener noreferrer"> </a>`),A=n(`<div class="header svelte-merfar"><!> <!></div>`),j=n(`<p class="status svelte-merfar"> </p>`),ne=n(`<span class="svelte-merfar"><svg class="stat-icon svelte-merfar" viewBox="0 -960 960 960" aria-hidden="true"><path d="m480-120-58-52q-101-91-167-157T150-447.5Q111-500 95.5-544T80-634q0-94 63-157t157-63q52 0 99 22t81 62q34-40 81-62t99-22q94 0 157 63t63 157q0 46-15.5 90T810-447.5Q771-395 705-329T538-172l-58 52Z" class="svelte-merfar"></path></svg> </span>`),re=n(`<span class="svelte-merfar"><svg class="stat-icon svelte-merfar" viewBox="0 -960 960 960" aria-hidden="true"><path d="M80-80v-720q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240L80-80Z" class="svelte-merfar"></path></svg> </span>`),ie=n(`<div class="overlay svelte-merfar"><!> <!></div>`),ae=n(`<li class="tile svelte-merfar"><a target="_blank" rel="noopener noreferrer" class="svelte-merfar"><img loading="lazy" class="svelte-merfar"/> <!></a></li>`),oe=n(`<div class="foot svelte-merfar"><div class="slider-nav svelte-merfar"><button class="nav-btn svelte-merfar" type="button" aria-label="Previous posts"><span class="nav-btn-glyph svelte-merfar">‹</span></button> <button class="nav-btn svelte-merfar" type="button" aria-label="Next posts"><span class="nav-btn-glyph svelte-merfar">›</span></button></div></div>`),se=n(`<ul></ul> <!>`,1),ce=n(`<!> <!>`,1),le={hash:`svelte-merfar`,code:`:host {display:block;font-family:var(--if-font-family, inherit);color:var(--if-color, inherit);}:host,
|
|
2
|
+
:host .svelte-merfar {box-sizing:border-box;}.status.svelte-merfar {margin:0;font-size:var(--if-status-font-size, 14px);color:var(--if-muted, rgba(5, 4, 15, 0.55));}.header.svelte-merfar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--if-header-gap, 28px);}.stat.svelte-merfar {display:flex;align-items:baseline;gap:10px;}.stat-number.svelte-merfar {font-family:var(--if-heading-font-family, var(--if-font-family, inherit));font-size:var(--if-stat-font-size, 40px);font-weight:var(--if-stat-font-weight, 800);line-height:1;color:var(--if-accent, #050508);}.stat-label.svelte-merfar {font-size:13px;color:var(--if-muted, rgba(5, 4, 15, 0.55));}.cta.svelte-merfar {font-size:12px;font-weight:600;letter-spacing:0.3px;color:var(--if-accent, inherit);text-decoration:underline;text-underline-offset:3px;}.cta.svelte-merfar:hover {opacity:0.8;}.tiles.svelte-merfar {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--if-tile-min-width, 200px), 1fr));gap:var(--if-tile-gap, 20px);}.tile.svelte-merfar {position:relative;border-radius:var(--if-tile-radius, 12px);overflow:hidden;}.tile.svelte-merfar a:where(.svelte-merfar) {display:block;position:relative;}.tile.svelte-merfar img:where(.svelte-merfar) {width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform 0.35s ease;}.tile.svelte-merfar:hover img:where(.svelte-merfar) {transform:scale(1.05);}.overlay.svelte-merfar {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--if-overlay-bg, rgba(20, 15, 5, 0.45));color:var(--if-overlay-color, #fff);font-size:14px;font-weight:600;opacity:0;transition:opacity 0.25s ease;}.tile.svelte-merfar:hover .overlay:where(.svelte-merfar) {opacity:1;}.overlay.svelte-merfar span:where(.svelte-merfar) {display:inline-flex;align-items:center;gap:6px;}
|
|
3
|
+
|
|
4
|
+
/* Drawn icons rather than ♥/💬: an emoji takes its own colours, not the
|
|
5
|
+
* overlay's, and 💬 fell back to a blank white box on Windows Chrome --
|
|
6
|
+
* a white blob beside the count. These follow currentColor like the
|
|
7
|
+
* text they sit with. */.stat-icon.svelte-merfar {flex:none;width:15px;height:15px;fill:currentColor;}
|
|
8
|
+
|
|
9
|
+
/* Slider variant: the same tiles on a scroll-snap track. */.tiles.track.svelte-merfar {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}.tiles.track.svelte-merfar::-webkit-scrollbar {display:none;}
|
|
10
|
+
|
|
11
|
+
/* Whole tiles only: each slide is an exact fraction of the track, so the
|
|
12
|
+
* container edge never clips one. --if-visible-tiles sets how many. */.tiles.track.svelte-merfar .tile:where(.svelte-merfar) {flex:0 0
|
|
13
|
+
calc(
|
|
14
|
+
(100% - (var(--if-visible-tiles, 4) - 1) * var(--if-tile-gap, 20px)) /
|
|
15
|
+
var(--if-visible-tiles, 4)
|
|
16
|
+
);scroll-snap-align:start;}.foot.svelte-merfar {display:flex;justify-content:flex-end;margin-top:var(--if-header-gap, 28px);}.slider-nav.svelte-merfar {display:flex;gap:10px;}.nav-btn.svelte-merfar {position:relative;width:var(--if-nav-size, 38px);height:var(--if-nav-size, 38px);border-radius:50%;border:1px solid var(--if-card-border, rgba(5, 4, 15, 0.15));background:transparent;color:var(--if-accent, inherit);font-size:20px;line-height:1;cursor:pointer;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;transition:color 0.3s ease, border-color 0.3s ease;}.nav-btn.svelte-merfar::before {content:'';position:absolute;inset:0;border-radius:50%;background:var(--if-nav-hover-bg, var(--if-accent, #1a1a18));transform:scale(0);transition:transform 0.3s ease;}.nav-btn.svelte-merfar:hover:not(:disabled)::before {transform:scale(1);}.nav-btn.svelte-merfar:hover:not(:disabled) {color:var(--if-nav-hover-text, #fff);border-color:var(--if-nav-hover-bg, var(--if-accent, #1a1a18));}.nav-btn-glyph.svelte-merfar {position:relative;z-index:1;}.nav-btn.svelte-merfar:disabled {opacity:0.35;cursor:default;}`};function M(e,n){m(n,!0),v(e,le);let C=b(n,`posts`,23,()=>[]),M=b(n,`followers`,7,void 0),N=b(n,`profileUrl`,7,void 0),P=b(n,`variant`,7,`grid`),F=b(n,`autoAdvance`,7,0),I=b(n,`maxPosts`,7,12),L=b(n,`strings`,23,()=>({})),R=i(()=>({followersLabel:`Followers`,viewProfileLabel:`View profile`,emptyLabel:`No posts yet.`,...L()})),z=i(()=>C().slice(0,I()));function B(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}K`:String(e)}let V=p(null),H=p(!0),U=p(!1),W=p(!1);function G(){if(c(V)){if(c(W)){d(H,!1),d(U,!1);let e=c(V).scrollWidth/2;c(V).scrollLeft>=e&&(c(V).scrollLeft-=e);return}d(H,c(V).scrollLeft<=4),d(U,c(V).scrollLeft+c(V).clientWidth>=c(V).scrollWidth-4)}}function K(e){if(!c(V))return;let t=(c(V).querySelector(`.tile`)?.offsetWidth??220)+20;if(c(W)){let n=c(V).scrollWidth/2;e===1&&c(V).scrollLeft>=n-t/2&&(c(V).scrollLeft-=n),e===-1&&c(V).scrollLeft<=t/2&&(c(V).scrollLeft+=n)}c(V).scrollBy({left:e*t,behavior:`smooth`})}let q=p(void 0),J=p(void 0);function Y(e){e&&D.fromTo(e,{scale:.82},{scale:1,duration:.4,ease:`elastic.out(1, 0.5)`})}function ue(){Y(c(q)),K(-1)}function de(){Y(c(J)),K(1)}o(()=>{c(z),c(V),requestAnimationFrame(()=>{c(V)&&!c(W)&&c(V).scrollWidth>c(V).clientWidth+8&&d(W,!0),G()})});let X=p(!1);o(()=>{if(P()!==`slider`||!F()||F()<=0||matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let e=setInterval(()=>{c(X)||document.visibilityState===`hidden`||!c(V)||(!c(W)&&c(U)?c(V).scrollTo({left:0,behavior:`smooth`}):K(1))},F()*1e3);return()=>clearInterval(e)});let Z=i(()=>P()===`slider`&&c(W)?[...c(z),...c(z)]:c(z));var fe={get posts(){return C()},set posts(e=[]){C(e),a()},get followers(){return M()},set followers(e=void 0){M(e),a()},get profileUrl(){return N()},set profileUrl(e=void 0){N(e),a()},get variant(){return P()},set variant(e=`grid`){P(e),a()},get autoAdvance(){return F()},set autoAdvance(e=0){F(e),a()},get maxPosts(){return I()},set maxPosts(e=12){I(e),a()},get strings(){return L()},set strings(e={}){L(e),a()}},Q=ce(),$=t(Q),pe=e=>{var t=A(),n=E(t),i=e=>{var t=O(),n=E(t),i=E(n,!0);g(n);var a=f(n,2),o=E(a,!0);g(a),g(t),r(e=>{w(i,e),w(o,c(R).followersLabel)},[()=>B(M())]),u(e,t)};l(n,e=>{M()!=null&&e(i)});var a=f(n,2),o=e=>{var t=k(),n=E(t,!0);g(t),r(()=>{S(t,`href`,N()),w(n,c(R).viewProfileLabel)}),u(e,t)};l(a,e=>{N()&&e(o)}),g(t),u(e,t)};l($,e=>{(M()!=null||N())&&e(pe)});var me=f($,2),he=e=>{var t=j(),n=E(t,!0);g(t),r(()=>w(n,c(R).emptyLabel)),u(e,t)},ge=e=>{var n=se(),i=t(n);T(i,21,()=>c(Z),h,(e,t)=>{var n=ae(),i=E(n),a=E(i),o=f(a,2),s=e=>{var n=ie(),i=E(n),a=e=>{var n=ne(),i=f(E(n),1,!0);g(n),r(e=>w(i,e),[()=>B(c(t).likeCount)]),u(e,n)};l(i,e=>{c(t).likeCount!=null&&e(a)});var o=f(i,2),s=e=>{var n=re(),i=f(E(n),1,!0);g(n),r(e=>w(i,e),[()=>B(c(t).commentCount)]),u(e,n)};l(o,e=>{c(t).commentCount!=null&&e(s)}),g(n),u(e,n)};l(o,e=>{(c(t).likeCount!=null||c(t).commentCount!=null)&&e(s)}),g(i),g(n),r(()=>{S(i,`href`,c(t).permalink||N()||void 0),S(i,`aria-label`,c(t).caption||`View on Instagram`),S(a,`src`,c(t).image),S(a,`alt`,c(t).caption??``)}),u(e,n)}),g(i),x(i,e=>d(V,e),()=>c(V));var a=f(i,2),o=e=>{var t=oe(),n=E(t),i=E(n);x(i,e=>d(q,e),()=>c(q));var a=f(i,2);x(a,e=>d(J,e),()=>c(J)),g(n),g(t),r(()=>{i.disabled=c(H),a.disabled=c(U)}),y(`click`,i,ue),y(`click`,a,de),u(e,t)};l(a,e=>{P()===`slider`&&e(o)}),r(()=>_(i,1,te(P()===`slider`?`tiles track`:`tiles`),`svelte-merfar`)),s(`scroll`,i,G),s(`mouseenter`,i,()=>d(X,!0)),s(`mouseleave`,i,()=>d(X,!1)),y(`focusin`,i,()=>d(X,!0)),y(`focusout`,i,()=>d(X,!1)),u(e,n)};return l(me,e=>{c(z).length?e(ge,-1):e(he)}),u(e,Q),ee(fe)}e([`focusin`,`focusout`,`click`]),customElements.define(`instagram-feed`,C(M,{posts:{attribute:`posts`,type:`Object`},followers:{attribute:`followers`,type:`Number`},profileUrl:{attribute:`profile-url`,type:`String`},variant:{attribute:`variant`,type:`String`},autoAdvance:{attribute:`auto-advance`,type:`Number`},maxPosts:{attribute:`max-posts`,type:`Number`},strings:{type:`Object`}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,D as n,K as r,N as i,S as a,T as o,U as s,V as c,W as l,X as u,Z as d,et as f,h as p,j as m,n as h,r as g,t as _,z as v}from"./chunks/client-BDk8LqGN.js";import{t as y}from"./chunks/gsap-DWxn8li7.js";var b=n(`<div class="im-overlay svelte-jpbtvo" aria-hidden="true"></div>`),x=n(`<div class="im-wrap svelte-jpbtvo"><div class="im-map svelte-jpbtvo"></div> <!></div>`),S={hash:`svelte-jpbtvo`,code:`:host {display:block;height:480px;}.im-wrap.svelte-jpbtvo {position:relative;height:100%;width:100%;}.im-map.svelte-jpbtvo {height:100%;width:100%;}.im-overlay.svelte-jpbtvo {position:absolute;inset:0;z-index:1;cursor:pointer;}`};function C(e,n){d(n,!0),p(e,S);let _=h(n,`pins`,23,()=>[]),C=h(n,`center`,7,`0,0`),w=h(n,`zoom`,7,14),T=h(n,`mapId`,7,``),E=h(n,`apiKey`,7,``),D=h(n,`colorScheme`,7,``),O=h(n,`fitPins`,7,!0),k=h(n,`fitPadding`,23,()=>-50),A=h(n,`panY`,23,()=>-100),j=h(n,`interactionLock`,7,!0),M=h(n,`pinsVisible`,7,!1),N=h(n,`lazy`,7,!1),P=h(n,`zoomControl`,7,!1),F=l(void 0),I=l(!0),L={};function R(){let e=window;e.google?.maps?.importLibrary||e.__islandMapBootstrapped||(e.__islandMapBootstrapped=!0,(t=>{let n,r=`google`,i=`importLibrary`,a=document,o=e[r]=e[r]||{},s=o.maps=o.maps||{},c=new Set,l=new URLSearchParams,u=()=>n||=new Promise(async(e,i)=>{let o=a.createElement(`script`);l.set(`libraries`,[...c]+``);for(let e in t)l.set(e.replace(/[A-Z]/g,e=>`_`+e[0].toLowerCase()),String(t[e]));l.set(`callback`,`google.maps.__ib__`),o.src=`https://maps.${r}apis.com/maps/api/js?`+l,s.__ib__=e,o.onerror=()=>n=i(Error(`The Google Maps JavaScript API could not load.`)),a.head.append(o)});s[i]?console.warn(`The Google Maps JavaScript API only loads once. Ignoring:`,t):s[i]=(e,...t)=>c.add(e)&&u().then(()=>s[i](e,...t))})({key:E(),v:`weekly`}))}function z(e,t){let n=document.createElement(`div`);n.style.cssText=[`position:relative`,`background:#1a1a18`,`border-radius:0`,`padding:10px 16px`,`box-shadow:0 4px 16px rgba(0,0,0,0.15)`,`font-family:Inter,sans-serif`,`white-space:nowrap`,`opacity:0`,`transform:translateY(calc(-100% + 10px)) scale(0.92)`,`pointer-events:none`].join(`;`);let r=document.createElement(`div`);if(r.style.cssText=`font-size:13px;font-weight:600;color:#f5f2ec;line-height:1.2;letter-spacing:-0.2px;`,r.textContent=e,n.appendChild(r),t){let e=document.createElement(`div`);e.style.cssText=`font-size:11px;color:rgb(0,200,180);font-weight:500;margin-top:3px;`,e.textContent=t,n.appendChild(e)}let i=document.createElement(`div`);return i.style.cssText=`position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1a1a18;`,n.appendChild(i),n}function B(e){y.killTweensOf(e),y.to(e,{opacity:1,y:`-100%`,scale:1,boxShadow:`0 12px 40px rgba(0,0,0,0.35)`,duration:.6,ease:`elastic.out(1, 0.5)`})}function V(e){y.killTweensOf(e),y.to(e,{opacity:0,y:`calc(-100% + 10px)`,scale:.92,boxShadow:`0 4px 16px rgba(0,0,0,0.15)`,duration:.18,ease:`power2.in`})}function H(e){(L[e]??[]).forEach(B)}function U(e){(L[e]??[]).forEach(V)}t(()=>{if(typeof window>`u`||!i(F))return;if(!N()||typeof IntersectionObserver>`u`){W();return}let e=new IntersectionObserver(t=>{t[0].isIntersecting&&(e.disconnect(),W())},{rootMargin:`200px`});return e.observe(i(F)),()=>e.disconnect()});async function W(){if(!i(F))return;R();let e=window.google,[{Map:t},{AdvancedMarkerElement:n}]=await Promise.all([e.maps.importLibrary(`maps`),e.maps.importLibrary(`marker`)]),[r,a]=C().split(`,`).map(Number),o=new t(i(F),{center:{lat:r,lng:a},zoom:w(),...T()?{mapId:T()}:{},...D()?{colorScheme:D()}:{},disableDefaultUI:!0,...P()?{zoomControl:!0}:{}});if(O()&&_().length>0){let{LatLngBounds:t}=await e.maps.importLibrary(`core`),n=new t;_().forEach(e=>n.extend({lat:e.lat,lng:e.lng})),o.fitBounds(n,k()),o.panBy(0,A())}for(let e of _()){let t=z(e.label,e.sub);new n({position:{lat:e.lat,lng:e.lng},map:o,title:e.label,content:t}),e.slug&&(L[e.slug]??=[]).push(t),M()&&B(t)}}var G={highlightPin:H,unhighlightPin:U,get pins(){return _()},set pins(e=[]){_(e),r()},get center(){return C()},set center(e=`0,0`){C(e),r()},get zoom(){return w()},set zoom(e=14){w(e),r()},get mapId(){return T()},set mapId(e=``){T(e),r()},get apiKey(){return E()},set apiKey(e=``){E(e),r()},get colorScheme(){return D()},set colorScheme(e=``){D(e),r()},get fitPins(){return O()},set fitPins(e=!0){O(e),r()},get fitPadding(){return k()},set fitPadding(e=-50){k(e),r()},get panY(){return A()},set panY(e=-100){A(e),r()},get interactionLock(){return j()},set interactionLock(e=!0){j(e),r()},get pinsVisible(){return M()},set pinsVisible(e=!1){M(e),r()},get lazy(){return N()},set lazy(e=!1){N(e),r()},get zoomControl(){return P()},set zoomControl(e=!1){P(e),r()}},K=x(),q=v(K);g(q,e=>s(F,e),()=>i(F));var J=c(q,2),Y=e=>{var t=b();m(`click`,t,()=>s(I,!1)),o(e,t)};return a(J,e=>{j()&&i(I)&&e(Y)}),f(K),o(e,K),u(G)}e([`click`]),customElements.define(`island-map`,_(C,{pins:{attribute:`pins`,type:`Object`},center:{attribute:`center`,type:`String`},zoom:{attribute:`zoom`,type:`Number`},mapId:{attribute:`map-id`,type:`String`},apiKey:{attribute:`api-key`,type:`String`},colorScheme:{attribute:`color-scheme`,type:`String`},fitPins:{attribute:`fit-pins`,type:`Boolean`},fitPadding:{attribute:`fit-padding`,type:`Number`},panY:{attribute:`pan-y`,type:`Number`},interactionLock:{attribute:`interaction-lock`,type:`Boolean`},pinsVisible:{attribute:`pins-visible`,type:`Boolean`},lazy:{attribute:`lazy`,type:`Boolean`},zoomControl:{attribute:`zoom-control`,type:`Boolean`}},[],[`highlightPin`,`unhighlightPin`],{mode:`open`}));
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/ably-5cVT4knS.js","chunks/rolldown-runtime-CbXtAM7H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./chunks/rolldown-runtime-CbXtAM7H.js";import{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 l,T as u,U as d,V as f,W as p,X as m,Z as h,b as g,d as ee,et as _,f as v,h as y,k as te,n as b,r as x,s as S,t as C,w,y as T,z as E}from"./chunks/client-BDk8LqGN.js";import{t as D}from"./chunks/preload-helper-Czpn1I53.js";import{t as O}from"./chunks/gsap-DWxn8li7.js";var k=n(`<span><svg class="ldof-live-icon svelte-1esa94h" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M198-278q-57-57-87.5-129.5T80-560q0-80 30.5-152.5T198-842l48 48q-47 47-72.5 107.5T148-560q0 66 25.5 126.5T246-326l-48 48Zm92-92q-38-38-58-87t-20-103q0-54 20-103t58-87l48 48q-29 29-43.5 65.5T280-560q0 40 14.5 76.5T338-418l-48 48Zm150 250v-348q-27-12-43.5-37T380-560q0-42 29-71t71-29q42 0 71 29t29 71q0 30-16.5 55T520-468v348h-80Zm230-250-48-48q29-29 43.5-65.5T680-560q0-40-14.5-76.5T622-702l48-48q38 38 58 87t20 103q0 54-20 103t-58 87Zm92 92-48-48q47-47 72.5-107.5T812-560q0-66-25.5-126.5T714-794l48-48q57 57 87.5 129.5T880-560q0 80-30.5 152.5T762-278Z" class="svelte-1esa94h"></path></svg></span> <span class="ldof-visually-hidden svelte-1esa94h"> </span>`,1),A=n(`<div><!></div>`),ne=n(`<div class="ldof-header svelte-1esa94h"><h2 class="ldof-heading svelte-1esa94h"><svg class="ldof-heading-icon svelte-1esa94h" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M222-80q-43.75 0-74.37-30.63Q117-141.25 117-185v-125h127v-570l59.8 60 59.8-60 59.8 60 59.8-60 59.8 60 60-60 60 60 60-60 60 60 60-60v695q0 43.75-30.62 74.37Q781.75-80 738-80H222Zm516-60q20 0 32.5-12.5T783-185v-595H304v470h389v125q0 20 12.5 32.5T738-140ZM357-622v-60h240v60H357Zm0 134v-60h240v60H357Zm333-134q-12 0-21-9t-9-21q0-12 9-21t21-9q12 0 21 9t9 21q0 12-9 21t-21 9Zm0 129q-12 0-21-9t-9-21q0-12 9-21t21-9q12 0 21 9t9 21q0 12-9 21t-21 9ZM221-140h412v-110H177v65q0 20 12.65 32.5T221-140Zm-44 0v-110 110Z" class="svelte-1esa94h"></path></svg> </h2> <!></div>`),j=n(`<li class="ldof-item ldof-skeleton-item svelte-1esa94h"><span class="ldof-item-accent svelte-1esa94h" aria-hidden="true"></span> <div class="ldof-item-main svelte-1esa94h"><div class="ldof-item-top svelte-1esa94h"><span class="ldof-skeleton-bar ldof-skeleton-bar-name svelte-1esa94h"></span> <div class="ldof-item-top-right svelte-1esa94h"><span class="ldof-skeleton-bar ldof-skeleton-bar-received svelte-1esa94h"></span> <span class="ldof-skeleton-bar ldof-skeleton-bar-status svelte-1esa94h"></span></div></div> <span class="ldof-skeleton-bar ldof-skeleton-bar-sub svelte-1esa94h"></span> <div class="ldof-item-body svelte-1esa94h"><span class="ldof-skeleton-bar ldof-skeleton-bar-meta svelte-1esa94h"></span></div> <div class="ldof-item-lines svelte-1esa94h"><span class="ldof-skeleton-bar ldof-skeleton-bar-line svelte-1esa94h"></span> <span class="ldof-skeleton-bar ldof-skeleton-bar-line svelte-1esa94h"></span></div></div></li>`),re=n(`<ul class="ldof-list svelte-1esa94h" aria-hidden="true"></ul>`),M=n(`<p class="ldof-empty svelte-1esa94h"> </p>`),ie=n(`<span class="ldof-status-dot svelte-1esa94h" tabindex="0" role="status" aria-label="Cancelled" data-tooltip="Cancelled"></span>`),ae=n(`<span></span>`),oe=n(`<div class="ldof-stepper svelte-1esa94h" tabindex="0" role="status"></div>`),se=n(`<span class="ldof-line-variant svelte-1esa94h"> </span>`),ce=n(`<li class="ldof-line svelte-1esa94h"><span class="ldof-line-qty svelte-1esa94h"> </span> <span class="ldof-line-name svelte-1esa94h"> <!></span> <span class="ldof-line-price svelte-1esa94h"> </span></li>`),le=n(`<div class="ldof-notes svelte-1esa94h"> </div>`),ue=n(`<li class="ldof-item svelte-1esa94h"><span class="ldof-item-accent svelte-1esa94h" aria-hidden="true"></span> <div class="ldof-item-main svelte-1esa94h"><div class="ldof-item-top svelte-1esa94h"><span class="ldof-item-name svelte-1esa94h"> </span> <div class="ldof-item-top-right svelte-1esa94h"><span class="ldof-item-received svelte-1esa94h"> </span> <!></div></div> <span class="ldof-item-treatment svelte-1esa94h"> </span> <div class="ldof-item-body svelte-1esa94h"><span class="ldof-item-total svelte-1esa94h"> </span></div> <ul class="ldof-item-lines svelte-1esa94h"></ul> <!></div></li>`),de=n(`<p class="ldof-loading-more svelte-1esa94h" aria-live="polite">Loading more…</p>`),fe=n(`<div class="ldof-sentinel svelte-1esa94h" aria-hidden="true"></div>`),pe=n(`<ul class="ldof-list svelte-1esa94h"></ul> <!> <!>`,1),me=n(`<section class="ldof-root svelte-1esa94h"><!> <!></section>`),he={hash:`svelte-1esa94h`,code:`.ldof-root.svelte-1esa94h {display:block;font-family:inherit;color:var(--ldof-text-color, #1a1a1a);}.ldof-header.svelte-1esa94h {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}.ldof-heading.svelte-1esa94h {display:flex;align-items:center;gap:0.5rem;margin:0;font-family:var(--ldof-heading-font-family, inherit);font-size:var(--ldof-heading-font-size, 1.125rem);font-weight:var(--ldof-heading-font-weight, 700);}.ldof-heading-icon.svelte-1esa94h {flex-shrink:0;color:var(--ldof-heading-icon-color, currentColor);opacity:0.8;}.ldof-status.svelte-1esa94h {display:flex;justify-content:flex-end;align-items:center;gap:0.375rem;margin-bottom:1rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--ldof-live-color, #1a7d3a);}.ldof-header.svelte-1esa94h .ldof-status:where(.svelte-1esa94h) {margin-bottom:0;}.ldof-status-error.svelte-1esa94h {color:var(--ldof-error-color, #b3261e);}.ldof-live-icon-wrap.svelte-1esa94h {position:relative;display:inline-flex;flex-shrink:0;}.ldof-live-icon-wrap.svelte-1esa94h::before {content:'';position:absolute;inset:0;border-radius:9999px;background:currentColor;opacity:0;\r
|
|
3
|
+
animation: svelte-1esa94h-ldof-live-pulse 4s ease-out infinite;}\r
|
|
4
|
+
@media (prefers-reduced-motion: reduce) {.ldof-live-icon-wrap.svelte-1esa94h::before {\r
|
|
5
|
+
animation: none;}\r
|
|
6
|
+
}.ldof-live-icon-wrap-connecting.svelte-1esa94h {opacity:0.55;}.ldof-live-icon-wrap-connecting.svelte-1esa94h::before {\r
|
|
7
|
+
animation: none;}.ldof-live-icon.svelte-1esa94h {position:relative;display:block;}.ldof-visually-hidden.svelte-1esa94h {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}\r
|
|
8
|
+
@keyframes svelte-1esa94h-ldof-live-pulse {\r
|
|
9
|
+
0% {\r
|
|
10
|
+
transform: scale(1);\r
|
|
11
|
+
opacity: 0.6;\r
|
|
12
|
+
}\r
|
|
13
|
+
40%,
|
|
14
|
+
100% {\r
|
|
15
|
+
transform: scale(2.5);\r
|
|
16
|
+
opacity: 0;\r
|
|
17
|
+
}\r
|
|
18
|
+
}.ldof-empty.svelte-1esa94h {opacity:0.6;font-size:0.875rem;}.ldof-loading-more.svelte-1esa94h {opacity:0.6;font-size:0.8125rem;text-align:center;margin:0.75rem 0 0;}.ldof-list.svelte-1esa94h {display:flex;flex-direction:column;gap:0.75rem;margin:0;padding:0;list-style:none;}.ldof-item.svelte-1esa94h {position:relative;display:flex;align-items:flex-start;gap:0.75rem;border:1px solid transparent;border-radius:12px;padding:0.875rem 1rem 0.875rem 1.75rem;background:var(--ldof-item-bg, #fff);overflow:hidden;transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}.ldof-item.svelte-1esa94h:hover {border-color:var(--ldof-item-hover-border, rgba(0, 0, 0, 0.25));box-shadow:var(--ldof-item-hover-shadow, 0 4px 16px rgba(0, 0, 0, 0.08));transform:translateY(-1px);cursor:pointer;}.ldof-item-accent.svelte-1esa94h {position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--ldof-accent, currentColor);}.ldof-item-main.svelte-1esa94h {flex:1;min-width:0;display:flex;flex-direction:column;gap:0.25rem;}.ldof-item-top.svelte-1esa94h {display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;}.ldof-item-name.svelte-1esa94h {font-weight:700;}.ldof-item-treatment.svelte-1esa94h {font-size:0.8125rem;}.ldof-item-top-right.svelte-1esa94h {display:flex;flex-direction:column;align-items:flex-end;gap:0.3125rem;flex-shrink:0;}.ldof-stepper.svelte-1esa94h,\r
|
|
19
|
+
.ldof-status-dot.svelte-1esa94h {position:relative;cursor:default;}.ldof-stepper.svelte-1esa94h::after,\r
|
|
20
|
+
.ldof-status-dot.svelte-1esa94h::after {content:attr(data-tooltip);position:absolute;top:100%;right:0;margin-top:0.375rem;padding:0.25rem 0.5rem;border-radius:4px;background:var(--ldof-tooltip-bg, #1a1a1a);color:var(--ldof-tooltip-text, #fff);font-size:0.6875rem;font-weight:600;white-space:nowrap;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity 0.12s ease, transform 0.12s ease;z-index:1;}.ldof-stepper.svelte-1esa94h:hover::after,\r
|
|
21
|
+
.ldof-stepper.svelte-1esa94h:focus-visible::after,\r
|
|
22
|
+
.ldof-status-dot.svelte-1esa94h:hover::after,\r
|
|
23
|
+
.ldof-status-dot.svelte-1esa94h:focus-visible::after {opacity:1;transform:translateY(0);}.ldof-status-dot.svelte-1esa94h {display:inline-block;width:0.5rem;height:0.5rem;border-radius:9999px;background:var(--ldof-accent, currentColor);}.ldof-stepper.svelte-1esa94h {display:inline-flex;align-items:center;gap:0.25rem;}.ldof-step.svelte-1esa94h {width:0.4375rem;height:0.4375rem;border-radius:9999px;background:var(--ldof-step-bg, rgba(0, 0, 0, 0.15));flex-shrink:0;}.ldof-step-done.svelte-1esa94h {background:var(--ldof-step-done-bg, rgb(0, 143, 190));}.ldof-step-current.svelte-1esa94h {position:relative;background:var(--ldof-step-current-bg, rgb(0, 143, 190));}.ldof-step-current.svelte-1esa94h::before {content:'';position:absolute;inset:-3px;border-radius:9999px;background:currentColor;color:var(--ldof-step-current-bg, rgb(0, 143, 190));opacity:0.35;\r
|
|
24
|
+
animation: svelte-1esa94h-ldof-step-pulse 1.8s ease-out infinite;}\r
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {.ldof-step-current.svelte-1esa94h::before {\r
|
|
26
|
+
animation: none;}\r
|
|
27
|
+
}\r
|
|
28
|
+
@keyframes svelte-1esa94h-ldof-step-pulse {\r
|
|
29
|
+
0% {\r
|
|
30
|
+
transform: scale(1);\r
|
|
31
|
+
opacity: 0.35;\r
|
|
32
|
+
}\r
|
|
33
|
+
100% {\r
|
|
34
|
+
transform: scale(2);\r
|
|
35
|
+
opacity: 0;\r
|
|
36
|
+
}\r
|
|
37
|
+
}.ldof-item-received.svelte-1esa94h {font-size:0.6875rem;white-space:nowrap;flex-shrink:0;opacity:0.55;}.ldof-item-body.svelte-1esa94h {display:flex;align-items:center;gap:0.875rem;margin-top:0.25rem;}.ldof-item-total.svelte-1esa94h {margin-left:auto;font-size:1.75rem;font-weight:800;line-height:1;}.ldof-item-lines.svelte-1esa94h {display:flex;flex-direction:column;gap:0.25rem;list-style:none;margin:0.625rem 0 0;padding:0.625rem 0 0;border-top:1px solid var(--ldof-border-color, rgba(0, 0, 0, 0.1));}.ldof-line.svelte-1esa94h {display:flex;align-items:baseline;gap:0.4375rem;font-size:0.8125rem;}.ldof-line-qty.svelte-1esa94h {flex-shrink:0;font-variant-numeric:tabular-nums;}.ldof-line-name.svelte-1esa94h {flex:1;min-width:0;}.ldof-line-variant.svelte-1esa94h {font-size:0.75rem;}.ldof-line-price.svelte-1esa94h {flex-shrink:0;font-variant-numeric:tabular-nums;}.ldof-notes.svelte-1esa94h {margin-top:0.5rem;font-size:0.8125rem;font-style:italic;}.ldof-sentinel.svelte-1esa94h {height:1px;}.ldof-skeleton-item.svelte-1esa94h {pointer-events:none;}.ldof-skeleton-item.svelte-1esa94h .ldof-item-accent:where(.svelte-1esa94h) {opacity:0.15;}.ldof-skeleton-bar.svelte-1esa94h {display:inline-block;height:0.75rem;border-radius:3px;background:var(--ldof-skeleton-color, color-mix(in srgb, currentColor 8%, transparent));}.ldof-skeleton-bar-name.svelte-1esa94h {width:8.5rem;}.ldof-skeleton-bar-sub.svelte-1esa94h {width:6rem;height:0.625rem;}.ldof-skeleton-bar-status.svelte-1esa94h {width:4.5rem;}.ldof-skeleton-bar-received.svelte-1esa94h {width:5.5rem;height:0.5625rem;}.ldof-skeleton-bar-meta.svelte-1esa94h {width:5rem;}.ldof-skeleton-bar-line.svelte-1esa94h {width:65%;}.ldof-skeleton-bar-line.svelte-1esa94h + .ldof-skeleton-bar-line:where(.svelte-1esa94h) {width:45%;}`};function N(n,C){h(C,!0),y(n,he);let N=e=>{var n=A();let r;var a=E(n),o=e=>{var t=te(`Live updates unavailable — showing loaded orders only.`);u(e,t)},s=e=>{var n=k(),r=t(n);let a;var o=f(r,2),s=E(o,!0);_(o),i(()=>{a=v(r,1,`ldof-live-icon-wrap svelte-1esa94h`,null,a,{"ldof-live-icon-wrap-connecting":c(q)===`connecting`}),w(s,c(q)===`connecting`?`Connecting…`:`Live`)}),u(e,n)};l(a,e=>{c(q)===`error`?e(o):e(s,-1)}),_(n),i(()=>r=v(n,1,`ldof-status svelte-1esa94h`,null,r,{"ldof-status-error":c(q)===`error`})),u(e,n)},P=b(C,`heading`,7),F=b(C,`channelName`,7),I=b(C,`ablyAuthUrl`,7),L=b(C,`fetchOrders`,7),R=b(C,`bookings`,7),z=b(C,`maxItems`,7,30),B=b(C,`autoLoadMore`,7,!0),V=b(C,`emptyLabel`,7,`No orders yet.`),H=b(C,`currency`,7,``),U=b(C,`filterBookingId`,7),W=[`pending`,`confirmed`,`preparing`,`delivered`],G=p(r([])),K=p(void 0),q=p(`connecting`),J=p(!0),Y=p(!1),X=p(!0),Z=p(void 0),Q=p(void 0);function ge(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}let _e=a(()=>new Map((R()??[]).map(e=>[e.id,e])));function ve(e){if(e.booking_id){let t=c(_e).get(e.booking_id);return t?.guest_name&&t?.room_number?`${t.guest_name} · Room ${t.room_number}`:t?.guest_name?t.guest_name:t?.room_number?`Room ${t.room_number}`:`Booking ${e.booking_id.slice(0,8)}`}return e.table_number?`Table ${e.table_number}`:e.table_id?`Table ${e.table_id.slice(0,8)}`:`Order`}function ye(e){return W.indexOf(e)}function be(e){let t=[e,...c(G).filter(t=>t.id!==e.id)];d(G,B()?t:t.slice(0,z()),!0)}async function xe(){if(!(c(Y)||!c(X)||!L())){d(Y,!0);try{let e=c(G)[c(G).length-1]?.created_at,t=await L()({cursor:e,limit:z()}),n=new Set(c(G).map(e=>e.id)),r=t.filter(e=>!n.has(e.id));d(G,[...c(G),...r],!0),d(X,t.length===z()&&r.length>0,!0)}catch(e){console.error(`live-dining-orders-feed: failed to load more orders`,e),d(X,!1)}finally{d(Y,!1)}}}function Se(e){let t=Number(e);return Number.isNaN(t)?`${H()}${e}`:`${H()}${Number.isInteger(t)?t:t.toFixed(2)}`}function Ce(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}catch{return e}}function we(e){return e.total==null?Number(e.unit_price??0)*e.quantity:e.total}function Te(e){return e===`cancelled`?`var(--ldof-status-cancelled-text, #ef4444)`:e===`delivered`?`var(--ldof-status-delivered-color, #22c55e)`:e===`preparing`?`var(--ldof-status-preparing-color, #b4650a)`:`var(--ldof-status-neutral-text, currentColor)`}function Ee(e){return e.charAt(0).toUpperCase()+e.slice(1)}s(()=>{if(typeof window>`u`||!F()||!I())return;let t,n=!1;return(async()=>{if(L())try{let e=await L()({limit:z()});n||(d(G,e,!0),d(X,e.length===z()))}catch(e){console.error(`live-dining-orders-feed: failed to load existing orders`,e)}finally{n||d(J,!1)}else d(J,!1);try{let{default:r}=await D(async()=>{let{default:t}=await import(`./chunks/ably-5cVT4knS.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]));if(n)return;t=new r.Realtime({authUrl:I()});let i=t.channels.get(F());t.connection.on(`connected`,()=>{n||d(q,`connected`)}),t.connection.on(`failed`,()=>{n||d(q,`error`)}),await i.subscribe(`new-order`,e=>{if(n)return;let t=e.data;(!U()||t.booking_id===U())&&be(t)}),await i.subscribe(`order-status-changed`,e=>{if(!n){let t=e.data,n=c(G).find(e=>e.id===t.id);n&&be({...n,...t})}})}catch(e){console.error(`live-dining-orders-feed: Ably connection failed`,e),n||d(q,`error`)}})(),()=>{n=!0,t?.close()}}),s(()=>{if(!c(J)||!c(Z)||ge())return;let e=c(Z).querySelectorAll(`.ldof-skeleton-bar`),t=O.to(e,{opacity:.35,duration:.7,ease:`sine.inOut`,repeat:-1,yoyo:!0,stagger:.08});return()=>{t.kill()}});let De=new Set;s(()=>{if(c(G).length,c(J)||!c(Q))return;let e=Array.from(c(Q).querySelectorAll(`.ldof-item`)).filter(e=>{let t=e.dataset.id;return t!==void 0&&!De.has(t)});if(e.length){for(let t of e)t.dataset.id&&De.add(t.dataset.id);if(ge()){O.set(e,{opacity:1,y:0});return}O.fromTo(e,{opacity:0,y:8},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:.06})}}),s(()=>{if(!B()||!c(K))return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&xe()},{rootMargin:`200px`});return e.observe(c(K)),()=>e.disconnect()});var Oe={get heading(){return P()},set heading(e){P(e),o()},get channelName(){return F()},set channelName(e){F(e),o()},get ablyAuthUrl(){return I()},set ablyAuthUrl(e){I(e),o()},get fetchOrders(){return L()},set fetchOrders(e){L(e),o()},get bookings(){return R()},set bookings(e){R(e),o()},get maxItems(){return z()},set maxItems(e=30){z(e),o()},get autoLoadMore(){return B()},set autoLoadMore(e=!0){B(e),o()},get emptyLabel(){return V()},set emptyLabel(e=`No orders yet.`){V(e),o()},get currency(){return H()},set currency(e=``){H(e),o()},get filterBookingId(){return U()},set filterBookingId(e){U(e),o()}},$=me(),ke=E($),Ae=e=>{var t=ne(),n=E(t),r=f(E(n));_(n);var a=f(n,2);N(a),_(t),i(()=>w(r,` ${P()??``}`)),u(e,t)},je=e=>{N(e)};l(ke,e=>{P()?e(Ae):e(je,-1)});var Me=f(ke,2),Ne=e=>{var t=re();T(t,20,()=>({length:3}),g,(e,t)=>{var n=j();u(e,n)}),_(t),x(t,e=>d(Z,e),()=>c(Z)),u(e,t)},Pe=e=>{var t=M(),n=E(t,!0);_(t),i(()=>w(n,V())),u(e,t)},Fe=e=>{var n=pe(),r=t(n);T(r,21,()=>c(G),e=>e.id,(e,t)=>{let n=a(()=>ye(c(t).status)),r=a(()=>c(t).items.reduce((e,t)=>e+(t.quantity??0),0));var o=ue(),s=f(E(o),2),d=E(s),p=E(d),m=E(p,!0);_(p);var h=f(p,2),y=E(h),te=E(y,!0);_(y);var b=f(y,2),x=e=>{var t=ie();u(e,t)},C=e=>{var r=oe();T(r,21,()=>W,g,(e,r,a)=>{var o=ae();let s;i(()=>s=v(o,1,`ldof-step svelte-1esa94h`,null,s,{"ldof-step-done":a<=c(n),"ldof-step-current":a===c(n)&&c(t).status!==`delivered`})),u(e,o)}),_(r),i((e,t)=>{S(r,`aria-label`,e),S(r,`data-tooltip`,t)},[()=>Ee(c(t).status),()=>Ee(c(t).status)]),u(e,r)};l(b,e=>{c(t).status===`cancelled`?e(x):e(C,-1)}),_(h),_(d);var D=f(d,2),O=E(D);_(D);var k=f(D,2),A=E(k),ne=E(A,!0);_(A),_(k);var j=f(k,2);T(j,21,()=>c(t).items,g,(e,t)=>{var n=ce(),r=E(n),a=E(r);_(r);var o=f(r,2),s=E(o),d=f(s),p=e=>{var n=se(),r=E(n);_(n),i(()=>w(r,`(${c(t).variant??``})`)),u(e,n)};l(d,e=>{c(t).variant&&e(p)}),_(o);var m=f(o,2),h=E(m,!0);_(m),_(n),i(e=>{w(a,`${c(t).quantity??``}×`),w(s,`${c(t).item_name??``} `),w(h,e)},[()=>Se(we(c(t)))]),u(e,n)}),_(j);var re=f(j,2),M=e=>{var n=le(),r=E(n);_(n),i(()=>w(r,`"${c(t).notes??``}"`)),u(e,n)};l(re,e=>{c(t).notes&&e(M)}),_(s),_(o),i((e,n,i,a,s)=>{S(o,`data-id`,c(t).id),ee(o,e),w(m,n),w(te,i),w(O,`${c(r)??``} item${c(r)===1?``:`s`} · ${a??``}`),w(ne,s)},[()=>`--ldof-accent: ${Te(c(t).status)}`,()=>ve(c(t)),()=>Ce(c(t).created_at),()=>c(t).scheduled_for?`Deliver ${Ce(c(t).scheduled_for)}`:`ASAP`,()=>Se(c(t).total_price)]),u(e,o)}),_(r),x(r,e=>d(Q,e),()=>c(Q));var o=f(r,2),s=e=>{var t=de();u(e,t)};l(o,e=>{c(Y)&&e(s)});var p=f(o,2),m=e=>{var t=fe();x(t,e=>d(K,e),()=>c(K)),u(e,t)};l(p,e=>{B()&&c(X)&&e(m)}),u(e,n)};return l(Me,e=>{c(J)?e(Ne):c(G).length===0?e(Pe,1):e(Fe,-1)}),_($),u(n,$),m(Oe)}customElements.define(`live-dining-orders-feed`,C(N,{heading:{attribute:`heading`,type:`String`},channelName:{attribute:`channel-name`,type:`String`},ablyAuthUrl:{attribute:`ably-auth-url`,type:`String`},maxItems:{attribute:`max-items`,type:`Number`},autoLoadMore:{attribute:`auto-load-more`,type:`Boolean`},emptyLabel:{attribute:`empty-label`,type:`String`},currency:{attribute:`currency`,type:`String`},filterBookingId:{attribute:`filter-booking-id`,type:`String`},fetchOrders:{},bookings:{}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/ably-5cVT4knS.js","chunks/rolldown-runtime-CbXtAM7H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./chunks/rolldown-runtime-CbXtAM7H.js";import{B as t,D as n,H as r,I 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,b as h,d as ee,et as g,f as _,h as te,k as v,n as y,r as b,s as ne,t as x,w as S,y as C,z as w}from"./chunks/client-BDk8LqGN.js";import{t as T}from"./chunks/preload-helper-Czpn1I53.js";import{t as E}from"./chunks/gsap-DWxn8li7.js";var D=n(`<span><svg class="lgbf-live-icon svelte-tzrgux" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M198-278q-57-57-87.5-129.5T80-560q0-80 30.5-152.5T198-842l48 48q-47 47-72.5 107.5T148-560q0 66 25.5 126.5T246-326l-48 48Zm92-92q-38-38-58-87t-20-103q0-54 20-103t58-87l48 48q-29 29-43.5 65.5T280-560q0 40 14.5 76.5T338-418l-48 48Zm150 250v-348q-27-12-43.5-37T380-560q0-42 29-71t71-29q42 0 71 29t29 71q0 30-16.5 55T520-468v348h-80Zm230-250-48-48q29-29 43.5-65.5T680-560q0-40-14.5-76.5T622-702l48-48q38 38 58 87t20 103q0 54-20 103t-58 87Zm92 92-48-48q47-47 72.5-107.5T812-560q0-66-25.5-126.5T714-794l48-48q57 57 87.5 129.5T880-560q0 80-30.5 152.5T762-278Z" class="svelte-tzrgux"></path></svg></span> <span class="lgbf-visually-hidden svelte-tzrgux"> </span>`,1),O=n(`<div><!></div>`),k=n(`<div class="lgbf-header svelte-tzrgux"><h2 class="lgbf-heading svelte-tzrgux"><svg class="lgbf-heading-icon svelte-tzrgux" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M791-123q-20 0-34.5-14.5T742-172q0-20 14.5-34.5T791-221q20 0 34.5 14.5T840-172q0 20-14.5 34.5T791-123ZM396-80q-97 0-166.5-19T160-149q0-21 40-39.5t94-27.5v76h72v-740l292 142-232 122v396q90 5 148 25t58 46q0 31-69.5 50T396-80Z" class="svelte-tzrgux"></path></svg> </h2> <!></div>`),re=n(`<li class="lgbf-item lgbf-skeleton-item svelte-tzrgux"><span class="lgbf-item-accent svelte-tzrgux" aria-hidden="true"></span> <div class="lgbf-item-main svelte-tzrgux"><div class="lgbf-item-top svelte-tzrgux"><span class="lgbf-skeleton-bar lgbf-skeleton-bar-name svelte-tzrgux"></span> <span class="lgbf-skeleton-bar lgbf-skeleton-bar-received svelte-tzrgux"></span></div> <span class="lgbf-skeleton-bar lgbf-skeleton-bar-sub svelte-tzrgux"></span> <span class="lgbf-skeleton-bar lgbf-skeleton-bar-status svelte-tzrgux"></span> <div class="lgbf-item-body svelte-tzrgux"><div class="lgbf-item-players svelte-tzrgux"><span class="lgbf-skeleton-bar lgbf-skeleton-bar-stat svelte-tzrgux"></span> <span class="lgbf-skeleton-bar lgbf-skeleton-bar-stat-label svelte-tzrgux"></span></div> <span class="lgbf-skeleton-bar lgbf-skeleton-bar-meta svelte-tzrgux"></span></div> <div class="lgbf-item-contact svelte-tzrgux"><span class="lgbf-skeleton-bar lgbf-skeleton-bar-contact svelte-tzrgux"></span></div></div></li>`),A=n(`<ul class="lgbf-list svelte-tzrgux" aria-hidden="true"></ul>`),ie=n(`<p class="lgbf-empty svelte-tzrgux"> </p>`),ae=n(`<span class="lgbf-item-total svelte-tzrgux"> </span>`),oe=n(`<span class="lgbf-line-variant svelte-tzrgux"> </span>`),se=n(`<li class="lgbf-line svelte-tzrgux"><span class="lgbf-line-qty svelte-tzrgux"> </span> <span class="lgbf-line-name svelte-tzrgux"> <!></span> <span class="lgbf-line-price svelte-tzrgux"> </span></li>`),ce=n(`<ul class="lgbf-item-lines svelte-tzrgux"></ul>`),le=n(`<a class="svelte-tzrgux"> </a>`),ue=n(`<span class="svelte-tzrgux"> </span>`),de=n(`<div class="lgbf-item-contact svelte-tzrgux"><!> <!></div>`),fe=n(`<li class="lgbf-item svelte-tzrgux"><span class="lgbf-item-accent svelte-tzrgux" aria-hidden="true"></span> <div class="lgbf-item-main svelte-tzrgux"><div class="lgbf-item-top svelte-tzrgux"><span class="lgbf-item-name svelte-tzrgux"> </span> <span class="lgbf-item-received svelte-tzrgux"> </span></div> <span class="lgbf-item-course svelte-tzrgux"><!> <!></span> <span class="lgbf-item-status svelte-tzrgux"> </span> <div class="lgbf-item-body svelte-tzrgux"><div class="lgbf-item-players svelte-tzrgux"><span class="lgbf-item-players-number svelte-tzrgux"> </span> <span class="lgbf-item-players-label svelte-tzrgux"> </span></div> <!></div> <!> <!></div></li>`),j=n(`<p class="lgbf-loading-more svelte-tzrgux" aria-live="polite">Loading more…</p>`),M=n(`<div class="lgbf-sentinel svelte-tzrgux" aria-hidden="true"></div>`),N=n(`<ul class="lgbf-list svelte-tzrgux"></ul> <!> <!>`,1),pe=n(`<section class="lgbf-root svelte-tzrgux"><!> <!></section>`),me={hash:`svelte-tzrgux`,code:`.lgbf-root.svelte-tzrgux {display:block;font-family:inherit;color:var(--lgbf-text-color, #1a1a1a);}.lgbf-header.svelte-tzrgux {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}.lgbf-heading.svelte-tzrgux {display:flex;align-items:center;gap:0.5rem;margin:0;font-family:var(--lgbf-heading-font-family, inherit);font-size:var(--lgbf-heading-font-size, 1.125rem);font-weight:var(--lgbf-heading-font-weight, 700);}.lgbf-heading-icon.svelte-tzrgux {flex-shrink:0;color:var(--lgbf-heading-icon-color, currentColor);opacity:0.8;}.lgbf-status.svelte-tzrgux {display:flex;justify-content:flex-end;align-items:center;gap:0.375rem;margin-bottom:1rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--lgbf-live-color, #1a7d3a);}.lgbf-header.svelte-tzrgux .lgbf-status:where(.svelte-tzrgux) {margin-bottom:0;}.lgbf-status-error.svelte-tzrgux {color:var(--lgbf-error-color, #b3261e);}.lgbf-live-icon-wrap.svelte-tzrgux {position:relative;display:inline-flex;flex-shrink:0;}.lgbf-live-icon-wrap.svelte-tzrgux::before {content:'';position:absolute;inset:0;border-radius:9999px;background:currentColor;opacity:0;\r
|
|
3
|
+
animation: svelte-tzrgux-lgbf-pulse 4s ease-out infinite;}\r
|
|
4
|
+
@media (prefers-reduced-motion: reduce) {.lgbf-live-icon-wrap.svelte-tzrgux::before {\r
|
|
5
|
+
animation: none;}\r
|
|
6
|
+
}.lgbf-live-icon-wrap-connecting.svelte-tzrgux {opacity:0.55;}.lgbf-live-icon-wrap-connecting.svelte-tzrgux::before {\r
|
|
7
|
+
animation: none;}.lgbf-live-icon.svelte-tzrgux {position:relative;display:block;}.lgbf-visually-hidden.svelte-tzrgux {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}\r
|
|
8
|
+
@keyframes svelte-tzrgux-lgbf-pulse {\r
|
|
9
|
+
0% {\r
|
|
10
|
+
transform: scale(1);\r
|
|
11
|
+
opacity: 0.6;\r
|
|
12
|
+
}\r
|
|
13
|
+
40%,
|
|
14
|
+
100% {\r
|
|
15
|
+
transform: scale(2.5);\r
|
|
16
|
+
opacity: 0;\r
|
|
17
|
+
}\r
|
|
18
|
+
}.lgbf-empty.svelte-tzrgux {opacity:0.6;font-size:0.875rem;}.lgbf-loading-more.svelte-tzrgux {opacity:0.6;font-size:0.8125rem;text-align:center;margin:0.75rem 0 0;}.lgbf-list.svelte-tzrgux {display:flex;flex-direction:column;gap:0.75rem;margin:0;padding:0;list-style:none;}.lgbf-item.svelte-tzrgux {position:relative;display:flex;align-items:flex-start;gap:0.75rem;border:1px solid transparent;border-radius:12px;padding:0.875rem 1rem 0.875rem 1.75rem;background:var(--lgbf-item-bg, #fff);overflow:hidden;transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}.lgbf-item.svelte-tzrgux:hover {border-color:var(--lgbf-item-hover-border, rgba(0, 0, 0, 0.25));box-shadow:var(--lgbf-item-hover-shadow, 0 4px 16px rgba(0, 0, 0, 0.08));transform:translateY(-1px);cursor:pointer;}.lgbf-item-accent.svelte-tzrgux {position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--lgbf-accent, currentColor);}.lgbf-item-main.svelte-tzrgux {flex:1;min-width:0;display:flex;flex-direction:column;gap:0.25rem;}.lgbf-item-top.svelte-tzrgux {display:flex;align-items:baseline;justify-content:space-between;gap:0.75rem;}.lgbf-item-name.svelte-tzrgux {font-weight:700;}.lgbf-item-course.svelte-tzrgux {font-size:0.8125rem;}.lgbf-item-status.svelte-tzrgux {font-size:0.75rem;font-weight:700;color:var(--lgbf-accent, currentColor);}.lgbf-item-received.svelte-tzrgux {font-size:0.6875rem;white-space:nowrap;flex-shrink:0;opacity:0.55;}.lgbf-item-body.svelte-tzrgux {display:flex;align-items:center;gap:0.875rem;margin-top:0.25rem;}.lgbf-item-players.svelte-tzrgux {display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1;padding-right:0.875rem;border-right:1px solid var(--lgbf-border-color, rgba(0, 0, 0, 0.1));}.lgbf-item-players-number.svelte-tzrgux {font-size:1.75rem;font-weight:800;line-height:1;}.lgbf-item-players-label.svelte-tzrgux {font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-top:0.1875rem;}.lgbf-item-total.svelte-tzrgux {margin-left:auto;font-size:1.75rem;font-weight:800;line-height:1;}.lgbf-item-contact.svelte-tzrgux {display:flex;flex-wrap:wrap;gap:0.5rem 0.75rem;font-size:0.8125rem;margin-top:0.375rem;}.lgbf-item-contact.svelte-tzrgux a:where(.svelte-tzrgux) {color:inherit;}.lgbf-item-lines.svelte-tzrgux {display:flex;flex-direction:column;gap:0.25rem;list-style:none;margin:0.625rem 0 0;padding:0.625rem 0 0;border-top:1px solid var(--lgbf-border-color, rgba(0, 0, 0, 0.1));}.lgbf-line.svelte-tzrgux {display:flex;align-items:baseline;gap:0.4375rem;font-size:0.8125rem;}.lgbf-line-qty.svelte-tzrgux {flex-shrink:0;font-variant-numeric:tabular-nums;}.lgbf-line-name.svelte-tzrgux {flex:1;min-width:0;}.lgbf-line-variant.svelte-tzrgux {font-size:0.75rem;}.lgbf-line-price.svelte-tzrgux {flex-shrink:0;font-variant-numeric:tabular-nums;}.lgbf-sentinel.svelte-tzrgux {height:1px;}.lgbf-skeleton-item.svelte-tzrgux {pointer-events:none;}.lgbf-skeleton-item.svelte-tzrgux .lgbf-item-accent:where(.svelte-tzrgux) {opacity:0.15;}.lgbf-skeleton-bar.svelte-tzrgux {display:inline-block;height:0.75rem;border-radius:3px;background:var(--lgbf-skeleton-color, color-mix(in srgb, currentColor 8%, transparent));}.lgbf-skeleton-bar-name.svelte-tzrgux {width:8.5rem;}.lgbf-skeleton-bar-sub.svelte-tzrgux {width:6rem;height:0.625rem;}.lgbf-skeleton-bar-status.svelte-tzrgux {width:4.5rem;}.lgbf-skeleton-bar-received.svelte-tzrgux {width:5.5rem;height:0.5625rem;}.lgbf-skeleton-bar-stat.svelte-tzrgux {width:2.5rem;height:1.75rem;}.lgbf-skeleton-bar-stat-label.svelte-tzrgux {width:2.5rem;height:0.5rem;margin-top:0.25rem;}.lgbf-skeleton-bar-meta.svelte-tzrgux {width:5rem;}.lgbf-skeleton-bar-contact.svelte-tzrgux {width:55%;}`};function P(n,x){m(x,!0),te(n,me);let P=e=>{var n=O();let r;var a=w(n),o=e=>{var t=v(`Live updates unavailable — showing loaded bookings only.`);l(e,t)},u=e=>{var n=D(),r=t(n);let a;var o=d(r,2),c=w(o,!0);g(o),i(()=>{a=_(r,1,`lgbf-live-icon-wrap svelte-tzrgux`,null,a,{"lgbf-live-icon-wrap-connecting":s(K)===`connecting`}),S(c,s(K)===`connecting`?`Connecting…`:`Live`)}),l(e,n)};c(a,e=>{s(K)===`error`?e(o):e(u,-1)}),g(n),i(()=>r=_(n,1,`lgbf-status svelte-tzrgux`,null,r,{"lgbf-status-error":s(K)===`error`})),l(e,n)},F=y(x,`heading`,7),I=y(x,`channelName`,7),L=y(x,`ablyAuthUrl`,7),R=y(x,`fetchBookings`,7),z=y(x,`maxItems`,7,30),B=y(x,`autoLoadMore`,7,!0),V=y(x,`emptyLabel`,7,`No golf bookings yet.`),H=y(x,`showEmail`,7,!0),U=y(x,`currency`,7,``),W=f(r([])),G=f(void 0),K=f(`connecting`),q=f(!0),J=f(!1),Y=f(!0),X=f(void 0),Z=f(void 0);function he(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}function ge(e){let t=[e,...s(W).filter(t=>t.id!==e.id)];u(W,B()?t:t.slice(0,z()),!0)}async function _e(){if(!(s(J)||!s(Y)||!R())){u(J,!0);try{let e=s(W)[s(W).length-1]?.created_at,t=await R()({cursor:e,limit:z()}),n=new Set(s(W).map(e=>e.id)),r=t.filter(e=>!n.has(e.id));u(W,[...s(W),...r],!0),u(Y,t.length===z()&&r.length>0,!0)}catch(e){console.error(`live-golf-bookings-feed: failed to load more bookings`,e),u(Y,!1)}finally{u(J,!1)}}}function ve(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}catch{return e}}function ye(e){let t=Number(e);return Number.isNaN(t)?`${U()}${e}`:`${U()}${Number.isInteger(t)?t:t.toFixed(2)}`}function be(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}catch{return e}}function xe(e){return e.total==null?Number(e.unit_price??0)*e.quantity:e.total}function Se(e){return e===`confirmed`?`var(--lgbf-status-confirmed-text, #22c55e)`:e===`cancelled`?`var(--lgbf-status-cancelled-text, #ef4444)`:`var(--lgbf-status-neutral-text, currentColor)`}function Ce(e){return e===`confirmed`?`Booked`:e.charAt(0).toUpperCase()+e.slice(1)}o(()=>{if(typeof window>`u`||!I()||!L())return;let t,n=!1;return(async()=>{if(R())try{let e=await R()({limit:z()});n||(u(W,e,!0),u(Y,e.length===z()))}catch(e){console.error(`live-golf-bookings-feed: failed to load existing bookings`,e)}finally{n||u(q,!1)}else u(q,!1);try{let{default:r}=await T(async()=>{let{default:t}=await import(`./chunks/ably-5cVT4knS.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]));if(n)return;t=new r.Realtime({authUrl:L()});let i=t.channels.get(I());t.connection.on(`connected`,()=>{n||u(K,`connected`)}),t.connection.on(`failed`,()=>{n||u(K,`error`)}),await i.subscribe(`new-booking`,e=>{n||ge(e.data)}),await i.subscribe(`booking-status-changed`,e=>{n||ge(e.data)})}catch(e){console.error(`live-golf-bookings-feed: Ably connection failed`,e),n||u(K,`error`)}})(),()=>{n=!0,t?.close()}}),o(()=>{if(!s(q)||!s(X)||he())return;let e=s(X).querySelectorAll(`.lgbf-skeleton-bar`),t=E.to(e,{opacity:.35,duration:.7,ease:`sine.inOut`,repeat:-1,yoyo:!0,stagger:.08});return()=>{t.kill()}});let we=new Set;o(()=>{if(s(W).length,s(q)||!s(Z))return;let e=Array.from(s(Z).querySelectorAll(`.lgbf-item`)).filter(e=>{let t=e.dataset.id;return t!==void 0&&!we.has(t)});if(e.length){for(let t of e)t.dataset.id&&we.add(t.dataset.id);if(he()){E.set(e,{opacity:1,y:0});return}E.fromTo(e,{opacity:0,y:8},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:.06})}}),o(()=>{if(!B()||!s(G))return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&_e()},{rootMargin:`200px`});return e.observe(s(G)),()=>e.disconnect()});var Te={get heading(){return F()},set heading(e){F(e),a()},get channelName(){return I()},set channelName(e){I(e),a()},get ablyAuthUrl(){return L()},set ablyAuthUrl(e){L(e),a()},get fetchBookings(){return R()},set fetchBookings(e){R(e),a()},get maxItems(){return z()},set maxItems(e=30){z(e),a()},get autoLoadMore(){return B()},set autoLoadMore(e=!0){B(e),a()},get emptyLabel(){return V()},set emptyLabel(e=`No golf bookings yet.`){V(e),a()},get showEmail(){return H()},set showEmail(e=!0){H(e),a()},get currency(){return U()},set currency(e=``){U(e),a()}},Q=pe(),$=w(Q),Ee=e=>{var t=k(),n=w(t),r=d(w(n));g(n);var a=d(n,2);P(a),g(t),i(()=>S(r,` ${F()??``}`)),l(e,t)},De=e=>{P(e)};c($,e=>{F()?e(Ee):e(De,-1)});var Oe=d($,2),ke=e=>{var t=A();C(t,20,()=>({length:3}),h,(e,t)=>{var n=re();l(e,n)}),g(t),b(t,e=>u(X,e),()=>s(X)),l(e,t)},Ae=e=>{var t=ie(),n=w(t,!0);g(t),i(()=>S(n,V())),l(e,t)},je=e=>{var n=N(),r=t(n);C(r,21,()=>s(W),e=>e.id,(e,t)=>{var n=fe(),r=d(w(n),2),a=w(r),o=w(a),u=w(o);g(o);var f=d(o,2),p=w(f,!0);g(f),g(a);var m=d(a,2),_=w(m),te=e=>{var n=v();i(()=>S(n,`${s(t).course_name??``} · `)),l(e,n)};c(_,e=>{s(t).course_name&&e(te)});var y=d(_),b=d(y),x=e=>{var n=v();i(()=>S(n,` · ${s(t).holes??``} holes`)),l(e,n)};c(b,e=>{s(t).holes&&e(x)}),g(m);var T=d(m,2),E=w(T,!0);g(T);var D=d(T,2),O=w(D),k=w(O),re=w(k,!0);g(k);var A=d(k,2),ie=w(A);g(A),g(O);var j=d(O,2),M=e=>{var n=ae(),r=w(n,!0);g(n),i(e=>S(r,e),[()=>ye(s(t).price)]),l(e,n)};c(j,e=>{s(t).price!=null&&e(M)}),g(D);var N=d(D,2),pe=e=>{var n=ce();C(n,21,()=>s(t).items,h,(e,t)=>{var n=se(),r=w(n),a=w(r);g(r);var o=d(r,2),u=w(o),f=d(u),p=e=>{var n=oe(),r=w(n);g(n),i(()=>S(r,`(${s(t).variant??``})`)),l(e,n)};c(f,e=>{s(t).variant&&e(p)}),g(o);var m=d(o,2),h=w(m,!0);g(m),g(n),i(e=>{S(a,`${s(t).quantity??``}×`),S(u,`${s(t).item_name??``} `),S(h,e)},[()=>ye(xe(s(t)))]),l(e,n)}),g(n),l(e,n)};c(N,e=>{s(t).items&&s(t).items.length>0&&e(pe)});var me=d(N,2),P=e=>{var n=de(),r=w(n),a=e=>{var n=le(),r=w(n,!0);g(n),i(()=>{ne(n,`href`,`mailto:${s(t).email}`),S(r,s(t).email)}),l(e,n)};c(r,e=>{H()&&s(t).email&&e(a)});var o=d(r,2),u=e=>{var n=ue(),r=w(n,!0);g(n),i(()=>S(r,s(t).phone)),l(e,n)};c(o,e=>{s(t).phone&&e(u)}),g(n),l(e,n)};c(me,e=>{(H()&&s(t).email||s(t).phone)&&e(P)}),g(r),g(n),i((e,r,i,a)=>{ne(n,`data-id`,s(t).id),ee(n,e),S(u,`${s(t).first_name??``} ${s(t).last_name??``}`),S(p,r),S(y,` ${i??``} `),S(E,a),S(re,s(t).players),S(ie,`player${s(t).players===1?``:`s`}`)},[()=>`--lgbf-accent: ${Se(s(t).status)}`,()=>be(s(t).created_at),()=>ve(s(t).tee_time),()=>Ce(s(t).status)]),l(e,n)}),g(r),b(r,e=>u(Z,e),()=>s(Z));var a=d(r,2),o=e=>{var t=j();l(e,t)};c(a,e=>{s(J)&&e(o)});var f=d(a,2),p=e=>{var t=M();b(t,e=>u(G,e),()=>s(G)),l(e,t)};c(f,e=>{B()&&s(Y)&&e(p)}),l(e,n)};return c(Oe,e=>{s(q)?e(ke):s(W).length===0?e(Ae,1):e(je,-1)}),g(Q),l(n,Q),p(Te)}customElements.define(`live-golf-bookings-feed`,x(P,{heading:{attribute:`heading`,type:`String`},channelName:{attribute:`channel-name`,type:`String`},ablyAuthUrl:{attribute:`ably-auth-url`,type:`String`},maxItems:{attribute:`max-items`,type:`Number`},autoLoadMore:{attribute:`auto-load-more`,type:`Boolean`},emptyLabel:{attribute:`empty-label`,type:`String`},showEmail:{attribute:`show-email`,type:`Boolean`},currency:{attribute:`currency`,type:`String`},fetchBookings:{}},[],[],{mode:`open`}));
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/ably-5cVT4knS.js","chunks/rolldown-runtime-CbXtAM7H.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./chunks/rolldown-runtime-CbXtAM7H.js";import{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,N as u,S as d,T as f,U as p,V as m,W as h,X as g,Z as ee,b as te,d as ne,et as _,f as v,h as y,i as b,j as x,k as re,n as S,o as C,r as w,s as T,t as E,w as D,y as O,z as k}from"./chunks/client-BDk8LqGN.js";import{t as ie}from"./chunks/preload-helper-Czpn1I53.js";import{t as A}from"./chunks/gsap-DWxn8li7.js";var ae=r(`<span><svg class="lrf-live-icon svelte-1d6cuoy" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M198-278q-57-57-87.5-129.5T80-560q0-80 30.5-152.5T198-842l48 48q-47 47-72.5 107.5T148-560q0 66 25.5 126.5T246-326l-48 48Zm92-92q-38-38-58-87t-20-103q0-54 20-103t58-87l48 48q-29 29-43.5 65.5T280-560q0 40 14.5 76.5T338-418l-48 48Zm150 250v-348q-27-12-43.5-37T380-560q0-42 29-71t71-29q42 0 71 29t29 71q0 30-16.5 55T520-468v348h-80Zm230-250-48-48q29-29 43.5-65.5T680-560q0-40-14.5-76.5T622-702l48-48q38 38 58 87t20 103q0 54-20 103t-58 87Zm92 92-48-48q47-47 72.5-107.5T812-560q0-66-25.5-126.5T714-794l48-48q57 57 87.5 129.5T880-560q0 80-30.5 152.5T762-278Z" class="svelte-1d6cuoy"></path></svg></span> <span class="lrf-visually-hidden svelte-1d6cuoy"> </span>`,1),oe=r(`<div><!></div>`),se=r(`<div class="lrf-date-filter svelte-1d6cuoy"><input type="date" class="lrf-date-input svelte-1d6cuoy" aria-label="Filter reservations from date"/> <span class="lrf-date-sep svelte-1d6cuoy" aria-hidden="true">–</span> <input type="date" class="lrf-date-input svelte-1d6cuoy" aria-label="Filter reservations to date"/></div>`),ce=r(`<h2 class="lrf-heading svelte-1d6cuoy"><svg class="lrf-heading-icon svelte-1d6cuoy" aria-hidden="true" viewBox="0 -960 960 960" width="20" height="20" fill="currentColor"><path d="M433-228 295-365l42-42 96 94 184-184 42 43-226 226ZM180-80q-24 0-42-18t-18-42v-620q0-24 18-42t42-18h65v-60h65v60h340v-60h65v60h65q24 0 42 18t18 42v620q0 24-18 42t-42 18H180Zm0-60h600v-430H180v430Zm0-490h600v-130H180v130Zm0 0v-130 130Z" class="svelte-1d6cuoy"></path></svg> </h2>`),le=r(`<div class="lrf-header svelte-1d6cuoy"><!> <div class="lrf-header-right svelte-1d6cuoy"><!> <!></div></div>`),ue=r(`<li class="lrf-item lrf-skeleton-item svelte-1d6cuoy"><span class="lrf-item-accent svelte-1d6cuoy" aria-hidden="true"></span> <div class="lrf-item-main svelte-1d6cuoy"><div class="lrf-item-top svelte-1d6cuoy"><span class="lrf-skeleton-bar lrf-skeleton-bar-name svelte-1d6cuoy"></span> <span class="lrf-skeleton-bar lrf-skeleton-bar-received svelte-1d6cuoy"></span></div> <span class="lrf-skeleton-bar lrf-skeleton-bar-sub svelte-1d6cuoy"></span> <span class="lrf-skeleton-bar lrf-skeleton-bar-status svelte-1d6cuoy"></span> <div class="lrf-item-body svelte-1d6cuoy"><div class="lrf-item-guests svelte-1d6cuoy"><span class="lrf-skeleton-bar lrf-skeleton-bar-stat svelte-1d6cuoy"></span> <span class="lrf-skeleton-bar lrf-skeleton-bar-stat-label svelte-1d6cuoy"></span></div> <span class="lrf-skeleton-bar lrf-skeleton-bar-meta svelte-1d6cuoy"></span></div> <div class="lrf-item-contact svelte-1d6cuoy"><span class="lrf-skeleton-bar lrf-skeleton-bar-contact svelte-1d6cuoy"></span></div></div></li>`),de=r(`<ul class="lrf-list svelte-1d6cuoy" aria-hidden="true"></ul>`),fe=r(`<p class="lrf-empty svelte-1d6cuoy"> </p>`),pe=r(`<span class="lrf-item-table svelte-1d6cuoy"> </span>`),me=r(`<a class="svelte-1d6cuoy"> </a>`),he=r(`<span class="svelte-1d6cuoy"> </span>`),ge=r(`<div class="lrf-item-contact svelte-1d6cuoy"><!> <!></div>`),_e=r(`<li class="lrf-item svelte-1d6cuoy"><span class="lrf-item-accent svelte-1d6cuoy" aria-hidden="true"></span> <div class="lrf-item-main svelte-1d6cuoy"><div class="lrf-item-top svelte-1d6cuoy"><span class="lrf-item-name svelte-1d6cuoy"> </span> <span class="lrf-item-received svelte-1d6cuoy"> </span></div> <span class="lrf-item-restaurant svelte-1d6cuoy"><!> </span> <span class="lrf-item-status svelte-1d6cuoy"> </span> <div class="lrf-item-body svelte-1d6cuoy"><div class="lrf-item-guests svelte-1d6cuoy"><span class="lrf-item-guests-number svelte-1d6cuoy"> </span> <span class="lrf-item-guests-label svelte-1d6cuoy"> </span></div> <!></div> <!></div></li>`),ve=r(`<p class="lrf-loading-more svelte-1d6cuoy" aria-live="polite">Loading more…</p>`),ye=r(`<div class="lrf-sentinel svelte-1d6cuoy" aria-hidden="true"></div>`),be=r(`<ul class="lrf-list svelte-1d6cuoy"></ul> <!> <!>`,1),xe=r(`<section class="lrf-root svelte-1d6cuoy"><!> <!></section>`),Se={hash:`svelte-1d6cuoy`,code:`.lrf-root.svelte-1d6cuoy {display:block;font-family:inherit;color:var(--lrf-text-color, #1a1a1a);}.lrf-header.svelte-1d6cuoy {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}.lrf-heading.svelte-1d6cuoy {display:flex;align-items:center;gap:0.5rem;margin:0;font-family:var(--lrf-heading-font-family, inherit);font-size:var(--lrf-heading-font-size, 1.125rem);font-weight:var(--lrf-heading-font-weight, 700);}.lrf-heading-icon.svelte-1d6cuoy {flex-shrink:0;color:var(--lrf-heading-icon-color, currentColor);opacity:0.8;}.lrf-header-right.svelte-1d6cuoy {display:flex;align-items:center;gap:0.75rem;margin-left:auto;}.lrf-date-filter.svelte-1d6cuoy {display:flex;align-items:center;gap:0.375rem;}.lrf-date-input.svelte-1d6cuoy {font:inherit;font-size:0.8125rem;color:var(--lrf-text-color, #1a1a1a);background:var(--lrf-date-input-bg, #fff);border:1px solid var(--lrf-border-color, rgba(0, 0, 0, 0.1));border-radius:4px;padding:0.25rem 0.5rem;line-height:1.2;}.lrf-date-input.svelte-1d6cuoy:focus-visible {outline:2px solid var(--lrf-date-input-focus, currentColor);outline-offset:1px;}.lrf-date-sep.svelte-1d6cuoy {font-size:0.75rem;opacity:0.5;}.lrf-status.svelte-1d6cuoy {display:flex;justify-content:flex-end;align-items:center;gap:0.375rem;margin-bottom:1rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--lrf-live-color, #1a7d3a);}.lrf-header.svelte-1d6cuoy .lrf-status:where(.svelte-1d6cuoy) {margin-bottom:0;}.lrf-status-error.svelte-1d6cuoy {color:var(--lrf-error-color, #b3261e);}.lrf-live-icon-wrap.svelte-1d6cuoy {position:relative;display:inline-flex;flex-shrink:0;}.lrf-live-icon-wrap.svelte-1d6cuoy::before {content:'';position:absolute;inset:0;border-radius:9999px;background:currentColor;opacity:0;\r
|
|
3
|
+
animation: svelte-1d6cuoy-lrf-pulse 4s ease-out infinite;}\r
|
|
4
|
+
@media (prefers-reduced-motion: reduce) {.lrf-live-icon-wrap.svelte-1d6cuoy::before {\r
|
|
5
|
+
animation: none;}\r
|
|
6
|
+
}.lrf-live-icon-wrap-connecting.svelte-1d6cuoy {opacity:0.55;}.lrf-live-icon-wrap-connecting.svelte-1d6cuoy::before {\r
|
|
7
|
+
animation: none;}.lrf-live-icon.svelte-1d6cuoy {position:relative;display:block;}.lrf-visually-hidden.svelte-1d6cuoy {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}\r
|
|
8
|
+
@keyframes svelte-1d6cuoy-lrf-pulse {\r
|
|
9
|
+
0% {\r
|
|
10
|
+
transform: scale(1);\r
|
|
11
|
+
opacity: 0.6;\r
|
|
12
|
+
}\r
|
|
13
|
+
40%,
|
|
14
|
+
100% {\r
|
|
15
|
+
transform: scale(2.5);\r
|
|
16
|
+
opacity: 0;\r
|
|
17
|
+
}\r
|
|
18
|
+
}.lrf-empty.svelte-1d6cuoy {opacity:0.6;font-size:0.875rem;}.lrf-loading-more.svelte-1d6cuoy {opacity:0.6;font-size:0.8125rem;text-align:center;margin:0.75rem 0 0;}.lrf-list.svelte-1d6cuoy {display:flex;flex-direction:column;gap:0.75rem;margin:0;padding:0;list-style:none;}.lrf-item.svelte-1d6cuoy {position:relative;display:flex;align-items:flex-start;gap:0.75rem;border:1px solid transparent;border-radius:12px;padding:0.875rem 1rem 0.875rem 1.75rem;background:var(--lrf-item-bg, #fff);overflow:hidden;transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}.lrf-item.svelte-1d6cuoy:hover {border-color:var(--lrf-item-hover-border, rgba(0, 0, 0, 0.25));box-shadow:var(--lrf-item-hover-shadow, 0 4px 16px rgba(0, 0, 0, 0.08));transform:translateY(-1px);cursor:pointer;}.lrf-item-accent.svelte-1d6cuoy {position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--lrf-accent, currentColor);}.lrf-item-main.svelte-1d6cuoy {flex:1;min-width:0;display:flex;flex-direction:column;gap:0.25rem;}.lrf-item-top.svelte-1d6cuoy {display:flex;align-items:baseline;justify-content:space-between;gap:0.75rem;}.lrf-item-name.svelte-1d6cuoy {font-weight:700;}.lrf-item-restaurant.svelte-1d6cuoy {font-size:0.8125rem;}.lrf-item-status.svelte-1d6cuoy {font-size:0.75rem;font-weight:700;color:var(--lrf-accent, currentColor);}.lrf-item-received.svelte-1d6cuoy {font-size:0.6875rem;white-space:nowrap;flex-shrink:0;opacity:0.55;}.lrf-item-body.svelte-1d6cuoy {display:flex;align-items:center;gap:0.875rem;margin-top:0.25rem;}.lrf-item-guests.svelte-1d6cuoy {display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1;padding-right:0.875rem;border-right:1px solid var(--lrf-border-color, rgba(0, 0, 0, 0.1));}.lrf-item-guests-number.svelte-1d6cuoy {font-size:1.75rem;font-weight:800;line-height:1;}.lrf-item-guests-label.svelte-1d6cuoy {font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-top:0.1875rem;}.lrf-item-table.svelte-1d6cuoy {font-size:0.8125rem;}.lrf-item-contact.svelte-1d6cuoy {display:flex;flex-wrap:wrap;gap:0.5rem 0.75rem;font-size:0.8125rem;margin-top:0.375rem;}.lrf-item-contact.svelte-1d6cuoy a:where(.svelte-1d6cuoy) {color:inherit;}.lrf-sentinel.svelte-1d6cuoy {height:1px;}.lrf-skeleton-item.svelte-1d6cuoy {pointer-events:none;}.lrf-skeleton-item.svelte-1d6cuoy .lrf-item-accent:where(.svelte-1d6cuoy) {opacity:0.15;}.lrf-skeleton-bar.svelte-1d6cuoy {display:inline-block;height:0.75rem;border-radius:3px;background:var(--lrf-skeleton-color, color-mix(in srgb, currentColor 8%, transparent));}.lrf-skeleton-bar-name.svelte-1d6cuoy {width:8.5rem;}.lrf-skeleton-bar-sub.svelte-1d6cuoy {width:6rem;height:0.625rem;}.lrf-skeleton-bar-status.svelte-1d6cuoy {width:4.5rem;}.lrf-skeleton-bar-received.svelte-1d6cuoy {width:5.5rem;height:0.5625rem;}.lrf-skeleton-bar-stat.svelte-1d6cuoy {width:2.5rem;height:1.75rem;}.lrf-skeleton-bar-stat-label.svelte-1d6cuoy {width:2.5rem;height:0.5rem;margin-top:0.25rem;}.lrf-skeleton-bar-meta.svelte-1d6cuoy {width:5rem;}.lrf-skeleton-bar-contact.svelte-1d6cuoy {width:55%;}`};function Ce(t,r){ee(r,!0),y(t,Se);let E=e=>{var t=oe();let r;var i=k(t),a=e=>{var t=re(`Live updates unavailable — showing loaded reservations only.`);f(e,t)},s=e=>{var t=ae(),r=n(t);let i;var a=m(r,2),s=k(a,!0);_(a),o(()=>{i=v(r,1,`lrf-live-icon-wrap svelte-1d6cuoy`,null,i,{"lrf-live-icon-wrap-connecting":u(W)===`connecting`}),D(s,u(W)===`connecting`?`Connecting…`:`Live`)}),f(e,t)};d(i,e=>{u(W)===`error`?e(a):e(s,-1)}),_(t),o(()=>r=v(t,1,`lrf-status svelte-1d6cuoy`,null,r,{"lrf-status-error":u(W)===`error`})),f(e,t)},Ce=e=>{var t=i(),r=n(t),a=e=>{var t=se(),n=k(t);C(n);var r=m(n,4);C(r),_(t),o(()=>{T(n,`max`,u(Z)||void 0),T(r,`min`,u(X)||void 0)}),x(`change`,n,Oe),b(n,()=>u(X),e=>p(X,e)),x(`change`,r,Oe),b(r,()=>u(Z),e=>p(Z,e)),f(e,t)};d(r,e=>{V()&&e(a)}),f(e,t)},j=S(r,`heading`,7),M=S(r,`channelName`,7),N=S(r,`ablyAuthUrl`,7),P=S(r,`fetchReservations`,7),we=S(r,`restaurants`,7),F=S(r,`maxItems`,7,30),I=S(r,`autoLoadMore`,7,!0),L=S(r,`emptyLabel`,7,`No reservations yet.`),R=S(r,`showEmail`,7,!0),z=S(r,`filterDateFrom`,7),B=S(r,`filterDateTo`,7),V=S(r,`showDateFilter`,7,!1),H=h(a([])),U=h(void 0),W=h(`connecting`),G=h(!0),K=h(!1),q=h(!0),J=h(void 0),Y=h(void 0);function Te(){return typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}let Ee=s(()=>new Map((we()??[]).map(e=>[e.id,e.name])));function De(e,t){r.$$host?.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}let X=h(a(z()??``)),Z=h(a(B()??``)),Q=s(()=>V()?u(X)||void 0:z()),$=s(()=>V()?u(Z)||void 0:B());function Oe(){De(`date-filter-change`,{filterDateFrom:u(Q),filterDateTo:u($)})}function ke(e){return!(u(Q)&&e.reservation_date<u(Q)||u($)&&e.reservation_date>u($))}function Ae(e){let t=[e,...u(H).filter(t=>t.id!==e.id)];p(H,I()?t:t.slice(0,F()),!0)}async function je(){if(!(u(K)||!u(q)||!P())){p(K,!0);try{let e=u(H)[u(H).length-1]?.created_at,t=await P()({cursor:e,limit:F(),filterDateFrom:u(Q),filterDateTo:u($)}),n=new Set(u(H).map(e=>e.id)),r=t.filter(e=>!n.has(e.id));p(H,[...u(H),...r],!0),p(q,t.length===F()&&r.length>0,!0)}catch(e){console.error(`live-reservations-feed: failed to load more reservations`,e),p(q,!1)}finally{p(K,!1)}}}function Me(e){try{return new Date(`${e}T00:00:00`).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}catch{return e}}function Ne(e){let[t,n]=e.split(`:`),r=Number(t);if(Number.isNaN(r)||n===void 0)return e;let i=r>=12?`PM`:`AM`;return`${r%12==0?12:r%12}:${n} ${i}`}function Pe(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}catch{return e}}function Fe(e){return e===`confirmed`?`var(--lrf-status-confirmed-text, #22c55e)`:e===`cancelled`?`var(--lrf-status-cancelled-text, #ef4444)`:`var(--lrf-status-neutral-text, currentColor)`}function Ie(e){return e===`confirmed`?`Booked`:e.charAt(0).toUpperCase()+e.slice(1)}l(()=>{if(typeof window>`u`||!M()||!N())return;let t,n=!1;return(async()=>{try{let{default:r}=await ie(async()=>{let{default:t}=await import(`./chunks/ably-5cVT4knS.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]));if(n)return;t=new r.Realtime({authUrl:N()});let i=t.channels.get(M());t.connection.on(`connected`,()=>{n||p(W,`connected`)}),t.connection.on(`failed`,()=>{n||p(W,`error`)}),await i.subscribe(`new-reservation`,e=>{let t=e.data;!n&&ke(t)&&Ae(t)}),await i.subscribe(`reservation-status-changed`,e=>{let t=e.data;!n&&ke(t)&&Ae(t)})}catch(e){console.error(`live-reservations-feed: Ably connection failed`,e),n||p(W,`error`)}})(),()=>{n=!0,t?.close()}}),l(()=>{let e=u(Q),t=u($);if(!P()){p(G,!1);return}let n=!1;return p(G,!0),(async()=>{try{let r=await P()({limit:F(),filterDateFrom:e,filterDateTo:t});n||(p(H,r,!0),p(q,r.length===F()))}catch(e){console.error(`live-reservations-feed: failed to load existing reservations`,e)}finally{n||p(G,!1)}})(),()=>{n=!0}}),l(()=>{if(!u(G)||!u(J)||Te())return;let e=u(J).querySelectorAll(`.lrf-skeleton-bar`),t=A.to(e,{opacity:.35,duration:.7,ease:`sine.inOut`,repeat:-1,yoyo:!0,stagger:.08});return()=>{t.kill()}});let Le=new Set;l(()=>{if(u(H).length,u(G)||!u(Y))return;let e=Array.from(u(Y).querySelectorAll(`.lrf-item`)).filter(e=>{let t=e.dataset.id;return t!==void 0&&!Le.has(t)});if(e.length){for(let t of e)t.dataset.id&&Le.add(t.dataset.id);if(Te()){A.set(e,{opacity:1,y:0});return}A.fromTo(e,{opacity:0,y:8},{opacity:1,y:0,duration:.4,ease:`power2.out`,stagger:.06})}}),l(()=>{if(!I()||!u(U))return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&je()},{rootMargin:`200px`});return e.observe(u(U)),()=>e.disconnect()});var Re={get heading(){return j()},set heading(e){j(e),c()},get channelName(){return M()},set channelName(e){M(e),c()},get ablyAuthUrl(){return N()},set ablyAuthUrl(e){N(e),c()},get fetchReservations(){return P()},set fetchReservations(e){P(e),c()},get restaurants(){return we()},set restaurants(e){we(e),c()},get maxItems(){return F()},set maxItems(e=30){F(e),c()},get autoLoadMore(){return I()},set autoLoadMore(e=!0){I(e),c()},get emptyLabel(){return L()},set emptyLabel(e=`No reservations yet.`){L(e),c()},get showEmail(){return R()},set showEmail(e=!0){R(e),c()},get filterDateFrom(){return z()},set filterDateFrom(e){z(e),c()},get filterDateTo(){return B()},set filterDateTo(e){B(e),c()},get showDateFilter(){return V()},set showDateFilter(e=!1){V(e),c()}},ze=xe(),Be=k(ze),Ve=e=>{var t=le(),n=k(t),r=e=>{var t=ce(),n=m(k(t));_(t),o(()=>D(n,` ${j()??``}`)),f(e,t)};d(n,e=>{j()&&e(r)});var i=m(n,2),a=k(i);Ce(a);var s=m(a,2);E(s),_(i),_(t),f(e,t)},He=e=>{E(e)};d(Be,e=>{j()||V()?e(Ve):e(He,-1)});var Ue=m(Be,2),We=e=>{var t=de();O(t,20,()=>({length:3}),te,(e,t)=>{var n=ue();f(e,n)}),_(t),w(t,e=>p(J,e),()=>u(J)),f(e,t)},Ge=e=>{var t=fe(),n=k(t,!0);_(t),o(()=>D(n,L())),f(e,t)},Ke=e=>{var t=be(),r=n(t);O(r,21,()=>u(H),e=>e.id,(e,t)=>{var n=_e(),r=m(k(n),2),i=k(r),a=k(i),c=k(a,!0);_(a);var l=m(a,2),p=k(l,!0);_(l),_(i);var h=m(i,2),g=k(h),ee=e=>{var n=re();o(e=>D(n,`${e??``} · `),[()=>u(Ee).get(u(t).restaurant_id)]),f(e,n)},te=s(()=>u(t).restaurant_id&&u(Ee).get(u(t).restaurant_id));d(g,e=>{u(te)&&e(ee)});var v=m(g);_(h);var y=m(h,2),b=k(y,!0);_(y);var x=m(y,2),S=k(x),C=k(S),w=k(C,!0);_(C);var E=m(C,2),O=k(E);_(E),_(S);var ie=m(S,2),A=e=>{var n=pe(),r=k(n);_(n),o(()=>D(r,`Table ${u(t).table_number??``}`)),f(e,n)};d(ie,e=>{u(t).table_number&&e(A)}),_(x);var ae=m(x,2),oe=e=>{var n=ge(),r=k(n),i=e=>{var n=me(),r=k(n,!0);_(n),o(()=>{T(n,`href`,`mailto:${u(t).contact_email}`),D(r,u(t).contact_email)}),f(e,n)};d(r,e=>{R()&&u(t).contact_email&&e(i)});var a=m(r,2),s=e=>{var n=he(),r=k(n,!0);_(n),o(()=>D(r,u(t).contact_phone)),f(e,n)};d(a,e=>{u(t).contact_phone&&e(s)}),_(n),f(e,n)};d(ae,e=>{(R()&&u(t).contact_email||u(t).contact_phone)&&e(oe)}),_(r),_(n),o((e,r,i,a,o)=>{T(n,`data-id`,u(t).id),ne(n,e),D(c,u(t).contact_name),D(p,r),D(v,` ${i??``} · ${a??``}`),D(b,o),D(w,u(t).party_size),D(O,`guest${u(t).party_size===1?``:`s`}`)},[()=>`--lrf-accent: ${Fe(u(t).status)}`,()=>Pe(u(t).created_at),()=>Me(u(t).reservation_date),()=>Ne(u(t).start_time),()=>Ie(u(t).status)]),f(e,n)}),_(r),w(r,e=>p(Y,e),()=>u(Y));var i=m(r,2),a=e=>{var t=ve();f(e,t)};d(i,e=>{u(K)&&e(a)});var c=m(i,2),l=e=>{var t=ye();w(t,e=>p(U,e),()=>u(U)),f(e,t)};d(c,e=>{I()&&u(q)&&e(l)}),f(e,t)};return d(Ue,e=>{u(G)?e(We):u(H).length===0?e(Ge,1):e(Ke,-1)}),_(ze),f(t,ze),g(Re)}t([`change`]),customElements.define(`live-reservations-feed`,E(Ce,{heading:{attribute:`heading`,type:`String`},channelName:{attribute:`channel-name`,type:`String`},ablyAuthUrl:{attribute:`ably-auth-url`,type:`String`},maxItems:{attribute:`max-items`,type:`Number`},autoLoadMore:{attribute:`auto-load-more`,type:`Boolean`},emptyLabel:{attribute:`empty-label`,type:`String`},showEmail:{attribute:`show-email`,type:`Boolean`},filterDateFrom:{attribute:`filter-date-from`,type:`String`},filterDateTo:{attribute:`filter-date-to`,type:`String`},showDateFilter:{attribute:`show-date-filter`,type:`Boolean`},fetchReservations:{},restaurants:{}},[],[],{mode:`open`}));
|