@code-collective/booking-widget 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,10 @@ Drop in a script tag and use the custom elements directly. No framework or npm i
8
8
 
9
9
  ```html
10
10
  <head>
11
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@latest/dist/booking-widget.min.css" />
11
+ <link rel="stylesheet"
12
+ href="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@1.0.2/dist/booking-widget.min.css"
13
+ integrity="sha384-Chz7xKNGRdJXbNwkaJzy45I9DiwPStkzNQV9VgWMNKgnlHCpgnhbiukEJEtbHt+v"
14
+ crossorigin="anonymous" />
12
15
  </head>
13
16
  <body>
14
17
  <bw-configurator product-id="your-product-id" checkout-key="your-checkout-key"></bw-configurator>
@@ -16,10 +19,15 @@ Drop in a script tag and use the custom elements directly. No framework or npm i
16
19
  <bw-cart display="bar"></bw-cart>
17
20
  <bw-checkout></bw-checkout>
18
21
 
19
- <script src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@latest/dist/booking-widget.min.js"></script>
22
+ <script
23
+ src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@1.0.2/dist/booking-widget.min.js"
24
+ integrity="sha384-y2Ncw7PWI9NxiwKR0nhDk+ddkYmUyl+kxFyU+B4eDXWt3bfcMk1CRVTXXUwhTgJd"
25
+ crossorigin="anonymous"></script>
20
26
  </body>
21
27
  ```
22
28
 
29
+ > **Note:** Pin to a specific version (e.g. `@1.0.0`) when using SRI. The hashes change with every release. Run `npm run build:elements` to see the current hashes.
30
+
23
31
  The script auto-wires the elements together:
24
32
  - Adding an item shows the cart and opens the checkout overlay
25
33
  - Clicking checkout in the cart opens the overlay
@@ -65,7 +73,9 @@ Set `window.bwOptions` before the widget script loads:
65
73
  wizardPages: '',
66
74
  };
67
75
  </script>
68
- <script src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@latest/dist/booking-widget.min.js"></script>
76
+ <script src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@1.0.2/dist/booking-widget.min.js"
77
+ integrity="sha384-y2Ncw7PWI9NxiwKR0nhDk+ddkYmUyl+kxFyU+B4eDXWt3bfcMk1CRVTXXUwhTgJd"
78
+ crossorigin="anonymous"></script>
69
79
  ```
70
80
 
71
81
  | Option | Default | Description |
@@ -195,8 +205,14 @@ const product = await getProduct(Astro.params.slug);
195
205
  <bw-cart display="bar" checkout-key={product.checkoutKey}></bw-cart>
196
206
  <bw-checkout checkout-key={product.checkoutKey}></bw-checkout>
197
207
 
198
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@latest/dist/booking-widget.min.css" />
199
- <script is:inline src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@latest/dist/booking-widget.min.js"></script>
208
+ <link rel="stylesheet"
209
+ href="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@1.0.2/dist/booking-widget.min.css"
210
+ integrity="sha384-Chz7xKNGRdJXbNwkaJzy45I9DiwPStkzNQV9VgWMNKgnlHCpgnhbiukEJEtbHt+v"
211
+ crossorigin="anonymous" />
212
+ <script is:inline
213
+ src="https://cdn.jsdelivr.net/npm/@code-collective/booking-widget@1.0.2/dist/booking-widget.min.js"
214
+ integrity="sha384-y2Ncw7PWI9NxiwKR0nhDk+ddkYmUyl+kxFyU+B4eDXWt3bfcMk1CRVTXXUwhTgJd"
215
+ crossorigin="anonymous"></script>
200
216
  ```
201
217
 
202
218
  ### Svelte island approach
@@ -0,0 +1,2 @@
1
+ :root{--bw-color-primary:var(--header-background,#e30613);--bw-color-primary-dark:var(--footer-background,#c00510);--bw-color-primary-light:#e3061314;--bw-color-text:#212121;--bw-color-text-secondary:#757575;--bw-color-border:#e0e0e0;--bw-color-bg:#fff;--bw-color-surface:#f5f5f5;--bw-color-success:#4caf50;--bw-color-error:var(--header-background,#e30613);--bw-font-family:var(--default-font-family,"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--bw-radius-sm:4px;--bw-radius-md:var(--radius,8px);--bw-radius-lg:12px;--bw-radius-pill:9999px;--bw-transition:.15s ease;--bw-shadow-1:0 1px 3px #0000001a, 0 1px 2px #0000000f;--bw-shadow-2:0 4px 12px #00000014, 0 2px 4px #0000000a;--bw-shadow-3:0 10px 24px #0000001a, 0 4px 8px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--bw-font-family);color:var(--bw-color-text);background:var(--bw-color-bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--bw-color-border);border-top-color:var(--bw-color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.loading-center{flex:1;justify-content:center;align-items:center;min-height:120px;display:flex}.page-header{border-bottom:1px solid var(--bw-color-border);background:var(--bw-color-bg);align-items:center;gap:8px;padding:12px 16px;display:flex}.page-header h2{letter-spacing:-.01em;font-size:18px;font-weight:700}.page-header .spacer{flex:1}.icon-btn{border-radius:var(--bw-radius-pill);width:36px;height:36px;color:var(--bw-color-text);transition:background var(--bw-transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex}.icon-btn:hover{background:var(--bw-color-surface)}.card{background:var(--bw-color-bg);border:1px solid var(--bw-color-border);border-radius:var(--bw-radius-lg);transition:border-color var(--bw-transition);padding:16px}.card-selectable{cursor:pointer;text-align:left}.card-selectable:hover{border-color:var(--bw-color-text)}.card-selected{border-color:var(--bw-color-text);border-width:2px}.action-bar{border-top:1px solid var(--bw-color-border);background:var(--bw-color-bg);z-index:10;flex-shrink:0;gap:10px;padding:12px 16px;display:flex;position:sticky;bottom:0}.action-bar .btn-secondary{border:1px solid var(--bw-color-border);background:var(--bw-color-bg);height:48px;padding:0 20px}.action-bar .btn-primary{flex:1;height:48px;font-size:16px;font-weight:700;position:relative}.action-bar .btn-primary .arrow{font-size:20px;position:absolute;right:16px}.btn{border-radius:var(--bw-radius-md);transition:background var(--bw-transition), box-shadow var(--bw-transition), opacity var(--bw-transition);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.btn-primary{background:var(--bw-color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--bw-color-primary-dark);box-shadow:var(--bw-shadow-1)}.btn-secondary{background:var(--bw-color-bg);color:var(--bw-color-text)}.btn-secondary:hover:not(:disabled){background:var(--bw-color-border)}.btn-outline{border:1px solid var(--bw-color-primary);color:var(--bw-color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--bw-color-primary-light)}.btn-split{justify-content:space-between;padding:0 20px}.input{border:1px solid var(--bw-color-border);border-radius:var(--bw-radius-md);width:100%;transition:border-color var(--bw-transition), box-shadow var(--bw-transition);outline:none;padding:10px 12px;font-size:14px}.input:focus{border-color:var(--bw-color-primary);box-shadow:0 0 0 3px var(--bw-color-primary-light)}.input-error{border-color:var(--bw-color-error);background:#fef2f2}.input-error:focus{box-shadow:0 0 0 3px #e306131f}.section-title{color:var(--bw-color-text-secondary);margin-bottom:12px;font-size:14px;font-weight:400}
2
+ /*$vite$:1*/
@@ -0,0 +1,9 @@
1
+ (function(){var e=/\{[^{}]+\}/g,t=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function n(){return Math.random().toString(36).slice(2,11)}function r(e){let{baseUrl:r=``,Request:i=globalThis.Request,fetch:a=globalThis.fetch,querySerializer:o,bodySerializer:p,pathSerializer:m,headers:h,requestInitExt:g=void 0,..._}={...e};g=t()?g:void 0,r=f(r);let v=[];async function y(e,t){let{baseUrl:y,fetch:b=a,Request:x=i,headers:S,params:C={},parseAs:ee=`json`,querySerializer:te,bodySerializer:ne=p??l,pathSerializer:re,body:ie,middleware:ae=[],...w}=t||{},oe=r;y&&(oe=f(y)??r);let se=typeof o==`function`?o:s(o);te&&(se=typeof te==`function`?te:s({...typeof o==`object`?o:{},...te}));let ce=re||m||c,le=ie===void 0?void 0:ne(ie,d(h,S,C.header)),ue=d(le===void 0||le instanceof FormData?{}:{"Content-Type":`application/json`},h,S,C.header),de=[...v,...ae],fe={redirect:`follow`,..._,...w,body:le,headers:ue},pe,me,he=new x(u(e,{baseUrl:oe,params:C,querySerializer:se,pathSerializer:ce}),fe),T;for(let e in w)e in he||(he[e]=w[e]);if(de.length){pe=n(),me=Object.freeze({baseUrl:oe,fetch:b,parseAs:ee,querySerializer:se,bodySerializer:ne,pathSerializer:ce});for(let t of de)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:he,schemaPath:e,params:C,options:me,id:pe});if(n){if(n instanceof x)he=n;else if(n instanceof Response){T=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}}if(!T){try{T=await b(he,g)}catch(t){let n=t;if(de.length)for(let t=de.length-1;t>=0;t--){let r=de[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:he,error:n,schemaPath:e,params:C,options:me,id:pe});if(t){if(t instanceof Response){n=void 0,T=t;break}if(t instanceof Error){n=t;continue}throw Error(`onError: must return new Response() or instance of Error`)}}}if(n)throw n}if(de.length)for(let t=de.length-1;t>=0;t--){let n=de[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:he,response:T,schemaPath:e,params:C,options:me,id:pe});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);T=t}}}}let ge=T.headers.get(`Content-Length`);if(T.status===204||he.method===`HEAD`||ge===`0`&&!T.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return T.ok?{data:void 0,response:T}:{error:void 0,response:T};if(T.ok)return{data:await(async()=>{if(ee===`stream`)return T.body;if(ee===`json`&&!ge){let e=await T.text();return e?JSON.parse(e):void 0}return await T[ee]()})(),response:T};let _e=await T.text();try{_e=JSON.parse(_e)}catch{}return{error:_e,response:T}}return{request(e,t,n){return y(t,{...n,method:e.toUpperCase()})},GET(e,t){return y(e,{...t,method:`GET`})},PUT(e,t){return y(e,{...t,method:`PUT`})},POST(e,t){return y(e,{...t,method:`POST`})},DELETE(e,t){return y(e,{...t,method:`DELETE`})},OPTIONS(e,t){return y(e,{...t,method:`OPTIONS`})},HEAD(e,t){return y(e,{...t,method:`HEAD`})},PATCH(e,t){return y(e,{...t,method:`PATCH`})},TRACE(e,t){return y(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t||`onError`in t))throw Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");v.push(t)}},eject(...e){for(let t of e){let e=v.indexOf(t);e!==-1&&v.splice(e,1)}}}}function i(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function a(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],a={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let a in t){let o=n.style===`deepObject`?`${e}[${a}]`:a;r.push(i(o,t[a],n))}let o=r.join(a);return n.style===`label`||n.style===`matrix`?`${a}${o}`:o}function o(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,a=[];for(let r of t)n.style===`simple`||n.style===`label`?a.push(n.allowReserved===!0?r:encodeURIComponent(r)):a.push(i(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${a.join(r)}`:a.join(r)}function s(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let s=t[r];if(s!=null){if(Array.isArray(s)){if(s.length===0)continue;n.push(o(r,s,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof s==`object`){n.push(a(r,s,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(i(r,s,e))}}return n.join(`&`)}}function c(t,n){let r=t;for(let s of t.match(e)??[]){let e=s.substring(1,s.length-1),t=!1,c=`simple`;if(e.endsWith(`*`)&&(t=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(c=`label`,e=e.substring(1)):e.startsWith(`;`)&&(c=`matrix`,e=e.substring(1)),!n||n[e]===void 0||n[e]===null)continue;let l=n[e];if(Array.isArray(l)){r=r.replace(s,o(e,l,{style:c,explode:t}));continue}if(typeof l==`object`){r=r.replace(s,a(e,l,{style:c,explode:t}));continue}if(c===`matrix`){r=r.replace(s,`;${i(e,l)}`);continue}r=r.replace(s,c===`label`?`.${encodeURIComponent(l)}`:encodeURIComponent(l))}return r}function l(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get(`Content-Type`)??t.get(`content-type`):t[`Content-Type`]??t[`content-type`])===`application/x-www-form-urlencoded`?new URLSearchParams(e).toString():JSON.stringify(e)}function u(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function d(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function f(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}function p(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function m(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function h(e){let t=e.match(/\d{4}-\d{2}-\d{2}/);return t?t[0]:null}function g(e){let t=[];for(let n of e)for(let e=0;e<n.quantity;e++)t.push({unitId:n.unitId});return t}var _=class{sessionToken=``;cartToken=``;client;constructor(e){this.client=r({baseUrl:e}),this.client.use({onRequest:({request:e})=>(e.headers.set(`Origin`,window.location.origin),this.sessionToken&&e.headers.set(`Morii-Checkout-Session`,this.sessionToken),this.cartToken&&e.headers.set(`Morii-Checkout-Cart`,this.cartToken),e)})}unwrap(e){if(e.data===void 0)throw Error(`API error ${e.response.status}`);return e.data}async startSession(e){let t=this.unwrap(await this.client.POST(`/v1/checkout/session`,{body:{checkoutKey:e}}));return this.sessionToken=t.sessionToken??``,t}async refreshSession(){let e=this.unwrap(await this.client.POST(`/v1/checkout/session/refresh`));return this.sessionToken=e.sessionToken??``,e}async getProduct(e){return this.unwrap(await this.client.GET(`/v1/checkout/products/{productId}`,{params:{path:{productId:e}}}))}async getAvailabilityCalendar(e,t){let n=new Date,r=new Date(n);r.setDate(r.getDate()+90);let i=this.unwrap(await this.client.POST(`/v1/checkout/availability/calendar`,{body:{productId:e,optionId:t,localDateStart:p(n),localDateEnd:p(r)}})),a={};for(let e of i)a[e.localDate]=e;return a}async getAvailability(e,t,n){return this.unwrap(await this.client.POST(`/v1/checkout/availability`,{body:{productId:e,optionId:t,localDate:n}}))}async createCart(){let e=this.unwrap(await this.client.POST(`/v1/checkout/cart`));return this.cartToken=e.cartToken??``,e}async getCart(){return this.unwrap(await this.client.GET(`/v1/checkout/cart`))}async addCartItem(e){return this.unwrap(await this.client.POST(`/v1/checkout/cart/items`,{body:e}))}async updateCartItem(e,t){return this.unwrap(await this.client.PATCH(`/v1/checkout/cart/items/{itemId}`,{params:{path:{itemId:e}},body:t}))}async removeCartItem(e){let t=await this.client.DELETE(`/v1/checkout/cart/items/{itemId}`,{params:{path:{itemId:e}}});if(t.response.status>=400)throw Error(`API error ${t.response.status}`)}async payCart(e){return this.unwrap(await this.client.POST(`/v1/checkout/cart/pay`,{body:{contact:e}}))}async confirmCart(){return this.unwrap(await this.client.POST(`/v1/checkout/cart/confirm`))}},v={id:`unit_adult`,type:`ADULT`,title:`Adult`,restrictions:{minAge:12,maxAge:100},pricing:[{retail:76500,currency:`ZAR`,currencyPrecision:2}]},y={id:`unit_child`,type:`CHILD`,title:`Junior`,restrictions:{minAge:2,maxAge:11},pricing:[{retail:49500,currency:`ZAR`,currencyPrecision:2}]},b=[{id:`pickup_long_street`,title:`Long Street`,directions:`Corner of Long and Kloof Street, outside the Engen garage`,address:`186 Long St, Cape Town City Centre, 8001`,latitude:-33.9249,longitude:18.4167},{id:`pickup_camps_bay`,title:`Camps Bay`,directions:`At the main bus stop on Victoria Road`,address:`Victoria Rd, Camps Bay, Cape Town, 8005`,latitude:-33.9506,longitude:18.3782},{id:`pickup_sea_point_1`,title:`Sea Point Stop 1`,directions:`Outside Winchester Mansions, Beach Road`,address:`221 Beach Rd, Sea Point, Cape Town, 8005`,latitude:-33.9171,longitude:18.3889},{id:`pickup_va_waterfront`,title:`V&A Waterfront`,directions:`Two Oceans Aquarium bus bay, Dock Road`,address:`Dock Rd, V&A Waterfront, Cape Town, 8001`,latitude:-33.908,longitude:18.4178}];function x(e,t,n,r){return{id:e,internalName:t,title:n,description:r,units:[v,y],pickupAvailable:!0,pickupRequired:!0,pickupLocations:b}}var S={id:`241c39c3-9c76-4a6f-bb38-3a4f18d08a61`,internalName:`Franschhoek Wine Tram Xplorer Tour`,title:`Franschhoek Wine Tram Xplorer Tour`,description:`Explore the Franschhoek Wine Valley by heritage tram and open-top bus.`,options:[x(`option_blue_tram`,`BLUE Line - Tram then Bus`,`BLUE Line - Tram then Bus`,`Start your journey on the heritage tram through the vineyards, then transfer to the bus.`),x(`option_blue_bus`,`BLUE Line - Bus then Tram`,`BLUE Line - Bus then Tram`,`Begin with the hop-on bus route, then switch to the heritage tram.`),x(`option_pink_tram`,`PINK Line - Tram then Bus`,`PINK Line - Tram then Bus`,`Explore the PINK route starting on the tram through the winelands.`),x(`option_pink_bus`,`PINK Line - Bus then Tram`,`PINK Line - Bus then Tram`,`Explore the PINK route starting on the bus before switching to the tram.`),x(`option_red_tram`,`RED Line - Tram then Bus`,`RED Line - Tram then Bus`,`Ride the RED route beginning with the scenic tram leg.`),x(`option_red_bus`,`RED Line - Bus then Tram`,`RED Line - Bus then Tram`,`Take the RED route starting on the bus, then enjoy the tram.`),x(`option_green_bus`,`GREEN Line - Bus then Tram`,`GREEN Line - Bus then Tram`,`The GREEN route begins with a comfortable bus ride before the tram.`),x(`option_green_tram`,`GREEN Line - Tram then Bus`,`GREEN Line - Tram then Bus`,`The GREEN route begins with the heritage tram through the valley.`)]};function C(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function ee(e){let t=e.getDay();return t===0||t===6}function te(e){return e.getMonth()===9&&e.getDate()===31&&e.getFullYear()===2026}function ne(){return[{unitId:`unit_adult`,original:88500,retail:76500,net:65e3,currency:`ZAR`,currencyPrecision:2},{unitId:`unit_child`,original:49500,retail:49500,net:42e3,currency:`ZAR`,currencyPrecision:2}]}function re(){let e={},t=new Date;t.setHours(0,0,0,0);let n=0;for(let r=0;r<90;r++){let i=new Date(t);i.setDate(i.getDate()+r);let a=C(i);if(ee(i)){e[a]={localDate:a,available:!1,status:`CLOSED`,openingHours:null};continue}if(n++,n%5==0){e[a]={localDate:a,available:!1,status:`SOLD_OUT`,openingHours:[{from:`08:45`,to:`17:00`}],unitPricing:ne()};continue}if(te(i)){e[a]={localDate:a,available:!0,status:`AVAILABLE`,openingHours:null,unitPricing:ne()};continue}e[a]={localDate:a,available:!0,status:`AVAILABLE`,openingHours:[{from:`08:45`,to:`17:00`}],unitPricing:ne()}}return e}function ie(e){let t=C(e);return te(e)?[{id:`avail_${t}_allday`,localDateTimeStart:`${t}T00:00:00`,localDateTimeEnd:`${t}T23:59:59`,allDay:!0,available:!0,status:`AVAILABLE`,vacancies:50,utcCutoffAt:`${t}T22:00:00Z`,openingHours:null,unitPricing:ne()}]:[{id:`avail_${t}_0845`,localDateTimeStart:`${t}T08:45:00`,localDateTimeEnd:`${t}T17:00:00`,allDay:!1,available:!0,status:`AVAILABLE`,vacancies:24,utcCutoffAt:`${t}T06:45:00Z`,openingHours:[{from:`08:45`,to:`17:00`}],pickupAvailable:!0,pickupRequired:!0,unitPricing:ne()}]}function ae(e,t){return new Promise(n=>setTimeout(()=>n(t()),e))}function w(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var oe=`morii-checkout-cart`,se=`morii-checkout-cart-items`,ce=class{sessionToken=``;cartToken=``;cartItems=[];constructor(){this.loadCartFromStorage()||this.seedCart()}seedCart(){this.cartToken=`fake-cart-seeded`,this.cartItems=[{id:`00000000-0000-0000-0000-000000000001`,bookingUuid:`00000000-0000-0000-0000-aaaaaaaaaaaa`,request:{productId:S.id,optionId:`option_blue_tram`,unitItems:[{unitId:`unit_adult`},{unitId:`unit_adult`},{unitId:`unit_child`}],availabilityId:`avail_seeded`,amount:202500,currencyCode:`ZAR`,currencyPrecision:2}}],this.saveCartToStorage()}saveCartToStorage(){try{let e=new Date(new Date().getTime()+36e5);localStorage.setItem(oe,JSON.stringify({cartToken:this.cartToken,absoluteExpiresAt:e.toISOString()})),localStorage.setItem(se,JSON.stringify(this.cartItems))}catch{}}loadCartFromStorage(){try{let e=localStorage.getItem(oe),t=localStorage.getItem(se);if(!e||!t)return!1;let n=JSON.parse(e);return new Date(n.absoluteExpiresAt).getTime()<=Date.now()?!1:(this.cartToken=n.cartToken,this.cartItems=JSON.parse(t),!0)}catch{return!1}}async startSession(e){return ae(300,()=>{let e=new Date,t=new Date(e.getTime()+18e5),n=new Date(e.getTime()+12e5);return this.sessionToken=`fake-session-${w().slice(0,8)}`,{sessionToken:this.sessionToken,issuedAt:e.toISOString(),expiresAt:t.toISOString(),refreshAfter:n.toISOString(),octo:{basePath:`/v1/checkout/octo`,capabilities:`pricing,content,pickups`},supplier:{name:`Franschhoek Wine Tram`}}})}async refreshSession(){return this.startSession(``)}async getProduct(e){return ae(500,()=>({...S,id:e}))}async getAvailabilityCalendar(e,t){return ae(600,()=>re())}async getAvailability(e,t,n){return ae(400,()=>{let e=n.split(`-`).map(Number);return ie(new Date(e[0],e[1]-1,e[2]))})}async createCart(){return ae(300,()=>{let e=new Date,t=new Date(e.getTime()+9e5),n=new Date(e.getTime()+36e5);return this.cartToken&&this.cartItems.length>0?{cartToken:this.cartToken,issuedAt:e.toISOString(),idleExpiresAt:t.toISOString(),absoluteExpiresAt:n.toISOString()}:(this.cartToken=`fake-cart-${w().slice(0,8)}`,this.cartItems=[],this.saveCartToStorage(),{cartToken:this.cartToken,issuedAt:e.toISOString(),idleExpiresAt:t.toISOString(),absoluteExpiresAt:n.toISOString()})})}async getCart(){return ae(300,()=>{let e=new Date,t=new Date(e.getTime()+9e5),n=new Date(e.getTime()+36e5);return{cartToken:this.cartToken,issuedAt:e.toISOString(),idleExpiresAt:t.toISOString(),absoluteExpiresAt:n.toISOString(),items:this.cartItems.map(e=>({id:e.id,bookingUuid:e.bookingUuid,productId:e.request.productId,optionId:e.request.optionId,unitItems:e.request.unitItems,availabilityId:e.request.availabilityId,localDate:e.request.localDate,pickupPointId:e.request.pickupPointId,amount:e.request.amount,currencyCode:e.request.currencyCode,currencyPrecision:e.request.currencyPrecision}))}})}async addCartItem(e){return ae(400,()=>{let t={id:w(),bookingUuid:w(),request:e};return this.cartItems.push(t),this.saveCartToStorage(),{id:t.id,bookingUuid:t.bookingUuid}})}async updateCartItem(e,t){return ae(400,()=>{let n=this.cartItems.find(t=>t.id===e);if(n)return n.request=t,this.saveCartToStorage(),{id:n.id,bookingUuid:n.bookingUuid};let r={id:e,bookingUuid:w(),request:t};return this.cartItems.push(r),this.saveCartToStorage(),{id:r.id,bookingUuid:r.bookingUuid}})}async removeCartItem(e){return ae(200,()=>{this.cartItems=this.cartItems.filter(t=>t.id!==e),this.saveCartToStorage()})}async payCart(e){return ae(800,()=>({checkoutId:`fake-checkout-${w().slice(0,8)}`,redirectUrl:``}))}async confirmCart(){return ae(700,()=>({items:this.cartItems.map(e=>({bookingUuid:e.bookingUuid,statusCode:200,body:JSON.stringify({id:`booking-${e.bookingUuid.slice(0,8)}`,uuid:e.bookingUuid,status:`CONFIRMED`,productId:e.request.productId,optionId:e.request.optionId,unitItems:(e.request.unitItems??[]).map(e=>({uuid:w(),unitId:e.unitId,status:`CONFIRMED`}))})}))}))}},le=3e5,ue=12e4,de=class{api;sessions=new Map;intervalId=null;activeCheckoutKey=``;constructor(e){this.api=e}async ensureSession(e){let t=this.sessions.get(e);if(t&&!this.isExpired(t))return this.activateSession(e,t),t;let n=await this.api.startSession(e);return this.sessions.set(e,n),this.activeCheckoutKey=e,n}startBackgroundRefresh(){this.intervalId||=setInterval(()=>this.refreshExpiringSessions(),le)}stop(){this.intervalId&&=(clearInterval(this.intervalId),null)}activateSession(e,t){this.activeCheckoutKey=e,this.api.sessionToken=t.sessionToken??``}isExpired(e){return new Date(e.expiresAt??0).getTime()<=Date.now()}isExpiringSoon(e){return new Date(e.refreshAfter??0).getTime()<=Date.now()+ue}async refreshExpiringSessions(){for(let[e,t]of this.sessions){if(this.isExpired(t)){this.sessions.delete(e);continue}if(this.isExpiringSoon(t))try{this.api.sessionToken=t.sessionToken??``;let n=await this.api.refreshSession();this.sessions.set(e,n),e===this.activeCheckoutKey&&(this.api.sessionToken=n.sessionToken??``)}catch{this.sessions.delete(e)}}}},fe=`morii-checkout-cart`,pe=class{api;cart=null;constructor(e){this.api=e,this.loadFromStorage()}get cartToken(){return this.cart?.cartToken??``}get hasCart(){return this.cart!==null&&!this.isExpired()}async ensureCart(){if(this.cart&&!this.isExpired())return this.cart;let e=await this.api.createCart();return this.cart=e,this.saveToStorage(),e}isExpired(){return!this.cart||new Date(this.cart.absoluteExpiresAt??0).getTime()<=Date.now()}saveToStorage(){if(!this.cart)return;let e={cartToken:this.cart.cartToken??``,absoluteExpiresAt:this.cart.absoluteExpiresAt??``};try{localStorage.setItem(fe,JSON.stringify(e))}catch{}}loadFromStorage(){try{let e=localStorage.getItem(fe);if(!e)return;let t=JSON.parse(e);if(new Date(t.absoluteExpiresAt).getTime()<=Date.now()){localStorage.removeItem(fe);return}this.cart={cartToken:t.cartToken,issuedAt:``,idleExpiresAt:``,absoluteExpiresAt:t.absoluteExpiresAt}}catch{}}},me={prod:`https://checkout.moriitech.com`,qa:`https://qa.tranzact.co.za/morii-checkout/api`},he=window,T=he.BW_CHECKOUT_ENV??`prod`,ge=he.BW_CHECKOUT_API_URL,_e=T===`fake`,ve=ge??me[T]??me.prod;typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var ye={},E=Symbol(`uninitialized`),be=`http://www.w3.org/1999/xhtml`,xe=Array.isArray,Se=Array.prototype.indexOf,Ce=Array.prototype.includes,we=Array.from,Te=Object.keys,Ee=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Oe=Object.getOwnPropertyDescriptors,ke=Object.prototype,Ae=Array.prototype,je=Object.getPrototypeOf,Me=Object.isExtensible,Ne=()=>{};function Pe(e){for(var t=0;t<e.length;t++)e[t]()}function Fe(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Ie=1024,Le=2048,Re=4096,ze=8192,Be=16384,Ve=32768,He=1<<25,Ue=65536,We=1<<19,Ge=1<<20,Ke=1<<25,qe=65536,Je=1<<21,Ye=1<<22,Xe=1<<23,Ze=Symbol(`$state`),Qe=Symbol(`legacy props`),$e=Symbol(``),et=Symbol(`attributes`),tt=Symbol(`class`),nt=Symbol(`style`),rt=Symbol(`text`),it=Symbol(`form reset`),at=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ot=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function st(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function ct(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function lt(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function ut(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function dt(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ft(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function pt(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function mt(){throw Error(`https://svelte.dev/e/hydration_failed`)}function ht(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function gt(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function _t(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function vt(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function yt(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}function bt(){console.warn(`https://svelte.dev/e/derived_inert`)}function xt(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function St(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var D=!1;function Ct(e){D=e}var O;function wt(e){if(e===null)throw xt(),ye;return O=e}function Tt(){return wt(Yn(O))}function k(e){if(D){if(Yn(O)!==null)throw xt(),ye;O=e}}function Et(e=1){if(D){for(var t=e,n=O;t--;)n=Yn(n);O=n}}function Dt(e=!0){for(var t=0,n=O;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Yn(n);e&&n.remove(),n=i}}function Ot(e){if(!e||e.nodeType!==8)throw xt(),ye;return e.data}function kt(e){return e===this.v}function At(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function jt(e){return!At(e,this.v)}var A=null;function Mt(e){A=e}function j(e,t=!1,n){A={p:A,i:!1,c:null,e:null,s:e,x:null,r:W,l:null}}function M(e){var t=A,n=t.e;if(n!==null){t.e=null;for(var r of n)or(r)}return e!==void 0&&(t.x=e),t.i=!0,A=t.p,e??{}}function Nt(){return!0}var Pt=[];function Ft(){var e=Pt;Pt=[],Pe(e)}function It(e){if(Pt.length===0&&!vn){var t=Pt;queueMicrotask(()=>{t===Pt&&Ft()})}Pt.push(e)}function Lt(){for(;Pt.length>0;)Ft()}function Rt(e){var t=W;if(t===null)return U.f|=Xe,e;if(!(t.f&32768)&&!(t.f&4))throw e;zt(e,t)}function zt(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var Bt=~(Le|Re|Ie);function N(e,t){e.f=e.f&Bt|t}function Vt(e){e.f&512||e.deps===null?N(e,Ie):N(e,Re)}function Ht(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=qe,Ht(t.deps))}function Ut(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Ht(e.deps),N(e,Ie)}var Wt=!1;function Gt(e){var t=Wt;try{return Wt=!1,[e(),Wt]}finally{Wt=t}}var Kt=!1;function qt(){Kt||(Kt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[it]?.()})},{capture:!0}))}function Jt(e){var t=U,n=W;Ar(null),jr(null);try{return e()}finally{Ar(t),jr(n)}}function Yt(e,t,n,r=n){e.addEventListener(t,()=>Jt(n));let i=e[it];e[it]=i?()=>{i(),r(!0)}:()=>r(!0),qt()}function Xt(e){let t=0,n=Pn(0),r;return()=>{rr()&&(G(n),dr(()=>(t===0&&(r=Qr(()=>e(()=>zn(n)))),t+=1,()=>{It(()=>{--t,t===0&&(r?.(),r=void 0,zn(n))})})))}}var Zt=Ue|We;function Qt(e,t,n,r){new $t(e,t,n,r)}var $t=class{parent;is_pending=!1;transform_error;#e;#t=D?O:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Xt(()=>(this.#m=Pn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=W;t.b=this,t.f|=128,n(e)},this.parent=W.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=fr(()=>{if(D){let e=this.#t;Tt();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#y():this.#g()}else this.#b()},Zt),D&&(this.#e=O)}#g(){try{this.#a=pr(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed,{reset:n,invoke_onerror:r}=this.#v(e);It(r),t&&(this.#s=pr(()=>{t(this.#e,()=>e,()=>n)}))}#v(e){var t=!1,n=!1;let r=()=>{if(t){St();return}t=!0,n&&yt(),this.#s!==null&&br(this.#s,()=>{this.#s=null}),this.#S(()=>{this.#b()})};return{reset:r,invoke_onerror:()=>{try{n=!0,this.#n.onerror?.(e,r),n=!1}catch(e){zt(e,this.#i&&this.#i.parent)}}}}#y(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=pr(()=>e(this.#e)),It(()=>{var e=this.#c=document.createDocumentFragment(),t=qn();e.append(t),this.#a=this.#S(()=>pr(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,br(this.#o,()=>{this.#o=null}),this.#x(F))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=pr(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();wr(this.#a,e);let t=this.#n.pending;this.#o=pr(()=>t(this.#e))}else this.#x(F)}catch(e){this.error(e)}}#x(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Ut(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#S(e){var t=W,n=U,r=A;jr(this.#i),Ar(this.#i),Mt(this.#i.ctx);try{return wn.ensure(),e()}catch(e){return Rt(e),null}finally{jr(t),Ar(n),Mt(r)}}#C(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#C(e,t);return}this.#u+=e,this.#u===0&&(this.#x(t),this.#o&&br(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#C(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,It(()=>{this.#d=!1,this.#m&&In(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),G(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;F?.is_fork?(this.#a&&F.skip_effect(this.#a),this.#o&&F.skip_effect(this.#o),this.#s&&F.skip_effect(this.#s),F.oncommit(()=>{this.#w(e)})):this.#w(e)}#w(e){this.#a&&=(_r(this.#a),null),this.#o&&=(_r(this.#o),null),this.#s&&=(_r(this.#s),null),D&&(wt(this.#t),Et(),wt(Dt()));let t=this.#n.failed,n=e=>{let{reset:n,invoke_onerror:r}=this.#v(e);r(),t&&(this.#s=this.#S(()=>{try{return pr(()=>{var r=W;r.b=this,r.f|=128,t(this.#e,()=>e,()=>n)})}catch(e){return zt(e,this.#i.parent),null}}))};It(()=>{var t;try{t=this.transform_error(e)}catch(e){zt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(n,e=>zt(e,this.#i&&this.#i.parent)):n(t)})}};function en(e,t,n,r){let i=Nt()?an:cn;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=W,c=tn(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){zt(e,s)}nn()}}var d=rn();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>sn(e))).then(u).catch(e=>zt(e,s)).finally(d)}l?l.then(()=>{c(),f(),nn()}):f()}function tn(){var e=W,t=U,n=A,r=F;return function(i=!0){jr(e),Ar(t),Mt(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function nn(e=!0){jr(null),Ar(null),Mt(null),e&&F?.deactivate()}function rn(){var e=W,t=e.b,n=F,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function an(e){var t=2|Le;return W!==null&&(W.f|=We),{ctx:A,deps:null,effects:null,equals:kt,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:W,ac:null}}var on=Symbol(`obsolete`);function sn(e,t,n){let r=W;r===null&&ct();var i=void 0,a=Pn(E),o=!U,s=new Set;return ur(()=>{var t=W,n=Fe();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==at&&n.reject(e)}).finally(nn)}catch(e){n.reject(e),nn()}var c=F;if(o){if(t.f&32768)var l=rn();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(on);else for(let e of s.values())e.reject(on);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==on&&(c.activate(),t?(a.f|=Xe,In(a,t)):(a.f&8388608&&(a.f^=Xe),In(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),ir(()=>{for(let e of s)e.reject(on)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function P(e){let t=an(e);return Nr(t),t}function cn(e){let t=an(e);return t.equals=jt,t}function ln(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)_r(t[n])}}function un(e){var t,n=W,r=e.parent;if(!Dr&&r!==null&&e.v!==E&&r.f&24576)return bt(),e.v;jr(r);try{e.f&=~qe,ln(e),t=Gr(e)}finally{jr(n)}return t}function dn(e){var t=un(e);if(!e.equals(t)&&(e.wv=Hr(),(!F?.is_fork||e.deps===null)&&(F===null?e.v=t:(F.capture(e,t,!0),hn?.capture(e,t,!0)),e.deps===null))){N(e,Ie);return}Dr||(gn===null?Vt(e):(rr()||F?.is_fork)&&gn.set(e,t))}function fn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&Jt(()=>{t.ac.abort(at),t.ac=null}),t.fn!==null&&(t.teardown=Ne),qr(t,0),hr(t))}function pn(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Jr(t)}var mn=null,F=null,hn=null,gn=null,_n=null,vn=!1,yn=!1,bn=null,xn=null,Sn=0,Cn=1,wn=class e{id=Cn++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){mn===null?mn=this:(mn.#n=this,this.#t=mn),mn=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)N(r,Le),t(r);for(r of n.m)N(r,Re),t(r)}this.#p.add(e)}#g(){this.#e=!0,Sn++>1e3&&(this.#x(),Tn());for(let e of this.#u)this.#d.delete(e),N(e,Le),this.schedule(e);for(let e of this.#d)N(e,Re),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=bn=[],r=[],i=xn=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw An(e),this.#h()||this.discard(),t}if(F=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(bn=null,xn=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)kn(e,t);i.length>0&&F.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),hn=this,Dn(r),Dn(n),hn=null,this.#s?.resolve();var s=F;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0){if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this}s!==null&&(Mn.clear(),s.#g())}#_(e,t,n){e.f^=Ie;for(var r=e.first;r!==null;){var i=r.f,a=!!(i&96);if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=Ie:i&4?t.push(r):Ur(r)&&(i&16&&this.#d.add(r),Jr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),N(i,Le),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),F=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)Ut(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==E&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),gn?.set(e,t)),this.is_fork||(e.v=t)}activate(){F=this}deactivate(){F=null,gn=null}flush(){try{yn=!0,F=this,this.#g()}finally{Sn=0,_n=null,bn=null,xn=null,yn=!1,F=null,gn=null,Mn.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(on);this.#x(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,It(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=Fe()).promise}static ensure(){if(F===null){let t=F=new e;!yn&&!vn&&It(()=>{t.#e||t.flush()})}return F}apply(){gn=null}schedule(e){if(_n=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(bn!==null&&t===W&&(U===null||!(U.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=Ie}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?mn=e:t.#t=e,this.linked=!1}}};function I(e){var t=vn;vn=!0;try{var n;for(e&&(F!==null&&!F.is_fork&&F.flush(),n=e());;){if(Lt(),F===null)return n;F.flush()}}finally{vn=t}}function Tn(){try{pt()}catch(e){zt(e,_n)}}var En=null;function Dn(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Ur(r)&&(En=new Set,Jr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&yr(r),En?.size>0)){Mn.clear();for(let e of En){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)En.has(n)&&(En.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Jr(n)}}En.clear()}}En=null}}function On(e){F.schedule(e)}function kn(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),N(e,Ie);for(var n=e.first;n!==null;)kn(n,t),n=n.next}}function An(e){N(e,Ie);for(var t=e.first;t!==null;)An(t),t=t.next}var jn=new Set,Mn=new Map,Nn=!1;function Pn(e,t){return{f:0,v:e,reactions:null,equals:kt,rv:0,wv:0}}function L(e,t){let n=Pn(e,t);return Nr(n),n}function Fn(e,t=!1,n=!0){let r=Pn(e);return t||(r.equals=jt),r}function R(e,t,n=!1){return U!==null&&(!kr||U.f&131072)&&Nt()&&U.f&4325394&&(Mr===null||!Mr.has(e))&&vt(),In(e,n?Vn(t):t,xn)}function In(e,t,n=null){if(!e.equals(t)){Dr?Mn.set(e,t):Mn.has(e)||Mn.set(e,e.v);var r=wn.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&un(t),gn===null&&Vt(t)}e.wv=Hr(),Bn(e,Le,n),Nt()&&W!==null&&W.f&1024&&!(W.f&96)&&(Ir===null?Lr([e]):Ir.push(e)),!r.is_fork&&jn.size>0&&!Nn&&Ln()}return t}function Ln(){Nn=!1;for(let e of jn){e.f&1024&&N(e,Re);let t;try{t=Ur(e)}catch{t=!0}t&&Jr(e)}jn.clear()}function Rn(e,t=1){var n=G(e),r=t===1?n++:n--;return R(e,n),r}function zn(e){R(e,e.v+1)}function Bn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Nt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===W)){var l=(c&Le)===0;if(l&&N(s,t),c&131072)jn.add(s);else if(c&2){var u=s;gn?.delete(u),c&65536||(c&512&&(W===null||!(W.f&2097152))&&(s.f|=qe),Bn(u,Re,n))}else if(l){var d=s;c&16&&En!==null&&En.add(d),n===null?On(d):n.push(d)}}}}function Vn(e){if(typeof e!=`object`||!e||Ze in e)return e;let t=je(e);if(t!==ke&&t!==Ae)return e;var n=new Map,r=xe(e),i=L(0),a=null,o=Br,s=e=>{if(Br===o)return e();var t=U,n=Br;Ar(null),Vr(o);var r=e();return Ar(t),Vr(n),r};return r&&n.set(`length`,L(e.length,a)),new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&gt();var i=n.get(t);return i===void 0?s(()=>{var e=L(r.value,a);return n.set(t,e),e}):R(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=s(()=>L(E,a));n.set(t,e),zn(i)}}else R(r,E),zn(i);return!0},get(t,r,i){if(r===Ze)return e;var o=n.get(r),c=r in t;if(o===void 0&&(!c||De(t,r)?.writable)&&(o=s(()=>L(Vn(c?t[r]:E),a)),n.set(r,o)),o!==void 0){var l=G(o);return l===E?void 0:l}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var i=n.get(t);i&&(r.value=G(i))}else if(r===void 0){var a=n.get(t),o=a?.v;if(a!==void 0&&o!==E)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return r},has(e,t){if(t===Ze)return!0;var r=n.get(t),i=r!==void 0&&r.v!==E||Reflect.has(e,t);return(r!==void 0||W!==null&&(!i||De(e,t)?.writable))&&(r===void 0&&(r=s(()=>L(i?Vn(e[t]):E,a)),n.set(t,r)),G(r)===E)?!1:i},set(e,t,o,c){var l=n.get(t),u=t in e;if(r&&t===`length`)for(var d=o;d<l.v;d+=1){var f=n.get(d+``);f===void 0?d in e&&(f=s(()=>L(E,a)),n.set(d+``,f)):R(f,E)}if(l===void 0)(!u||De(e,t)?.writable)&&(l=s(()=>L(void 0,a)),R(l,Vn(o)),n.set(t,l));else{u=l.v!==E;var p=s(()=>Vn(o));R(l,p)}var m=Reflect.getOwnPropertyDescriptor(e,t);if(m?.set&&m.set.call(c,o),!u){if(r&&typeof t==`string`){var h=n.get(`length`),g=Number(t);Number.isInteger(g)&&g>=h.v&&R(h,g+1)}zn(i)}return!0},ownKeys(e){G(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==E});for(var[r,a]of n)a.v!==E&&!(r in e)&&t.push(r);return t},setPrototypeOf(){_t()}})}var Hn,Un,Wn,Gn;function Kn(){if(Hn===void 0){Hn=window,Un=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wn=De(t,`firstChild`).get,Gn=De(t,`nextSibling`).get,Me(e)&&(e[tt]=void 0,e[et]=null,e[nt]=void 0,e.__e=void 0),Me(n)&&(n[rt]=void 0)}}function qn(e=``){return document.createTextNode(e)}function Jn(e){return Wn.call(e)}function Yn(e){return Gn.call(e)}function z(e,t){if(!D)return Jn(e);var n=Jn(O);if(n===null)n=O.appendChild(qn());else if(t&&n.nodeType!==3){var r=qn();return n?.before(r),wt(r),r}return t&&$n(n),wt(n),n}function B(e,t=!1){if(!D){var n=Jn(e);return n instanceof Comment&&n.data===``?Yn(n):n}if(t){if(O?.nodeType!==3){var r=qn();return O?.before(r),wt(r),r}$n(O)}return O}function V(e,t=1,n=!1){let r=D?O:e;for(var i;t--;)i=r,r=Yn(r);if(!D)return r;if(n){if(r?.nodeType!==3){var a=qn();return r===null?i?.after(a):r.before(a),wt(a),a}$n(r)}return wt(r),r}function Xn(e){e.textContent=``}function Zn(){return!1}function Qn(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function $n(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function er(e){W===null&&(U===null&&ft(e),dt()),Dr&&ut(e)}function tr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function nr(e,t){var n=W;n!==null&&n.f&8192&&(e|=ze);var r={ctx:A,deps:null,nodes:null,f:e|Le|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};F?.register_created_effect(r);var i=r;if(e&4)bn===null?wn.ensure().schedule(r):bn.push(r);else if(t!==null){try{Jr(r)}catch(e){throw _r(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=Ue))}if(i!==null&&(i.parent=n,n!==null&&tr(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function rr(){return U!==null&&!kr}function ir(e){let t=nr(8,null);return N(t,Ie),t.teardown=e,t}function ar(e){er(`$effect`);var t=W.f;if(!U&&t&32&&A!==null&&!A.i){var n=A;(n.e??=[]).push(e)}else return or(e)}function or(e){return nr(4|Ge,e)}function sr(e){wn.ensure();let t=nr(64|We,e);return()=>{_r(t)}}function cr(e){wn.ensure();let t=nr(64|We,e);return(e={})=>new Promise(n=>{e.outro?br(t,()=>{_r(t),n(void 0)}):(_r(t),n(void 0))})}function lr(e){return nr(4,e)}function ur(e){return nr(Ye|We,e)}function dr(e,t=0){return nr(8|t,e)}function H(e,t=[],n=[],r=[]){en(r,t,n,t=>{nr(8,()=>{e(...t.map(G))})})}function fr(e,t=0){return nr(16|t,e)}function pr(e){return nr(32|We,e)}function mr(e){var t=e.teardown;if(t!==null){let e=Dr,n=U;Or(!0),Ar(null);try{t.call(null)}finally{Or(e),Ar(n)}}}function hr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Jt(()=>{e.abort(at)});var r=n.next;n.f&64?n.parent=null:_r(n,t),n=r}}function gr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||_r(t),t=n}}function _r(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(vr(e.nodes.start,e.nodes.end),n=!0),e.f|=He,hr(e,t&&!n),qr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();mr(e),e.f^=He,e.f|=Be;var i=e.parent;i!==null&&i.first!==null&&yr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function vr(e,t){for(;e!==null;){var n=e===t?null:Yn(e);e.remove(),e=n}}function yr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function br(e,t,n=!0){var r=[];xr(e,r,!0);var i=()=>{n&&_r(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function xr(e,t,n){if(!(e.f&8192)){e.f^=ze;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=!!(i.f&65536)||!!(i.f&32)&&!!(e.f&16);xr(i,t,o?n:!1)}i=a}}}function Sr(e){Cr(e,!0)}function Cr(e,t){if(e.f&8192){e.f^=ze,e.f&1024||(N(e,Le),wn.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=!!(n.f&65536)||!!(n.f&32);Cr(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function wr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Yn(n);t.append(n),n=i}}var Tr=null,Er=!1,Dr=!1;function Or(e){Dr=e}var U=null,kr=!1;function Ar(e){U=e}var W=null;function jr(e){W=e}var Mr=null;function Nr(e){U!==null&&(Mr??=new Set).add(e)}var Pr=null,Fr=0,Ir=null;function Lr(e){Ir=e}var Rr=1,zr=0,Br=zr;function Vr(e){Br=e}function Hr(){return++Rr}function Ur(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~qe),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Ur(a)&&dn(a),a.wv>e.wv)return!0}t&512&&gn===null&&N(e,Ie)}return!1}function Wr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Mr!==null&&Mr.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Wr(a,t,!1):t===a&&(n?N(a,Le):a.f&1024&&N(a,Re),On(a))}}function Gr(e){var t=Pr,n=Fr,r=Ir,i=U,a=Mr,o=A,s=kr,c=Br,l=e.f;Pr=null,Fr=0,Ir=null,U=l&96?null:e,Mr=null,Mt(e.ctx),kr=!1,Br=++zr,e.ac!==null&&(Jt(()=>{e.ac.abort(at)}),e.ac=null);try{e.f|=Je;var u=e.fn,d=u();e.f|=Ve;var f=e.deps,p=F?.is_fork;if(Pr!==null){var m;if(p||qr(e,Fr),f!==null&&Fr>0)for(f.length=Fr+Pr.length,m=0;m<Pr.length;m++)f[Fr+m]=Pr[m];else e.deps=f=Pr;if(rr()&&e.f&512)for(m=Fr;m<f.length;m++)(f[m].reactions??=[]).push(e)}else!p&&f!==null&&Fr<f.length&&(qr(e,Fr),f.length=Fr);if(Nt()&&Ir!==null&&!kr&&f!==null&&!(e.f&6146))for(m=0;m<Ir.length;m++)Wr(Ir[m],e);if(i!==null&&i!==e){if(zr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=zr;if(t!==null)for(let e of t)e.rv=zr;Ir!==null&&(r===null?r=Ir:r.push(...Ir))}return e.f&8388608&&(e.f^=Xe),d}catch(e){return Rt(e)}finally{e.f^=Je,Pr=t,Fr=n,Ir=r,U=i,Mr=a,Mt(o),kr=s,Br=c}}function Kr(e,t){let n=t.reactions;if(n!==null){var r=Se.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(Pr===null||!Ce.call(Pr,t))){var a=t;a.f&512&&(a.f^=512,a.f&=~qe),a.v!==E&&Vt(a),a.ac!==null&&Jt(()=>{a.ac.abort(at),a.ac=null,N(a,Le)}),fn(a),qr(a,0)}}function qr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Kr(e,n[r])}function Jr(e){var t=e.f;if(!(t&16384)){N(e,Ie);var n=W,r=Er;W=e,Er=!(t&96);try{t&16777232?gr(e):hr(e),mr(e);var i=Gr(e);e.teardown=typeof i==`function`?i:null,e.wv=Rr}finally{Er=r,W=n}}}async function Yr(){await Promise.resolve(),I()}function G(e){var t=!!(e.f&2);if(Tr?.add(e),U!==null&&!kr&&!(W!==null&&W.f&16384)&&(Mr===null||!Mr.has(e))){var n=U.deps;if(U.f&2097152)e.rv<zr&&(e.rv=zr,Pr===null&&n!==null&&n[Fr]===e?Fr++:Pr===null?Pr=[e]:Pr.push(e));else{U.deps??=[],Ce.call(U.deps,e)||U.deps.push(e);var r=e.reactions;r===null?e.reactions=[U]:Ce.call(r,U)||r.push(U)}}if(Dr&&Mn.has(e))return Mn.get(e);if(t){var i=e;if(Dr){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||Zr(i))&&(a=un(i)),Mn.set(i,a),a}var o=!(i.f&512)&&!kr&&U!==null&&(Er||!!(U.f&512)),s=(i.f&Ve)===0;Ur(i)&&(o&&(i.f|=512),dn(i)),o&&!s&&(pn(i),Xr(i))}if(gn?.has(e))return gn.get(e);if(e.f&8388608)throw e.v;return e.v}function Xr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(pn(t),Xr(t))}function Zr(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Mn.has(t)||t.f&2&&Zr(t))return!0;return!1}function Qr(e){var t=kr;try{return kr=!0,e()}finally{kr=t}}var $r=Symbol(`events`),ei=new Set,ti=new Set;function K(e,t,n){(t[$r]??={})[e]=n}function ni(e){for(var t=0;t<e.length;t++)ei.add(e[t]);for(var n of ti)n(e)}var ri=null,ii=!1;function ai(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;ri=e,ii||(ii=!0,setTimeout(()=>{ii=!1,ri=null}));var o=0,s=ri===e&&e[$r];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[$r]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){Ee(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=U,d=W;Ar(null),jr(null);try{for(var f,p=[];a!==null&&a!==t;){try{var m=a[$r]?.[r];m!=null&&(!a.disabled||e.target===a)&&m.call(a,e)}catch(e){f?p.push(e):f=e}if(e.cancelBubble)break;o++,a=o<i.length?i[o]:null}if(f){for(let e of p)queueMicrotask(()=>{throw e});throw f}}finally{e[$r]=t,delete e.currentTarget,Ar(u),jr(d)}}}var oi=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function si(e){return oi?.createHTML(e)??e}function ci(e){var t=Qn(`template`);return t.innerHTML=si(e.replaceAll(`<!>`,`<!---->`)),t.content}function li(e,t){var n=W;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function q(e,t){var n=!!(t&1),r=!!(t&2),i,a=!e.startsWith(`<!>`);return()=>{if(D)return li(O,null),O;i===void 0&&(i=ci(a?e:`<!>`+e),n||(i=Jn(i)));var t=r||Un?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=Jn(t),s=t.lastChild;li(o,s)}else li(t,t);return t}}function ui(){if(D)return li(O,null),O;var e=document.createDocumentFragment(),t=document.createComment(``),n=qn();return e.append(t,n),li(t,n),e}function J(e,t){if(D){var n=W;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=O),Tt();return}e!==null&&e.before(t)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var di=[`touchstart`,`touchmove`];function fi(e){return di.includes(e)}function Y(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[rt]??=e.nodeValue)&&(e[rt]=n,e.nodeValue=`${n}`)}function pi(e,t){return gi(e,t)}function mi(e,t){Kn(),t.intro=t.intro??!1;let n=t.target,r=D,i=O;try{for(var a=Jn(n);a&&(a.nodeType!==8||a.data!==`[`);)a=Yn(a);if(!a)throw ye;Ct(!0),wt(a);let r=gi(e,{...t,anchor:a});return Ct(!1),r}catch(r){if(r instanceof Error&&r.message.split(`
2
+ `).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==ye&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&mt(),Kn(),Xn(n),Ct(!1),pi(e,t)}finally{Ct(r),wt(i)}}var hi=new Map;function gi(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){Kn();var c=void 0,l=cr(()=>{var o=n??t.appendChild(qn());Qt(o,{pending:()=>{}},t=>{j({});var n=A;if(a&&(n.c=a),i&&(r.$$events=i),D&&li(t,null),c=e(t,r)||{},D&&(W.nodes.end=O,O===null||O.nodeType!==8||O.data!==`]`))throw xt(),ye;M()},s);var l=new Set,u=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!l.has(r)){l.add(r);var i=fi(r);for(let e of[t,document]){var a=hi.get(e);a===void 0&&(a=new Map,hi.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,ai,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return u(we(ei)),ti.add(u),()=>{for(var e of l)for(let n of[t,document]){var r=hi.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ai),r.delete(e),r.size===0&&hi.delete(n)):r.set(e,i)}ti.delete(u),o!==n&&o.parentNode?.removeChild(o)}});return _i.set(c,l),c}var _i=new WeakMap;function vi(e,t){let n=_i.get(e);return n?(_i.delete(e),n(t)):Promise.resolve()}var yi=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Sr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Sr(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(_r(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();wr(r,t),t.append(qn()),this.#n.set(e,{effect:r,fragment:t})}else _r(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),br(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(_r(n.effect),this.#n.delete(e))};ensure(e,t){var n=F,r=Zn();if(t&&!this.#t.has(e)&&!this.#n.has(e)){if(r){var i=document.createDocumentFragment(),a=qn();i.append(a),this.#n.set(e,{effect:pr(()=>t(a)),fragment:i})}else this.#t.set(e,pr(()=>t(this.anchor)))}if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else D&&(this.anchor=O),this.#a(n)}};function bi(e,t,...n){var r=new yi(e);fr(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},Ue)}function xi(e){A===null&&st(`onMount`),ar(()=>{let t=Qr(e);if(typeof t==`function`)return t})}function Si(e){A===null&&st(`onDestroy`),xi(()=>()=>Qr(e))}function X(e,t,n=!1){var r;D&&(r=O,Tt());var i=new yi(e),a=n?Ue:0;function o(e,t){if(D){var n=Ot(r);if(e!==parseInt(n.substring(1))){var a=Dt();wt(a),i.anchor=a,Ct(!1),i.ensure(e,t),Ct(!0);return}}i.ensure(e,t)}fr(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Ci(e,t){return t}function wi(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];br(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;Ti(e,we(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else--o},!1)}if(o===0){var c=r.length===0&&n!==null&&e.pending.size===0;if(c){var l=n,u=l.parentNode;Xn(u),u.append(l),e.items.clear()}Ti(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Ti(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=Ke,wr(a,document.createDocumentFragment())):_r(t[i],n)}}var Ei;function Di(e,t,n,r,i,a=null){var o=e,s=new Map;if(t&4){var c=e;o=D?wt(Jn(c)):c.appendChild(qn())}D&&Tt();var l=null,u=cn(()=>{var e=n();return xe(e)?e:e==null?[]:we(e)}),d,f=new Map,p=!0;function m(e){g.effect.f&16384||(g.pending.delete(e),g.fallback=l,ki(g,d,o,t,r),l!==null&&(d.length===0?l.f&33554432?(l.f^=Ke,ji(l,null,o)):Sr(l):br(l,()=>{l=null})))}function h(e){g.pending.delete(e)}var g={effect:fr(()=>{d=G(u);var e=d.length;let c=!1;D&&Ot(o)===`[!`!=(e===0)&&(o=Dt(),wt(o),Ct(!1),c=!0);for(var g=new Set,_=F,v=Zn(),y=0;y<e;y+=1){D&&O.nodeType===8&&O.data===`]`&&(o=O,c=!0,Ct(!1));var b=d[y],x=r(b,y),S=p?null:s.get(x);S?(S.v&&In(S.v,b),S.i&&In(S.i,y),v&&_.unskip_effect(S.e)):(S=Ai(s,p?o:Ei??=qn(),b,x,y,i,t,n),p||(S.e.f|=Ke),s.set(x,S)),g.add(x)}if(e===0&&a&&!l&&(p?l=pr(()=>a(o)):(l=pr(()=>a(Ei??=qn())),l.f|=Ke)),e>g.size&&lt(``,``,``),D&&e>0&&wt(Dt()),!p){if(f.set(_,g),v){for(let[e,t]of s)g.has(e)||_.skip_effect(t.e);_.oncommit(m),_.ondiscard(h)}else m(_)}c&&Ct(!0),G(u)}),flags:t,items:s,pending:f,outrogroups:null,fallback:l};p=!1,D&&(o=O)}function Oi(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function ki(e,t,n,r,i){var a=!!(r&8),o=t.length,s=e.items,c=Oi(e.effect.first),l,u=null,d,f=[],p=[],m,h,g,_;if(a)for(_=0;_<o;_+=1)m=t[_],h=i(m,_),g=s.get(h).e,g.f&33554432||(g.nodes?.a?.measure(),(d??=new Set).add(g));for(_=0;_<o;_+=1){if(m=t[_],h=i(m,_),g=s.get(h).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(g),t.done.delete(g);if(g.f&8192&&(Sr(g),a&&(g.nodes?.a?.unfix(),(d??=new Set).delete(g))),g.f&33554432){if(g.f^=Ke,g===c)ji(g,null,n);else{var v=u?u.next:c;g===e.effect.last&&(e.effect.last=g.prev),g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),Mi(e,u,g),Mi(e,g,v),ji(g,v,n),u=g,f=[],p=[],c=Oi(u.next);continue}}if(g!==c){if(l!==void 0&&l.has(g)){if(f.length<p.length){var y=p[0],b;u=y.prev;var x=f[0],S=f[f.length-1];for(b=0;b<f.length;b+=1)ji(f[b],y,n);for(b=0;b<p.length;b+=1)l.delete(p[b]);Mi(e,x.prev,S.next),Mi(e,u,x),Mi(e,S,y),c=y,u=S,--_,f=[],p=[]}else l.delete(g),ji(g,c,n),Mi(e,g.prev,g.next),Mi(e,g,u===null?e.effect.first:u.next),Mi(e,u,g),u=g;continue}for(f=[],p=[];c!==null&&c!==g;)(l??=new Set).add(c),p.push(c),c=Oi(c.next);if(c===null)continue}g.f&33554432||f.push(g),u=g,c=Oi(g.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Ti(e,we(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var C=[];if(l!==void 0)for(g of l)g.f&8192||C.push(g);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&C.push(c),c=Oi(c.next);var ee=C.length;if(ee>0){var te=r&4&&o===0?n:null;if(a){for(_=0;_<ee;_+=1)C[_].nodes?.a?.measure();for(_=0;_<ee;_+=1)C[_].nodes?.a?.fix()}wi(e,C,te)}}a&&It(()=>{if(d!==void 0)for(g of d)g.nodes?.a?.apply()})}function Ai(e,t,n,r,i,a,o,s){var c=o&1?o&16?Pn(n):Fn(n,!1,!1):null,l=o&2?Pn(i):null;return{v:c,i:l,e:pr(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function ji(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Yn(r);if(a.before(r),r===i)return;r=o}}function Mi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Z(e,t){lr(()=>{e=W?.parent?.nodes?.start??e;var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector(`#`+t.hash)){let e=Qn(`style`);e.id=t.hash,e.textContent=t.code,r.appendChild(e)}})}var Ni=[...`
3
+ \r\f\xA0\v`];function Pi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Ni.includes(r[o-1]))&&(s===r.length||Ni.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Fi(e,t,n,r,i,a){var o=e[tt];if(D||o!==n||o===void 0){var s=Pi(n,r,a);(!D||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[tt]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var Ii=Symbol(`is custom element`),Li=Symbol(`is html`),Ri=ot?`link`:`LINK`;function zi(e){if(D){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Vi(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Vi(e,`checked`,null),e.checked=r}}};e[it]=n,It(n),qt()}}function Bi(e,t){var n=Hi(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function Vi(e,t,n,r){var i=Hi(e);D&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ri)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[$e]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Wi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Hi(e){return e[et]??={[Ii]:e.nodeName.includes(`-`),[Li]:e.namespaceURI===be}}var Ui=new Map;function Wi(e){var t=e.getAttribute(`is`)||e.nodeName,n=Ui.get(t);if(n)return n;Ui.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=Oe(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=je(i)}return n}function Gi(e,t,n=t){var r=new WeakSet;Yt(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=Ki(e)?qi(a):a,n(a),F!==null&&r.add(F),await Yr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(D&&e.defaultValue!==e.value||Qr(t)==null&&e.value)&&(n(Ki(e)?qi(e.value):e.value),F!==null&&r.add(F)),dr(()=>{var n=t();if(e===document.activeElement){var i=F;if(r.has(i))return}Ki(e)&&n===qi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function Ki(e){var t=e.type;return t===`number`||t===`range`}function qi(e){return e===``?null:+e}function Ji(e,t){return e===t||e?.[Ze]===t}function Yi(e={},t,n,r){var i=A.r,a=W;return lr(()=>{var o,s;return dr(()=>{o=s,s=r?.()||[],Qr(()=>{Ji(n(...s),e)||(t(e,...s),o&&Ji(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Ji(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Q(e,t,n,r){var i=!0,a=!!(n&8),o=!!(n&16),s=r,c=!0,l=void 0,u=()=>o&&i?(l??=an(r),G(l)):(c&&(c=!1,s=o?Qr(r):r),s);let d;if(a){var f=Ze in e||Qe in e;d=De(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=Gt(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&ht(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?u():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?an:cn)(()=>(_=!1,h()));a&&G(v);var y=W;return(function(e,t){if(arguments.length>0){let n=t?G(v):i&&a?Vn(e):e;return R(v,n),_=!0,s!==void 0&&(s=n),e}return Dr&&_||y.f&16384?v.v:G(v)})}function Xi(e){return new Zi(e)}var Zi=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=Fn(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return G(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===Qe||(G(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return R(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?mi:pi)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),(!e?.props?.$$host||e.sync===!1)&&I(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e!==`$set`&&e!==`$destroy`&&e!==`$on`&&Ee(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{vi(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}},Qi;typeof HTMLElement==`function`&&(Qi=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){if(await Promise.resolve(),!this.$$cn||this.$$c)return;function e(e){return t=>{let n=Qn(`slot`);e!=="default"&&(n.name=e),J(t,n)}}let t={},n=ea(this);for(let r of this.$$s)r in n&&(r==="default"&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(let e of this.attributes){let t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=$i(t,e.value,this.$$p_d,`toProp`))}for(let e in this.$$p_d)!(e in this.$$d)&&this[e]!==void 0&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Xi({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=sr(()=>{dr(()=>{this.$$r=!0;for(let e of Te(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];let t=$i(e,this.$$d[e],this.$$p_d,`toAttribute`);t==null?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(let e in this.$$l)for(let t of this.$$l[e]){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=$i(e,n,this.$$p_d,`toProp`),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return Te(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function $i(e,t,n,r){let i=n[e]?.type;if(t=i===`Boolean`&&typeof t!=`boolean`?t!=null:t,!r||!n[e])return t;if(r===`toAttribute`)switch(i){case`Object`:case`Array`:return t==null?null:JSON.stringify(t);case`Boolean`:return t?``:null;case`Number`:return t??null;default:return t}else switch(i){case`Object`:case`Array`:return t&&JSON.parse(t);case`Boolean`:return t;case`Number`:return t==null?t:+t;default:return t}}function ea(e){let t={};return e.childNodes.forEach(e=>{t[e.slot||`default`]=!0}),t}function $(e,t,n,r,i,a){let o=class extends Qi{constructor(){super(e,n,i),this.$$p_d=t}static get observedAttributes(){return Te(t).map(e=>(t[e].attribute||e).toLowerCase())}};return Te(t).forEach(e=>{Ee(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=$i(e,n,t),this.$$d[e]=n;var r=this.$$c;r&&(De(r,e)?.get?r[e]=n:r.$set({[e]:n}))}})}),r.forEach(e=>{Ee(o.prototype,e,{get(){return this.$$c?.[e]}})}),a&&(o=a(o)),e.element=o,o}function ta(e){window.parent?.postMessage(JSON.stringify(e),`*`)}var na={ZAR:`R`,USD:`$`,EUR:`€`,GBP:`£`};function ra(e,t,n,r=0){let i=e/10**n;return`${na[t]??t}\u00A0${i.toFixed(r)}`}var ia=q(`<div class="leading"><!></div>`),aa=q(`<div class="heading svelte-idp8p9"> </div>`),oa=q(`<div class="body svelte-idp8p9"> </div>`),sa=q(`<button><div class="layout svelte-idp8p9"><!> <div class="text svelte-idp8p9"><!> <!> <!></div> <span></span></div></button>`),ca={hash:`svelte-idp8p9`,code:`.layout.svelte-idp8p9 {display:flex;align-items:center;gap:12px;}.text.svelte-idp8p9 {flex:1;}.heading.svelte-idp8p9 {font-size:15px;font-weight:700;margin-bottom:4px;}.body.svelte-idp8p9 {font-size:13px;color:var(--bw-color-text-secondary);line-height:1.5;}.radio.svelte-idp8p9 {width:22px;height:22px;flex-shrink:0;border:2px solid var(--bw-color-border);border-radius:50%;}.radio-selected.svelte-idp8p9 {border-color:var(--bw-color-text);background:var(--bw-color-text);}`};function la(e,t){j(t,!0),Z(e,ca);let n=Q(t,`selected`,7),r=Q(t,`onSelect`,7),i=Q(t,`heading`,7),a=Q(t,`body`,7),o=Q(t,`leading`,7),s=Q(t,`children`,7);var c={get selected(){return n()},set selected(e){n(e),I()},get onSelect(){return r()},set onSelect(e){r(e),I()},get heading(){return i()},set heading(e){i(e),I()},get body(){return a()},set body(e){a(e),I()},get leading(){return o()},set leading(e){o(e),I()},get children(){return s()},set children(e){s(e),I()}},l=sa();let u;var d=z(l),f=z(d),p=e=>{var t=ia();bi(z(t),o),k(t),J(e,t)};X(f,e=>{o()&&e(p)});var m=V(f,2),h=z(m),g=e=>{var t=aa(),n=z(t,!0);k(t),H(()=>Y(n,i())),J(e,t)};X(h,e=>{i()&&e(g)});var _=V(h,2),v=e=>{var t=oa(),n=z(t,!0);k(t),H(()=>Y(n,a())),J(e,t)};X(_,e=>{a()&&e(v)});var y=V(_,2),b=e=>{var t=ui();bi(B(t),s),J(e,t)};X(y,e=>{s()&&e(b)}),k(m);var x=V(m,2);let S;return k(d),k(l),H(()=>{u=Fi(l,1,`card card-selectable`,null,u,{"card-selected":n()}),S=Fi(x,1,`radio svelte-idp8p9`,null,S,{"radio-selected":n()})}),K(`click`,l,function(...e){r()?.apply(this,e)}),J(e,l),M(c)}ni([`click`]),$(la,{selected:{},onSelect:{},heading:{},body:{},leading:{},children:{}},[],[],{mode:`open`});var ua=q(`<p class="pricing svelte-19wqhng"> </p>`),da={hash:`svelte-19wqhng`,code:`.pricing.svelte-19wqhng {font-size:13px;font-weight:700;margin-top:8px;}`};function fa(e,t){j(t,!0),Z(e,da);let n=Q(t,`option`,7),r=Q(t,`selected`,7),i=Q(t,`onSelect`,7),a=P(()=>()=>{let e=[];for(let t of n().units){if(!t.pricing||t.pricing.length===0)continue;let n=t.pricing[0];e.push(`${t.title??t.id} from ${ra(n.retail,n.currency,n.currencyPrecision)}`)}return e.join(`, `)});return la(e,{get selected(){return r()},get onSelect(){return i()},get heading(){return n().title},get body(){return n().description},children:(e,t)=>{var n=ui(),r=B(n),i=e=>{var t=ua(),n=z(t,!0);k(t),H(e=>Y(n,e),[()=>G(a)()]),J(e,t)},o=P(()=>G(a)());X(r,e=>{G(o)&&e(i)}),J(e,n)},$$slots:{default:!0}}),M({get option(){return n()},set option(e){n(e),I()},get selected(){return r()},set selected(e){r(e),I()},get onSelect(){return i()},set onSelect(e){i(e),I()}})}$(fa,{option:{},selected:{},onSelect:{}},[],[],{mode:`open`});var pa=q(`<span class="price svelte-bzhcxd"> </span>`),ma=q(`<div class="card row svelte-bzhcxd"><div class="info svelte-bzhcxd"><span class="name svelte-bzhcxd"> </span> <!></div> <div class="stepper svelte-bzhcxd"><button class="step-btn svelte-bzhcxd" aria-label="Decrease">&minus;</button> <span class="qty svelte-bzhcxd"> </span> <button class="step-btn svelte-bzhcxd" aria-label="Increase">+</button></div></div>`),ha={hash:`svelte-bzhcxd`,code:`.row.svelte-bzhcxd {display:flex;align-items:center;}.info.svelte-bzhcxd {flex:1;display:flex;flex-direction:column;gap:2px;}.name.svelte-bzhcxd {font-size:15px;font-weight:700;}.price.svelte-bzhcxd {font-size:13px;color:var(--bw-color-text-secondary);}.stepper.svelte-bzhcxd {display:flex;align-items:center;gap:4px;}.step-btn.svelte-bzhcxd {width:40px;height:40px;border-radius:50%;background:transparent;border:1.5px solid var(--bw-color-border);color:var(--bw-color-primary);font-size:20px;display:flex;align-items:center;justify-content:center;transition:background var(--bw-transition), color var(--bw-transition), border-color var(--bw-transition);}.step-btn.svelte-bzhcxd:hover:not(:disabled) {background:var(--bw-color-primary);color:white;}.step-btn.svelte-bzhcxd:disabled {opacity:0.3;cursor:default;}.qty.svelte-bzhcxd {font-size:17px;font-weight:700;min-width:32px;text-align:center;font-variant-numeric:tabular-nums;}`};function ga(e,t){j(t,!0),Z(e,ha);let n=Q(t,`unit`,7),r=Q(t,`quantity`,7),i=Q(t,`onChange`,7),a=P(()=>()=>{if(!n().pricing||n().pricing.length===0)return``;let e=n().pricing[0];return`from ${ra(e.retail,e.currency,e.currencyPrecision)}`});function o(){r()>0&&i()(r()-1)}function s(){i()(r()+1)}var c={get unit(){return n()},set unit(e){n(e),I()},get quantity(){return r()},set quantity(e){r(e),I()},get onChange(){return i()},set onChange(e){i(e),I()}},l=ma(),u=z(l),d=z(u),f=z(d,!0);k(d);var p=V(d,2),m=e=>{var t=pa(),n=z(t,!0);k(t),H(e=>Y(n,e),[()=>G(a)()]),J(e,t)},h=P(()=>G(a)());X(p,e=>{G(h)&&e(m)}),k(u);var g=V(u,2),_=z(g),v=V(_,2),y=z(v,!0);k(v);var b=V(v,2);return k(g),k(l),H(()=>{Y(f,n().title??n().id),_.disabled=r()===0,Y(y,r())}),K(`click`,_,o),K(`click`,b,s),J(e,l),M(c)}ni([`click`]),$(ga,{unit:{},quantity:{},onChange:{}},[],[],{mode:`open`});var _a=q(`<div class="loading-center"><div class="spinner"></div></div>`),va=q(`<span class="svelte-10gu2tq"> </span>`),ya=q(`<span class="cell empty svelte-10gu2tq"></span>`),ba=q(`<span class="day-price svelte-10gu2tq"> </span>`),xa=q(`<button><span class="day-num svelte-10gu2tq"> </span> <!></button>`),Sa=q(`<div class="header svelte-10gu2tq"><button class="nav-btn svelte-10gu2tq" aria-label="Previous month">&lsaquo;</button> <span class="month svelte-10gu2tq"> </span> <button class="nav-btn svelte-10gu2tq" aria-label="Next month">&rsaquo;</button></div> <div class="day-names svelte-10gu2tq"></div> <div class="grid svelte-10gu2tq"></div>`,1),Ca=q(`<div class="calendar svelte-10gu2tq"><!></div>`),wa={hash:`svelte-10gu2tq`,code:`.calendar.svelte-10gu2tq {width:100%;}.header.svelte-10gu2tq {display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}.month.svelte-10gu2tq {font-size:16px;font-weight:700;}.nav-btn.svelte-10gu2tq {display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1.5px solid var(--bw-color-border);border-radius:50%;font-size:20px;color:var(--bw-color-text);transition:border-color var(--bw-transition);}.nav-btn.svelte-10gu2tq:hover {border-color:var(--bw-color-text);}.day-names.svelte-10gu2tq {display:grid;grid-template-columns:repeat(7, 1fr);text-align:center;margin-bottom:8px;}.day-names.svelte-10gu2tq span:where(.svelte-10gu2tq) {font-size:11px;font-weight:700;color:var(--bw-color-text-secondary);padding:4px 0;}.grid.svelte-10gu2tq {display:grid;grid-template-columns:repeat(7, 1fr);gap:6px;}.cell.svelte-10gu2tq {display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;min-height:48px;padding:4px 2px;border:1.5px solid transparent;border-radius:var(--bw-radius-md);background:transparent;transition:border-color var(--bw-transition), background var(--bw-transition);}.cell.empty.svelte-10gu2tq {pointer-events:none;}.cell.available.svelte-10gu2tq {font-weight:600;color:var(--bw-color-text);border-color:var(--bw-color-border);}.cell.available.svelte-10gu2tq:hover {border-color:var(--bw-color-text);}.cell.selected.svelte-10gu2tq {border-color:var(--bw-color-text);border-width:2px;font-weight:700;}.cell.sold-out.svelte-10gu2tq {color:var(--bw-color-text-secondary);text-decoration:line-through;cursor:default;}.cell.unavailable.svelte-10gu2tq {color:#D1D5DB;cursor:default;}.day-num.svelte-10gu2tq {line-height:1;}.day-price.svelte-10gu2tq {font-size:9px;font-weight:600;color:var(--bw-color-text-secondary);margin-top:2px;line-height:1;}.selected.svelte-10gu2tq .day-price:where(.svelte-10gu2tq) {color:var(--bw-color-text);}`};function Ta(e,t){j(t,!0),Z(e,wa);let n=Q(t,`availabilityByDate`,7),r=Q(t,`selectedDate`,7),i=Q(t,`onDateSelected`,7),a=Q(t,`loading`,7),o=[`SU`,`MO`,`TU`,`WE`,`TH`,`FR`,`SA`],s=L(Vn(new Date)),c=P(()=>()=>{let e=G(s).getFullYear(),t=G(s).getMonth(),n=new Date(e,t,1).getDay(),r=new Date(e,t+1,0).getDate(),i=[];for(let e=0;e<n;e++)i.push(null);for(let n=1;n<=r;n++)i.push(new Date(e,t,n));return i}),l=P(()=>G(s).toLocaleDateString(`en`,{month:`long`}));function u(){let e=new Date(G(s));e.setMonth(e.getMonth()-1),R(s,e,!0)}function d(){let e=new Date(G(s));e.setMonth(e.getMonth()+1),R(s,e,!0)}function f(e){let t=n()[p(e)];return t?t.available?`available`:t.status===`SOLD_OUT`?`sold-out`:`unavailable`:`unavailable`}function m(e){let t=n()[p(e)];if(!t||!t.available)return``;if(t.unitPricing&&t.unitPricing.length>0){let e=t.unitPricing[0];return ra(e.retail,e.currency,e.currencyPrecision)}return``}function h(e){return r()?p(e)===p(r()):!1}function g(e){let t=new Date;return t.setHours(0,0,0,0),e<t}function _(e){f(e)!==`available`||g(e)||i()(e)}var v={get availabilityByDate(){return n()},set availabilityByDate(e){n(e),I()},get selectedDate(){return r()},set selectedDate(e){r(e),I()},get onDateSelected(){return i()},set onDateSelected(e){i(e),I()},get loading(){return a()},set loading(e){a(e),I()}},y=Ca(),b=z(y),x=e=>{J(e,_a())},S=e=>{var t=Sa(),n=B(t),r=z(n),i=V(r,2),a=z(i,!0);k(i);var s=V(i,2);k(n);var p=V(n,2);Di(p,21,()=>o,Ci,(e,t)=>{var n=va(),r=z(n,!0);k(n),H(()=>Y(r,G(t))),J(e,n)}),k(p);var v=V(p,2);Di(v,21,()=>G(c)(),Ci,(e,t)=>{var n=ui(),r=B(n),i=e=>{J(e,ya())},a=e=>{let n=P(()=>f(G(t))),r=P(()=>g(G(t))),i=P(()=>m(G(t)));var a=xa();let o;var s=z(a),c=z(s,!0);k(s);var l=V(s,2),u=e=>{var t=ba(),n=z(t,!0);k(t),H(()=>Y(n,G(i))),J(e,t)};X(l,e=>{G(i)&&!G(r)&&e(u)}),k(a),H((e,t)=>{o=Fi(a,1,`cell svelte-10gu2tq`,null,o,e),a.disabled=G(n)!==`available`||G(r),Y(c,t)},[()=>({available:G(n)===`available`&&!G(r),"sold-out":G(n)===`sold-out`,unavailable:G(n)===`unavailable`||G(r),selected:h(G(t))}),()=>G(t).getDate()]),K(`click`,a,()=>_(G(t))),J(e,a)};X(r,e=>{G(t)===null?e(i):e(a,-1)}),J(e,n)}),k(v),H(()=>Y(a,G(l))),K(`click`,r,u),K(`click`,s,d),J(e,t)};return X(b,e=>{a()?e(x):e(S,-1)}),k(y),J(e,y),M(v)}ni([`click`]),$(Ta,{availabilityByDate:{},selectedDate:{},onDateSelected:{},loading:{}},[],[],{mode:`open`});var Ea=q(`<div class="loading-center"><div class="spinner"></div></div>`),Da=q(`<p class="hint svelte-1hu99a4">All-day availability</p>`),Oa=q(`<div class="slots svelte-1hu99a4"></div>`),ka={hash:`svelte-1hu99a4`,code:`.hint.svelte-1hu99a4 {text-align:center;padding:12px;color:var(--bw-color-text-secondary);font-size:14px;}.slots.svelte-1hu99a4 {display:flex;flex-direction:column;gap:10px;}`};function Aa(e,t){j(t,!0),Z(e,ka);let n=Q(t,`timeSlots`,7),r=Q(t,`selectedTime`,7),i=Q(t,`loading`,7),a=Q(t,`onTimeSelected`,7);var o={get timeSlots(){return n()},set timeSlots(e){n(e),I()},get selectedTime(){return r()},set selectedTime(e){r(e),I()},get loading(){return i()},set loading(e){i(e),I()},get onTimeSelected(){return a()},set onTimeSelected(e){a(e),I()}},s=ui(),c=B(s),l=e=>{J(e,Ea())},u=e=>{J(e,Da())},d=e=>{var t=Oa();Di(t,21,n,Ci,(e,t)=>{let n=P(()=>m(G(t).localDateTimeStart));{let i=P(()=>r()===G(n)),o=P(()=>G(t).vacancies==null?void 0:`${G(t).vacancies} left`);la(e,{get selected(){return G(i)},onSelect:()=>a()(G(n)),get heading(){return G(n)},get body(){return G(o)}})}}),k(t),J(e,t)};return X(c,e=>{i()?e(l):n().length===1&&n()[0].allDay?e(u,1):n().length>0&&e(d,2)}),J(e,s),M(o)}$(Aa,{timeSlots:{},selectedTime:{},loading:{},onTimeSelected:{}},[],[],{mode:`open`});var ja=q(`<div class="wizard-header svelte-9w5z1v"><h2 class="svelte-9w5z1v">Buy Tickets</h2></div>`),Ma=q(`<div class="section svelte-9w5z1v"><h4 class="section-title">Options</h4> <div class="option-list svelte-9w5z1v"></div></div>`),Na=q(`<div class="section svelte-9w5z1v"><h4 class="section-title">How many tickets?</h4> <div class="unit-list svelte-9w5z1v"></div></div>`),Pa=q(`<div class="section svelte-9w5z1v"><h4 class="section-title">Choose a date</h4> <!></div>`),Fa=q(`<div class="section svelte-9w5z1v"><h4 class="section-title">Select a time</h4> <!></div>`),Ia=q(`<div class="section svelte-9w5z1v"><h4 class="section-title">Select pickup point</h4> <div class="pickup-list svelte-9w5z1v"></div></div>`),La=q(`<!> <!> <!> <!> <!>`,1),Ra=q(`<button class="btn btn-secondary">Return to Cart</button> <button class="btn btn-primary">Save &amp; Update</button>`,1),za=q(`<button class="btn btn-secondary"> </button>`),Ba=q(`<!> <button class="btn btn-primary"> <span class="arrow">&rarr;</span></button>`,1),Va=q(`<div class="dialog-backdrop svelte-9w5z1v"><div class="dialog svelte-9w5z1v"><h3 class="dialog-title svelte-9w5z1v">You have unsaved changes</h3> <p class="dialog-body svelte-9w5z1v">Would you like to proceed?</p> <div class="dialog-actions svelte-9w5z1v"><button class="dialog-btn-text svelte-9w5z1v">Discard changes</button> <button class="dialog-btn-fill svelte-9w5z1v">Return to editing</button></div></div></div>`),Ha=q(`<div class="wizard svelte-9w5z1v"><!> <div class="wizard-body svelte-9w5z1v"><!> <div class="action-bar"><!></div></div></div> <!>`,1),Ua={hash:`svelte-9w5z1v`,code:`.wizard.svelte-9w5z1v {display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;}.wizard-header.svelte-9w5z1v {padding:20px 16px 16px;border-bottom:1px solid var(--bw-color-border);}.wizard-header.svelte-9w5z1v h2:where(.svelte-9w5z1v) {font-size:20px;font-weight:800;}.wizard-body.svelte-9w5z1v {flex:1;overflow-y:auto;padding:16px;}.section.svelte-9w5z1v {margin-bottom:24px;}.option-list.svelte-9w5z1v, .pickup-list.svelte-9w5z1v, .unit-list.svelte-9w5z1v {display:flex;flex-direction:column;gap:10px;}\r
4
+ \r
5
+ /* ── Confirm dialog ────────────────────── */.dialog-backdrop.svelte-9w5z1v {position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.35);display:flex;align-items:center;justify-content:center;z-index:100;}.dialog.svelte-9w5z1v {background:white;border-radius:var(--bw-radius-lg);padding:24px;width:90%;max-width:360px;box-shadow:var(--bw-shadow-3);}.dialog-title.svelte-9w5z1v {font-size:17px;font-weight:700;margin-bottom:8px;}.dialog-body.svelte-9w5z1v {font-size:14px;color:var(--bw-color-text-secondary);margin-bottom:24px;}.dialog-actions.svelte-9w5z1v {display:flex;justify-content:flex-end;gap:8px;}.dialog-btn-text.svelte-9w5z1v {background:none;border:none;color:var(--bw-color-primary);font-size:14px;font-weight:600;padding:10px 16px;border-radius:var(--bw-radius-md);}.dialog-btn-text.svelte-9w5z1v:hover {background:var(--bw-color-primary-light);}.dialog-btn-fill.svelte-9w5z1v {background:var(--bw-color-primary);color:white;border:none;font-size:14px;font-weight:600;padding:10px 20px;border-radius:var(--bw-radius-md);}.dialog-btn-fill.svelte-9w5z1v:hover {background:var(--bw-color-primary-dark);}`};function Wa(e,t){j(t,!0),Z(e,Ua);let n=Q(t,`product`,7),r=Q(t,`api`,7),i=Q(t,`wizardPages`,7),a=Q(t,`editItem`,7),o=Q(t,`autoSelectSingleTimeSlot`,7,!1),s=Q(t,`onComplete`,7),c=Q(t,`onCancel`,7),l=P(()=>a()!=null),u=P(()=>a()&&!G(oe)()?a().optionId:void 0),d=L(0),f=L(null),g=L(Vn({})),_=L(null),v=L(null),y=L(null),b=L(null),x=L(Vn({})),S=L(Vn([])),C=L(!1),ee=L(!1),te=L(!1),ne=L(!1),re=P(()=>Object.values(G(g)).some(e=>e>0)),ie=P(()=>G(S).length===1&&G(S)[0].allDay),ae=P(()=>G(S).length===1),w=P(()=>G(ie)||o()&&G(ae)),oe=P(()=>()=>{let e=i().findIndex(e=>e.includes(`age-category`)),t=i().findIndex(e=>e.includes(`option`));return e>=0&&(t<0||e<t)}),se=P(()=>()=>G(f)?G(f).units:G(oe)()?n().options[0]?.units??[]:[]),ce=P(()=>()=>G(f)?G(f).id:G(oe)()?n().options[0]?.id??null:null);xi(()=>{a()&&le(a())});function le(e){let t=n().options.find(t=>t.id===e.optionId);t&&R(f,t,!0);let r={};for(let t of e.unitItems)r[t.unitId]=(r[t.unitId]??0)+1;R(g,r,!0),G(re)&&ue(e.availabilityId,e.pickupPointId)}async function ue(e,t){if(await E(),!e)return;let i=h(e);if(!i)return;let a=G(ce)();if(!a)return;let o=i.split(`-`).map(Number);R(_,new Date(o[0],o[1]-1,o[2]),!0),R(ee,!0);let s=await r().getAvailability(n().id,a,i);R(S,s,!0),R(ee,!1);let c=s.find(t=>t.id===e);c&&(R(y,c,!0),c.allDay||R(v,m(c.localDateTimeStart),!0),t&&G(f)?.pickupAvailable&&R(b,G(f).pickupLocations?.find(e=>e.id===t)??null,!0))}function de(e){return G(oe)()?pe(e):fe(e)}function fe(e){switch(e){case`option`:return!G(u);case`age-category`:return G(f)!=null;case`date`:return G(re);case`time`:return G(_)!=null&&!G(w);case`pickup`:return G(y)!=null&&G(f)?.pickupAvailable===!0;case`addon`:return!1}}function pe(e){switch(e){case`age-category`:return G(se)().length>0;case`date`:return G(re);case`time`:return G(_)!=null&&!G(w);case`option`:return!G(u)&&(G(y)!=null||G(_)!=null&&G(w));case`pickup`:return G(f)!=null&&G(f).pickupAvailable===!0&&G(y)!=null;case`addon`:return!1}}let me=P(()=>()=>{let e=[];for(let t=0;t<i().length;t++){let n=i()[t].filter(de);n.length>0&&e.push({index:t,widgets:n})}return e}),he=P(()=>()=>{let e=[];for(let t of i())for(let n of t)de(n)&&!e.includes(n)&&e.push(n);return e}),T=P(()=>()=>{let e=G(me)();return G(d)>=e.length?e[e.length-1]??null:e[G(d)]??null}),ge=P(()=>()=>G(d)>=G(me)().length-1),_e=P(()=>()=>{let e=G(l)?G(he)():G(T)()?.widgets??[];if(e.length===0)return!1;for(let t of e)switch(t){case`option`:if(!G(f))return!1;break;case`age-category`:if(!G(re))return!1;break;case`date`:if(!G(_))return!1;break;case`time`:if(!G(v)&&!G(w))return!1;break;case`pickup`:if(G(f)?.pickupRequired&&!G(b))return!1}return!0});function ve(e){if(G(oe)()){R(f,e,!0),R(b,null),R(te,!0);return}R(f,e,!0),R(g,Object.fromEntries(e.units.map(e=>[e.id,0])),!0),R(_,null),R(v,null),R(y,null),R(b,null),R(x,{},!0),R(S,[],!0),R(te,!0)}function ye(e,t){R(g,{...G(g),[e]:t},!0),R(te,!0),G(re)&&Object.keys(G(x)).length===0&&E()}async function E(){let e=G(ce)();e&&(R(C,!0),R(x,await r().getAvailabilityCalendar(n().id,e),!0),R(C,!1))}async function be(e){let t=G(ce)();if(!t)return;R(_,e,!0),R(v,null),R(y,null),R(b,null),R(S,[],!0),R(te,!0),R(ee,!0);let i=await r().getAvailability(n().id,t,p(e));R(S,i,!0),R(ee,!1),i.length===1&&(i[0].allDay||o())&&(R(y,i[0],!0),i[0].allDay||R(v,m(i[0].localDateTimeStart),!0))}function xe(e){let t=G(S).find(t=>m(t.localDateTimeStart)===e&&t.available);t&&(R(v,e,!0),R(y,t,!0),R(b,null),R(te,!0))}function Se(e){R(b,e,!0),R(te,!0)}function Ce(){G(ge)()?De():Rn(d)}function we(){G(d)>0?Rn(d,-1):c()?Te():!G(u)&&G(f)&&(R(f,null),R(g,{},!0),R(_,null),R(v,null),R(y,null),R(b,null),R(x,{},!0),R(S,[],!0))}function Te(){if(G(te)){R(ne,!0);return}c()?.()}function Ee(){R(ne,!1),c()?.()}function De(){if(!G(y)||!G(f))return;let e=[];for(let t of G(y).unitPricing??[]){let n=G(g)[t.unitId]??0;if(n<=0)continue;let r=G(se)().find(e=>e.id===t.unitId);e.push({unitId:t.unitId,quantity:n,title:r?.title??t.unitId,pricePerUnit:t.retail})}let t=0;for(let n of e)t+=n.pricePerUnit*n.quantity;let r=G(y).unitPricing?.[0],i=r?.currency??n().defaultCurrency??`ZAR`,a=r?.currencyPrecision??2;s()({productId:n().id,optionId:G(f).id,optionTitle:G(f).title,availabilityId:G(y).id,localDate:G(_)?p(G(_)):void 0,pickupPointId:G(b)?.id,units:e,totalPrice:t,currency:i,currencyPrecision:a})}var Oe={get product(){return n()},set product(e){n(e),I()},get api(){return r()},set api(e){r(e),I()},get wizardPages(){return i()},set wizardPages(e){i(e),I()},get editItem(){return a()},set editItem(e){a(e),I()},get autoSelectSingleTimeSlot(){return o()},set autoSelectSingleTimeSlot(e=!1){o(e),I()},get onComplete(){return s()},set onComplete(e){s(e),I()},get onCancel(){return c()},set onCancel(e){c(e),I()}},ke=Ha(),Ae=B(ke),je=z(Ae),Me=e=>{J(e,ja())};X(je,e=>{G(l)||e(Me)});var Ne=V(je,2),Pe=z(Ne);Di(Pe,17,()=>G(l)?G(he)():G(T)()?.widgets??[],Ci,(e,t)=>{var r=La(),i=B(r),a=e=>{var t=Ma(),r=V(z(t),2);Di(r,21,()=>n().options,Ci,(e,t)=>{{let n=P(()=>G(f)?.id===G(t).id);fa(e,{get option(){return G(t)},get selected(){return G(n)},onSelect:()=>ve(G(t))})}}),k(r),k(t),J(e,t)};X(i,e=>{G(t)===`option`&&!G(u)&&e(a)});var o=V(i,2),s=e=>{var t=Na(),n=V(z(t),2);Di(n,21,()=>G(se)(),Ci,(e,t)=>{{let n=P(()=>G(g)[G(t).id]??0);ga(e,{get unit(){return G(t)},get quantity(){return G(n)},onChange:e=>ye(G(t).id,e)})}}),k(n),k(t),J(e,t)},c=P(()=>G(t)===`age-category`&&G(se)().length>0);X(o,e=>{G(c)&&e(s)});var l=V(o,2),d=e=>{var t=Pa();Ta(V(z(t),2),{get availabilityByDate(){return G(x)},get selectedDate(){return G(_)},onDateSelected:be,get loading(){return G(C)}}),k(t),J(e,t)};X(l,e=>{G(t)===`date`&&G(re)&&e(d)});var p=V(l,2),m=e=>{var t=Fa();Aa(V(z(t),2),{get timeSlots(){return G(S)},get selectedTime(){return G(v)},get loading(){return G(ee)},onTimeSelected:xe}),k(t),J(e,t)};X(p,e=>{G(t)===`time`&&G(_)&&!G(w)&&e(m)});var h=V(p,2),y=e=>{var t=Ia(),n=V(z(t),2);Di(n,21,()=>G(f).pickupLocations,Ci,(e,t)=>{{let n=P(()=>G(b)?.id===G(t).id),r=P(()=>G(t).title??G(t).id);la(e,{get selected(){return G(n)},onSelect:()=>Se(G(t)),get heading(){return G(r)},get body(){return G(t).address}})}}),k(n),k(t),J(e,t)};X(h,e=>{G(t)===`pickup`&&G(f)?.pickupAvailable&&G(f).pickupLocations&&e(y)}),J(e,r)});var Fe=V(Pe,2),Ie=z(Fe),Le=e=>{var t=Ra(),n=B(t),r=V(n,2);H(e=>r.disabled=e,[()=>!G(_e)()]),K(`click`,n,Te),K(`click`,r,De),J(e,t)},Re=e=>{var t=Ba(),n=B(t),r=e=>{var t=za(),n=z(t,!0);k(t),H(()=>Y(n,G(d)>0?`Back`:`Cancel`)),K(`click`,t,we),J(e,t)};X(n,e=>{(G(d)>0||c())&&e(r)});var i=V(n,2),a=z(i);Et(),k(i),H((e,t)=>{i.disabled=e,Y(a,`${t??``} `)},[()=>!G(_e)(),()=>G(ge)()?`Add to Cart`:`Next`]),K(`click`,i,Ce),J(e,t)};X(Ie,e=>{G(l)?e(Le):e(Re,-1)}),k(Fe),k(Ne),k(Ae);var ze=V(Ae,2),Be=e=>{var t=Va(),n=z(t),r=V(z(n),4),i=z(r),a=V(i,2);k(r),k(n),k(t),K(`click`,t,()=>{R(ne,!1)}),K(`click`,n,e=>e.stopPropagation()),K(`click`,i,Ee),K(`click`,a,()=>{R(ne,!1)}),J(e,t)};return X(ze,e=>{G(ne)&&e(Be)}),J(e,ke),M(Oe)}ni([`click`]),$(Wa,{product:{},api:{},wizardPages:{},editItem:{},autoSelectSingleTimeSlot:{},onComplete:{},onCancel:{}},[],[],{mode:`open`});var Ga=q(`<div class="loading-center" style="height:100vh"><div class="spinner"></div></div>`);function Ka(e,t){j(t,!0);let n=Q(t,`api`,7),r=Q(t,`cartManager`,7),i=Q(t,`productId`,7),a=Q(t,`wizardPages`,7),o=Q(t,`autoSelectSingleTimeSlot`,7,!1),s=Q(t,`onCancel`,7),c=L(null),l=L(!0),u=L(!1);async function d(){R(c,await n().getProduct(i()),!0),R(l,!1)}d();async function f(e){R(u,!0);try{await r().ensureCart();let t=g(e.units),i=await n().addCartItem({productId:e.productId,optionId:e.optionId,unitItems:t,availabilityId:e.availabilityId,localDate:e.localDate,pickupPointId:e.pickupPointId,amount:e.totalPrice,currencyCode:e.currency,currencyPrecision:e.currencyPrecision}),a=ra(e.totalPrice,e.currency,e.currencyPrecision,2);ta({type:`cart:change`,itemCount:t.length,cartItemId:i.id,totalFormatted:a,openCheckout:!0})}finally{R(u,!1)}}var p={get api(){return n()},set api(e){n(e),I()},get cartManager(){return r()},set cartManager(e){r(e),I()},get productId(){return i()},set productId(e){i(e),I()},get wizardPages(){return a()},set wizardPages(e){a(e),I()},get autoSelectSingleTimeSlot(){return o()},set autoSelectSingleTimeSlot(e=!1){o(e),I()},get onCancel(){return s()},set onCancel(e){s(e),I()}},m=ui(),h=B(m),_=e=>{J(e,Ga())},v=e=>{Wa(e,{get product(){return G(c)},get api(){return n()},get wizardPages(){return a()},get autoSelectSingleTimeSlot(){return o()},get onCancel(){return s()},onComplete:f})};return X(h,e=>{G(l)||G(u)?e(_):G(c)&&e(v,1)}),J(e,m),M(p)}$(Ka,{api:{},cartManager:{},productId:{},wizardPages:{},autoSelectSingleTimeSlot:{},onCancel:{}},[],[],{mode:`open`});var qa=[[`option`,`age-category`],[`date`,`time`],[`pickup`]],Ja=window;function Ya(){return Ja.__bwServices}var Xa=q(`<div class="loading-center"><div class="spinner"></div></div>`);function Za(e,t){j(t,!0);let n=Q(t,`product-id`,7,``),r=Q(t,`wizard-pages`,7,``),i=Q(t,`auto-select-single-time-slot`,7,void 0),a=Q(t,`cancelable`,7,void 0),{api:o,cartManager:s,ready:c}=Ya(),l=L(!1);c.then(()=>{R(l,!0)});let u=P(()=>r()?JSON.parse(r()):qa);function d(e,t){(document.querySelector(`bw-configurator`)??document.body).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function f(e){let t;try{t=typeof e.data==`string`?JSON.parse(e.data):e.data}catch{return}t?.type&&t.type===`cart:change`&&d(`bw:cart-change`,{itemCount:t.itemCount??0,cartItemId:t.cartItemId??``,totalFormatted:t.totalFormatted??``})}ar(()=>(window.addEventListener(`message`,f),()=>window.removeEventListener(`message`,f)));let p=a()===void 0?void 0:()=>{ta({type:`modal:close`}),d(`bw:cancel`,{})};var m={get"product-id"(){return n()},set"product-id"(e=``){n(e),I()},get"wizard-pages"(){return r()},set"wizard-pages"(e=``){r(e),I()},get"auto-select-single-time-slot"(){return i()},set"auto-select-single-time-slot"(e=void 0){i(e),I()},get cancelable(){return a()},set cancelable(e=void 0){a(e),I()}},h=ui(),g=B(h),_=e=>{{let t=P(()=>i()!==void 0);Ka(e,{get api(){return o},get cartManager(){return s},get productId(){return n()},get wizardPages(){return G(u)},get autoSelectSingleTimeSlot(){return G(t)},get onCancel(){return p}})}},v=e=>{J(e,Xa())};return X(g,e=>{G(l)?e(_):e(v,-1)}),J(e,h),M(m)}customElements.define(`bw-configurator`,$(Za,{"product-id":{},"wizard-pages":{},"auto-select-single-time-slot":{},cancelable:{}},[],[]));var Qa=q(`<span class="timer svelte-1u82ue3"> </span>`),$a={hash:`svelte-1u82ue3`,code:`.timer.svelte-1u82ue3 {font-size:13px;font-weight:600;color:var(--bw-color-text-secondary);font-variant-numeric:tabular-nums;}`};function eo(e,t){j(t,!0),Z(e,$a);let n=Q(t,`expiresAt`,7),r=L(``);function i(){let e=Math.max(0,n().getTime()-Date.now()),t=Math.floor(e/6e4),i=Math.floor(e%6e4/1e3);R(r,`${String(t).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`)}i();let a=setInterval(i,1e3);Si(()=>clearInterval(a));var o={get expiresAt(){return n()},set expiresAt(e){n(e),I()}},s=Qa(),c=z(s,!0);return k(s),H(()=>Y(c,G(r))),J(e,s),M(o)}$(eo,{expiresAt:{}},[],[],{mode:`open`});var to=q(`<div class="cart-bar svelte-1xt0fxx"><div class="cart-info svelte-1xt0fxx"><span class="item-count svelte-1xt0fxx"> <!></span> <span class="total svelte-1xt0fxx"> </span></div> <button class="btn btn-primary">Checkout &rarr;</button></div>`),no={hash:`svelte-1xt0fxx`,code:`.cart-bar.svelte-1xt0fxx {display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:white;border-top:1px solid var(--bw-color-border);box-shadow:0 -2px 8px rgba(0,0,0,0.06);width:100%;}.cart-info.svelte-1xt0fxx {display:flex;flex-direction:column;gap:2px;}.item-count.svelte-1xt0fxx {font-size:12px;color:var(--bw-color-text-secondary);}.total.svelte-1xt0fxx {font-size:16px;font-weight:700;}`};function ro(e,t){j(t,!0),Z(e,no);let n=Q(t,`cart`,7),r=P(()=>n()?.items.length??0),i=P(()=>()=>{if(!n()||n().items.length===0)return``;let e=n().items[0].currencyCode;return ra(n().items.reduce((e,t)=>e+t.amount,0),e,2,2)}),a=P(()=>()=>n()?new Date(n().absoluteExpiresAt):new Date);var o={get cart(){return n()},set cart(e){n(e),I()}},s=ui(),c=B(s),l=e=>{var t=to(),n=z(t),o=z(n),s=z(o),c=V(s);{let e=P(()=>G(a)());eo(c,{get expiresAt(){return G(e)}})}k(o);var l=V(o,2),u=z(l,!0);k(l),k(n);var d=V(n,2);k(t),H(e=>{Y(s,`${G(r)===1?`1 item`:`${G(r)} items`} `),Y(u,e)},[()=>G(i)()]),K(`click`,d,()=>ta({type:`modal:open`})),J(e,t)};return X(c,e=>{n()&&n().items.length>0&&e(l)}),J(e,s),M(o)}ni([`click`]),$(ro,{cart:{}},[],[],{mode:`open`});function io(e,t){j(t,!0);let n=Q(t,`api`,7),r=Q(t,`cartManager`,7),i=L(null),a=L(!0);async function o(){if(r().hasCart)try{R(i,await n().getCart(),!0)}catch{R(i,null)}R(a,!1)}o();var s={get api(){return n()},set api(e){n(e),I()},get cartManager(){return r()},set cartManager(e){r(e),I()}},c=ui(),l=B(c),u=e=>{ro(e,{get cart(){return G(i)}})};return X(l,e=>{G(a)||e(u)}),J(e,c),M(s)}$(io,{api:{},cartManager:{}},[],[],{mode:`open`});var ao=q(`<button class="cart-overview-btn svelte-16bjfem"><svg class="cart-icon svelte-16bjfem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg> <span class="cart-badge svelte-16bjfem"> </span> <span class="cart-total svelte-16bjfem"> </span> <span class="cart-sep svelte-16bjfem"></span> <span class="cart-timer svelte-16bjfem"> </span></button>`),oo={hash:`svelte-16bjfem`,code:`.cart-overview-btn.svelte-16bjfem {display:flex;align-items:center;gap:10px;width:100%;padding:12px 20px;background:var(--bw-color-primary);color:white;border:none;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;transition:background 0.15s;}.cart-overview-btn.svelte-16bjfem:hover {background:var(--bw-color-primary-dark);}.cart-icon.svelte-16bjfem {width:18px;height:18px;flex-shrink:0;}.cart-badge.svelte-16bjfem {display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:white;color:var(--bw-color-primary);border-radius:5px;font-size:12px;font-weight:800;flex-shrink:0;}.cart-total.svelte-16bjfem {flex:1;text-align:left;font-size:14px;font-weight:700;}.cart-sep.svelte-16bjfem {width:1px;height:16px;background:rgba(255,255,255,0.35);flex-shrink:0;}.cart-timer.svelte-16bjfem {font-variant-numeric:tabular-nums;font-size:13px;opacity:0.85;flex-shrink:0;}`};function so(e,t){j(t,!0),Z(e,oo);let n=Q(t,`api`,7),r=Q(t,`cartManager`,7),i=L(null),a=L(``);async function o(){if(r().hasCart)try{R(i,await n().getCart(),!0)}catch{R(i,null)}}o();function s(){if(!G(i)){R(a,`0:00`);return}let e=Math.max(0,new Date(G(i).absoluteExpiresAt).getTime()-Date.now()),t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);R(a,`${t}:${String(n).padStart(2,`0`)}`)}s();let c=setInterval(s,1e3);Si(()=>clearInterval(c));let l=P(()=>G(i)?.items.length??0),u=P(()=>()=>{if(!G(i)||G(i).items.length===0)return``;let e=G(i).items[0].currencyCode;return ra(G(i).items.reduce((e,t)=>e+t.amount,0),e,2,0)});var d={get api(){return n()},set api(e){n(e),I()},get cartManager(){return r()},set cartManager(e){r(e),I()}},f=ui(),p=B(f),m=e=>{var t=ao(),n=V(z(t),2),r=z(n,!0);k(n);var i=V(n,2),o=z(i,!0);k(i);var s=V(i,4),c=z(s,!0);k(s),k(t),H(e=>{Y(r,G(l)),Y(o,e),Y(c,G(a))},[()=>G(u)()]),K(`click`,t,()=>ta({type:`modal:open`})),J(e,t)};return X(p,e=>{G(i)&&G(i).items.length>0&&e(m)}),J(e,f),M(d)}ni([`click`]),$(so,{api:{},cartManager:{}},[],[],{mode:`open`});function co(e,t){j(t,!0);let n=Q(t,`api`,7),r=Q(t,`cartManager`,7),i=Q(t,`display`,7);var a={get api(){return n()},set api(e){n(e),I()},get cartManager(){return r()},set cartManager(e){r(e),I()},get display(){return i()},set display(e){i(e),I()}},o=ui(),s=B(o),c=e=>{so(e,{get api(){return n()},get cartManager(){return r()}})},l=e=>{io(e,{get api(){return n()},get cartManager(){return r()}})};return X(s,e=>{i()===`button`?e(c):e(l,-1)}),J(e,o),M(a)}$(co,{api:{},cartManager:{},display:{}},[],[],{mode:`open`});var lo=q(`<div class="loading-center"><div class="spinner"></div></div>`);function uo(e,t){j(t,!0);let n=Q(t,`display`,7,`bar`),{api:r,cartManager:i,ready:a}=Ya(),o=L(!1);a.then(()=>{R(o,!0)});function s(e,t){(document.querySelector(`bw-cart`)??document.body).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function c(e){let t;try{t=typeof e.data==`string`?JSON.parse(e.data):e.data}catch{return}t?.type&&t.type===`modal:open`&&s(`bw:checkout`,{})}ar(()=>(window.addEventListener(`message`,c),()=>window.removeEventListener(`message`,c)));var l={get display(){return n()},set display(e=`bar`){n(e),I()}},u=ui(),d=B(u),f=e=>{co(e,{get api(){return r},get cartManager(){return i},get display(){return n()}})},p=e=>{J(e,lo())};return X(d,e=>{G(o)?e(f):e(p,-1)}),J(e,u),M(l)}customElements.define(`bw-cart`,$(uo,{display:{}},[],[]));var fo=q(`<div class="form svelte-12xyhj1"><div class="field svelte-12xyhj1"><label for="firstName" class="svelte-12xyhj1">First name *</label> <input id="firstName"/></div> <div class="field svelte-12xyhj1"><label for="lastName" class="svelte-12xyhj1">Last name</label> <input id="lastName" class="input"/></div> <div class="field svelte-12xyhj1"><label for="email" class="svelte-12xyhj1">Email address *</label> <input id="email" type="email"/></div> <div class="field svelte-12xyhj1"><label for="phone" class="svelte-12xyhj1">Phone number *</label> <input id="phone" type="tel"/></div></div>`),po={hash:`svelte-12xyhj1`,code:`.form.svelte-12xyhj1 {display:flex;flex-direction:column;gap:14px;}.field.svelte-12xyhj1 {display:flex;flex-direction:column;gap:4px;}label.svelte-12xyhj1 {font-size:13px;font-weight:600;color:var(--bw-color-text-secondary);}`};function mo(e,t){j(t,!0),Z(e,po);let n=Q(t,`hasAttemptedSubmit`,7),r=L(``),i=L(``),a=L(``),o=L(``);function s(){return G(r).trim()!==``&&G(a).trim()!==``&&G(o).trim()!==``}function c(){return{firstName:G(r).trim(),lastName:G(i).trim(),emailAddress:G(a).trim(),phoneNumber:G(o).trim()}}function l(e){return n()&&e.trim()===``}var u={isValid:s,getContact:c,get hasAttemptedSubmit(){return n()},set hasAttemptedSubmit(e){n(e),I()}},d=fo(),f=z(d),p=V(z(f),2);zi(p);let m;k(f);var h=V(f,2),g=V(z(h),2);zi(g),k(h);var _=V(h,2),v=V(z(_),2);zi(v);let y;k(_);var b=V(_,2),x=V(z(b),2);zi(x);let S;return k(b),k(d),H((e,t,n)=>{m=Fi(p,1,`input`,null,m,e),y=Fi(v,1,`input`,null,y,t),S=Fi(x,1,`input`,null,S,n)},[()=>({"input-error":l(G(r))}),()=>({"input-error":l(G(a))}),()=>({"input-error":l(G(o))})]),Gi(p,()=>G(r),e=>R(r,e)),Gi(g,()=>G(i),e=>R(i,e)),Gi(v,()=>G(a),e=>R(a,e)),Gi(x,()=>G(o),e=>R(o,e)),J(e,d),M(u)}$(mo,{hasAttemptedSubmit:{}},[],[`isValid`,`getContact`],{mode:`open`});var ho=q(`<div class="consent svelte-19pmjwi"><label><input type="checkbox" class="svelte-19pmjwi"/> <span class="svelte-19pmjwi">I accept the privacy policy *</span></label> <label class="check svelte-19pmjwi"><input type="checkbox" class="svelte-19pmjwi"/> <span>I would like to receive marketing communications</span></label></div>`),go={hash:`svelte-19pmjwi`,code:`.consent.svelte-19pmjwi {display:flex;flex-direction:column;gap:12px;}.check.svelte-19pmjwi {display:flex;align-items:flex-start;gap:10px;font-size:13px;cursor:pointer;line-height:1.4;}.check.error.svelte-19pmjwi span:where(.svelte-19pmjwi) {color:var(--bw-color-error);}input[type="checkbox"].svelte-19pmjwi {margin-top:2px;accent-color:var(--bw-color-primary);width:16px;height:16px;flex-shrink:0;}`};function _o(e,t){j(t,!0),Z(e,go);let n=Q(t,`privacyAccepted`,7),r=Q(t,`marketingOptIn`,7),i=Q(t,`hasAttemptedSubmit`,7),a=Q(t,`onPrivacyChanged`,7),o=Q(t,`onMarketingChanged`,7);var s={get privacyAccepted(){return n()},set privacyAccepted(e){n(e),I()},get marketingOptIn(){return r()},set marketingOptIn(e){r(e),I()},get hasAttemptedSubmit(){return i()},set hasAttemptedSubmit(e){i(e),I()},get onPrivacyChanged(){return a()},set onPrivacyChanged(e){a(e),I()},get onMarketingChanged(){return o()},set onMarketingChanged(e){o(e),I()}},c=ho(),l=z(c);let u;var d=z(l);zi(d),Et(2),k(l);var f=V(l,2),p=z(f);return zi(p),Et(2),k(f),k(c),H(()=>{u=Fi(l,1,`check svelte-19pmjwi`,null,u,{error:i()&&!n()}),Bi(d,n()),Bi(p,r())}),K(`change`,d,e=>a()(e.target.checked)),K(`change`,p,e=>o()(e.target.checked)),J(e,c),M(s)}ni([`change`]),$(_o,{privacyAccepted:{},marketingOptIn:{},hasAttemptedSubmit:{},onPrivacyChanged:{},onMarketingChanged:{}},[],[],{mode:`open`});var vo=q(`<div class="error-state svelte-1ubcp68"><div class="error-icon svelte-1ubcp68">!</div> <p class="error-title svelte-1ubcp68">Unable to load payment form</p> <p class="error-msg svelte-1ubcp68"> </p></div>`),yo=q(`<div class="brands svelte-1ubcp68"><span class="brand svelte-1ubcp68">VISA</span> <span class="brand svelte-1ubcp68">MC</span> <span class="brand svelte-1ubcp68">AMEX</span></div> <div id="peach-container"></div>`,1),bo=q(`<div class="payment-page svelte-1ubcp68"><div class="page-header"><button class="icon-btn" aria-label="Back">&larr;</button> <h2>Payment</h2> <span class="spacer"></span> <button class="icon-btn" aria-label="Close">&times;</button></div> <div class="body svelte-1ubcp68"><div class="amount-bar svelte-1ubcp68"><span>Amount to pay</span> <span class="amount svelte-1ubcp68"> </span></div> <!></div></div>`),xo={hash:`svelte-1ubcp68`,code:`.payment-page.svelte-1ubcp68 {display:flex;flex-direction:column;height:100%;}.body.svelte-1ubcp68 {flex:1;overflow-y:auto;padding:16px;}.amount-bar.svelte-1ubcp68 {display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bw-color-surface);border-radius:var(--bw-radius-lg);margin-bottom:20px;font-weight:600;font-size:15px;}.amount.svelte-1ubcp68 {color:var(--bw-color-primary);font-size:18px;font-weight:700;}.brands.svelte-1ubcp68 {display:flex;gap:8px;margin-bottom:16px;}.brand.svelte-1ubcp68 {padding:4px 10px;border:1px solid var(--bw-color-border);border-radius:var(--bw-radius-sm);font-size:11px;font-weight:700;color:var(--bw-color-text-secondary);letter-spacing:0.02em;}.error-state.svelte-1ubcp68 {text-align:center;padding:32px 16px;}.error-icon.svelte-1ubcp68 {width:48px;height:48px;border-radius:50%;border:2px solid var(--bw-color-border);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--bw-color-text-secondary);margin:0 auto 16px;}.error-title.svelte-1ubcp68 {font-size:16px;font-weight:600;margin-bottom:8px;}.error-msg.svelte-1ubcp68 {font-size:14px;color:var(--bw-color-text-secondary);}`};function So(e,t){j(t,!0),Z(e,xo);let n=Q(t,`checkoutId`,7),r=Q(t,`totalFormatted`,7),i=Q(t,`onBack`,7),a=Q(t,`onClose`,7),o=Q(t,`onPaymentComplete`,7),s=L(!1),c=L(``),l=null;xi(()=>{try{let e=window.Checkout;if(!e){R(s,!0),R(c,`Payment SDK not loaded`);return}l=e.initiate({checkoutId:n(),customisations:{card:{submitButtonText:`Pay Now`},theme:{brand:{primary:`#E30613`}}},eventHandlers:{onCompleted:()=>{u(),o()({status:`completed`})},onCancelled:()=>{u(),o()({status:`cancelled`})},onExpired:()=>{u(),o()({status:`expired`})},onError:()=>{u(),o()({status:`error`})}}}),l.render(`#peach-container`)}catch(e){R(s,!0),R(c,String(e),!0)}});function u(){l&&=(l.unmount(),null)}Si(u);var d={get checkoutId(){return n()},set checkoutId(e){n(e),I()},get totalFormatted(){return r()},set totalFormatted(e){r(e),I()},get onBack(){return i()},set onBack(e){i(e),I()},get onClose(){return a()},set onClose(e){a(e),I()},get onPaymentComplete(){return o()},set onPaymentComplete(e){o(e),I()}},f=bo(),p=z(f),m=z(p),h=V(m,6);k(p);var g=V(p,2),_=z(g),v=V(z(_),2),y=z(v,!0);k(v),k(_);var b=V(_,2),x=e=>{var t=vo(),n=V(z(t),4),r=z(n,!0);k(n),k(t),H(()=>Y(r,G(c)||`The checkout session may have expired.`)),J(e,t)},S=e=>{var t=yo();Et(2),J(e,t)};return X(b,e=>{G(s)?e(x):e(S,-1)}),k(g),k(f),H(()=>Y(y,r())),K(`click`,m,function(...e){i()?.apply(this,e)}),K(`click`,h,function(...e){a()?.apply(this,e)}),J(e,f),M(d)}ni([`click`]),$(So,{checkoutId:{},totalFormatted:{},onBack:{},onClose:{},onPaymentComplete:{}},[],[],{mode:`open`});var Co=q(`<div class="spinner"></div> <p class="hint svelte-16gfovn">Verifying payment...</p>`,1),wo=q(`<button class="btn btn-primary">Done</button>`),To=q(`<button class="btn btn-outline">Try Again</button>`),Eo=q(`<div> </div> <h2 class="svelte-16gfovn"> </h2> <p class="desc svelte-16gfovn"> </p> <!>`,1),Do=q(`<div class="result svelte-16gfovn"><!></div>`),Oo={hash:`svelte-16gfovn`,code:`.result.svelte-16gfovn {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;height:100%;text-align:center;}.hint.svelte-16gfovn {color:var(--bw-color-text-secondary);font-size:14px;margin-top:16px;}.icon.svelte-16gfovn {width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:20px;}.icon.success.svelte-16gfovn {border:2px solid var(--bw-color-success);color:var(--bw-color-success);background:rgba(76, 175, 80, 0.08);}.icon.failure.svelte-16gfovn {border:2px solid var(--bw-color-error);color:var(--bw-color-error);background:var(--bw-color-primary-light);}h2.svelte-16gfovn {font-size:20px;font-weight:700;margin-bottom:8px;}.desc.svelte-16gfovn {color:var(--bw-color-text-secondary);font-size:14px;margin-bottom:28px;max-width:280px;line-height:1.5;}`};function ko(e,t){j(t,!0),Z(e,Oo);let n=Q(t,`status`,7),r=Q(t,`verifying`,7),i=Q(t,`onDone`,7),a=Q(t,`onRetry`,7),o=P(()=>n()?.outcome===`successful`);var s={get status(){return n()},set status(e){n(e),I()},get verifying(){return r()},set verifying(e){r(e),I()},get onDone(){return i()},set onDone(e){i(e),I()},get onRetry(){return a()},set onRetry(e){a(e),I()}},c=Do(),l=z(c),u=e=>{var t=Co();Et(2),J(e,t)},d=e=>{var t=Eo(),r=B(t);let s;var c=z(r,!0);k(r);var l=V(r,2),u=z(l,!0);k(l);var d=V(l,2),f=z(d,!0);k(d);var p=V(d,2),m=e=>{var t=wo();K(`click`,t,function(...e){i()?.apply(this,e)}),J(e,t)},h=e=>{var t=To();K(`click`,t,function(...e){a()?.apply(this,e)}),J(e,t)};X(p,e=>{G(o)?e(m):e(h,-1)}),H(()=>{s=Fi(r,1,`icon svelte-16gfovn`,null,s,{success:G(o),failure:!G(o)}),Y(c,G(o)?`✓`:`!`),Y(u,G(o)?`Payment Successful`:`Payment Failed`),Y(f,G(o)?`Your booking has been confirmed.`:n()?.resultDescription??`Something went wrong. Please try again.`)}),J(e,t)};return X(l,e=>{r()?e(u):e(d,-1)}),k(c),J(e,c),M(s)}ni([`click`]),$(ko,{status:{},verifying:{},onDone:{},onRetry:{}},[],[],{mode:`open`});var Ao=q(`<div class="loading-center"><div class="spinner"></div></div>`),jo=q(`<div class="edit-view svelte-15l4305"><div class="page-header"><button class="icon-btn" aria-label="Back">&larr;</button> <h2>Edit Item</h2> <span class="spacer"></span> <button class="icon-btn" aria-label="Close">&times;</button></div> <!></div>`),Mo={hash:`svelte-15l4305`,code:`.edit-view.svelte-15l4305 {display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;}`};function No(e,t){j(t,!0),Z(e,Mo);let n=Q(t,`cartItem`,7),r=Q(t,`product`,7),i=Q(t,`api`,7),a=Q(t,`wizardPages`,7),o=Q(t,`onBack`,7),s=Q(t,`onClose`,7),c=Q(t,`onUpdated`,7),l=L(!1);async function u(e){R(l,!0);try{await i().updateCartItem(n().id,{productId:e.productId,optionId:e.optionId,unitItems:g(e.units),availabilityId:e.availabilityId,localDate:e.localDate,pickupPointId:e.pickupPointId,amount:e.totalPrice,currencyCode:e.currency,currencyPrecision:e.currencyPrecision}),c()()}finally{R(l,!1)}}var d={get cartItem(){return n()},set cartItem(e){n(e),I()},get product(){return r()},set product(e){r(e),I()},get api(){return i()},set api(e){i(e),I()},get wizardPages(){return a()},set wizardPages(e){a(e),I()},get onBack(){return o()},set onBack(e){o(e),I()},get onClose(){return s()},set onClose(e){s(e),I()},get onUpdated(){return c()},set onUpdated(e){c(e),I()}},f=jo(),p=z(f),m=z(p),h=V(m,6);k(p);var _=V(p,2),v=e=>{J(e,Ao())},y=e=>{{let t=P(()=>a()??qa);Wa(e,{get product(){return r()},get api(){return i()},get wizardPages(){return G(t)},get editItem(){return n()},onComplete:u,get onCancel(){return o()}})}};return X(_,e=>{G(l)?e(v):e(y,-1)}),k(f),K(`click`,m,function(...e){o()?.apply(this,e)}),K(`click`,h,function(...e){s()?.apply(this,e)}),J(e,f),M(d)}ni([`click`]),$(No,{cartItem:{},product:{},api:{},wizardPages:{},onBack:{},onClose:{},onUpdated:{}},[],[],{mode:`open`});var Po=q(`<div class="loading-center" style="height:100%"><div class="spinner"></div></div>`),Fo=q(`<div class="page-header"><button class="icon-btn" aria-label="Back">&larr;</button> <h2>Checkout</h2> <span class="spacer"></span> <button class="icon-btn" aria-label="Close">&times;</button></div> <div class="body svelte-i0rtg0"><div class="contact-header svelte-i0rtg0"><span class="contact-title svelte-i0rtg0">Contact Details</span> <span class="required-hint svelte-i0rtg0">* Required Fields</span></div> <!> <div style="margin-top:24px"><!></div></div> <div class="pay-bar svelte-i0rtg0"><span class="pay-bar-total svelte-i0rtg0"> </span> <button class="pay-bar-btn svelte-i0rtg0">Pay Now <span class="arrow svelte-i0rtg0">&rarr;</span></button></div>`,1),Io=q(`<p class="cart-detail svelte-i0rtg0"> </p>`),Lo=q(`<div class="cart-unit-line svelte-i0rtg0"><span class="cart-unit-label svelte-i0rtg0"> </span> <span class="cart-unit-price svelte-i0rtg0"> </span></div>`),Ro=q(`<div class="cart-card svelte-i0rtg0"><div class="cart-card-top svelte-i0rtg0"><h3 class="cart-product svelte-i0rtg0"> </h3> <span class="cart-item-total svelte-i0rtg0"> </span></div> <div class="cart-detail-lines svelte-i0rtg0"><!> <p class="cart-detail svelte-i0rtg0"> </p></div> <div class="cart-divider svelte-i0rtg0"></div> <div class="cart-units svelte-i0rtg0"></div> <div class="cart-actions svelte-i0rtg0"><button class="action-edit svelte-i0rtg0">Edit</button> <button class="action-remove svelte-i0rtg0">Remove</button></div></div>`),zo=q(`<div class="body svelte-i0rtg0"><div class="cart-header svelte-i0rtg0"><h2 class="cart-title svelte-i0rtg0">Your cart</h2> <div class="cart-header-right svelte-i0rtg0"><!> <button class="keep-shopping-btn svelte-i0rtg0">+ Keep shopping</button></div></div> <!> <div class="cart-total-divider svelte-i0rtg0"></div> <div class="cart-total-row svelte-i0rtg0"><span>Total payable today</span> <span class="cart-total-amount svelte-i0rtg0"> </span></div> <button class="checkout-btn svelte-i0rtg0">Checkout &rarr;</button></div>`),Bo=q(`<div class="modal svelte-i0rtg0"><!></div>`),Vo={hash:`svelte-i0rtg0`,code:`.modal.svelte-i0rtg0 {display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;background:var(--bw-color-surface);}.body.svelte-i0rtg0 {flex:1;overflow-y:auto;padding:16px;}\r
6
+ \r
7
+ /* -- Cart view -- */.cart-header.svelte-i0rtg0 {display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}.cart-title.svelte-i0rtg0 {font-size:22px;font-weight:800;}.cart-header-right.svelte-i0rtg0 {display:flex;align-items:center;gap:12px;}.keep-shopping-btn.svelte-i0rtg0 {padding:8px 16px;background:none;border:2px solid #222;border-radius:var(--bw-radius-md);font-size:13px;font-weight:600;color:#222;cursor:pointer;}.keep-shopping-btn.svelte-i0rtg0:hover {background:#f5f5f5;}.cart-card.svelte-i0rtg0 {border:1px solid var(--bw-color-border);border-radius:var(--bw-radius-lg);padding:20px;margin-bottom:16px;}.cart-card-top.svelte-i0rtg0 {display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}.cart-product.svelte-i0rtg0 {font-size:16px;font-weight:700;flex:1;}.cart-item-total.svelte-i0rtg0 {font-size:16px;font-weight:800;white-space:nowrap;}.cart-detail-lines.svelte-i0rtg0 {margin-top:4px;}.cart-detail.svelte-i0rtg0 {font-size:13px;color:var(--bw-color-text-secondary);line-height:1.5;}.cart-divider.svelte-i0rtg0 {border-top:1px dashed var(--bw-color-border);margin:14px 0;}.cart-units.svelte-i0rtg0 {display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}.cart-unit-line.svelte-i0rtg0 {display:flex;justify-content:space-between;align-items:center;font-size:14px;}.cart-unit-label.svelte-i0rtg0 {color:#333;}.cart-unit-price.svelte-i0rtg0 {font-weight:600;font-variant-numeric:tabular-nums;}.cart-actions.svelte-i0rtg0 {display:flex;gap:16px;}.action-edit.svelte-i0rtg0 {background:none;border:none;font-size:13px;font-weight:700;color:var(--bw-color-primary);padding:0;cursor:pointer;}.action-edit.svelte-i0rtg0:hover {text-decoration:underline;}.action-remove.svelte-i0rtg0 {background:none;border:none;font-size:13px;font-weight:600;color:#555;padding:0;cursor:pointer;}.action-remove.svelte-i0rtg0:hover {text-decoration:underline;}.cart-total-divider.svelte-i0rtg0 {border-top:3px solid #111;margin:8px 0 20px;}.cart-total-row.svelte-i0rtg0 {display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;margin-bottom:20px;}.cart-total-amount.svelte-i0rtg0 {font-size:20px;font-weight:800;}.checkout-btn.svelte-i0rtg0 {display:block;width:100%;padding:16px;background:var(--bw-color-primary);color:white;border:none;border-radius:var(--bw-radius-md);font-size:16px;font-weight:700;cursor:pointer;text-align:center;}.checkout-btn.svelte-i0rtg0:hover {background:var(--bw-color-primary-dark);}\r
8
+ \r
9
+ /* -- Contact view -- */.contact-header.svelte-i0rtg0 {display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}.contact-title.svelte-i0rtg0 {font-size:16px;font-weight:700;}.required-hint.svelte-i0rtg0 {font-size:12px;color:var(--bw-color-primary);}.pay-bar.svelte-i0rtg0 {display:flex;align-items:center;flex-shrink:0;background:var(--bw-color-primary);color:white;position:sticky;bottom:0;}.pay-bar-total.svelte-i0rtg0 {padding:0 20px;font-size:16px;font-weight:700;}.pay-bar-btn.svelte-i0rtg0 {flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;height:52px;padding:0 20px;background:none;border:none;color:white;font-size:16px;font-weight:700;}.pay-bar-btn.svelte-i0rtg0 .arrow:where(.svelte-i0rtg0) {font-size:20px;}`};function Ho(e,t){j(t,!0),Z(e,Vo);let n=Q(t,`cart`,7),r=Q(t,`api`,7),i=Q(t,`wizardPages`,7),a=Q(t,`onClose`,7),o=Q(t,`onOrderConfirmed`,7),s=L(`cart`),c=L(null),l=L(null),u=L(null),d=L(!1),f=L(!0),p=L(!1),m=L(!1),h=L(!1),g=L(!1),_=L(null),v=L(Vn(new Map));async function y(){let e=[...new Set(n().items.map(e=>e.productId))],t=await Promise.all(e.map(e=>r().getProduct(e))),i=new Map;for(let e of t)i.set(e.id,e);R(v,i,!0),R(f,!1)}y();let b=P(()=>()=>n().items.reduce((e,t)=>e+t.amount,0)),x=P(()=>()=>n().items[0]?.currencyCode??`ZAR`),S=P(()=>()=>ra(G(b)(),G(x)(),2,2)),C=P(()=>()=>new Date(n().absoluteExpiresAt));function ee(e){return G(v).get(e.productId)?.title??e.productId}function te(e){return G(v).get(e.productId)?.options.find(t=>t.id===e.optionId)?.title??e.optionId}function ne(e){let t=G(v).get(e.productId)?.options.find(t=>t.id===e.optionId),n=new Map;for(let t of e.unitItems)n.set(t.unitId,(n.get(t.unitId)??0)+1);return[...n.entries()].map(([e,n])=>{let r=t?.units.find(t=>t.id===e),i=r?.pricing?.[0]?.retail??0;return{unitId:e,title:r?.title??e,quantity:n,linePrice:i*n}})}function re(e){if(!e.availabilityId)return null;let t=e.availabilityId.match(/(\d{4})-(\d{2})-(\d{2})/);if(!t)return null;let n=new Date(+t[1],t[2]-1,+t[3]);return`${n.getDate()} ${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][n.getMonth()]} ${n.getFullYear()}`}Si(()=>ta({type:`modal:close`}));function ie(){ta({type:`modal:close`}),a()()}function ae(){ie()}function w(e){R(c,e,!0),R(s,`edit`)}async function oe(){let e=await r().getCart();n(e),R(s,`cart`)}async function se(e){await r().removeCartItem(e.id);let t=await r().getCart();n(t),n().items.length===0&&ie()}async function ce(){if(R(g,!0),!G(_)?.isValid()||!G(m))return;let e=G(_).getContact();R(f,!0);try{R(l,await r().payCart(e),!0),R(s,`payment`)}finally{R(f,!1)}}async function le(e){if(e.status===`cancelled`){R(s,`contact`);return}if(e.status===`expired`){R(d,!0),R(p,!1),R(s,`result`);return}R(p,!0),R(s,`result`);try{R(u,await r().confirmCart(),!0);let e=G(u).items.every(e=>e.statusCode>=200&&e.statusCode<300);R(d,!e),R(p,!1),e&&(ta({type:`modal:close`}),o()())}catch{R(d,!0),R(p,!1)}}var ue={get cart(){return n()},set cart(e){n(e),I()},get api(){return r()},set api(e){r(e),I()},get wizardPages(){return i()},set wizardPages(e){i(e),I()},get onClose(){return a()},set onClose(e){a(e),I()},get onOrderConfirmed(){return o()},set onOrderConfirmed(e){o(e),I()}},de=Bo(),fe=z(de),pe=e=>{J(e,Po())},me=e=>{{let t=P(()=>G(S)());So(e,{get checkoutId(){return G(l).checkoutId},get totalFormatted(){return G(t)},onBack:()=>{R(s,`contact`)},onClose:ie,onPaymentComplete:le})}},he=e=>{{let t=P(()=>G(p)?null:G(d)?{outcome:`failed`,resultDescription:`Something went wrong confirming your order. Please try again.`}:{outcome:`successful`});ko(e,{get status(){return G(t)},get verifying(){return G(p)},onDone:()=>{ta({type:`modal:close`}),o()()},onRetry:()=>{R(s,`payment`)}})}},T=e=>{{let t=P(()=>G(v).get(G(c).productId));No(e,{get cartItem(){return G(c)},get product(){return G(t)},get api(){return r()},get wizardPages(){return i()},onBack:()=>{R(s,`cart`)},onClose:ie,onUpdated:oe})}},ge=P(()=>G(s)===`edit`&&G(c)&&G(v).get(G(c).productId)),_e=e=>{var t=Fo(),n=B(t),r=z(n),i=V(r,6);k(n);var a=V(n,2),o=V(z(a),2);Yi(mo(o,{get hasAttemptedSubmit(){return G(g)}}),e=>R(_,e,!0),()=>G(_));var c=V(o,2);_o(z(c),{get privacyAccepted(){return G(m)},get marketingOptIn(){return G(h)},get hasAttemptedSubmit(){return G(g)},onPrivacyChanged:e=>{R(m,e,!0)},onMarketingChanged:e=>{R(h,e,!0)}}),k(c),k(a);var l=V(a,2),u=z(l),d=z(u,!0);k(u);var f=V(u,2);k(l),H(e=>Y(d,e),[()=>G(S)()]),K(`click`,r,()=>{R(s,`cart`)}),K(`click`,i,ie),K(`click`,f,ce),J(e,t)},ve=e=>{var t=zo(),r=z(t),i=V(z(r),2),a=z(i);{let e=P(()=>G(C)());eo(a,{get expiresAt(){return G(e)}})}var o=V(a,2);k(i),k(r);var c=V(r,2);Di(c,17,()=>n().items,Ci,(e,t)=>{var n=Ro(),r=z(n),i=z(r),a=z(i,!0);k(i);var o=V(i,2),s=z(o,!0);k(o),k(r);var c=V(r,2),l=z(c),u=e=>{var n=Io(),r=z(n,!0);k(n),H(e=>Y(r,e),[()=>re(G(t))]),J(e,n)},d=P(()=>re(G(t)));X(l,e=>{G(d)&&e(u)});var f=V(l,2),p=z(f,!0);k(f),k(c);var m=V(c,4);Di(m,21,()=>ne(G(t)),Ci,(e,n)=>{var r=Lo(),i=z(r),a=z(i);k(i);var o=V(i,2),s=z(o,!0);k(o),k(r),H(e=>{Y(a,`${G(n).title??``} × ${G(n).quantity??``}`),Y(s,e)},[()=>ra(G(n).linePrice,G(t).currencyCode,2,0)]),J(e,r)}),k(m);var h=V(m,2),g=z(h),_=V(g,2);k(h),k(n),H((e,t,n)=>{Y(a,e),Y(s,t),Y(p,n)},[()=>ee(G(t)),()=>ra(G(t).amount,G(t).currencyCode,2,0),()=>te(G(t))]),K(`click`,g,()=>w(G(t))),K(`click`,_,()=>se(G(t))),J(e,n)});var l=V(c,4),u=V(z(l),2),d=z(u,!0);k(u),k(l);var f=V(l,2);k(t),H(e=>Y(d,e),[()=>G(S)()]),K(`click`,o,ae),K(`click`,f,()=>{R(s,`contact`)}),J(e,t)};return X(fe,e=>{G(f)?e(pe):G(s)===`payment`&&G(l)?e(me,1):G(s)===`result`?e(he,2):G(ge)?e(T,3):G(s)===`contact`?e(_e,4):e(ve,-1)}),k(de),J(e,de),M(ue)}ni([`click`]),$(Ho,{cart:{},api:{},wizardPages:{},onClose:{},onOrderConfirmed:{}},[],[],{mode:`open`});var Uo=q(`<div class="loading-center" style="height:100vh"><div class="spinner"></div></div>`),Wo=q(`<div class="loading-center" style="height:100vh;color:var(--bw-color-text-secondary)">No items in cart.</div>`);function Go(e,t){j(t,!0);let n=Q(t,`api`,7),r=Q(t,`wizardPages`,7,qa),i=L(null),a=L(!0);async function o(){try{R(i,await n().getCart(),!0)}catch{R(i,null)}R(a,!1)}o();var s={get api(){return n()},set api(e){n(e),I()},get wizardPages(){return r()},set wizardPages(e=qa){r(e),I()}},c=ui(),l=B(c),u=e=>{J(e,Uo())},d=e=>{Ho(e,{get cart(){return G(i)},get api(){return n()},get wizardPages(){return r()},onClose:()=>ta({type:`modal:close`}),onOrderConfirmed:()=>{let e=G(i).items.reduce((e,t)=>e+t.amount,0),t=G(i).items[0]?.currencyCode??`ZAR`;ta({type:`order:complete`,cartToken:G(i).cartToken,value:e,currency:t})}})},f=e=>{J(e,Wo())};return X(l,e=>{G(a)?e(u):G(i)&&G(i).items.length>0?e(d,1):e(f,-1)}),J(e,c),M(s)}$(Go,{api:{},wizardPages:{}},[],[],{mode:`open`});var Ko=q(`<div class="bw-modal-overlay svelte-1o9qw1b"><div class="bw-modal-inner svelte-1o9qw1b"><!></div></div>`),qo=q(`<div class="loading-center"><div class="spinner"></div></div>`),Jo={hash:`svelte-1o9qw1b`,code:`.bw-modal-overlay.svelte-1o9qw1b {position:fixed;inset:0;z-index:10000;background:rgba(0, 0, 0, 0.5);}.bw-modal-inner.svelte-1o9qw1b {width:100%;max-width:900px;height:95vh;margin:2.5vh auto;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 8px 40px rgba(0, 0, 0, 0.3);}`};function Yo(e,t){j(t,!0),Z(e,Jo);let n=Q(t,`wizard-pages`,7,``),r=Q(t,`is-modal`,7,void 0),i=P(()=>r()!==void 0),a=L(!1),{api:o,ready:s}=Ya(),c=L(!1);s.then(()=>{R(c,!0)});let l=P(()=>n()?JSON.parse(n()):qa);function u(e,t){(document.querySelector(`bw-checkout`)??document.body).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}function d(){R(a,!0)}function f(){R(a,!1),u(`bw:close`,{})}function p(e){let t;try{t=typeof e.data==`string`?JSON.parse(e.data):e.data}catch{return}t?.type&&(t.type===`modal:close`&&(G(i)&&R(a,!1),u(`bw:close`,{})),t.type===`order:complete`&&(G(i)&&R(a,!1),u(`bw:order-confirmed`,{cartToken:t.cartToken??``,value:t.value??0,currency:t.currency??`ZAR`})))}ar(()=>(window.addEventListener(`message`,p),()=>window.removeEventListener(`message`,p))),ar(()=>{let e=document.querySelector(`bw-checkout`);if(!e)return;function t(){R(a,!0)}return e.addEventListener(`bw:open`,t),()=>e.removeEventListener(`bw:open`,t)});var m={open:d,close:f,get"wizard-pages"(){return n()},set"wizard-pages"(e=``){n(e),I()},get"is-modal"(){return r()},set"is-modal"(e=void 0){r(e),I()}},h=ui(),g=B(h),_=e=>{var t=ui(),n=B(t),r=e=>{var t=Ko(),n=z(t);Go(z(n),{get api(){return o},get wizardPages(){return G(l)}}),k(n),k(t),K(`click`,t,()=>f()),K(`click`,n,e=>e.stopPropagation()),J(e,t)};X(n,e=>{G(a)&&G(c)&&e(r)}),J(e,t)},v=e=>{Go(e,{get api(){return o},get wizardPages(){return G(l)}})},y=e=>{J(e,qo())};return X(g,e=>{G(i)?e(_):G(c)?e(v,1):e(y,-1)}),J(e,h),M(m)}ni([`click`]),customElements.define(`bw-checkout`,$(Yo,{"wizard-pages":{},"is-modal":{}},[],[`open`,`close`]));var Xo=document.querySelector(`[checkout-key]`)?.getAttribute(`checkout-key`)??``,Zo=_e?new ce:new _(ve),Qo=new de(Zo),$o=new pe(Zo);Qo.startBackgroundRefresh();var es=Qo.ensureSession(Xo).then(()=>{});window.__bwServices={api:Zo,cartManager:$o,ready:es};var ts={shouldBottomCloseOnModal:!0,autoSelectSingleTimeSlot:!1,wizardPages:``,...window.bwOptions??{}};function ns(e){e instanceof CustomEvent&&window.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}function rs(){let e=document.querySelectorAll(`bw-configurator`),t=document.querySelectorAll(`bw-cart`),n=document.querySelectorAll(`bw-checkout`),r=[...e,...t,...n];ts.wizardPages&&r.forEach(e=>{e.hasAttribute(`wizard-pages`)||e.setAttribute(`wizard-pages`,ts.wizardPages)}),e.forEach(e=>{ts.autoSelectSingleTimeSlot&&!e.hasAttribute(`auto-select-single-time-slot`)&&e.setAttribute(`auto-select-single-time-slot`,``)}),n.forEach(e=>{!e.hasAttribute(`is-modal`)&&!e.hasAttribute(`is-inline`)&&e.setAttribute(`is-modal`,``)});function i(){n.forEach(e=>{e.dispatchEvent(new CustomEvent(`bw:open`))}),window.dispatchEvent(new CustomEvent(`bw:modal-open`)),ts.shouldBottomCloseOnModal&&o()}function a(){t.forEach(e=>{let t=e.parentElement;t&&t.classList.remove(`hidden`),e.style.display=``})}function o(){t.forEach(e=>{if(e.getAttribute(`display`)===`bar`){let t=e.parentElement;t&&t.classList.add(`hidden`)}})}function s(){t.forEach(e=>{if(e.getAttribute(`display`)===`bar`){let t=e.parentElement;t&&t.classList.remove(`hidden`),e.style.display=``}})}e.forEach(e=>{e.addEventListener(`bw:cancel`,ns),e.addEventListener(`bw:cart-change`,t=>{ns(t),a(),e.hasAttribute(`no-auto-checkout`)||i();let n=e.getAttribute(`on-cart-change`);n&&typeof window[n]==`function`&&window[n]()})}),t.forEach(e=>{e.addEventListener(`bw:checkout`,e=>{ns(e),i()})}),n.forEach(e=>{e.addEventListener(`bw:close`,e=>{ns(e),window.dispatchEvent(new CustomEvent(`bw:modal-close`)),ts.shouldBottomCloseOnModal&&s()}),e.addEventListener(`bw:order-confirmed`,ns)})}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,rs):rs()})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-collective/booking-widget",
3
- "version": "1.0.0",
3
+ "version": "1.0.3",
4
4
  "type": "module",
5
5
  "main": "dist/booking-widget.umd.cjs",
6
6
  "module": "dist/booking-widget.js",
@@ -21,10 +21,13 @@
21
21
  "scripts": {
22
22
  "dev": "vite",
23
23
  "build": "vite build",
24
+ "prepublishOnly": "npm run build && npm run build:elements",
24
25
  "build:elements": "vite build --mode elements",
26
+ "postbuild:elements": "node -e \"const{readFileSync:r}=require('fs'),{createHash:h}=require('crypto');['dist/booking-widget.min.js','dist/booking-widget.min.css'].forEach(f=>{const d=h('sha384').update(r(f)).digest('base64');console.log(f+' -> sha384-'+d)})\"",
25
27
  "build:demo": "vite build --mode demo",
26
28
  "preview": "vite preview",
27
- "check": "svelte-check --tsconfig ./tsconfig.json"
29
+ "check": "svelte-check --tsconfig ./tsconfig.json",
30
+ "release": "node scripts/publish.cjs"
28
31
  },
29
32
  "devDependencies": {
30
33
  "@sveltejs/vite-plugin-svelte": "^7.3.0",