@tagadapay/headless-sdk 1.5.1 → 1.5.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.
@@ -153,6 +153,13 @@ export declare class CheckoutModule {
153
153
  * Returns an empty array if no rates are configured or address is missing.
154
154
  */
155
155
  getShippingRates(sessionId: string): Promise<ShippingRate[]>;
156
+ /**
157
+ * Normalize the v1 rates payload (`shippingRateName`, `estimatedDeliveryTime`)
158
+ * to the SDK's `ShippingRate` shape (`name`, `estimatedDays`). Without
159
+ * this the consumer's UI shows blank rate names — the demo's "Delivery"
160
+ * radios were rendering only the price, no label.
161
+ */
162
+ private normalizeShippingRate;
156
163
  /**
157
164
  * Select a shipping rate for the session.
158
165
  * Only relevant for **shipped products** — digital products can skip this step.
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"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"}
@@ -231,7 +231,23 @@ export class CheckoutModule {
231
231
  */
232
232
  async getShippingRates(sessionId) {
233
233
  const res = await this.http.get(`/api/v1/checkout-sessions/${sessionId}/shipping-rates`, { token: this.sessionToken });
234
- return res.rates ?? [];
234
+ return (res.rates ?? []).map((r) => this.normalizeShippingRate(r));
235
+ }
236
+ /**
237
+ * Normalize the v1 rates payload (`shippingRateName`, `estimatedDeliveryTime`)
238
+ * to the SDK's `ShippingRate` shape (`name`, `estimatedDays`). Without
239
+ * this the consumer's UI shows blank rate names — the demo's "Delivery"
240
+ * radios were rendering only the price, no label.
241
+ */
242
+ normalizeShippingRate(r) {
243
+ return {
244
+ id: r.id,
245
+ name: (r.name ?? r.shippingRateName ?? ''),
246
+ description: (r.description ?? undefined),
247
+ amount: (r.amount ?? 0),
248
+ currency: (r.currency ?? 'USD'),
249
+ estimatedDays: (r.estimatedDays ?? r.estimatedDeliveryTime ?? undefined),
250
+ };
235
251
  }
236
252
  /**
237
253
  * Select a shipping rate for the session.
@@ -253,8 +269,14 @@ export class CheckoutModule {
253
269
  const sessionCurrency = (summary.currency ?? cs.selectedPresentmentCurrency)?.toUpperCase();
254
270
  const items = lineItems.map((li) => {
255
271
  const price = li.price;
256
- const variant = (price?.variant ?? {});
257
- const product = (variant.product ?? {});
272
+ // The v2 endpoint returns `product` and `variant` as siblings of
273
+ // `price` on each line item — not nested under `price`. Reading
274
+ // them from `price.variant.product` (the old code) silently gave
275
+ // back empty objects, which is why the order summary rendered
276
+ // blank product names and a placeholder image instead of the
277
+ // actual product art.
278
+ const variant = (li.variant ?? price?.variant ?? {});
279
+ const product = (li.product ?? variant.product ?? {});
258
280
  const currencyOpts = (price?.currencyOptions ?? {});
259
281
  // Pick the amount bucket matching the session's presentment currency, then fall back to first available
260
282
  const priceEntry = (sessionCurrency ? currencyOpts[sessionCurrency] : undefined)
@@ -270,7 +292,7 @@ export class CheckoutModule {
270
292
  unitAmount: amount,
271
293
  totalAmount: amount * (li.quantity ?? 1),
272
294
  currency: (sessionCurrency ?? 'USD'),
273
- imageUrl: (variant.imageUrl ?? ''),
295
+ imageUrl: (variant.imageUrl ?? product.imageUrl ?? ''),
274
296
  };
275
297
  });
276
298
  const summaryItems = (summary.items ?? []);
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @tagadapay/headless-sdk v1.5.1
2
+ * @tagadapay/headless-sdk v1.5.3
3
3
  * Headless checkout, payments, offers, and CRM
4
4
  * @license MIT
5
5
  */
6
- "use strict";var TagadaHeadlessReactBundle=(()=>{var Ke=Object.create;var X=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var T=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var Ye=(n,e)=>{for(var t in e)X(n,t,{get:e[t],enumerable:!0})},Ce=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ze(e))!Ve.call(n,s)&&s!==t&&X(n,s,{get:()=>e[s],enumerable:!(r=Be(e,s))||r.enumerable});return n};var Ie=(n,e,t)=>(t=n!=null?Ke(Je(n)):{},Ce(e||!n||!n.__esModule?X(t,"default",{value:n,enumerable:!0}):t,n)),We=n=>Ce(X({},"__esModule",{value:!0}),n);var ot={};Ye(ot,{CurrencyUtils:()=>F,GoogleAutocompleteCore:()=>$,ISODataCore:()=>G,TagadaHeadlessProvider:()=>Re,formatMoney:()=>Se,loadGoogleMapsScript:()=>V,useCatalog:()=>Te,useCheckout:()=>Oe,useCountryOptions:()=>$e,useCustomer:()=>Le,useGoogleAutocomplete:()=>Ne,useHeadlessClient:()=>D,useISOData:()=>me,useOffers:()=>Ee,usePayment:()=>xe,useRegionOptions:()=>Ge});var q=T("react");var N=class extends Error{constructor(e,t,r,s){super(e),this.name="TagadaError",this.code=t,this.statusCode=r,this.details=s}},ee=class extends N{constructor(e="Authentication failed. Check your API key or checkout token."){super(e,"auth_error",401),this.name="TagadaAuthError"}},te=class extends N{constructor(e,t=[]){super(e,"validation_error",422,{errors:t}),this.name="TagadaValidationError",this.errors=t}},re=class extends N{constructor(e,t){super(`${e} "${t}" not found.`,"not_found",404),this.name="TagadaNotFoundError"}},se=class extends N{constructor(e=1e3){super(`Rate limited. Retry after ${e}ms.`,"rate_limit",429),this.name="TagadaRateLimitError",this.retryAfterMs=e}};var z=class extends N{constructor(e="Network request failed. Check your connection."){super(e,"network_error"),this.name="TagadaNetworkError"}};var ke={production:"https://api.tagada.io",development:"https://api.tagada.dev",local:"http://localhost:3000"},J=class{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.timeout=e.timeout,this.apiKey=e.apiKey,this.getToken=e.getToken}static resolveBaseUrl(e,t){return t??ke[e]??ke.production}async request(e,t={}){var P;let{method:r="GET",body:s,headers:i={},params:o,token:a,signal:d}=t,c=`${this.baseUrl}${e}`;if(o){let m=new URLSearchParams;for(let[w,y]of Object.entries(o))y!==void 0&&m.set(w,String(y));let h=m.toString();h&&(c+=`?${h}`)}let p={"Content-Type":"application/json",...i},l=a??this.apiKey??((P=this.getToken)==null?void 0:P.call(this));l&&(p["x-cms-token"]=l);let S=new AbortController,u=setTimeout(()=>S.abort(),this.timeout);try{let m=await fetch(c,{method:r,headers:p,body:s!=null?JSON.stringify(s):void 0,signal:d??S.signal});if(clearTimeout(u),m.ok){let h=await m.text();return h?JSON.parse(h):{}}throw await this.handleErrorResponse(m,e),new N("Unexpected error","unknown",m.status)}catch(m){throw clearTimeout(u),m instanceof N?m:m instanceof DOMException&&m.name==="AbortError"?new z(`Request to ${e} timed out after ${this.timeout}ms.`):new z(m instanceof Error?m.message:"Network request failed.")}}get(e,t){return this.request(e,{...t,method:"GET"})}post(e,t,r){return this.request(e,{...r,method:"POST",body:t})}patch(e,t,r){return this.request(e,{...r,method:"PATCH",body:t})}put(e,t,r){return this.request(e,{...r,method:"PUT",body:t})}delete(e,t){return this.request(e,{...t,method:"DELETE"})}async handleErrorResponse(e,t){let r={};try{r=await e.json()}catch{}let s=r.message??r.error??`Request failed: ${e.status} ${e.statusText} on ${t}`;switch(e.status){case 401:case 403:throw new ee(s);case 404:throw new re(t,"");case 422:{let i=Array.isArray(r.errors)?r.errors:[];throw new te(s,i)}case 429:{let i=Number(e.headers.get("Retry-After")??"1")*1e3;throw new se(i)}default:throw new N(s,"api_error",e.status,r)}}};var ne=class{constructor(e,t,r){this.http=e;this.storeId=t;this.onTokenChange=r}async loadSession(e,t,r){var o;t&&(this.sessionToken=t,(o=this.onTokenChange)==null||o.call(this,t));let s={skipAsyncWait:"false"};r!=null&&r.currency&&(s.currency=r.currency);let i=await this.http.get(`/api/v1/checkout-sessions/${e}/v2`,{params:s,token:this.sessionToken});return this.normalizeSession(i)}async createSession(e){var d;let t=e.items.map(c=>({variantId:c.variantId,priceId:c.priceId,quantity:c.quantity})),r={storeId:this.storeId,lineItems:t};e.returnUrl&&(r.returnUrl=e.returnUrl);let s={};e.currency&&(s.currency=e.currency),e.customerEmail&&(s.email=e.customerEmail,s.firstName=e.customerFirstName,s.lastName=e.customerLastName),Object.keys(s).length>0&&(r.customer=s);let i=await this.http.post("/api/v1/checkout/session/init",r),a=new URL(i.checkoutUrl).searchParams.get("token")??"";return this.sessionToken=a,a&&((d=this.onTokenChange)==null||d.call(this,a)),{checkoutUrl:i.checkoutUrl,checkoutToken:i.checkoutToken,sessionToken:a,customerId:i.customerId}}async updateCart(e,t){return this.http.post(`/api/v1/checkout-sessions/${e}/line-items`,{items:t},{token:this.sessionToken})}async updateCustomer(e,t){t.email&&(this.customerEmail=t.email),t.firstName&&(this.customerFirstName=t.firstName),t.lastName&&(this.customerLastName=t.lastName),t.phone&&(this.customerPhone=t.phone)}async updateAddress(e,t){let r=this.mapAddress(t.shippingAddress),s=this.mapAddress(t.billingAddress),i=r??s??{},o=s??r,a=!!(t.billingAddress&&t.shippingAddress);await this.http.post(`/api/v1/checkout-sessions/${e}/customer-and-session-info`,{checkoutSessionId:e,customerData:{email:this.customerEmail},shippingAddress:i,billingAddress:o??{},differentBillingAddress:a},{token:this.sessionToken})}async updateCustomerAndAddress(e,t){t.customer.email&&(this.customerEmail=t.customer.email),t.customer.firstName&&(this.customerFirstName=t.customer.firstName),t.customer.lastName&&(this.customerLastName=t.customer.lastName),t.customer.phone&&(this.customerPhone=t.customer.phone);let r=this.mapAddress(t.shippingAddress),s=this.mapAddress(t.billingAddress),i=r??s??{},o=s??r,a=!!(t.billingAddress&&t.shippingAddress);await this.http.post(`/api/v1/checkout-sessions/${e}/customer-and-session-info`,{checkoutSessionId:e,customerData:{email:this.customerEmail},shippingAddress:i,billingAddress:o??{},differentBillingAddress:a},{token:this.sessionToken})}mapAddress(e){if(e)return Ze({firstName:e.firstName??this.customerFirstName,lastName:e.lastName??this.customerLastName,phone:e.phone??this.customerPhone,address1:e.line1,address2:e.line2,city:e.city,state:e.state,postal:e.postalCode,country:e.country})}async applyPromoCode(e,t){await this.http.post(`/api/v1/checkout-sessions/${e}/promotions/apply`,{checkoutSessionId:e,code:t},{token:this.sessionToken})}async removePromoCode(e,t){let r=t??"default";await this.http.delete(`/api/v1/checkout-sessions/${e}/promotions/${r}`,{token:this.sessionToken})}async getShippingRates(e){return(await this.http.get(`/api/v1/checkout-sessions/${e}/shipping-rates`,{token:this.sessionToken})).rates??[]}async selectShippingRate(e,t){await this.http.post(`/api/v1/checkout-sessions/${e}/shipping-rate`,{checkoutSessionId:e,shippingRateId:t},{token:this.sessionToken})}normalizeSession(e){var p;let t=e.checkoutSession,r=t.orderSummaries??[],s=e.summary??t.summary??r[0]??{},i=t.sessionLineItems??[],o=t.customer,a=(p=s.currency??t.selectedPresentmentCurrency)==null?void 0:p.toUpperCase(),d=i.map(l=>{let S=l.price,u=(S==null?void 0:S.variant)??{},P=u.product??{},m=(S==null?void 0:S.currencyOptions)??{},h=(a?m[a]:void 0)??m[Object.keys(m)[0]],w=(h==null?void 0:h.amount)??0;return{id:l.id,variantId:l.variantId,priceId:l.priceId,productName:P.name??"",variantName:u.name??"",quantity:l.quantity??1,unitAmount:w,totalAmount:w*(l.quantity??1),currency:a??"USD",imageUrl:u.imageUrl??""}}),c=s.items??[];return{id:t.id,storeId:t.storeId,checkoutToken:t.checkoutToken,currency:a??"USD",items:d,totals:{subtotal:s.subtotalAmount??0,discount:s.totalPromotionAmount??0,shipping:s.shippingCost??0,tax:s.totalTaxAmount??0,total:s.totalAmount??c.reduce((l,S)=>l+(S.amount??0),0),currency:a??"USD"},customer:o?{id:o.id,email:o.email,firstName:o.firstName,lastName:o.lastName,phone:o.phone}:void 0,shippingAddress:this.normalizeAddress(t.shippingAddress),billingAddress:this.normalizeAddress(t.billingAddress),selectedShippingRateId:t.shippingRateId??null,metadata:t.metadata}}normalizeAddress(e){if(!e||typeof e!="object")return;let t=e,r={firstName:t.firstName,lastName:t.lastName,line1:t.line1??t.address1,line2:t.line2??t.address2,city:t.city,state:t.state,postalCode:t.postalCode??t.postal,country:t.country,phone:t.phone};return Object.values(r).some(s=>s!==void 0&&s!=="")?r:void 0}};function Ze(n){let e={};for(let[t,r]of Object.entries(n))r!=null&&r!==""&&(e[t]=r);return Object.keys(e).length>0?e:void 0}var oe=class{constructor(e,t,r){this.http=e;this.storeId=t;this.environment=r}async getPaymentSetup(e,t){if(t!=null&&t.paymentSetupConfig)return t.paymentSetupConfig;let r=this.readInjectedStepConfig();if(r)return r;let s=await this.http.get("/api/v1/payment-methods",{params:{checkoutSessionId:e}}),i={};for(let o of s.methods??[]){let a=o.provider?`${o.method}:${o.provider}`:o.method;i[a]=o}return i}async getExpressMethods(e,t){var i,o,a,d,c,p,l,S,u;let r=await this.getPaymentSetup(e,t),s={};for(let[P,m]of Object.entries(r)){if(!m.enabled)continue;if(P.startsWith("express_checkout:")&&m.methods){let y={available:!0,processorId:m.processorId,publishableKey:m.publishableKey,metadata:m.metadata};if((i=m.methods.apple_pay)!=null&&i.enabled){let f=typeof window<"u"&&"ApplePaySession"in window&&((a=(o=window.ApplePaySession)==null?void 0:o.canMakePayments)==null?void 0:a.call(o));s.applePay={...y,type:"apple_pay",available:!!f}}(d=m.methods.google_pay)!=null&&d.enabled&&(s.googlePay={...y,type:"google_pay"}),(c=m.methods.paypal)!=null&&c.enabled&&(s.paypal={...y,type:"paypal"}),(p=m.methods.link)!=null&&p.enabled&&(s.link={...y,type:"link"}),(l=m.methods.klarna_express)!=null&&l.enabled&&(s.klarna={...y,type:"klarna_express"});continue}if(!m.express)continue;let h=m.method,w={type:h,available:!0,processorId:m.processorId,publishableKey:m.publishableKey,metadata:m.metadata};if(h==="apple_pay"||m.type==="apple_pay"){let y=typeof window<"u"&&"ApplePaySession"in window&&((u=(S=window.ApplePaySession)==null?void 0:S.canMakePayments)==null?void 0:u.call(S));s.applePay={...w,available:!!y}}else h==="google_pay"||m.type==="google_pay"?s.googlePay=w:h==="paypal"?s.paypal=w:h==="klarna"||h==="klarna_express"?s.klarna=w:h==="link"&&(s.link=w)}return s}async getStoreConfig(){let e=await this.http.get("/api/v1/checkout/config",{params:{storeId:this.storeId}});return e.config??e}async getEnabledMethods(e,t){let r=await this.getPaymentSetup(e,t);return Object.entries(r).filter(([,s])=>s.enabled).map(([s])=>s)}async tokenizeCard(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let s={cardNumber:e.cardNumber,expiryDate:e.expiryDate,cvc:e.cvc};e.cardholderName&&(s.cardholderName=e.cardholderName);let[i,o]=await Promise.all([r.tokenizeCard(s),r.tokenizeCardRaw(s)]);return{tagadaToken:i,rawToken:o}}async createInstrument(e){return this.http.post("/api/v1/payment/create-instrument-from-token",{tagadaToken:e.tagadaToken})}async create3dsSession(e){return this.http.post("/api/public/v1/threeds/create-session",{provider:e.provider??"basis_theory",storeId:this.storeId,paymentInstrumentId:e.paymentInstrumentId,sessionData:e.sessionData})}async pay(e){return e.tagadaToken&&!e.paymentInstrumentId?this.http.post("/api/v1/payment/pay-with-token",{tagadaToken:e.tagadaToken,checkoutSessionId:e.checkoutSessionId,returnUrl:e.returnUrl,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,metadata:e.metadata}):this.http.post("/api/public/v1/checkout/pay-v2",{checkoutSessionId:e.checkoutSessionId,paymentInstrumentId:e.paymentInstrumentId,storeId:this.storeId,paymentFlowId:e.paymentFlowId,threedsSessionId:e.threedsSessionId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,metadata:e.metadata})}async payDirect(e){return this.http.post("/api/public/v1/checkout/pay-v2",{checkoutSessionId:e.checkoutSessionId,paymentInstrumentId:e.paymentInstrumentId??"",storeId:this.storeId,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,threedsSessionId:e.threedsSessionId})}async processApplePay(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let{tagadaToken:s}=await r.tokenizeApplePay(e.applePayToken);return this.pay({checkoutSessionId:e.checkoutSessionId,tagadaToken:s,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:"apple_pay",isExpress:!0})}async processGooglePay(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let{tagadaToken:s}=await r.tokenizeGooglePay(e.googlePayToken);return this.pay({checkoutSessionId:e.checkoutSessionId,tagadaToken:s,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:"google_pay",isExpress:!0})}async processApm(e){return this.payDirect({checkoutSessionId:e.checkoutSessionId,paymentMethod:e.paymentMethod,processorId:e.processorId,paymentFlowId:e.paymentFlowId})}async processStripeExpress(e){return this.payDirect({checkoutSessionId:e.checkoutSessionId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:!0})}async processPayment(e){var s,i;!e.returnUrl&&typeof window<"u"&&(e={...e,returnUrl:window.location.href});let t=await this.pay(e),r=t.payment;return r.status==="succeeded"?{status:"succeeded",payment:r,order:t.order}:r.status==="failed"||r.status==="declined"?{status:"failed",error:((s=r.requireActionData)==null?void 0:s.message)||((i=r.requireActionData)==null?void 0:i.errorCode)||`Payment ${r.status}`,payment:r}:r.requireAction&&r.requireAction!=="none"&&r.requireActionData?this.handlePaymentAction(r,e):this.pollUntilDone(r.id)}async resumeAfterRedirect(e){return this.pollUntilDone(e)}async getPaymentStatus(e){return this.http.get(`/api/v1/payments/${e}`)}async pollPaymentStatus(e,t){let r=(t==null?void 0:t.intervalMs)??1500,s=(t==null?void 0:t.timeoutMs)??6e4,i=Date.now();for(;Date.now()-i<s;){let o=await this.getPaymentStatus(e);if(o.status==="succeeded"||o.status==="failed"||o.status==="declined")return o;await new Promise(a=>setTimeout(a,r))}throw new Error(`Payment ${e} did not reach terminal status within ${s}ms.`)}async completeAfter3ds(e){return this.http.post("/api/v1/payments/complete-after-3ds",{paymentId:e})}async markActionProcessed(e){try{await this.http.post("/api/v1/payments/require-action/processed",{paymentId:e})}catch{}}async handlePaymentAction(e,t){let r=e.requireActionData;switch(await this.markActionProcessed(e.id),r.type){case"threeds_auth":return this.handleThreedsAuth(e,t);case"processor_auth":case"redirect_to_payment":return this.extractRedirect(e,r);case"redirect":return this.extractRedirect(e,r);case"error":return{status:"failed",error:r.message||r.errorCode||"Payment failed",payment:e};default:return this.extractRedirect(e,r)}}extractRedirect(e,t){var i,o;let r=(i=t.metadata)==null?void 0:i.redirect,s=(r==null?void 0:r.redirectUrl)||t.redirectUrl;return s?{status:"requires_redirect",redirectUrl:s,method:((o=r==null?void 0:r.method)==null?void 0:o.toUpperCase())||"GET",postData:r==null?void 0:r.data,paymentId:e.id}:{status:"failed",error:`Payment requires action (${t.type}) but no redirect URL was provided`,payment:e}}async handleThreedsAuth(e,t){var i,o;let r=(o=(i=e.requireActionData)==null?void 0:i.metadata)==null?void 0:o.threedsSession;if(!(r!=null&&r.externalSessionId))return this.extractRedirect(e,e.requireActionData);let s;try{s=await import("@tagadapay/core-js")}catch{return r.acsChallengeUrl?{status:"requires_redirect",redirectUrl:r.acsChallengeUrl,paymentId:e.id}:this.extractRedirect(e,e.requireActionData)}try{let a=new s.ThreedsManager({provider:"basis_theory"});return await a.initialize({apiKey:void 0}),await a.startChallenge({sessionId:r.externalSessionId,acsChallengeUrl:r.acsChallengeUrl,acsTransactionId:r.acsTransID,threeDSVersion:r.messageVersion}),await this.completeAfter3ds(e.id),this.pollUntilDone(e.id)}catch{return r.acsChallengeUrl?{status:"requires_redirect",redirectUrl:r.acsChallengeUrl,paymentId:e.id}:{status:"failed",error:"3D Secure authentication failed",payment:e}}}async pollUntilDone(e,t){let r=(t==null?void 0:t.intervalMs)??1500,s=(t==null?void 0:t.timeoutMs)??6e4,i=Date.now(),o=0;for(;Date.now()-i<s;){let a;try{a=await this.getPaymentStatus(e),o=0}catch{if(o++,o>=3)return{status:"failed",error:"Payment verification failed due to network errors"};await new Promise(d=>setTimeout(d,r));continue}if(a.status==="succeeded"||a.status==="pending"&&a.subStatus==="authorized")return{status:"succeeded",payment:a,order:a.order};if(a.status==="failed"||a.status==="declined")return{status:"failed",error:a.status,payment:a};if(a.requireAction&&a.requireAction!=="none"&&a.requireActionData&&!a.requireActionData.processed)return this.handlePaymentAction(a,{});await new Promise(d=>setTimeout(d,r))}return{status:"pending",paymentId:e}}readInjectedStepConfig(){if(typeof window>"u")return null;let e=window.__TGD_STEP_CONFIG__;if(!e)return null;try{let t=typeof e=="string"?JSON.parse(e):e;return(t==null?void 0:t.paymentSetupConfig)??null}catch{return null}}async loadCoreJs(){try{return await import("@tagadapay/core-js")}catch{throw new Error("This method requires @tagadapay/core-js. Install it: npm install @tagadapay/core-js")}}};var ie=class{constructor(e,t){this.http=e;this.storeId=t}async getOffer(e){return this.http.get(`/api/v1/offers/${e}`)}async listOffers(e){var i;let t=`/api/v1/stores/${this.storeId}/offers`,r=[];if(e!=null&&e.type&&r.push(`type=${encodeURIComponent(e.type)}`),(i=e==null?void 0:e.ids)!=null&&i.length)for(let o of e.ids)r.push(`ids=${encodeURIComponent(o)}`);return r.length&&(t+=`?${r.join("&")}`),(await this.http.get(t)).offers??[]}async previewOffer(e){return this.http.post(`/api/v1/offers/${e.offerId}/preview`,{offerId:e.offerId,currency:e.currency??"",lineItems:e.lineItems})}async payPreviewedOffer(e){return this.http.post(`/api/v1/offers/${e.offerId}/pay-preview`,{offerId:e.offerId,currency:e.currency??"",lineItems:e.lineItems,returnUrl:e.returnUrl??(typeof window<"u"?window.location.href:""),mainOrderId:e.mainOrderId,paymentInstrumentId:e.paymentInstrumentId})}async toggleOrderBump(e){return this.http.post(`/api/v1/checkout-sessions/${e.checkoutSessionId}/toggle-order-bump`,{orderBumpOfferId:e.orderBumpOfferId,selected:e.selected})}async listPostPurchaseOffers(e){let t=await this.http.get(`/api/v1/post-purchase/${e}/offers`);return Array.isArray(t)?t:[]}async acceptPostPurchaseOffer(e){return this.http.post(`/api/v1/orders/${e.orderId}/post-purchase-offers/${e.offerId}/accept`,{items:e.items??[]})}async declinePostPurchaseOffer(e){return this.http.post(`/api/v1/orders/${e.orderId}/post-purchase-offers/${e.offerId}/decline`)}};var ae=class{constructor(e,t){this.http=e;this.storeId=t}async getProfile(e){return(await this.http.get(`/api/v1/customers/${e}`,{params:{storeId:this.storeId}})).customer}async getByEmail(e){try{return(await this.http.get("/api/v1/customers/by-email",{params:{email:e,storeId:this.storeId}})).customer}catch{return null}}async updateProfile(e,t){return(await this.http.patch(`/api/v1/customers/${e}`,{storeId:this.storeId,...t})).customer}async getOrders(e,t){return this.http.get(`/api/v1/customers/${e}/orders`,{params:{storeId:this.storeId,limit:t==null?void 0:t.limit,offset:t==null?void 0:t.offset}})}async getOrder(e){return(await this.http.get(`/api/v1/orders/${e}`,{params:{storeId:this.storeId}})).order}async getSubscriptions(e){return(await this.http.get(`/api/v1/customers/${e}/subscriptions`,{params:{storeId:this.storeId}})).subscriptions}async getSubscription(e){return(await this.http.get(`/api/v1/subscriptions/${e}`,{params:{storeId:this.storeId}})).subscription}};var ce=class{constructor(e,t){this.http=e;this.storeId=t}async getProducts(e){var s,i;let t={storeId:this.storeId,includeVariants:!0,includePrices:!0};return(s=e==null?void 0:e.productIds)!=null&&s.length&&(t.productIds=e.productIds),(i=e==null?void 0:e.variantIds)!=null&&i.length&&(t.variantIds=e.variantIds),(await this.http.post("/api/v1/products",t)).items??[]}async getProduct(e){return(await this.getProducts({productIds:[e]}))[0]??null}};var ge=class{constructor(e){let t=e.environment??"production",r=J.resolveBaseUrl(t,e.baseUrl);this.config={...e,environment:t,baseUrl:r,timeout:e.timeout??3e4},this.http=new J({baseUrl:r,timeout:this.config.timeout,apiKey:e.apiKey,getToken:()=>this._sessionToken});let s=i=>{this._sessionToken=i};this.checkout=new ne(this.http,this.config.storeId,s),this.payment=new oe(this.http,this.config.storeId,t),this.offers=new ie(this.http,this.config.storeId),this.customer=new ae(this.http,this.config.storeId),this.catalog=new ce(this.http,this.config.storeId)}setSessionToken(e){this._sessionToken=e}};function ve(n){return new ge(n)}var be=T("react/jsx-runtime"),Ae=(0,q.createContext)(null);function Re({storeId:n,environment:e,apiKey:t,baseUrl:r,config:s,children:i}){let o=(0,q.useMemo)(()=>ve(s??{storeId:n,environment:e,apiKey:t,baseUrl:r}),[n,e,t,r,s]),a=(0,q.useMemo)(()=>({client:o}),[o]);return(0,be.jsx)(Ae.Provider,{value:a,children:i})}function D(){let n=(0,q.useContext)(Ae);if(!n)throw new Error("useHeadlessClient must be used within <TagadaHeadlessProvider>");return n.client}var R=T("react");function Oe(n,e){let t=D(),[r,s]=(0,R.useState)(null),[i,o]=(0,R.useState)(!1),[a,d]=(0,R.useState)(null),c=(0,R.useCallback)(async()=>{if(n){o(!0),d(null);try{let f=await t.checkout.loadSession(n,e);s(f)}catch(f){d(f instanceof Error?f:new Error(String(f)))}finally{o(!1)}}},[t,n,e]);(0,R.useEffect)(()=>{c()},[c]);let p=(0,R.useCallback)(async f=>{o(!0),d(null);try{let g=await t.checkout.createSession(f),U=new URL(window.location.href);U.searchParams.set("checkoutToken",g.checkoutToken),U.searchParams.set("token",g.sessionToken),window.history.replaceState({},"",U.toString());let B=await t.checkout.loadSession(g.checkoutToken,g.sessionToken);s(B)}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}},[t]),l=(0,R.useCallback)(async f=>{r&&(await t.checkout.updateCart(r.id,f),await c())},[t,r,c]),S=(0,R.useCallback)(async f=>{r&&await t.checkout.updateCustomer(r.id,f)},[t,r]),u=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.updateAddress(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),P=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.updateCustomerAndAddress(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),m=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.applyPromoCode(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),h=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.removePromoCode(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),w=(0,R.useCallback)(async()=>r?t.checkout.getShippingRates(r.id):[],[t,r]),y=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.selectShippingRate(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]);return{session:r,isLoading:i,error:a,refresh:c,createSession:p,updateCart:l,updateCustomer:S,updateAddress:u,updateCustomerAndAddress:P,applyPromo:m,removePromo:h,getShippingRates:w,selectShippingRate:y}}var k=T("react");function xe(n){let e=D(),[t,r]=(0,k.useState)(null),[s,i]=(0,k.useState)(null),[o,a]=(0,k.useState)(null),[d,c]=(0,k.useState)(!1),[p,l]=(0,k.useState)(null),[S,u]=(0,k.useState)(null),P=(0,k.useRef)(!1),m=(0,k.useRef)(!1),h=(0,k.useRef)(n);h.current=n,(0,k.useEffect)(()=>{if(typeof window>"u"||m.current)return;let v=new URLSearchParams(window.location.search),C=v.get("paymentAction"),A=v.get("paymentActionStatus"),_=v.get("paymentId");if(C!=="requireAction"||A!=="completed"||!_)return;m.current=!0,c(!0),u(null),(async()=>{var I,E,K,Q;try{let x=await e.payment.resumeAfterRedirect(_),pe=new URLSearchParams(window.location.search);["paymentAction","paymentActionStatus","paymentId","payment_intent","payment_intent_client_secret","source_type","redirect_status"].forEach(Fe=>pe.delete(Fe));let je=pe.toString()?`${window.location.pathname}?${pe.toString()}`:window.location.pathname;window.history.replaceState({},document.title,je),x.status==="succeeded"?(E=(I=h.current)==null?void 0:I.onPaymentSuccess)==null||E.call(I,x):x.status==="failed"&&(u(new Error(x.error)),(Q=(K=h.current)==null?void 0:K.onPaymentFailed)==null||Q.call(K,x))}catch(x){u(x instanceof Error?x:new Error(String(x)))}finally{c(!1)}})()},[e]);let w=(0,k.useCallback)(async(v,C)=>{var _;if(P.current)return;P.current=!0;let A=C!=null&&C.paymentSetupConfig?{paymentSetupConfig:C.paymentSetupConfig}:(_=h.current)!=null&&_.paymentSetupConfig?{paymentSetupConfig:h.current.paymentSetupConfig}:void 0;try{let[M,I,E]=await Promise.all([e.payment.getPaymentSetup(v,A),e.payment.getExpressMethods(v,A),e.payment.getStoreConfig()]);r(M),i(I),a(E)}catch(M){P.current=!1,u(M instanceof Error?M:new Error(String(M)))}},[e]),y=(0,k.useCallback)(async v=>{var C,A,_,M;c(!0),u(null);try{let I=await e.payment.processPayment(v);if(I.status==="requires_redirect"){if(I.method==="POST"&&I.postData){let E=document.createElement("form");E.method="POST",E.action=I.redirectUrl;for(let[K,Q]of Object.entries(I.postData)){let x=document.createElement("input");x.type="hidden",x.name=K,x.value=Q,E.appendChild(x)}document.body.appendChild(E),E.submit()}else window.location.href=I.redirectUrl;return I}return I.status==="succeeded"?(A=(C=h.current)==null?void 0:C.onPaymentSuccess)==null||A.call(C,I):I.status==="failed"&&(u(new Error(I.error)),(M=(_=h.current)==null?void 0:_.onPaymentFailed)==null||M.call(_,I)),I}catch(I){let E=I instanceof Error?I:new Error(String(I));return u(E),{status:"failed",error:E.message}}finally{c(!1)}},[e]),f=(0,k.useCallback)(v=>async()=>{c(!0),u(null);try{return await v()}catch(C){let A=C instanceof Error?C:new Error(String(C));throw u(A),A}finally{c(!1)}},[]),g=(0,k.useCallback)(async v=>{c(!0),u(null);try{let C=await e.payment.pay(v);return l(C),C}catch(C){let A=C instanceof Error?C:new Error(String(C));throw u(A),A}finally{c(!1)}},[e]),U=(0,k.useCallback)(v=>e.payment.tokenizeCard(v),[e]),B=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processApplePay(v))();return l(A),A},[e,f]),Me=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processGooglePay(v))();return l(A),A},[e,f]),He=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processApm(v))();return l(A),A},[e,f]),qe=(0,k.useCallback)(v=>e.payment.pollPaymentStatus(v),[e]);return{paymentSetup:t,expressMethods:s,storeConfig:o,isProcessing:d,result:p,error:S,loadPaymentSetup:w,processPayment:y,pay:g,tokenizeCard:U,processApplePay:B,processGooglePay:Me,processApm:He,pollStatus:qe}}var O=T("react");function Ee(){let n=D(),[e,t]=(0,O.useState)(null),[r,s]=(0,O.useState)(null),[i,o]=(0,O.useState)(!1),[a,d]=(0,O.useState)(null),c=(0,O.useCallback)(async y=>{o(!0),d(null);try{return await y()}catch(f){let g=f instanceof Error?f:new Error(String(f));throw d(g),g}finally{o(!1)}},[]),p=(0,O.useCallback)(y=>c(async()=>{let f=await n.offers.getOffer(y);return t(f),f}),[n,c]),l=(0,O.useCallback)(y=>n.offers.listOffers(y),[n]),S=(0,O.useCallback)(y=>c(async()=>{let f=await n.offers.previewOffer(y);return s(f),f}),[n,c]),u=(0,O.useCallback)(y=>c(()=>n.offers.payPreviewedOffer(y)),[n,c]),P=(0,O.useCallback)(y=>n.offers.toggleOrderBump(y),[n]),m=(0,O.useCallback)(y=>n.offers.listPostPurchaseOffers(y),[n]),h=(0,O.useCallback)(y=>c(()=>n.offers.acceptPostPurchaseOffer(y)),[n,c]),w=(0,O.useCallback)(y=>c(()=>n.offers.declinePostPurchaseOffer(y)),[n,c]);return{offer:e,preview:r,isLoading:i,error:a,getOffer:p,listOffers:l,previewOffer:S,payPreviewedOffer:u,toggleOrderBump:P,listPostPurchaseOffers:m,acceptPostPurchaseOffer:h,declinePostPurchaseOffer:w}}var L=T("react");function Le(n){let e=D(),[t,r]=(0,L.useState)(null),[s,i]=(0,L.useState)([]),[o,a]=(0,L.useState)([]),[d,c]=(0,L.useState)(!1),[p,l]=(0,L.useState)(null),S=(0,L.useCallback)(async h=>{c(!0),l(null);try{let w=await e.customer.getProfile(h);r(w)}catch(w){l(w instanceof Error?w:new Error(String(w)))}finally{c(!1)}},[e]),u=(0,L.useCallback)(async h=>{try{let w=await e.customer.getOrders(h);i(w.orders)}catch(w){l(w instanceof Error?w:new Error(String(w)))}},[e]),P=(0,L.useCallback)(async h=>{try{let w=await e.customer.getSubscriptions(h);a(w)}catch(w){l(w instanceof Error?w:new Error(String(w)))}},[e]),m=(0,L.useCallback)(async(h,w)=>{try{let y=await e.customer.updateProfile(h,w);r(y)}catch(y){l(y instanceof Error?y:new Error(String(y)))}},[e]);return(0,L.useEffect)(()=>{n&&S(n)},[n,S]),{customer:t,orders:s,subscriptions:o,isLoading:d,error:p,loadCustomer:S,loadOrders:u,loadSubscriptions:P,updateProfile:m}}var j=T("react");function Te(){let n=D(),[e,t]=(0,j.useState)([]),[r,s]=(0,j.useState)(!1),[i,o]=(0,j.useState)(null),a=(0,j.useCallback)(async c=>{s(!0),o(null);try{let p=await n.catalog.getProducts(c);return t(p),p}catch(p){let l=p instanceof Error?p:new Error(String(p));throw o(l),l}finally{s(!1)}},[n]),d=(0,j.useCallback)(async c=>{s(!0),o(null);try{return await n.catalog.getProduct(c)}catch(p){let l=p instanceof Error?p:new Error(String(p));throw o(l),l}finally{s(!1)}},[n]);return{products:e,isLoading:r,error:i,loadProducts:a,loadProduct:d}}var b=T("react");var De=!1,Ue=!1,ue=[];function fe(){Ue=!0;for(let n of ue)n();ue.length=0}function V(n,e={}){var t,r;return Ue||(r=(t=window.google)==null?void 0:t.maps)!=null&&r.places?(fe(),Promise.resolve()):De?new Promise(s=>ue.push(s)):(De=!0,new Promise((s,i)=>{if(ue.push(s),document.querySelector('script[src*="maps.googleapis.com"]')){let c=()=>{var p,l;(l=(p=window.google)==null?void 0:p.maps)!=null&&l.places?fe():setTimeout(c,100)};c();return}let a=new URLSearchParams({key:n,libraries:"places",v:e.version??"weekly"});e.language&&a.set("language",e.language),e.region&&a.set("region",e.region);let d=document.createElement("script");d.src=`https://maps.googleapis.com/maps/api/js?${a}`,d.async=!0,d.defer=!0,d.onload=()=>fe(),d.onerror=()=>i(new Error("Failed to load Google Maps script")),document.head.appendChild(d)}))}var $=class n{static async searchPlaces(e,t={}){var s,i;if(!((i=(s=window.google)==null?void 0:s.maps)!=null&&i.places)||!e.trim())return[];let r=new window.google.maps.places.AutocompleteService;return new Promise(o=>{r.getPlacePredictions({input:e,types:t.types??["address"],componentRestrictions:t.componentRestrictions},(a,d)=>{var c,p,l;o(d===((l=(p=(c=window.google)==null?void 0:c.maps)==null?void 0:p.places)==null?void 0:l.PlacesServiceStatus.OK)&&a?a:[])})})}static async getPlaceDetails(e){var r,s;if(!((s=(r=window.google)==null?void 0:r.maps)!=null&&s.places))return null;let t=new window.google.maps.places.PlacesService(document.createElement("div"));return new Promise(i=>{t.getDetails({placeId:e,fields:["place_id","formatted_address","address_components","geometry"]},(o,a)=>{var d,c,p;i(a===((p=(c=(d=window.google)==null?void 0:d.maps)==null?void 0:c.places)==null?void 0:p.PlacesServiceStatus.OK)&&o?o:null)})})}static extractAddressComponents(e){let t={subpremise:"",streetNumber:"",route:"",locality:"",administrativeAreaLevel1:"",administrativeAreaLevel1Long:"",administrativeAreaLevel2:"",administrativeAreaLevel2Long:"",country:"",postalCode:"",fullStreetAddress:""},r="",s="",i="",o="",a="",d="",c="",p="";for(let u of e.address_components??[]){let P=u.types;P.includes("subpremise")&&(t.subpremise=u.long_name),P.includes("street_number")&&(t.streetNumber=u.long_name),P.includes("premise")&&(r=u.long_name),P.includes("route")&&(t.route=u.long_name),P.includes("neighborhood")&&(s=u.long_name),P.includes("sublocality_level_5")&&(i=u.long_name),P.includes("sublocality_level_4")&&(o=u.long_name),P.includes("sublocality_level_3")&&(a=u.long_name),P.includes("sublocality_level_2")&&(d=u.long_name),P.includes("sublocality_level_1")&&(c=u.long_name),P.includes("locality")&&(t.locality=u.long_name),P.includes("postal_town")&&(p=u.long_name),P.includes("administrative_area_level_2")&&(t.administrativeAreaLevel2=u.short_name,t.administrativeAreaLevel2Long=u.long_name),P.includes("administrative_area_level_1")&&(t.administrativeAreaLevel1=u.short_name,t.administrativeAreaLevel1Long=u.long_name),P.includes("country")&&(t.country=u.short_name),P.includes("postal_code")&&(t.postalCode=u.long_name)}t.locality||(t.locality=p||d||c||""),!t.administrativeAreaLevel1&&t.administrativeAreaLevel2&&(t.administrativeAreaLevel1=t.administrativeAreaLevel2Long||t.administrativeAreaLevel2,t.administrativeAreaLevel1Long=t.administrativeAreaLevel2Long);let l=t.streetNumber||r,S=t.route||i||o||a||s;if(t.subpremise&&l&&S)t.fullStreetAddress=`${t.subpremise}/${l} ${S}`;else if(l&&S)if(r&&o&&a){let u=`${a}-${o}-${r}`;d&&(u=`${u} ${d}`),t.fullStreetAddress=u}else t.fullStreetAddress=`${l} ${S}`;else S?t.fullStreetAddress=S:l&&(t.fullStreetAddress=l);return t.fullStreetAddress=t.fullStreetAddress.trim(),t}static extractFormattedAddress(e){let t=n.extractAddressComponents(e);return{address1:t.fullStreetAddress,city:t.locality,country:t.country,state:t.administrativeAreaLevel1,postal:t.postalCode}}};function Ne(n){let{apiKey:e,language:t,region:r,version:s,defer:i=!1}=n,[o,a]=(0,b.useState)([]),[d,c]=(0,b.useState)(!1),[p,l]=(0,b.useState)(!1),S=(0,b.useRef)(null),u=(0,b.useRef)(null),P=(0,b.useCallback)(()=>{V(e,{language:t,region:r,version:s}).then(()=>l(!0))},[e,t,r,s]);(0,b.useEffect)(()=>{!e||i||P()},[e,i,P]),(0,b.useEffect)(()=>{if(p&&u.current){let{input:g,country:U}=u.current;u.current=null,m(g,U)}},[p]);let m=(0,b.useCallback)((g,U)=>{if(!p){i&&(u.current={input:g,country:U},P());return}if(g.length<3){a([]);return}S.current&&clearTimeout(S.current),S.current=setTimeout(async()=>{c(!0);let B=await $.searchPlaces(g,{componentRestrictions:U?{country:U.toLowerCase()}:void 0});a(B),c(!1)},300)},[p,i,P]),h=(0,b.useCallback)(g=>$.getPlaceDetails(g),[]),w=(0,b.useCallback)(g=>$.extractAddressComponents(g),[]),y=(0,b.useCallback)(g=>$.extractFormattedAddress(g),[]),f=(0,b.useCallback)(()=>a([]),[]);return{predictions:o,isLoading:d,isScriptLoaded:p,searchPlaces:m,getPlaceDetails:h,extractAddressComponents:w,extractFormattedAddress:y,clearPredictions:f}}var H=T("react");var _e="https://cvwnizdbugpz6jwk.public.blob.vercel-storage.com/geodata/v1",Pe=["en","ru","de","da","fr","es","zh","hi","pt","ja","ar","it","he"],Y=new Map,de=new Map,ye=new Map,he=new Map;async function Qe(n){let e=Y.get(n);if(e)return e;let t=ye.get(n);return t||(t=(async()=>{let r=`${_e}/${n}/countries.json`,s=await fetch(r);if(!s.ok)throw new Error(`Geodata fetch failed: ${r} (${s.status})`);let i=await s.json();return Y.set(n,i),ye.delete(n),i})(),ye.set(n,t),t)}async function Xe(n){let e=de.get(n);if(e)return e;let t=he.get(n);return t||(t=(async()=>{let r=`${_e}/${n}/regions.json`,s=await fetch(r);if(!s.ok)throw new Error(`Geodata fetch failed: ${r} (${s.status})`);let i=await s.json();return de.set(n,i),he.delete(n),i})(),he.set(n,t),t)}function et(n){return Y.get(n)||Y.get("en")||{}}function tt(n){return de.get(n)||de.get("en")||{}}async function W(n="en"){await Promise.all([Qe(n),Xe(n)])}var le=(n="en")=>{let e=et(n);return Object.entries(e).map(([t,r])=>({code:t,name:r.n,iso3:r.i3,numeric:r.nu})).sort((t,r)=>t.name.localeCompare(r.name))},we=(n,e="en")=>{let r=tt(e)[n];return r?r.map(([s,i])=>({code:s,name:i,countryCode:n})).sort((s,i)=>s.name.localeCompare(i.name)):[]};function Z(n){return Y.has(n)}var G=class n{static ensureLoaded(e="en"){return W(e)}static getCountries(e="en"){let t=le(e),r={};for(let s of t)r[s.code]={iso:s.code,iso3:s.iso3??"",numeric:s.numeric??0,name:s.name};return r}static getCountryOptions(e="en"){return le(e).map(t=>({value:t.code,label:t.name}))}static getRegions(e,t="en"){return we(e,t).map(r=>({iso:r.code,name:r.name}))}static getRegionOptions(e,t="en"){return n.getRegions(e,t).map(r=>({value:r.iso,label:r.name}))}static findRegion(e,t,r="en"){return n.getRegions(e,r).find(s=>s.iso===t)??null}static mapGoogleToISO(e,t,r,s="en"){let i=n.getRegions(r,s);if(i.length===0)return null;let o=i.find(a=>a.iso===e);return o||(o=i.find(a=>a.name.toLowerCase()===e.toLowerCase()),o)||(o=i.find(a=>a.name.toLowerCase()===t.toLowerCase()),o)?o:(o=i.find(a=>a.name.toLowerCase().includes(t.toLowerCase())||t.toLowerCase().includes(a.name.toLowerCase())),o??null)}static isLanguageLoaded(e){return Z(e)}static getAvailableLanguages(){return Pe}};function me(n="en"){let[e,t]=(0,H.useState)(Z(n));return(0,H.useEffect)(()=>{let r=!1;return W(n).then(()=>{r||t(!0)}).catch(s=>console.error("[headless-sdk] Failed to load geodata:",s)),()=>{r=!0}},[n]),(0,H.useMemo)(()=>e?{countries:G.getCountries(n),getRegions:r=>G.getRegions(r,n),findRegion:(r,s)=>G.findRegion(r,s,n),mapGoogleToISO:(r,s,i)=>G.mapGoogleToISO(r,s,i,n),isLoaded:!0}:{countries:{},getRegions:()=>[],findRegion:()=>null,mapGoogleToISO:()=>null,isLoaded:!1},[n,e])}function $e(n="en"){let{countries:e,isLoaded:t}=me(n);return(0,H.useMemo)(()=>t?Object.values(e).map(r=>({value:r.iso,label:r.name})).sort((r,s)=>r.label.localeCompare(s.label)):[],[e,t])}function Ge(n,e="en"){let{getRegions:t,isLoaded:r}=me(e);return(0,H.useMemo)(()=>!r||!n?[]:t(n).map(s=>({value:s.iso,label:s.name})).sort((s,i)=>s.label.localeCompare(i.label)),[n,t,r])}var rt={USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$",CHF:"CHF",CNY:"\xA5",SEK:"kr",NOK:"kr",DKK:"kr",PLN:"z\u0142",CZK:"K\u010D",HUF:"Ft",RON:"lei",BGN:"\u043B\u0432",HRK:"kn",RUB:"\u20BD",UAH:"\u20B4",TRY:"\u20BA",BRL:"R$",MXN:"$",ZAR:"R",INR:"\u20B9",KRW:"\u20A9",THB:"\u0E3F",VND:"\u20AB",IDR:"Rp",MYR:"RM",SGD:"S$",PHP:"\u20B1",TWD:"NT$",HKD:"HK$",ILS:"\u20AA",AED:"\u062F.\u0625",SAR:"\u0631.\u0633",QAR:"\u0631.\u0642",KWD:"\u062F.\u0643",BHD:"\u062F.\u0628",OMR:"\u0631.\u0639.",EGP:"\xA3",NGN:"\u20A6",KES:"KSh",GHS:"\u20B5",COP:"$",ARS:"$",CLP:"$",PEN:"S/",CRC:"\u20A1",DOP:"RD$",JMD:"J$",BOB:"Bs",PYG:"\u20B2",GTQ:"Q",NIO:"C$",PAB:"B/.",PKR:"\u20A8",BDT:"\u09F3",LKR:"\u20A8",NPR:"\u20A8",GEL:"\u20BE",AMD:"\u058F",AZN:"\u20BC",KZT:"\u20B8"},st={USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar",CHF:"Swiss Franc",CNY:"Chinese Yuan",SEK:"Swedish Krona",NOK:"Norwegian Krone",DKK:"Danish Krone",PLN:"Polish Zloty",CZK:"Czech Koruna",HUF:"Hungarian Forint",BRL:"Brazilian Real",MXN:"Mexican Peso",INR:"Indian Rupee",KRW:"South Korean Won",THB:"Thai Baht",SGD:"Singapore Dollar",HKD:"Hong Kong Dollar",TWD:"Taiwan Dollar",ILS:"Israeli Shekel",AED:"UAE Dirham",SAR:"Saudi Riyal",ZAR:"South African Rand",TRY:"Turkish Lira",RUB:"Russian Ruble",NGN:"Nigerian Naira"},nt=new Set(["JPY","KRW","VND","IDR","LAK","KHR","MMK","PYG"]),F=class n{static getSymbol(e){return rt[e]??e}static getName(e){return st[e]??e}static getDecimalPlaces(e){return nt.has(e)?0:2}static getCurrency(e){return{code:e,symbol:n.getSymbol(e),name:n.getName(e),decimalPlaces:n.getDecimalPlaces(e)}}};function Se(n,e="USD",t="en-US"){let r=F.getDecimalPlaces(e),s=n/(r===0?100:Math.pow(10,r));try{return new Intl.NumberFormat(t,{style:"currency",currency:e,minimumFractionDigits:r,maximumFractionDigits:r}).format(s)}catch{return`${F.getSymbol(e)}${s.toFixed(r)}`}}return We(ot);})();
6
+ "use strict";var TagadaHeadlessReactBundle=(()=>{var Ke=Object.create;var X=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var L=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var Ye=(n,e)=>{for(var t in e)X(n,t,{get:e[t],enumerable:!0})},Ce=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ze(e))!Ve.call(n,s)&&s!==t&&X(n,s,{get:()=>e[s],enumerable:!(r=Be(e,s))||r.enumerable});return n};var Ie=(n,e,t)=>(t=n!=null?Ke(Je(n)):{},Ce(e||!n||!n.__esModule?X(t,"default",{value:n,enumerable:!0}):t,n)),We=n=>Ce(X({},"__esModule",{value:!0}),n);var ot={};Ye(ot,{CurrencyUtils:()=>F,GoogleAutocompleteCore:()=>$,ISODataCore:()=>G,TagadaHeadlessProvider:()=>Re,formatMoney:()=>Se,loadGoogleMapsScript:()=>V,useCatalog:()=>Le,useCheckout:()=>Oe,useCountryOptions:()=>$e,useCustomer:()=>Te,useGoogleAutocomplete:()=>Ne,useHeadlessClient:()=>D,useISOData:()=>me,useOffers:()=>Ee,usePayment:()=>xe,useRegionOptions:()=>Ge});var q=L("react");var N=class extends Error{constructor(e,t,r,s){super(e),this.name="TagadaError",this.code=t,this.statusCode=r,this.details=s}},ee=class extends N{constructor(e="Authentication failed. Check your API key or checkout token."){super(e,"auth_error",401),this.name="TagadaAuthError"}},te=class extends N{constructor(e,t=[]){super(e,"validation_error",422,{errors:t}),this.name="TagadaValidationError",this.errors=t}},re=class extends N{constructor(e,t){super(`${e} "${t}" not found.`,"not_found",404),this.name="TagadaNotFoundError"}},se=class extends N{constructor(e=1e3){super(`Rate limited. Retry after ${e}ms.`,"rate_limit",429),this.name="TagadaRateLimitError",this.retryAfterMs=e}};var z=class extends N{constructor(e="Network request failed. Check your connection."){super(e,"network_error"),this.name="TagadaNetworkError"}};var ke={production:"https://api.tagada.io",development:"https://api.tagada.dev",local:"http://localhost:3000"},J=class{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.timeout=e.timeout,this.apiKey=e.apiKey,this.getToken=e.getToken}static resolveBaseUrl(e,t){return t??ke[e]??ke.production}async request(e,t={}){var h;let{method:r="GET",body:s,headers:i={},params:o,token:a,signal:d}=t,c=`${this.baseUrl}${e}`;if(o){let m=new URLSearchParams;for(let[w,y]of Object.entries(o))y!==void 0&&m.set(w,String(y));let P=m.toString();P&&(c+=`?${P}`)}let p={"Content-Type":"application/json",...i},l=a??this.apiKey??((h=this.getToken)==null?void 0:h.call(this));l&&(p["x-cms-token"]=l);let S=new AbortController,u=setTimeout(()=>S.abort(),this.timeout);try{let m=await fetch(c,{method:r,headers:p,body:s!=null?JSON.stringify(s):void 0,signal:d??S.signal});if(clearTimeout(u),m.ok){let P=await m.text();return P?JSON.parse(P):{}}throw await this.handleErrorResponse(m,e),new N("Unexpected error","unknown",m.status)}catch(m){throw clearTimeout(u),m instanceof N?m:m instanceof DOMException&&m.name==="AbortError"?new z(`Request to ${e} timed out after ${this.timeout}ms.`):new z(m instanceof Error?m.message:"Network request failed.")}}get(e,t){return this.request(e,{...t,method:"GET"})}post(e,t,r){return this.request(e,{...r,method:"POST",body:t})}patch(e,t,r){return this.request(e,{...r,method:"PATCH",body:t})}put(e,t,r){return this.request(e,{...r,method:"PUT",body:t})}delete(e,t){return this.request(e,{...t,method:"DELETE"})}async handleErrorResponse(e,t){let r={};try{r=await e.json()}catch{}let s=r.message??r.error??`Request failed: ${e.status} ${e.statusText} on ${t}`;switch(e.status){case 401:case 403:throw new ee(s);case 404:throw new re(t,"");case 422:{let i=Array.isArray(r.errors)?r.errors:[];throw new te(s,i)}case 429:{let i=Number(e.headers.get("Retry-After")??"1")*1e3;throw new se(i)}default:throw new N(s,"api_error",e.status,r)}}};var ne=class{constructor(e,t,r){this.http=e;this.storeId=t;this.onTokenChange=r}async loadSession(e,t,r){var o;t&&(this.sessionToken=t,(o=this.onTokenChange)==null||o.call(this,t));let s={skipAsyncWait:"false"};r!=null&&r.currency&&(s.currency=r.currency);let i=await this.http.get(`/api/v1/checkout-sessions/${e}/v2`,{params:s,token:this.sessionToken});return this.normalizeSession(i)}async createSession(e){var d;let t=e.items.map(c=>({variantId:c.variantId,priceId:c.priceId,quantity:c.quantity})),r={storeId:this.storeId,lineItems:t};e.returnUrl&&(r.returnUrl=e.returnUrl);let s={};e.currency&&(s.currency=e.currency),e.customerEmail&&(s.email=e.customerEmail,s.firstName=e.customerFirstName,s.lastName=e.customerLastName),Object.keys(s).length>0&&(r.customer=s);let i=await this.http.post("/api/v1/checkout/session/init",r),a=new URL(i.checkoutUrl).searchParams.get("token")??"";return this.sessionToken=a,a&&((d=this.onTokenChange)==null||d.call(this,a)),{checkoutUrl:i.checkoutUrl,checkoutToken:i.checkoutToken,sessionToken:a,customerId:i.customerId}}async updateCart(e,t){return this.http.post(`/api/v1/checkout-sessions/${e}/line-items`,{items:t},{token:this.sessionToken})}async updateCustomer(e,t){t.email&&(this.customerEmail=t.email),t.firstName&&(this.customerFirstName=t.firstName),t.lastName&&(this.customerLastName=t.lastName),t.phone&&(this.customerPhone=t.phone)}async updateAddress(e,t){let r=this.mapAddress(t.shippingAddress),s=this.mapAddress(t.billingAddress),i=r??s??{},o=s??r,a=!!(t.billingAddress&&t.shippingAddress);await this.http.post(`/api/v1/checkout-sessions/${e}/customer-and-session-info`,{checkoutSessionId:e,customerData:{email:this.customerEmail},shippingAddress:i,billingAddress:o??{},differentBillingAddress:a},{token:this.sessionToken})}async updateCustomerAndAddress(e,t){t.customer.email&&(this.customerEmail=t.customer.email),t.customer.firstName&&(this.customerFirstName=t.customer.firstName),t.customer.lastName&&(this.customerLastName=t.customer.lastName),t.customer.phone&&(this.customerPhone=t.customer.phone);let r=this.mapAddress(t.shippingAddress),s=this.mapAddress(t.billingAddress),i=r??s??{},o=s??r,a=!!(t.billingAddress&&t.shippingAddress);await this.http.post(`/api/v1/checkout-sessions/${e}/customer-and-session-info`,{checkoutSessionId:e,customerData:{email:this.customerEmail},shippingAddress:i,billingAddress:o??{},differentBillingAddress:a},{token:this.sessionToken})}mapAddress(e){if(e)return Ze({firstName:e.firstName??this.customerFirstName,lastName:e.lastName??this.customerLastName,phone:e.phone??this.customerPhone,address1:e.line1,address2:e.line2,city:e.city,state:e.state,postal:e.postalCode,country:e.country})}async applyPromoCode(e,t){await this.http.post(`/api/v1/checkout-sessions/${e}/promotions/apply`,{checkoutSessionId:e,code:t},{token:this.sessionToken})}async removePromoCode(e,t){let r=t??"default";await this.http.delete(`/api/v1/checkout-sessions/${e}/promotions/${r}`,{token:this.sessionToken})}async getShippingRates(e){return((await this.http.get(`/api/v1/checkout-sessions/${e}/shipping-rates`,{token:this.sessionToken})).rates??[]).map(r=>this.normalizeShippingRate(r))}normalizeShippingRate(e){return{id:e.id,name:e.name??e.shippingRateName??"",description:e.description??void 0,amount:e.amount??0,currency:e.currency??"USD",estimatedDays:e.estimatedDays??e.estimatedDeliveryTime??void 0}}async selectShippingRate(e,t){await this.http.post(`/api/v1/checkout-sessions/${e}/shipping-rate`,{checkoutSessionId:e,shippingRateId:t},{token:this.sessionToken})}normalizeSession(e){var p;let t=e.checkoutSession,r=t.orderSummaries??[],s=e.summary??t.summary??r[0]??{},i=t.sessionLineItems??[],o=t.customer,a=(p=s.currency??t.selectedPresentmentCurrency)==null?void 0:p.toUpperCase(),d=i.map(l=>{let S=l.price,u=l.variant??(S==null?void 0:S.variant)??{},h=l.product??u.product??{},m=(S==null?void 0:S.currencyOptions)??{},P=(a?m[a]:void 0)??m[Object.keys(m)[0]],w=(P==null?void 0:P.amount)??0;return{id:l.id,variantId:l.variantId,priceId:l.priceId,productName:h.name??"",variantName:u.name??"",quantity:l.quantity??1,unitAmount:w,totalAmount:w*(l.quantity??1),currency:a??"USD",imageUrl:u.imageUrl??h.imageUrl??""}}),c=s.items??[];return{id:t.id,storeId:t.storeId,checkoutToken:t.checkoutToken,currency:a??"USD",items:d,totals:{subtotal:s.subtotalAmount??0,discount:s.totalPromotionAmount??0,shipping:s.shippingCost??0,tax:s.totalTaxAmount??0,total:s.totalAmount??c.reduce((l,S)=>l+(S.amount??0),0),currency:a??"USD"},customer:o?{id:o.id,email:o.email,firstName:o.firstName,lastName:o.lastName,phone:o.phone}:void 0,shippingAddress:this.normalizeAddress(t.shippingAddress),billingAddress:this.normalizeAddress(t.billingAddress),selectedShippingRateId:t.shippingRateId??null,metadata:t.metadata}}normalizeAddress(e){if(!e||typeof e!="object")return;let t=e,r={firstName:t.firstName,lastName:t.lastName,line1:t.line1??t.address1,line2:t.line2??t.address2,city:t.city,state:t.state,postalCode:t.postalCode??t.postal,country:t.country,phone:t.phone};return Object.values(r).some(s=>s!==void 0&&s!=="")?r:void 0}};function Ze(n){let e={};for(let[t,r]of Object.entries(n))r!=null&&r!==""&&(e[t]=r);return Object.keys(e).length>0?e:void 0}var oe=class{constructor(e,t,r){this.http=e;this.storeId=t;this.environment=r}async getPaymentSetup(e,t){if(t!=null&&t.paymentSetupConfig)return t.paymentSetupConfig;let r=this.readInjectedStepConfig();if(r)return r;let s=await this.http.get("/api/v1/payment-methods",{params:{checkoutSessionId:e}}),i={};for(let o of s.methods??[]){let a=o.provider?`${o.method}:${o.provider}`:o.method;i[a]=o}return i}async getExpressMethods(e,t){var i,o,a,d,c,p,l,S,u;let r=await this.getPaymentSetup(e,t),s={};for(let[h,m]of Object.entries(r)){if(!m.enabled)continue;if(h.startsWith("express_checkout:")&&m.methods){let y={available:!0,processorId:m.processorId,publishableKey:m.publishableKey,metadata:m.metadata};if((i=m.methods.apple_pay)!=null&&i.enabled){let f=typeof window<"u"&&"ApplePaySession"in window&&((a=(o=window.ApplePaySession)==null?void 0:o.canMakePayments)==null?void 0:a.call(o));s.applePay={...y,type:"apple_pay",available:!!f}}(d=m.methods.google_pay)!=null&&d.enabled&&(s.googlePay={...y,type:"google_pay"}),(c=m.methods.paypal)!=null&&c.enabled&&(s.paypal={...y,type:"paypal"}),(p=m.methods.link)!=null&&p.enabled&&(s.link={...y,type:"link"}),(l=m.methods.klarna_express)!=null&&l.enabled&&(s.klarna={...y,type:"klarna_express"});continue}if(!m.express)continue;let P=m.method,w={type:P,available:!0,processorId:m.processorId,publishableKey:m.publishableKey,metadata:m.metadata};if(P==="apple_pay"||m.type==="apple_pay"){let y=typeof window<"u"&&"ApplePaySession"in window&&((u=(S=window.ApplePaySession)==null?void 0:S.canMakePayments)==null?void 0:u.call(S));s.applePay={...w,available:!!y}}else P==="google_pay"||m.type==="google_pay"?s.googlePay=w:P==="paypal"?s.paypal=w:P==="klarna"||P==="klarna_express"?s.klarna=w:P==="link"&&(s.link=w)}return s}async getStoreConfig(){let e=await this.http.get("/api/v1/checkout/config",{params:{storeId:this.storeId}});return e.config??e}async getEnabledMethods(e,t){let r=await this.getPaymentSetup(e,t);return Object.entries(r).filter(([,s])=>s.enabled).map(([s])=>s)}async tokenizeCard(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let s={cardNumber:e.cardNumber,expiryDate:e.expiryDate,cvc:e.cvc};e.cardholderName&&(s.cardholderName=e.cardholderName);let[i,o]=await Promise.all([r.tokenizeCard(s),r.tokenizeCardRaw(s)]);return{tagadaToken:i,rawToken:o}}async createInstrument(e){return this.http.post("/api/v1/payment/create-instrument-from-token",{tagadaToken:e.tagadaToken})}async create3dsSession(e){return this.http.post("/api/public/v1/threeds/create-session",{provider:e.provider??"basis_theory",storeId:this.storeId,paymentInstrumentId:e.paymentInstrumentId,sessionData:e.sessionData})}async pay(e){return e.tagadaToken&&!e.paymentInstrumentId?this.http.post("/api/v1/payment/pay-with-token",{tagadaToken:e.tagadaToken,checkoutSessionId:e.checkoutSessionId,returnUrl:e.returnUrl,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,metadata:e.metadata}):this.http.post("/api/public/v1/checkout/pay-v2",{checkoutSessionId:e.checkoutSessionId,paymentInstrumentId:e.paymentInstrumentId,storeId:this.storeId,paymentFlowId:e.paymentFlowId,threedsSessionId:e.threedsSessionId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,metadata:e.metadata})}async payDirect(e){return this.http.post("/api/public/v1/checkout/pay-v2",{checkoutSessionId:e.checkoutSessionId,paymentInstrumentId:e.paymentInstrumentId??"",storeId:this.storeId,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:e.isExpress,threedsSessionId:e.threedsSessionId})}async processApplePay(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let{tagadaToken:s}=await r.tokenizeApplePay(e.applePayToken);return this.pay({checkoutSessionId:e.checkoutSessionId,tagadaToken:s,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:"apple_pay",isExpress:!0})}async processGooglePay(e){let t=await this.loadCoreJs(),r=new t.Tokenizer({environment:this.environment});await r.initialize();let{tagadaToken:s}=await r.tokenizeGooglePay(e.googlePayToken);return this.pay({checkoutSessionId:e.checkoutSessionId,tagadaToken:s,paymentFlowId:e.paymentFlowId,processorId:e.processorId,paymentMethod:"google_pay",isExpress:!0})}async processApm(e){return this.payDirect({checkoutSessionId:e.checkoutSessionId,paymentMethod:e.paymentMethod,processorId:e.processorId,paymentFlowId:e.paymentFlowId})}async processStripeExpress(e){return this.payDirect({checkoutSessionId:e.checkoutSessionId,processorId:e.processorId,paymentMethod:e.paymentMethod,isExpress:!0})}async processPayment(e){var s,i;!e.returnUrl&&typeof window<"u"&&(e={...e,returnUrl:window.location.href});let t=await this.pay(e),r=t.payment;return r.status==="succeeded"?{status:"succeeded",payment:r,order:t.order}:r.status==="failed"||r.status==="declined"?{status:"failed",error:((s=r.requireActionData)==null?void 0:s.message)||((i=r.requireActionData)==null?void 0:i.errorCode)||`Payment ${r.status}`,payment:r}:r.requireAction&&r.requireAction!=="none"&&r.requireActionData?this.handlePaymentAction(r,e):this.pollUntilDone(r.id)}async resumeAfterRedirect(e){return this.pollUntilDone(e)}async getPaymentStatus(e){return this.http.get(`/api/v1/payments/${e}`)}async pollPaymentStatus(e,t){let r=(t==null?void 0:t.intervalMs)??1500,s=(t==null?void 0:t.timeoutMs)??6e4,i=Date.now();for(;Date.now()-i<s;){let o=await this.getPaymentStatus(e);if(o.status==="succeeded"||o.status==="failed"||o.status==="declined")return o;await new Promise(a=>setTimeout(a,r))}throw new Error(`Payment ${e} did not reach terminal status within ${s}ms.`)}async completeAfter3ds(e){return this.http.post("/api/v1/payments/complete-after-3ds",{paymentId:e})}async markActionProcessed(e){try{await this.http.post("/api/v1/payments/require-action/processed",{paymentId:e})}catch{}}async handlePaymentAction(e,t){let r=e.requireActionData;switch(await this.markActionProcessed(e.id),r.type){case"threeds_auth":return this.handleThreedsAuth(e,t);case"processor_auth":case"redirect_to_payment":return this.extractRedirect(e,r);case"redirect":return this.extractRedirect(e,r);case"error":return{status:"failed",error:r.message||r.errorCode||"Payment failed",payment:e};default:return this.extractRedirect(e,r)}}extractRedirect(e,t){var i,o;let r=(i=t.metadata)==null?void 0:i.redirect,s=(r==null?void 0:r.redirectUrl)||t.redirectUrl;return s?{status:"requires_redirect",redirectUrl:s,method:((o=r==null?void 0:r.method)==null?void 0:o.toUpperCase())||"GET",postData:r==null?void 0:r.data,paymentId:e.id}:{status:"failed",error:`Payment requires action (${t.type}) but no redirect URL was provided`,payment:e}}async handleThreedsAuth(e,t){var i,o;let r=(o=(i=e.requireActionData)==null?void 0:i.metadata)==null?void 0:o.threedsSession;if(!(r!=null&&r.externalSessionId))return this.extractRedirect(e,e.requireActionData);let s;try{s=await import("@tagadapay/core-js")}catch{return r.acsChallengeUrl?{status:"requires_redirect",redirectUrl:r.acsChallengeUrl,paymentId:e.id}:this.extractRedirect(e,e.requireActionData)}try{let a=new s.ThreedsManager({provider:"basis_theory"});return await a.initialize({apiKey:void 0}),await a.startChallenge({sessionId:r.externalSessionId,acsChallengeUrl:r.acsChallengeUrl,acsTransactionId:r.acsTransID,threeDSVersion:r.messageVersion}),await this.completeAfter3ds(e.id),this.pollUntilDone(e.id)}catch{return r.acsChallengeUrl?{status:"requires_redirect",redirectUrl:r.acsChallengeUrl,paymentId:e.id}:{status:"failed",error:"3D Secure authentication failed",payment:e}}}async pollUntilDone(e,t){let r=(t==null?void 0:t.intervalMs)??1500,s=(t==null?void 0:t.timeoutMs)??6e4,i=Date.now(),o=0;for(;Date.now()-i<s;){let a;try{a=await this.getPaymentStatus(e),o=0}catch{if(o++,o>=3)return{status:"failed",error:"Payment verification failed due to network errors"};await new Promise(d=>setTimeout(d,r));continue}if(a.status==="succeeded"||a.status==="pending"&&a.subStatus==="authorized")return{status:"succeeded",payment:a,order:a.order};if(a.status==="failed"||a.status==="declined")return{status:"failed",error:a.status,payment:a};if(a.requireAction&&a.requireAction!=="none"&&a.requireActionData&&!a.requireActionData.processed)return this.handlePaymentAction(a,{});await new Promise(d=>setTimeout(d,r))}return{status:"pending",paymentId:e}}readInjectedStepConfig(){if(typeof window>"u")return null;let e=window.__TGD_STEP_CONFIG__;if(!e)return null;try{let t=typeof e=="string"?JSON.parse(e):e;return(t==null?void 0:t.paymentSetupConfig)??null}catch{return null}}async loadCoreJs(){try{return await import("@tagadapay/core-js")}catch{throw new Error("This method requires @tagadapay/core-js. Install it: npm install @tagadapay/core-js")}}};var ie=class{constructor(e,t){this.http=e;this.storeId=t}async getOffer(e){return this.http.get(`/api/v1/offers/${e}`)}async listOffers(e){var i;let t=`/api/v1/stores/${this.storeId}/offers`,r=[];if(e!=null&&e.type&&r.push(`type=${encodeURIComponent(e.type)}`),(i=e==null?void 0:e.ids)!=null&&i.length)for(let o of e.ids)r.push(`ids=${encodeURIComponent(o)}`);return r.length&&(t+=`?${r.join("&")}`),(await this.http.get(t)).offers??[]}async previewOffer(e){return this.http.post(`/api/v1/offers/${e.offerId}/preview`,{offerId:e.offerId,currency:e.currency??"",lineItems:e.lineItems})}async payPreviewedOffer(e){return this.http.post(`/api/v1/offers/${e.offerId}/pay-preview`,{offerId:e.offerId,currency:e.currency??"",lineItems:e.lineItems,returnUrl:e.returnUrl??(typeof window<"u"?window.location.href:""),mainOrderId:e.mainOrderId,paymentInstrumentId:e.paymentInstrumentId})}async toggleOrderBump(e){return this.http.post(`/api/v1/checkout-sessions/${e.checkoutSessionId}/toggle-order-bump`,{orderBumpOfferId:e.orderBumpOfferId,selected:e.selected})}async listPostPurchaseOffers(e){let t=await this.http.get(`/api/v1/post-purchase/${e}/offers`);return Array.isArray(t)?t:[]}async acceptPostPurchaseOffer(e){return this.http.post(`/api/v1/orders/${e.orderId}/post-purchase-offers/${e.offerId}/accept`,{items:e.items??[]})}async declinePostPurchaseOffer(e){return this.http.post(`/api/v1/orders/${e.orderId}/post-purchase-offers/${e.offerId}/decline`)}};var ae=class{constructor(e,t){this.http=e;this.storeId=t}async getProfile(e){return(await this.http.get(`/api/v1/customers/${e}`,{params:{storeId:this.storeId}})).customer}async getByEmail(e){try{return(await this.http.get("/api/v1/customers/by-email",{params:{email:e,storeId:this.storeId}})).customer}catch{return null}}async updateProfile(e,t){return(await this.http.patch(`/api/v1/customers/${e}`,{storeId:this.storeId,...t})).customer}async getOrders(e,t){return this.http.get(`/api/v1/customers/${e}/orders`,{params:{storeId:this.storeId,limit:t==null?void 0:t.limit,offset:t==null?void 0:t.offset}})}async getOrder(e){return(await this.http.get(`/api/v1/orders/${e}`,{params:{storeId:this.storeId}})).order}async getSubscriptions(e){return(await this.http.get(`/api/v1/customers/${e}/subscriptions`,{params:{storeId:this.storeId}})).subscriptions}async getSubscription(e){return(await this.http.get(`/api/v1/subscriptions/${e}`,{params:{storeId:this.storeId}})).subscription}};var ce=class{constructor(e,t){this.http=e;this.storeId=t}async getProducts(e){var s,i;let t={storeId:this.storeId,includeVariants:!0,includePrices:!0};return(s=e==null?void 0:e.productIds)!=null&&s.length&&(t.productIds=e.productIds),(i=e==null?void 0:e.variantIds)!=null&&i.length&&(t.variantIds=e.variantIds),(await this.http.post("/api/v1/products",t)).items??[]}async getProduct(e){return(await this.getProducts({productIds:[e]}))[0]??null}};var ge=class{constructor(e){let t=e.environment??"production",r=J.resolveBaseUrl(t,e.baseUrl);this.config={...e,environment:t,baseUrl:r,timeout:e.timeout??3e4},this.http=new J({baseUrl:r,timeout:this.config.timeout,apiKey:e.apiKey,getToken:()=>this._sessionToken});let s=i=>{this._sessionToken=i};this.checkout=new ne(this.http,this.config.storeId,s),this.payment=new oe(this.http,this.config.storeId,t),this.offers=new ie(this.http,this.config.storeId),this.customer=new ae(this.http,this.config.storeId),this.catalog=new ce(this.http,this.config.storeId)}setSessionToken(e){this._sessionToken=e}};function ve(n){return new ge(n)}var be=L("react/jsx-runtime"),Ae=(0,q.createContext)(null);function Re({storeId:n,environment:e,apiKey:t,baseUrl:r,config:s,children:i}){let o=(0,q.useMemo)(()=>ve(s??{storeId:n,environment:e,apiKey:t,baseUrl:r}),[n,e,t,r,s]),a=(0,q.useMemo)(()=>({client:o}),[o]);return(0,be.jsx)(Ae.Provider,{value:a,children:i})}function D(){let n=(0,q.useContext)(Ae);if(!n)throw new Error("useHeadlessClient must be used within <TagadaHeadlessProvider>");return n.client}var R=L("react");function Oe(n,e){let t=D(),[r,s]=(0,R.useState)(null),[i,o]=(0,R.useState)(!1),[a,d]=(0,R.useState)(null),c=(0,R.useCallback)(async()=>{if(n){o(!0),d(null);try{let f=await t.checkout.loadSession(n,e);s(f)}catch(f){d(f instanceof Error?f:new Error(String(f)))}finally{o(!1)}}},[t,n,e]);(0,R.useEffect)(()=>{c()},[c]);let p=(0,R.useCallback)(async f=>{o(!0),d(null);try{let g=await t.checkout.createSession(f),U=new URL(window.location.href);U.searchParams.set("checkoutToken",g.checkoutToken),U.searchParams.set("token",g.sessionToken),window.history.replaceState({},"",U.toString());let B=await t.checkout.loadSession(g.checkoutToken,g.sessionToken);s(B)}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}},[t]),l=(0,R.useCallback)(async f=>{r&&(await t.checkout.updateCart(r.id,f),await c())},[t,r,c]),S=(0,R.useCallback)(async f=>{r&&await t.checkout.updateCustomer(r.id,f)},[t,r]),u=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.updateAddress(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),h=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.updateCustomerAndAddress(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),m=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.applyPromoCode(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),P=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.removePromoCode(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]),w=(0,R.useCallback)(async()=>r?t.checkout.getShippingRates(r.id):[],[t,r]),y=(0,R.useCallback)(async f=>{if(r){o(!0);try{await t.checkout.selectShippingRate(r.id,f),await c()}catch(g){d(g instanceof Error?g:new Error(String(g)))}finally{o(!1)}}},[t,r,c]);return{session:r,isLoading:i,error:a,refresh:c,createSession:p,updateCart:l,updateCustomer:S,updateAddress:u,updateCustomerAndAddress:h,applyPromo:m,removePromo:P,getShippingRates:w,selectShippingRate:y}}var k=L("react");function xe(n){let e=D(),[t,r]=(0,k.useState)(null),[s,i]=(0,k.useState)(null),[o,a]=(0,k.useState)(null),[d,c]=(0,k.useState)(!1),[p,l]=(0,k.useState)(null),[S,u]=(0,k.useState)(null),h=(0,k.useRef)(!1),m=(0,k.useRef)(!1),P=(0,k.useRef)(n);P.current=n,(0,k.useEffect)(()=>{if(typeof window>"u"||m.current)return;let v=new URLSearchParams(window.location.search),C=v.get("paymentAction"),A=v.get("paymentActionStatus"),_=v.get("paymentId");if(C!=="requireAction"||A!=="completed"||!_)return;m.current=!0,c(!0),u(null),(async()=>{var I,E,K,Q;try{let x=await e.payment.resumeAfterRedirect(_),pe=new URLSearchParams(window.location.search);["paymentAction","paymentActionStatus","paymentId","payment_intent","payment_intent_client_secret","source_type","redirect_status"].forEach(Fe=>pe.delete(Fe));let je=pe.toString()?`${window.location.pathname}?${pe.toString()}`:window.location.pathname;window.history.replaceState({},document.title,je),x.status==="succeeded"?(E=(I=P.current)==null?void 0:I.onPaymentSuccess)==null||E.call(I,x):x.status==="failed"&&(u(new Error(x.error)),(Q=(K=P.current)==null?void 0:K.onPaymentFailed)==null||Q.call(K,x))}catch(x){u(x instanceof Error?x:new Error(String(x)))}finally{c(!1)}})()},[e]);let w=(0,k.useCallback)(async(v,C)=>{var _;if(h.current)return;h.current=!0;let A=C!=null&&C.paymentSetupConfig?{paymentSetupConfig:C.paymentSetupConfig}:(_=P.current)!=null&&_.paymentSetupConfig?{paymentSetupConfig:P.current.paymentSetupConfig}:void 0;try{let[M,I,E]=await Promise.all([e.payment.getPaymentSetup(v,A),e.payment.getExpressMethods(v,A),e.payment.getStoreConfig()]);r(M),i(I),a(E)}catch(M){h.current=!1,u(M instanceof Error?M:new Error(String(M)))}},[e]),y=(0,k.useCallback)(async v=>{var C,A,_,M;c(!0),u(null);try{let I=await e.payment.processPayment(v);if(I.status==="requires_redirect"){if(I.method==="POST"&&I.postData){let E=document.createElement("form");E.method="POST",E.action=I.redirectUrl;for(let[K,Q]of Object.entries(I.postData)){let x=document.createElement("input");x.type="hidden",x.name=K,x.value=Q,E.appendChild(x)}document.body.appendChild(E),E.submit()}else window.location.href=I.redirectUrl;return I}return I.status==="succeeded"?(A=(C=P.current)==null?void 0:C.onPaymentSuccess)==null||A.call(C,I):I.status==="failed"&&(u(new Error(I.error)),(M=(_=P.current)==null?void 0:_.onPaymentFailed)==null||M.call(_,I)),I}catch(I){let E=I instanceof Error?I:new Error(String(I));return u(E),{status:"failed",error:E.message}}finally{c(!1)}},[e]),f=(0,k.useCallback)(v=>async()=>{c(!0),u(null);try{return await v()}catch(C){let A=C instanceof Error?C:new Error(String(C));throw u(A),A}finally{c(!1)}},[]),g=(0,k.useCallback)(async v=>{c(!0),u(null);try{let C=await e.payment.pay(v);return l(C),C}catch(C){let A=C instanceof Error?C:new Error(String(C));throw u(A),A}finally{c(!1)}},[e]),U=(0,k.useCallback)(v=>e.payment.tokenizeCard(v),[e]),B=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processApplePay(v))();return l(A),A},[e,f]),Me=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processGooglePay(v))();return l(A),A},[e,f]),He=(0,k.useCallback)(async v=>{let A=await f(()=>e.payment.processApm(v))();return l(A),A},[e,f]),qe=(0,k.useCallback)(v=>e.payment.pollPaymentStatus(v),[e]);return{paymentSetup:t,expressMethods:s,storeConfig:o,isProcessing:d,result:p,error:S,loadPaymentSetup:w,processPayment:y,pay:g,tokenizeCard:U,processApplePay:B,processGooglePay:Me,processApm:He,pollStatus:qe}}var O=L("react");function Ee(){let n=D(),[e,t]=(0,O.useState)(null),[r,s]=(0,O.useState)(null),[i,o]=(0,O.useState)(!1),[a,d]=(0,O.useState)(null),c=(0,O.useCallback)(async y=>{o(!0),d(null);try{return await y()}catch(f){let g=f instanceof Error?f:new Error(String(f));throw d(g),g}finally{o(!1)}},[]),p=(0,O.useCallback)(y=>c(async()=>{let f=await n.offers.getOffer(y);return t(f),f}),[n,c]),l=(0,O.useCallback)(y=>n.offers.listOffers(y),[n]),S=(0,O.useCallback)(y=>c(async()=>{let f=await n.offers.previewOffer(y);return s(f),f}),[n,c]),u=(0,O.useCallback)(y=>c(()=>n.offers.payPreviewedOffer(y)),[n,c]),h=(0,O.useCallback)(y=>n.offers.toggleOrderBump(y),[n]),m=(0,O.useCallback)(y=>n.offers.listPostPurchaseOffers(y),[n]),P=(0,O.useCallback)(y=>c(()=>n.offers.acceptPostPurchaseOffer(y)),[n,c]),w=(0,O.useCallback)(y=>c(()=>n.offers.declinePostPurchaseOffer(y)),[n,c]);return{offer:e,preview:r,isLoading:i,error:a,getOffer:p,listOffers:l,previewOffer:S,payPreviewedOffer:u,toggleOrderBump:h,listPostPurchaseOffers:m,acceptPostPurchaseOffer:P,declinePostPurchaseOffer:w}}var T=L("react");function Te(n){let e=D(),[t,r]=(0,T.useState)(null),[s,i]=(0,T.useState)([]),[o,a]=(0,T.useState)([]),[d,c]=(0,T.useState)(!1),[p,l]=(0,T.useState)(null),S=(0,T.useCallback)(async P=>{c(!0),l(null);try{let w=await e.customer.getProfile(P);r(w)}catch(w){l(w instanceof Error?w:new Error(String(w)))}finally{c(!1)}},[e]),u=(0,T.useCallback)(async P=>{try{let w=await e.customer.getOrders(P);i(w.orders)}catch(w){l(w instanceof Error?w:new Error(String(w)))}},[e]),h=(0,T.useCallback)(async P=>{try{let w=await e.customer.getSubscriptions(P);a(w)}catch(w){l(w instanceof Error?w:new Error(String(w)))}},[e]),m=(0,T.useCallback)(async(P,w)=>{try{let y=await e.customer.updateProfile(P,w);r(y)}catch(y){l(y instanceof Error?y:new Error(String(y)))}},[e]);return(0,T.useEffect)(()=>{n&&S(n)},[n,S]),{customer:t,orders:s,subscriptions:o,isLoading:d,error:p,loadCustomer:S,loadOrders:u,loadSubscriptions:h,updateProfile:m}}var j=L("react");function Le(){let n=D(),[e,t]=(0,j.useState)([]),[r,s]=(0,j.useState)(!1),[i,o]=(0,j.useState)(null),a=(0,j.useCallback)(async c=>{s(!0),o(null);try{let p=await n.catalog.getProducts(c);return t(p),p}catch(p){let l=p instanceof Error?p:new Error(String(p));throw o(l),l}finally{s(!1)}},[n]),d=(0,j.useCallback)(async c=>{s(!0),o(null);try{return await n.catalog.getProduct(c)}catch(p){let l=p instanceof Error?p:new Error(String(p));throw o(l),l}finally{s(!1)}},[n]);return{products:e,isLoading:r,error:i,loadProducts:a,loadProduct:d}}var b=L("react");var De=!1,Ue=!1,ue=[];function fe(){Ue=!0;for(let n of ue)n();ue.length=0}function V(n,e={}){var t,r;return Ue||(r=(t=window.google)==null?void 0:t.maps)!=null&&r.places?(fe(),Promise.resolve()):De?new Promise(s=>ue.push(s)):(De=!0,new Promise((s,i)=>{if(ue.push(s),document.querySelector('script[src*="maps.googleapis.com"]')){let c=()=>{var p,l;(l=(p=window.google)==null?void 0:p.maps)!=null&&l.places?fe():setTimeout(c,100)};c();return}let a=new URLSearchParams({key:n,libraries:"places",v:e.version??"weekly"});e.language&&a.set("language",e.language),e.region&&a.set("region",e.region);let d=document.createElement("script");d.src=`https://maps.googleapis.com/maps/api/js?${a}`,d.async=!0,d.defer=!0,d.onload=()=>fe(),d.onerror=()=>i(new Error("Failed to load Google Maps script")),document.head.appendChild(d)}))}var $=class n{static async searchPlaces(e,t={}){var s,i;if(!((i=(s=window.google)==null?void 0:s.maps)!=null&&i.places)||!e.trim())return[];let r=new window.google.maps.places.AutocompleteService;return new Promise(o=>{r.getPlacePredictions({input:e,types:t.types??["address"],componentRestrictions:t.componentRestrictions},(a,d)=>{var c,p,l;o(d===((l=(p=(c=window.google)==null?void 0:c.maps)==null?void 0:p.places)==null?void 0:l.PlacesServiceStatus.OK)&&a?a:[])})})}static async getPlaceDetails(e){var r,s;if(!((s=(r=window.google)==null?void 0:r.maps)!=null&&s.places))return null;let t=new window.google.maps.places.PlacesService(document.createElement("div"));return new Promise(i=>{t.getDetails({placeId:e,fields:["place_id","formatted_address","address_components","geometry"]},(o,a)=>{var d,c,p;i(a===((p=(c=(d=window.google)==null?void 0:d.maps)==null?void 0:c.places)==null?void 0:p.PlacesServiceStatus.OK)&&o?o:null)})})}static extractAddressComponents(e){let t={subpremise:"",streetNumber:"",route:"",locality:"",administrativeAreaLevel1:"",administrativeAreaLevel1Long:"",administrativeAreaLevel2:"",administrativeAreaLevel2Long:"",country:"",postalCode:"",fullStreetAddress:""},r="",s="",i="",o="",a="",d="",c="",p="";for(let u of e.address_components??[]){let h=u.types;h.includes("subpremise")&&(t.subpremise=u.long_name),h.includes("street_number")&&(t.streetNumber=u.long_name),h.includes("premise")&&(r=u.long_name),h.includes("route")&&(t.route=u.long_name),h.includes("neighborhood")&&(s=u.long_name),h.includes("sublocality_level_5")&&(i=u.long_name),h.includes("sublocality_level_4")&&(o=u.long_name),h.includes("sublocality_level_3")&&(a=u.long_name),h.includes("sublocality_level_2")&&(d=u.long_name),h.includes("sublocality_level_1")&&(c=u.long_name),h.includes("locality")&&(t.locality=u.long_name),h.includes("postal_town")&&(p=u.long_name),h.includes("administrative_area_level_2")&&(t.administrativeAreaLevel2=u.short_name,t.administrativeAreaLevel2Long=u.long_name),h.includes("administrative_area_level_1")&&(t.administrativeAreaLevel1=u.short_name,t.administrativeAreaLevel1Long=u.long_name),h.includes("country")&&(t.country=u.short_name),h.includes("postal_code")&&(t.postalCode=u.long_name)}t.locality||(t.locality=p||d||c||""),!t.administrativeAreaLevel1&&t.administrativeAreaLevel2&&(t.administrativeAreaLevel1=t.administrativeAreaLevel2Long||t.administrativeAreaLevel2,t.administrativeAreaLevel1Long=t.administrativeAreaLevel2Long);let l=t.streetNumber||r,S=t.route||i||o||a||s;if(t.subpremise&&l&&S)t.fullStreetAddress=`${t.subpremise}/${l} ${S}`;else if(l&&S)if(r&&o&&a){let u=`${a}-${o}-${r}`;d&&(u=`${u} ${d}`),t.fullStreetAddress=u}else t.fullStreetAddress=`${l} ${S}`;else S?t.fullStreetAddress=S:l&&(t.fullStreetAddress=l);return t.fullStreetAddress=t.fullStreetAddress.trim(),t}static extractFormattedAddress(e){let t=n.extractAddressComponents(e);return{address1:t.fullStreetAddress,city:t.locality,country:t.country,state:t.administrativeAreaLevel1,postal:t.postalCode}}};function Ne(n){let{apiKey:e,language:t,region:r,version:s,defer:i=!1}=n,[o,a]=(0,b.useState)([]),[d,c]=(0,b.useState)(!1),[p,l]=(0,b.useState)(!1),S=(0,b.useRef)(null),u=(0,b.useRef)(null),h=(0,b.useCallback)(()=>{V(e,{language:t,region:r,version:s}).then(()=>l(!0))},[e,t,r,s]);(0,b.useEffect)(()=>{!e||i||h()},[e,i,h]),(0,b.useEffect)(()=>{if(p&&u.current){let{input:g,country:U}=u.current;u.current=null,m(g,U)}},[p]);let m=(0,b.useCallback)((g,U)=>{if(!p){i&&(u.current={input:g,country:U},h());return}if(g.length<3){a([]);return}S.current&&clearTimeout(S.current),S.current=setTimeout(async()=>{c(!0);let B=await $.searchPlaces(g,{componentRestrictions:U?{country:U.toLowerCase()}:void 0});a(B),c(!1)},300)},[p,i,h]),P=(0,b.useCallback)(g=>$.getPlaceDetails(g),[]),w=(0,b.useCallback)(g=>$.extractAddressComponents(g),[]),y=(0,b.useCallback)(g=>$.extractFormattedAddress(g),[]),f=(0,b.useCallback)(()=>a([]),[]);return{predictions:o,isLoading:d,isScriptLoaded:p,searchPlaces:m,getPlaceDetails:P,extractAddressComponents:w,extractFormattedAddress:y,clearPredictions:f}}var H=L("react");var _e="https://cvwnizdbugpz6jwk.public.blob.vercel-storage.com/geodata/v1",Pe=["en","ru","de","da","fr","es","zh","hi","pt","ja","ar","it","he"],Y=new Map,de=new Map,ye=new Map,he=new Map;async function Qe(n){let e=Y.get(n);if(e)return e;let t=ye.get(n);return t||(t=(async()=>{let r=`${_e}/${n}/countries.json`,s=await fetch(r);if(!s.ok)throw new Error(`Geodata fetch failed: ${r} (${s.status})`);let i=await s.json();return Y.set(n,i),ye.delete(n),i})(),ye.set(n,t),t)}async function Xe(n){let e=de.get(n);if(e)return e;let t=he.get(n);return t||(t=(async()=>{let r=`${_e}/${n}/regions.json`,s=await fetch(r);if(!s.ok)throw new Error(`Geodata fetch failed: ${r} (${s.status})`);let i=await s.json();return de.set(n,i),he.delete(n),i})(),he.set(n,t),t)}function et(n){return Y.get(n)||Y.get("en")||{}}function tt(n){return de.get(n)||de.get("en")||{}}async function W(n="en"){await Promise.all([Qe(n),Xe(n)])}var le=(n="en")=>{let e=et(n);return Object.entries(e).map(([t,r])=>({code:t,name:r.n,iso3:r.i3,numeric:r.nu})).sort((t,r)=>t.name.localeCompare(r.name))},we=(n,e="en")=>{let r=tt(e)[n];return r?r.map(([s,i])=>({code:s,name:i,countryCode:n})).sort((s,i)=>s.name.localeCompare(i.name)):[]};function Z(n){return Y.has(n)}var G=class n{static ensureLoaded(e="en"){return W(e)}static getCountries(e="en"){let t=le(e),r={};for(let s of t)r[s.code]={iso:s.code,iso3:s.iso3??"",numeric:s.numeric??0,name:s.name};return r}static getCountryOptions(e="en"){return le(e).map(t=>({value:t.code,label:t.name}))}static getRegions(e,t="en"){return we(e,t).map(r=>({iso:r.code,name:r.name}))}static getRegionOptions(e,t="en"){return n.getRegions(e,t).map(r=>({value:r.iso,label:r.name}))}static findRegion(e,t,r="en"){return n.getRegions(e,r).find(s=>s.iso===t)??null}static mapGoogleToISO(e,t,r,s="en"){let i=n.getRegions(r,s);if(i.length===0)return null;let o=i.find(a=>a.iso===e);return o||(o=i.find(a=>a.name.toLowerCase()===e.toLowerCase()),o)||(o=i.find(a=>a.name.toLowerCase()===t.toLowerCase()),o)?o:(o=i.find(a=>a.name.toLowerCase().includes(t.toLowerCase())||t.toLowerCase().includes(a.name.toLowerCase())),o??null)}static isLanguageLoaded(e){return Z(e)}static getAvailableLanguages(){return Pe}};function me(n="en"){let[e,t]=(0,H.useState)(Z(n));return(0,H.useEffect)(()=>{let r=!1;return W(n).then(()=>{r||t(!0)}).catch(s=>console.error("[headless-sdk] Failed to load geodata:",s)),()=>{r=!0}},[n]),(0,H.useMemo)(()=>e?{countries:G.getCountries(n),getRegions:r=>G.getRegions(r,n),findRegion:(r,s)=>G.findRegion(r,s,n),mapGoogleToISO:(r,s,i)=>G.mapGoogleToISO(r,s,i,n),isLoaded:!0}:{countries:{},getRegions:()=>[],findRegion:()=>null,mapGoogleToISO:()=>null,isLoaded:!1},[n,e])}function $e(n="en"){let{countries:e,isLoaded:t}=me(n);return(0,H.useMemo)(()=>t?Object.values(e).map(r=>({value:r.iso,label:r.name})).sort((r,s)=>r.label.localeCompare(s.label)):[],[e,t])}function Ge(n,e="en"){let{getRegions:t,isLoaded:r}=me(e);return(0,H.useMemo)(()=>!r||!n?[]:t(n).map(s=>({value:s.iso,label:s.name})).sort((s,i)=>s.label.localeCompare(i.label)),[n,t,r])}var rt={USD:"$",EUR:"\u20AC",GBP:"\xA3",JPY:"\xA5",CAD:"C$",AUD:"A$",CHF:"CHF",CNY:"\xA5",SEK:"kr",NOK:"kr",DKK:"kr",PLN:"z\u0142",CZK:"K\u010D",HUF:"Ft",RON:"lei",BGN:"\u043B\u0432",HRK:"kn",RUB:"\u20BD",UAH:"\u20B4",TRY:"\u20BA",BRL:"R$",MXN:"$",ZAR:"R",INR:"\u20B9",KRW:"\u20A9",THB:"\u0E3F",VND:"\u20AB",IDR:"Rp",MYR:"RM",SGD:"S$",PHP:"\u20B1",TWD:"NT$",HKD:"HK$",ILS:"\u20AA",AED:"\u062F.\u0625",SAR:"\u0631.\u0633",QAR:"\u0631.\u0642",KWD:"\u062F.\u0643",BHD:"\u062F.\u0628",OMR:"\u0631.\u0639.",EGP:"\xA3",NGN:"\u20A6",KES:"KSh",GHS:"\u20B5",COP:"$",ARS:"$",CLP:"$",PEN:"S/",CRC:"\u20A1",DOP:"RD$",JMD:"J$",BOB:"Bs",PYG:"\u20B2",GTQ:"Q",NIO:"C$",PAB:"B/.",PKR:"\u20A8",BDT:"\u09F3",LKR:"\u20A8",NPR:"\u20A8",GEL:"\u20BE",AMD:"\u058F",AZN:"\u20BC",KZT:"\u20B8"},st={USD:"US Dollar",EUR:"Euro",GBP:"British Pound",JPY:"Japanese Yen",CAD:"Canadian Dollar",AUD:"Australian Dollar",CHF:"Swiss Franc",CNY:"Chinese Yuan",SEK:"Swedish Krona",NOK:"Norwegian Krone",DKK:"Danish Krone",PLN:"Polish Zloty",CZK:"Czech Koruna",HUF:"Hungarian Forint",BRL:"Brazilian Real",MXN:"Mexican Peso",INR:"Indian Rupee",KRW:"South Korean Won",THB:"Thai Baht",SGD:"Singapore Dollar",HKD:"Hong Kong Dollar",TWD:"Taiwan Dollar",ILS:"Israeli Shekel",AED:"UAE Dirham",SAR:"Saudi Riyal",ZAR:"South African Rand",TRY:"Turkish Lira",RUB:"Russian Ruble",NGN:"Nigerian Naira"},nt=new Set(["JPY","KRW","VND","IDR","LAK","KHR","MMK","PYG"]),F=class n{static getSymbol(e){return rt[e]??e}static getName(e){return st[e]??e}static getDecimalPlaces(e){return nt.has(e)?0:2}static getCurrency(e){return{code:e,symbol:n.getSymbol(e),name:n.getName(e),decimalPlaces:n.getDecimalPlaces(e)}}};function Se(n,e="USD",t="en-US"){let r=F.getDecimalPlaces(e),s=n/(r===0?100:Math.pow(10,r));try{return new Intl.NumberFormat(t,{style:"currency",currency:e,minimumFractionDigits:r,maximumFractionDigits:r}).format(s)}catch{return`${F.getSymbol(e)}${s.toFixed(r)}`}}return We(ot);})();
7
7
  if(typeof window!=="undefined"&&TagadaHeadlessReactBundle){ window.TagadaHeadlessReact=TagadaHeadlessReactBundle;}
8
8
  //# sourceMappingURL=tagada-headless-react.min.js.map