@forgebuild/sidon-booking-widget 4.1.4 → 4.1.5

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.
@@ -2425,11 +2425,8 @@ function Ri(e, t) {
2425
2425
  strokeOpacity: 1,
2426
2426
  strokeWeight: 1.6
2427
2427
  })), ae = /* @__PURE__ */ z(() => ({
2428
- fillColor: o(),
2429
- fillOpacity: .72,
2430
- strokeColor: "#252525",
2431
- strokeOpacity: 1,
2432
- strokeWeight: 2
2428
+ ...J(re),
2429
+ strokeWeight: 3
2433
2430
  })), oe = {
2434
2431
  fillColor: "#b8b8b8",
2435
2432
  fillOpacity: .08,
@@ -2698,7 +2695,7 @@ function Ri(e, t) {
2698
2695
  [data-berth-id][data-fit="small"] circle { fill: rgba(136,136,136,0.15) !important; stroke: rgba(136,136,136,0.5) !important; }
2699
2696
  [data-berth-id][data-fit="small"] [data-role="entrance"] { fill: rgba(136,136,136,0.5) !important; }
2700
2697
  [data-berth-id][data-selected="1"] rect:not([data-role]),
2701
- [data-berth-id][data-selected="1"] circle { fill: ${o()} !important; stroke: ${o()} !important; }
2698
+ [data-berth-id][data-selected="1"] circle { stroke: ${o()} !important; }
2702
2699
  [data-berth-id][data-selected="1"] [data-role="entrance"] { fill: ${o()}; }
2703
2700
  [data-berth-id][data-pick="1"] { pointer-events: auto; cursor: pointer; }
2704
2701
  `, n.querySelector("svg")?.appendChild(r), new XMLSerializer().serializeToString(n);
@@ -4461,11 +4461,8 @@ function vo(e, t) {
4461
4461
  strokeOpacity: 1,
4462
4462
  strokeWeight: 1.6
4463
4463
  })), te = /* @__PURE__ */ I(() => ({
4464
- fillColor: o(),
4465
- fillOpacity: .72,
4466
- strokeColor: "#252525",
4467
- strokeOpacity: 1,
4468
- strokeWeight: 2
4464
+ ...q(w),
4465
+ strokeWeight: 3
4469
4466
  })), ne = {
4470
4467
  fillColor: "#b8b8b8",
4471
4468
  fillOpacity: .08,
@@ -4734,7 +4731,7 @@ function vo(e, t) {
4734
4731
  [data-berth-id][data-fit="small"] circle { fill: rgba(136,136,136,0.15) !important; stroke: rgba(136,136,136,0.5) !important; }
4735
4732
  [data-berth-id][data-fit="small"] [data-role="entrance"] { fill: rgba(136,136,136,0.5) !important; }
4736
4733
  [data-berth-id][data-selected="1"] rect:not([data-role]),
4737
- [data-berth-id][data-selected="1"] circle { fill: ${o()} !important; stroke: ${o()} !important; }
4734
+ [data-berth-id][data-selected="1"] circle { stroke: ${o()} !important; }
4738
4735
  [data-berth-id][data-selected="1"] [data-role="entrance"] { fill: ${o()}; }
4739
4736
  [data-berth-id][data-pick="1"] { pointer-events: auto; cursor: pointer; }
4740
4737
  `, n.querySelector("svg")?.appendChild(r), new XMLSerializer().serializeToString(n);
@@ -5896,6 +5893,7 @@ var vs = {
5896
5893
  contractAgreedOn: (e) => `Accettato il ${e}`,
5897
5894
  cancelBooking: "Annulla prenotazione",
5898
5895
  cancelConfirm: "Vuoi annullare questa prenotazione? L'ormeggio verrà rilasciato.",
5896
+ keepBooking: "Mantieni la prenotazione",
5899
5897
  startOver: "Nuova prenotazione",
5900
5898
  docsStep: {
5901
5899
  intro: "Questa marina richiede i tuoi documenti prima della prenotazione. Accedi con Sidon per aggiungerli: resteranno nel tuo account per le prossime prenotazioni.",
@@ -6040,6 +6038,7 @@ var vs = {
6040
6038
  contractAgreedOn: (e) => `Agreed on ${e}`,
6041
6039
  cancelBooking: "Cancel booking",
6042
6040
  cancelConfirm: "Cancel this booking? The berth will be released.",
6041
+ keepBooking: "Keep booking",
6043
6042
  startOver: "Start a new booking",
6044
6043
  docsStep: {
6045
6044
  intro: "This marina needs your documents before you book. Sign in with Sidon to add them; they stay in your account for your next booking.",
@@ -6184,6 +6183,7 @@ var vs = {
6184
6183
  contractAgreedOn: (e) => `Accepté le ${e}`,
6185
6184
  cancelBooking: "Annuler la réservation",
6186
6185
  cancelConfirm: "Annuler cette réservation ? La place sera libérée.",
6186
+ keepBooking: "Garder la réservation",
6187
6187
  startOver: "Nouvelle réservation",
6188
6188
  docsStep: {
6189
6189
  intro: "Ce port demande vos documents avant la réservation. Connectez-vous avec Sidon pour les ajouter : ils restent dans votre compte pour vos prochaines réservations.",
@@ -6328,6 +6328,7 @@ var vs = {
6328
6328
  contractAgreedOn: (e) => `Aceptado el ${e}`,
6329
6329
  cancelBooking: "Cancelar reserva",
6330
6330
  cancelConfirm: "¿Cancelar esta reserva? El amarre quedará libre.",
6331
+ keepBooking: "Mantener la reserva",
6331
6332
  startOver: "Nueva reserva",
6332
6333
  docsStep: {
6333
6334
  intro: "Este puerto necesita tus documentos antes de reservar. Inicia sesión con Sidon para añadirlos: se quedan en tu cuenta para tus próximas reservas.",
@@ -12694,9 +12695,9 @@ var lc = /* @__PURE__ */ s(((e, t) => {
12694
12695
  return e;
12695
12696
  })(t.exports, e)), t.exports;
12696
12697
  });
12697
- })), uc = /* @__PURE__ */ Y("<button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button>"), dc = /* @__PURE__ */ Y("<div class=\"sbw-view-error sbw-view-error-first svelte-1312f6m\" role=\"alert\"> </div> <div class=\"sbw-view-actions svelte-1312f6m\"><button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button> <!></div>", 1), fc = /* @__PURE__ */ Y("<div class=\"sbw-view-loading svelte-1312f6m\"> </div>"), pc = /* @__PURE__ */ Pr("<circle cx=\"12\" cy=\"12\" r=\"8.5\" class=\"svelte-1312f6m\"></circle><path d=\"M12 7.5V12l3 2\" class=\"svelte-1312f6m\"></path>", 1), mc = /* @__PURE__ */ Pr("<path d=\"M5 12.5l4.5 4.5L19 7.5\" class=\"svelte-1312f6m\"></path>"), hc = /* @__PURE__ */ Pr("<path d=\"M6.5 6.5l11 11M17.5 6.5l-11 11\" class=\"svelte-1312f6m\"></path>"), gc = /* @__PURE__ */ Y("<p class=\"sbw-hero-live svelte-1312f6m\"><span class=\"sbw-live-dot svelte-1312f6m\"></span> </p>"), _c = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span> <span class=\"sbw-panel-amount svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <div class=\"sbw-card svelte-1312f6m\"></div> <button type=\"button\" class=\"sbw-btn-primary svelte-1312f6m\"> </button></div>"), vc = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button></div>"), yc = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p></div>"), bc = /* @__PURE__ */ Y("<div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div>"), xc = /* @__PURE__ */ Y("<div class=\"sbw-view-error svelte-1312f6m\" role=\"alert\"> </div>"), Sc = /* @__PURE__ */ Y("<div class=\"sbw-view-actions svelte-1312f6m\"><!> <!></div>"), Cc = /* @__PURE__ */ Y("<div role=\"status\"><div class=\"sbw-hero-icon svelte-1312f6m\" aria-hidden=\"true\"><svg width=\"26\" height=\"26\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1312f6m\"><!></svg></div> <div class=\"sbw-hero-eyebrow svelte-1312f6m\"> </div> <h3 class=\"sbw-hero-title svelte-1312f6m\"> </h3> <p class=\"sbw-hero-body svelte-1312f6m\"> </p> <!></div> <!> <div class=\"sbw-facts-heading svelte-1312f6m\"> </div> <dl class=\"sbw-facts svelte-1312f6m\"><div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt> <dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <!> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt> <dd class=\"svelte-1312f6m\"> </dd></div></dl> <!> <!> <!> <!>", 1), wc = /* @__PURE__ */ Y("<div><!></div>"), Tc = {
12698
+ })), uc = /* @__PURE__ */ Y("<button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button>"), dc = /* @__PURE__ */ Y("<div class=\"sbw-view-error sbw-view-error-first svelte-1312f6m\" role=\"alert\"> </div> <div class=\"sbw-view-actions svelte-1312f6m\"><button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button> <!></div>", 1), fc = /* @__PURE__ */ Y("<div class=\"sbw-view-loading svelte-1312f6m\"> </div>"), pc = /* @__PURE__ */ Pr("<circle cx=\"12\" cy=\"12\" r=\"8.5\" class=\"svelte-1312f6m\"></circle><path d=\"M12 7.5V12l3 2\" class=\"svelte-1312f6m\"></path>", 1), mc = /* @__PURE__ */ Pr("<path d=\"M5 12.5l4.5 4.5L19 7.5\" class=\"svelte-1312f6m\"></path>"), hc = /* @__PURE__ */ Pr("<path d=\"M6.5 6.5l11 11M17.5 6.5l-11 11\" class=\"svelte-1312f6m\"></path>"), gc = /* @__PURE__ */ Y("<p class=\"sbw-hero-live svelte-1312f6m\"><span class=\"sbw-live-dot svelte-1312f6m\"></span> </p>"), _c = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span> <span class=\"sbw-panel-amount svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <div class=\"sbw-card svelte-1312f6m\"></div> <button type=\"button\" class=\"sbw-btn-primary svelte-1312f6m\"> </button></div>"), vc = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <p class=\"sbw-panel-note svelte-1312f6m\"> </p> <button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button></div>"), yc = /* @__PURE__ */ Y("<div class=\"sbw-panel svelte-1312f6m\"><div class=\"sbw-panel-heading svelte-1312f6m\"><span class=\"svelte-1312f6m\"> </span></div> <p class=\"sbw-panel-note svelte-1312f6m\"> </p></div>"), bc = /* @__PURE__ */ Y("<div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div>"), xc = /* @__PURE__ */ Y("<div class=\"sbw-view-error svelte-1312f6m\" role=\"alert\"> </div>"), Sc = /* @__PURE__ */ Y("<div class=\"sbw-view-actions svelte-1312f6m\"><!> <!></div>"), Cc = /* @__PURE__ */ Y("<div role=\"status\"><div class=\"sbw-hero-icon svelte-1312f6m\" aria-hidden=\"true\"><svg width=\"26\" height=\"26\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-1312f6m\"><!></svg></div> <div class=\"sbw-hero-eyebrow svelte-1312f6m\"> </div> <h3 class=\"sbw-hero-title svelte-1312f6m\"> </h3> <p class=\"sbw-hero-body svelte-1312f6m\"> </p> <!></div> <!> <div class=\"sbw-facts-heading svelte-1312f6m\"> </div> <dl class=\"sbw-facts svelte-1312f6m\"><div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt> <dd class=\"svelte-1312f6m\"> </dd></div> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt><dd class=\"svelte-1312f6m\"> </dd></div> <!> <div class=\"svelte-1312f6m\"><dt class=\"svelte-1312f6m\"> </dt> <dd class=\"svelte-1312f6m\"> </dd></div></dl> <!> <!> <!> <!> <dialog class=\"sbw-confirm svelte-1312f6m\" aria-labelledby=\"sbw-confirm-title\"><h2 id=\"sbw-confirm-title\" class=\"sbw-confirm-title svelte-1312f6m\"> </h2> <p class=\"sbw-confirm-body svelte-1312f6m\"> </p> <div class=\"sbw-confirm-actions svelte-1312f6m\"><button type=\"button\" class=\"sbw-btn-secondary svelte-1312f6m\"> </button> <button type=\"button\" class=\"sbw-btn-primary svelte-1312f6m\"> </button></div></dialog>", 1), wc = /* @__PURE__ */ Y("<div><!></div>"), Tc = {
12698
12699
  hash: "svelte-1312f6m",
12699
- code: ".sbw-view.svelte-1312f6m {display:flex;flex-direction:column;color:var(--brand-ink, #252525);}.sbw-view-loading.svelte-1312f6m {padding:32px 20px;font-size:14px;text-align:center;color:#666;}.sbw-view-error.svelte-1312f6m {margin:0 20px 16px;font-size:14px;color:#cc4949;}.sbw-view-error-first.svelte-1312f6m {margin-top:24px;}\r\n /* Hero: the 0.4 SentStep panel, one state per OTA status (+ expired). */.sbw-hero.svelte-1312f6m {display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 20px;}.sbw-hero-icon.svelte-1312f6m {width:56px;height:56px;border-radius:999px;background:var(--brand-gold, #c9a86b);color:var(--brand-navy, #16365b);display:flex;align-items:center;justify-content:center;}.sbw-hero-ok.svelte-1312f6m .sbw-hero-icon:where(.svelte-1312f6m) {background:#1f9d55;color:#fff;}.sbw-hero-bad.svelte-1312f6m .sbw-hero-icon:where(.svelte-1312f6m) {background:#cc4949;color:#fff;}.sbw-hero-eyebrow.svelte-1312f6m {font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand-gold, #c9a86b);}.sbw-hero-ok.svelte-1312f6m .sbw-hero-eyebrow:where(.svelte-1312f6m) {color:#1f9d55;}.sbw-hero-bad.svelte-1312f6m .sbw-hero-eyebrow:where(.svelte-1312f6m) {color:#cc4949;}.sbw-hero-title.svelte-1312f6m {font-size:32px;font-weight:400;text-transform:uppercase;color:var(--brand-navy, #16365b);margin:0;}.sbw-hero-body.svelte-1312f6m {font-size:14px;color:#252525;max-width:420px;line-height:1.7;margin:0;}.sbw-hero-live.svelte-1312f6m {display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#666;}.sbw-live-dot.svelte-1312f6m {width:8px;height:8px;border-radius:999px;background:var(--brand-gold, #c9a86b);\r\n animation: svelte-1312f6m-sbw-pulse 1.6s ease-in-out infinite;}\r\n @keyframes svelte-1312f6m-sbw-pulse {\r\n 50% {\r\n opacity: 0.3;\r\n }\r\n }\r\n @media (prefers-reduced-motion: reduce) {.sbw-live-dot.svelte-1312f6m {\r\n animation: none;}\r\n }.sbw-panel.svelte-1312f6m {display:flex;flex-direction:column;gap:10px;margin:0 20px 20px;padding:16px;border:1px solid #e4e7ec;border-radius:var(--sbw-radius, 10px);}.sbw-panel-heading.svelte-1312f6m {display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#252525;}.sbw-panel-amount.svelte-1312f6m {font-size:22px;font-weight:500;color:var(--brand-navy, #16365b);}.sbw-panel-note.svelte-1312f6m {font-size:12px;color:#252525;line-height:1.6;margin:0;}.sbw-card.svelte-1312f6m {padding:14px;border-radius:12px;border:1px solid #e4e7ec;background:#fff;}.sbw-facts-heading.svelte-1312f6m {padding:0 20px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#252525;}.sbw-facts.svelte-1312f6m {display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:10px 0 0;padding:0 20px 20px;}.sbw-facts.svelte-1312f6m dt:where(.svelte-1312f6m) {font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#666;}.sbw-facts.svelte-1312f6m dd:where(.svelte-1312f6m) {margin:2px 0 0;font-size:15px;color:var(--brand-navy, #16365b);overflow-wrap:anywhere;}.sbw-view-actions.svelte-1312f6m {display:flex;flex-wrap:wrap;gap:12px;padding:0 20px 20px;}\r\n /* Buttons mirror StepNav's Back/Next. The primary one is :global so\r\n ContractSection's Agree button picks up the same variant styling. */.sbw-btn-secondary.svelte-1312f6m {height:52px;padding:0 24px;border-radius:var(--sbw-radius, 10px);border:1px solid rgba(37, 37, 37, 0.15);background:transparent;color:var(--brand-navy, #16365b);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;}.sbw-btn-secondary.svelte-1312f6m:hover:not(:disabled) {background:#fafafa;}.sbw-view.svelte-1312f6m .sbw-btn-primary {height:56px;border-radius:var(--sbw-radius, 10px);border:none;background:var(--brand-gold, #c9a86b);color:var(--brand-navy, #16365b);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;}.sbw-view.svelte-1312f6m .sbw-btn-primary:hover:not(:disabled) {background:var(--brand-navy, #16365b);color:#fff;}.sbw-btn-secondary.svelte-1312f6m:disabled,\r\n .sbw-view.svelte-1312f6m .sbw-btn-primary:disabled {opacity:0.4;cursor:not-allowed;}\r\n /* 'dark' variant (Fox/Pevero): flush corners, solid ink, gold on hover. */.sbw-variant-dark.svelte-1312f6m .sbw-btn-secondary:where(.svelte-1312f6m) {border-radius:0;color:var(--brand-ink, #252525);}.sbw-view.sbw-variant-dark.svelte-1312f6m .sbw-btn-primary {border-radius:0;background:var(--brand-ink, #252525);color:#fff;}.sbw-view.sbw-variant-dark.svelte-1312f6m .sbw-btn-primary:hover:not(:disabled) {background:var(--brand-gold, #c9a86b);color:var(--brand-ink, #252525);}"
12700
+ code: ".sbw-view.svelte-1312f6m {display:flex;flex-direction:column;color:var(--brand-ink, #252525);}.sbw-view-loading.svelte-1312f6m {padding:32px 20px;font-size:14px;text-align:center;color:#666;}.sbw-view-error.svelte-1312f6m {margin:0 20px 16px;font-size:14px;color:#cc4949;}.sbw-view-error-first.svelte-1312f6m {margin-top:24px;}\r\n /* Hero: the 0.4 SentStep panel, one state per OTA status (+ expired). */.sbw-hero.svelte-1312f6m {display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 20px;}.sbw-hero-icon.svelte-1312f6m {width:56px;height:56px;border-radius:999px;background:var(--brand-gold, #c9a86b);color:var(--brand-navy, #16365b);display:flex;align-items:center;justify-content:center;}.sbw-hero-ok.svelte-1312f6m .sbw-hero-icon:where(.svelte-1312f6m) {background:#1f9d55;color:#fff;}.sbw-hero-bad.svelte-1312f6m .sbw-hero-icon:where(.svelte-1312f6m) {background:#cc4949;color:#fff;}.sbw-hero-eyebrow.svelte-1312f6m {font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand-gold, #c9a86b);}.sbw-hero-ok.svelte-1312f6m .sbw-hero-eyebrow:where(.svelte-1312f6m) {color:#1f9d55;}.sbw-hero-bad.svelte-1312f6m .sbw-hero-eyebrow:where(.svelte-1312f6m) {color:#cc4949;}.sbw-hero-title.svelte-1312f6m {font-size:32px;font-weight:400;text-transform:uppercase;color:var(--brand-navy, #16365b);margin:0;}.sbw-hero-body.svelte-1312f6m {font-size:14px;color:#252525;max-width:420px;line-height:1.7;margin:0;}.sbw-hero-live.svelte-1312f6m {display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#666;}.sbw-live-dot.svelte-1312f6m {width:8px;height:8px;border-radius:999px;background:var(--brand-gold, #c9a86b);\r\n animation: svelte-1312f6m-sbw-pulse 1.6s ease-in-out infinite;}\r\n @keyframes svelte-1312f6m-sbw-pulse {\r\n 50% {\r\n opacity: 0.3;\r\n }\r\n }\r\n @media (prefers-reduced-motion: reduce) {.sbw-live-dot.svelte-1312f6m {\r\n animation: none;}\r\n }.sbw-panel.svelte-1312f6m {display:flex;flex-direction:column;gap:10px;margin:0 20px 20px;padding:16px;border:1px solid #e4e7ec;border-radius:var(--sbw-radius, 10px);}.sbw-panel-heading.svelte-1312f6m {display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#252525;}.sbw-panel-amount.svelte-1312f6m {font-size:22px;font-weight:500;color:var(--brand-navy, #16365b);}.sbw-panel-note.svelte-1312f6m {font-size:12px;color:#252525;line-height:1.6;margin:0;}.sbw-card.svelte-1312f6m {padding:14px;border-radius:12px;border:1px solid #e4e7ec;background:#fff;}.sbw-facts-heading.svelte-1312f6m {padding:0 20px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#252525;}.sbw-facts.svelte-1312f6m {display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:10px 0 0;padding:0 20px 20px;}.sbw-facts.svelte-1312f6m dt:where(.svelte-1312f6m) {font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#666;}.sbw-facts.svelte-1312f6m dd:where(.svelte-1312f6m) {margin:2px 0 0;font-size:15px;color:var(--brand-navy, #16365b);overflow-wrap:anywhere;}.sbw-view-actions.svelte-1312f6m {display:flex;flex-wrap:wrap;gap:12px;padding:0 20px 20px;}\r\n /* Buttons mirror StepNav's Back/Next. The primary one is :global so\r\n ContractSection's Agree button picks up the same variant styling. */.sbw-btn-secondary.svelte-1312f6m {height:52px;padding:0 24px;border-radius:var(--sbw-radius, 10px);border:1px solid rgba(37, 37, 37, 0.15);background:transparent;color:var(--brand-navy, #16365b);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;}.sbw-btn-secondary.svelte-1312f6m:hover:not(:disabled) {background:#fafafa;}.sbw-view.svelte-1312f6m .sbw-btn-primary {height:56px;border-radius:var(--sbw-radius, 10px);border:none;background:var(--brand-gold, #c9a86b);color:var(--brand-navy, #16365b);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;}.sbw-view.svelte-1312f6m .sbw-btn-primary:hover:not(:disabled) {background:var(--brand-navy, #16365b);color:#fff;}.sbw-btn-secondary.svelte-1312f6m:disabled,\r\n .sbw-view.svelte-1312f6m .sbw-btn-primary:disabled {opacity:0.4;cursor:not-allowed;}\r\n /* Cancel confirmation: DocumentsStep's sign-in dialog, with this view's buttons. */.sbw-confirm.svelte-1312f6m {box-sizing:border-box;width:min(440px, calc(100vw - 40px));padding:32px;border:none;border-radius:var(--sbw-radius, 10px);background:#fff;color:var(--brand-ink, #252525);text-align:center;box-shadow:0 24px 64px rgba(0, 0, 0, 0.35);}.sbw-confirm[open].svelte-1312f6m {\r\n animation: svelte-1312f6m-sbw-confirm-in 0.35s ease-out;}.sbw-confirm.svelte-1312f6m::backdrop {background:rgba(5, 4, 15, 0.55);backdrop-filter:blur(3px);}\r\n @keyframes svelte-1312f6m-sbw-confirm-in {\r\n from {\r\n opacity: 0;\r\n transform: translateY(12px);\r\n }\r\n }\r\n @media (prefers-reduced-motion: reduce) {.sbw-confirm[open].svelte-1312f6m {\r\n animation: none;}\r\n }.sbw-confirm-title.svelte-1312f6m {margin:0 0 8px;font-size:22px;font-weight:600;line-height:1.2;color:var(--brand-navy, #16365b);}.sbw-confirm-body.svelte-1312f6m {margin:0 0 24px;font-size:14px;line-height:1.65;color:#666;}.sbw-confirm-actions.svelte-1312f6m {display:flex;flex-wrap:wrap;gap:12px;}\r\n /* .sbw-view: outranks the :global primary rule, so both buttons match. */.sbw-view.svelte-1312f6m .sbw-confirm-actions:where(.svelte-1312f6m) button:where(.svelte-1312f6m) {flex:1 1 150px;height:52px;padding:0 16px;font-size:12px;}.sbw-variant-dark.svelte-1312f6m .sbw-confirm:where(.svelte-1312f6m) {border-radius:0;}\r\n /* 'dark' variant (Fox/Pevero): flush corners, solid ink, gold on hover. */.sbw-variant-dark.svelte-1312f6m .sbw-btn-secondary:where(.svelte-1312f6m) {border-radius:0;color:var(--brand-ink, #252525);}.sbw-view.sbw-variant-dark.svelte-1312f6m .sbw-btn-primary {border-radius:0;background:var(--brand-ink, #252525);color:#fff;}.sbw-view.sbw-variant-dark.svelte-1312f6m .sbw-btn-primary:hover:not(:disabled) {background:var(--brand-gold, #c9a86b);color:var(--brand-ink, #252525);}"
12700
12701
  };
12701
12702
  function Ec(e, t) {
12702
12703
  Xe(t, !0), ai(e, Tc);
@@ -12775,8 +12776,9 @@ function Ec(e, t) {
12775
12776
  }
12776
12777
  await A();
12777
12778
  }
12778
- async function le() {
12779
- if (!(q(v) || !window.confirm(q(h).cancelConfirm))) {
12779
+ let le = /* @__PURE__ */ B(void 0);
12780
+ async function ue() {
12781
+ if (q(le)?.close(), !q(v)) {
12780
12782
  V(v, !0), V(_, null);
12781
12783
  try {
12782
12784
  await Vo(n(), r(), i()), se();
@@ -12788,31 +12790,31 @@ function Ec(e, t) {
12788
12790
  await A();
12789
12791
  }
12790
12792
  }
12791
- async function ue() {
12793
+ async function de() {
12792
12794
  q(v) || (V(v, !0), q(p)?.booking.status === "hold" && await Vo(n(), r(), i()).catch(() => {}), se(), V(v, !1), d()?.());
12793
12795
  }
12794
- async function de() {
12796
+ async function fe() {
12795
12797
  try {
12796
12798
  let e = (await Promise.resolve().then(() => /* @__PURE__ */ u(lc()))).default;
12797
12799
  if (E) return;
12798
12800
  let t = new e.Realtime({ authCallback: (e, t) => {
12799
12801
  Wo(n(), r(), i()).then((e) => {
12800
12802
  if (e) return t(null, e);
12801
- t("Live updates are not configured", null), fe();
12803
+ t("Live updates are not configured", null), pe();
12802
12804
  }, (e) => t(k(e), null));
12803
12805
  } });
12804
- D = t, t.connection.on(["failed", "suspended"], () => fe()), t.channels.get(`marina-booking:${i().id}`).subscribe("updated", () => void A()).catch(() => fe());
12806
+ D = t, t.connection.on(["failed", "suspended"], () => pe()), t.channels.get(`marina-booking:${i().id}`).subscribe("updated", () => void A()).catch(() => pe());
12805
12807
  } catch {
12806
- fe();
12808
+ pe();
12807
12809
  }
12808
12810
  }
12809
- function fe() {
12811
+ function pe() {
12810
12812
  D?.close(), D = null, !(E || O) && (O = setInterval(() => {
12811
12813
  !document.hidden && q(p) && so(q(p).booking.status, q(p).booking.cardHold) && A();
12812
12814
  }, 3e4));
12813
12815
  }
12814
12816
  qr(() => {
12815
- A(), de();
12817
+ A(), fe();
12816
12818
  let e = () => {
12817
12819
  document.visibilityState === "visible" && A();
12818
12820
  };
@@ -12820,7 +12822,7 @@ function Ec(e, t) {
12820
12822
  E = !0, document.removeEventListener("visibilitychange", e), clearInterval(O), D?.close(), se();
12821
12823
  };
12822
12824
  });
12823
- var pe = {
12825
+ var me = {
12824
12826
  get apiOrigin() {
12825
12827
  return n();
12826
12828
  },
@@ -12875,9 +12877,9 @@ function Ec(e, t) {
12875
12877
  set onstartover(e) {
12876
12878
  d(e), z();
12877
12879
  }
12878
- }, me = wc();
12879
- let he;
12880
- var ge = H(me), _e = (e) => {
12880
+ }, he = wc();
12881
+ let ge;
12882
+ var _e = H(he), ve = (e) => {
12881
12883
  var t = Fr(), n = hn(t), r = (e) => {
12882
12884
  var t = dc(), n = hn(t), r = H(n, !0);
12883
12885
  P(n);
@@ -12887,7 +12889,7 @@ function Ec(e, t) {
12887
12889
  var t = uc(), n = H(t, !0);
12888
12890
  P(t), W(() => {
12889
12891
  t.disabled = q(v), Z(n, q(h).startOver);
12890
- }), Tr("click", t, ue), X(e, t);
12892
+ }), Tr("click", t, de), X(e, t);
12891
12893
  };
12892
12894
  Q(s, (e) => {
12893
12895
  d() && e(c);
@@ -12901,7 +12903,7 @@ function Ec(e, t) {
12901
12903
  Q(n, (e) => {
12902
12904
  q(g) ? e(r) : e(i, -1);
12903
12905
  }), X(e, t);
12904
- }, ve = (e) => {
12906
+ }, ye = (e) => {
12905
12907
  let t = /* @__PURE__ */ I(() => q(p).booking), a = /* @__PURE__ */ I(() => q(t).expired || q(y) ? "expired" : q(t).status);
12906
12908
  var s = Cc(), c = hn(s);
12907
12909
  let l;
@@ -12929,7 +12931,7 @@ function Ec(e, t) {
12929
12931
  Q(ae, (e) => {
12930
12932
  q(a) === "pending" && e(oe);
12931
12933
  }), P(c);
12932
- var se = U(c, 2), de = (e) => {
12934
+ var se = U(c, 2), fe = (e) => {
12933
12935
  var n = _c(), r = H(n), i = H(r), a = H(i, !0);
12934
12936
  P(i);
12935
12937
  var s = U(i, 2), c = H(s);
@@ -12944,7 +12946,7 @@ function Ec(e, t) {
12944
12946
  P(g), P(n), W((e, t) => {
12945
12947
  Z(a, q(h).paymentHold), Z(c, `${q(h).total ?? ""} ${e ?? ""}`), Z(u, q(h).paymentNote), Z(f, t), g.disabled = q(v) || !q(x), Z(_, q(v) ? q(h).sending : q(h).payAndSend);
12946
12948
  }, [() => co(q(t).totalPrice, q(t).currency, o(), q(m)), () => q(h).holdUntil(ie(q(t).holdExpiresAt))]), Tr("click", g, ce), X(e, n);
12947
- }, fe = (e) => {
12949
+ }, pe = (e) => {
12948
12950
  var n = vc(), r = H(n), i = H(r), a = H(i, !0);
12949
12951
  P(i), P(r);
12950
12952
  var o = U(r, 2), s = H(o, !0);
@@ -12955,7 +12957,7 @@ function Ec(e, t) {
12955
12957
  P(u), P(n), W((e) => {
12956
12958
  Z(a, q(h).paymentHold), Z(s, q(h).paymentUnavailable), Z(l, e), Z(d, q(h).retry);
12957
12959
  }, [() => q(h).holdUntil(ie(q(t).holdExpiresAt))]), Tr("click", u, () => A()), X(e, n);
12958
- }, pe = (e) => {
12960
+ }, me = (e) => {
12959
12961
  var n = yc(), r = H(n), i = H(r), a = H(i, !0);
12960
12962
  P(i), P(r);
12961
12963
  var o = U(r, 2), s = H(o, !0);
@@ -12964,27 +12966,27 @@ function Ec(e, t) {
12964
12966
  }, [() => q(h).checkEmailBody(ie(q(t).holdExpiresAt))]), X(e, n);
12965
12967
  };
12966
12968
  Q(se, (e) => {
12967
- q(a) === "hold" && q(b) ? e(de) : q(a) === "hold" && !q(p).payment && q(t).cardHold ? e(fe, 1) : q(a) === "hold" && !q(p).payment && e(pe, 2);
12969
+ q(a) === "hold" && q(b) ? e(fe) : q(a) === "hold" && !q(p).payment && q(t).cardHold ? e(pe, 1) : q(a) === "hold" && !q(p).payment && e(me, 2);
12968
12970
  });
12969
- var me = U(se, 2), he = H(me, !0);
12970
- P(me);
12971
- var ge = U(me, 2), _e = H(ge), ve = H(_e), ye = H(ve, !0);
12972
- P(ve);
12973
- var be = U(ve), xe = H(be);
12974
- P(be), P(_e);
12975
- var Se = U(_e, 2), Ce = H(Se), we = H(Ce, !0);
12976
- P(Ce);
12977
- var Te = U(Ce), Ee = H(Te);
12978
- P(Te), P(Se);
12979
- var j = U(Se, 2), De = H(j), Oe = H(De, !0);
12980
- P(De);
12981
- var ke = U(De, 2), Ae = H(ke, !0);
12982
- P(ke), P(j);
12983
- var je = U(j, 2), Me = H(je), Ne = H(Me, !0);
12984
- P(Me);
12985
- var Pe = U(Me), Fe = H(Pe, !0);
12986
- P(Pe), P(je);
12987
- var Ie = U(je, 2), Le = (e) => {
12971
+ var he = U(se, 2), ge = H(he, !0);
12972
+ P(he);
12973
+ var _e = U(he, 2), ve = H(_e), ye = H(ve), be = H(ye, !0);
12974
+ P(ye);
12975
+ var xe = U(ye), Se = H(xe);
12976
+ P(xe), P(ve);
12977
+ var Ce = U(ve, 2), we = H(Ce), Te = H(we, !0);
12978
+ P(we);
12979
+ var Ee = U(we), j = H(Ee);
12980
+ P(Ee), P(Ce);
12981
+ var De = U(Ce, 2), Oe = H(De), ke = H(Oe, !0);
12982
+ P(Oe);
12983
+ var Ae = U(Oe, 2), je = H(Ae, !0);
12984
+ P(Ae), P(De);
12985
+ var Me = U(De, 2), Ne = H(Me), Pe = H(Ne, !0);
12986
+ P(Ne);
12987
+ var Fe = U(Ne), Ie = H(Fe, !0);
12988
+ P(Fe), P(Me);
12989
+ var Le = U(Me, 2), Re = (e) => {
12988
12990
  var n = bc(), r = H(n), i = H(r, !0);
12989
12991
  P(r);
12990
12992
  var a = U(r), o = H(a, !0);
@@ -12992,14 +12994,14 @@ function Ec(e, t) {
12992
12994
  Z(i, q(h).email), Z(o, q(t).contactEmail);
12993
12995
  }), X(e, n);
12994
12996
  };
12995
- Q(Ie, (e) => {
12996
- q(t).contactEmail && e(Le);
12997
+ Q(Le, (e) => {
12998
+ q(t).contactEmail && e(Re);
12997
12999
  });
12998
- var Re = U(Ie, 2), M = H(Re), ze = H(M, !0);
12999
- P(M);
13000
- var N = U(M, 2), Be = H(N, !0);
13001
- P(N), P(Re), P(ge);
13002
- var Ve = U(ge, 2), Ue = (e) => {
13000
+ var M = U(Le, 2), ze = H(M), N = H(ze, !0);
13001
+ P(ze);
13002
+ var Be = U(ze, 2), Ve = H(Be, !0);
13003
+ P(Be), P(M), P(_e);
13004
+ var Ue = U(_e, 2), We = (e) => {
13003
13005
  cc(e, {
13004
13006
  get apiOrigin() {
13005
13007
  return n();
@@ -13022,31 +13024,31 @@ function Ec(e, t) {
13022
13024
  onchange: A
13023
13025
  });
13024
13026
  };
13025
- Q(Ve, (e) => {
13026
- q(p).contract && (q(a) === "pending" || q(a) === "confirmed") && e(Ue);
13027
+ Q(Ue, (e) => {
13028
+ q(p).contract && (q(a) === "pending" || q(a) === "confirmed") && e(We);
13027
13029
  });
13028
- var We = U(Ve, 2), Ge = (e) => {
13030
+ var Ge = U(Ue, 2), Ke = (e) => {
13029
13031
  var t = xc(), n = H(t, !0);
13030
13032
  P(t), W(() => Z(n, q(_))), X(e, t);
13031
13033
  };
13032
- Q(We, (e) => {
13033
- q(_) && e(Ge);
13034
+ Q(Ge, (e) => {
13035
+ q(_) && e(Ke);
13034
13036
  });
13035
- var Ke = U(We, 2), qe = (e) => {
13037
+ var qe = U(Ge, 2), Je = (e) => {
13036
13038
  var t = uc(), n = H(t, !0);
13037
13039
  P(t), W(() => Z(n, q(h).retry)), Tr("click", t, () => {
13038
13040
  V(_, null), A();
13039
13041
  }), X(e, t);
13040
13042
  };
13041
- Q(Ke, (e) => {
13042
- q(te) && e(qe);
13043
+ Q(qe, (e) => {
13044
+ q(te) && e(Je);
13043
13045
  });
13044
- var Je = U(Ke, 2), Ye = (e) => {
13046
+ var Ye = U(qe, 2), Xe = (e) => {
13045
13047
  var t = Sc(), n = H(t), r = (e) => {
13046
13048
  var t = uc(), n = H(t, !0);
13047
13049
  P(t), W(() => {
13048
13050
  t.disabled = q(v), Z(n, q(h).cancelBooking);
13049
- }), Tr("click", t, le), X(e, t);
13051
+ }), Tr("click", t, () => q(le)?.showModal()), X(e, t);
13050
13052
  };
13051
13053
  Q(n, (e) => {
13052
13054
  (q(a) === "hold" || q(a) === "pending") && e(r);
@@ -13055,29 +13057,37 @@ function Ec(e, t) {
13055
13057
  var t = uc(), n = H(t, !0);
13056
13058
  P(t), W(() => {
13057
13059
  t.disabled = q(v), Z(n, q(h).startOver);
13058
- }), Tr("click", t, ue), X(e, t);
13060
+ }), Tr("click", t, de), X(e, t);
13059
13061
  };
13060
13062
  Q(i, (e) => {
13061
13063
  d() && e(o);
13062
13064
  }), P(t), X(e, t);
13063
13065
  };
13064
- Q(Je, (e) => {
13065
- (q(a) === "hold" || q(a) === "pending" || d()) && e(Ye);
13066
- }), W((e, n, r, i) => {
13066
+ Q(Ye, (e) => {
13067
+ (q(a) === "hold" || q(a) === "pending" || d()) && e(Xe);
13068
+ });
13069
+ var Ze = U(Ye, 2), Qe = H(Ze), $e = H(Qe, !0);
13070
+ P(Qe);
13071
+ var et = U(Qe, 2), tt = H(et, !0);
13072
+ P(et);
13073
+ var nt = U(et, 2), rt = H(nt), it = H(rt, !0);
13074
+ P(rt);
13075
+ var at = U(rt, 2), ot = H(at, !0);
13076
+ P(at), P(nt), P(Ze), Ai(Ze, (e) => V(le, e), () => q(le)), W((e, n, r, i) => {
13067
13077
  l = fi(c, 1, "sbw-hero svelte-1312f6m", null, l, {
13068
13078
  "sbw-hero-ok": q(a) === "confirmed",
13069
13079
  "sbw-hero-bad": q(a) === "declined" || q(a) === "cancelled" || q(a) === "expired"
13070
- }), Z(ne, q(h).hero[q(a)].eyebrow), Z(D, q(h).hero[q(a)].title), Z(k, q(h).hero[q(a)].body), Z(he, q(h).detailsHeading), Z(ye, q(h).berth), Z(xe, `${q(t).berthLabel ?? ""} · ${q(t).marinaName ?? ""}`), Z(we, q(h).dates), Z(Ee, `${e ?? ""} – ${n ?? ""}`), Z(Oe, q(h).boat), Z(Ae, r), Z(Ne, q(h).skipperName), Z(Fe, q(t).contactName), Z(ze, q(h).total), Z(Be, i);
13080
+ }), Z(ne, q(h).hero[q(a)].eyebrow), Z(D, q(h).hero[q(a)].title), Z(k, q(h).hero[q(a)].body), Z(ge, q(h).detailsHeading), Z(be, q(h).berth), Z(Se, `${q(t).berthLabel ?? ""} · ${q(t).marinaName ?? ""}`), Z(Te, q(h).dates), Z(j, `${e ?? ""} – ${n ?? ""}`), Z(ke, q(h).boat), Z(je, r), Z(Pe, q(h).skipperName), Z(Ie, q(t).contactName), Z(N, q(h).total), Z(Ve, i), Z($e, q(h).cancelBooking), Z(tt, q(h).cancelConfirm), Z(it, q(h).keepBooking), Z(ot, q(h).cancelBooking);
13071
13081
  }, [
13072
13082
  () => re(q(t).arrival),
13073
13083
  () => re(q(t).departure),
13074
13084
  () => [q(t).boatName, q(t).boatLengthM == null ? null : `${q(t).boatLengthM} m`].filter(Boolean).join(" · "),
13075
13085
  () => q(t).totalPrice == null ? q(h).priceOnRequest : co(q(t).totalPrice, q(t).currency, o(), q(m))
13076
- ]), X(e, s);
13086
+ ]), Tr("click", rt, () => q(le)?.close()), Tr("click", at, ue), X(e, s);
13077
13087
  };
13078
- return Q(ge, (e) => {
13079
- q(p) ? e(ve, -1) : e(_e);
13080
- }), P(me), W(() => he = fi(me, 1, "sbw-view svelte-1312f6m", null, he, { "sbw-variant-dark": s() === "dark" })), X(e, me), Ze(pe);
13088
+ return Q(_e, (e) => {
13089
+ q(p) ? e(ye, -1) : e(ve);
13090
+ }), P(he), W(() => ge = fi(he, 1, "sbw-view svelte-1312f6m", null, ge, { "sbw-variant-dark": s() === "dark" })), X(e, he), Ze(me);
13081
13091
  }
13082
13092
  Er(["click"]), Ii(Ec, {
13083
13093
  apiOrigin: {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgebuild/sidon-booking-widget",
3
- "version": "4.1.4",
3
+ "version": "4.1.5",
4
4
  "description": "Berth booking and berth map custom elements for marinas on OTA, plus an Astro forwarder route and server client.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",