@nextblock-cms/ecom 0.13.3 → 0.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.es.js +31 -27
  3. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  4. package/lib/components/AccountNavigationMenu.es.js +53 -26
  5. package/lib/components/AddToCartButton.cjs.js +1 -1
  6. package/lib/components/AddToCartButton.es.js +49 -25
  7. package/lib/components/Cart.cjs.js +1 -1
  8. package/lib/components/Cart.es.js +367 -115
  9. package/lib/components/CartDrawer.cjs.js +1 -1
  10. package/lib/components/CartDrawer.es.js +272 -88
  11. package/lib/components/CartIcon.cjs.js +1 -1
  12. package/lib/components/CartIcon.es.js +44 -16
  13. package/lib/components/Checkout.cjs.js +1 -1
  14. package/lib/components/Checkout.es.js +1601 -694
  15. package/lib/components/CouponForm.cjs.js +1 -1
  16. package/lib/components/CouponForm.es.js +160 -96
  17. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  18. package/lib/components/CurrencySwitcher.es.js +32 -12
  19. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  20. package/lib/components/CustomerProfileForm.es.js +666 -250
  21. package/lib/components/FeaturedProduct.cjs.js +1 -1
  22. package/lib/components/FeaturedProduct.es.js +126 -42
  23. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  24. package/lib/components/FreemiusLicensePanel.es.js +125 -45
  25. package/lib/components/InvoiceDocument.cjs.js +1 -1
  26. package/lib/components/InvoiceDocument.es.js +485 -146
  27. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  28. package/lib/components/InvoiceViewerShell.es.js +142 -54
  29. package/lib/components/ProductCard.cjs.js +1 -1
  30. package/lib/components/ProductCard.es.js +224 -81
  31. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  32. package/lib/components/ProductDetailsLayout.es.js +629 -275
  33. package/lib/components/ProductGallery.cjs.js +1 -1
  34. package/lib/components/ProductGallery.es.js +64 -21
  35. package/lib/components/ProductGrid.cjs.js +1 -1
  36. package/lib/components/ProductGrid.es.js +28 -12
  37. package/lib/components/ShippingEstimator.cjs.js +1 -1
  38. package/lib/components/ShippingEstimator.es.js +226 -90
  39. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  40. package/lib/components/SimpleTiptapRenderer.es.js +286 -93
  41. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  42. package/lib/components/SubscriptionSelector.es.js +168 -92
  43. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  44. package/lib/pages/cms/coupons/CouponEditorForm.es.js +370 -110
  45. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  46. package/lib/pages/cms/coupons/CouponsPage.es.js +368 -116
  47. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  48. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +61 -25
  49. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  50. package/lib/pages/cms/coupons/EditCouponPage.es.js +71 -35
  51. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  52. package/lib/pages/cms/coupons/ProductScopePicker.es.js +167 -72
  53. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  54. package/lib/pages/cms/orders/ExportReportsDialog.es.js +247 -87
  55. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  56. package/lib/pages/cms/orders/OrderDetailPage.es.js +283 -95
  57. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  58. package/lib/pages/cms/orders/OrderPrintButton.es.js +21 -9
  59. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  60. package/lib/pages/cms/orders/OrderStatusForm.es.js +106 -46
  61. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  62. package/lib/pages/cms/orders/OrdersPage.es.js +257 -78
  63. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  64. package/lib/pages/cms/payments/PaymentsClient.es.js +551 -155
  65. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  66. package/lib/pages/cms/payments/PaymentsPage.es.js +24 -16
  67. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  68. package/lib/pages/cms/products/ProductsPage.es.js +77 -37
  69. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  70. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +176 -96
  71. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  72. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +85 -41
  73. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  74. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +455 -192
  75. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  76. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +72 -28
  77. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  78. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +490 -183
  79. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  80. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +175 -67
  81. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  82. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +211 -100
  83. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  84. package/lib/pages/cms/products/components/DeleteProductButton.es.js +45 -25
  85. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  86. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +202 -58
  87. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  88. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +234 -88
  89. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  90. package/lib/pages/cms/products/components/ProductForm.es.js +1199 -551
  91. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  92. package/lib/pages/cms/products/components/ProductMediaManager.es.js +154 -63
  93. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  94. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +391 -144
  95. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  96. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +203 -87
  97. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  98. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +30 -18
  99. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  100. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +35 -23
  101. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  102. package/lib/pages/cms/products/components/VariationsEditor.es.js +492 -261
  103. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  104. package/lib/pages/cms/products/inventory/InventoryPage.es.js +33 -13
  105. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  106. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +365 -145
  107. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  108. package/lib/pages/cms/products/new/NewProductPage.es.js +46 -34
  109. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  110. package/lib/pages/cms/shipping/ShippingPage.es.js +507 -155
  111. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  112. package/lib/pages/cms/shipping/components/RateForm.es.js +717 -334
  113. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  114. package/lib/pages/cms/shipping/components/ZoneForm.es.js +392 -158
  115. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  116. package/lib/pages/cms/taxes/TaxesPage.es.js +448 -120
  117. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  118. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +159 -55
  119. package/lib/product-context.cjs.js +1 -1
  120. package/lib/product-context.es.js +14 -10
  121. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),qe=require("@nextblock-cms/ui/badge"),he=require("@nextblock-cms/ui/button"),x=require("@nextblock-cms/ui/card"),Ve=require("@nextblock-cms/ui/checkbox"),F=require("@nextblock-cms/ui/input"),N=require("@nextblock-cms/ui/label"),We=require("@nextblock-cms/ui/separator"),xe=require("@nextblock-cms/ui/radio-group"),Ze=require("@freemius/checkout"),_e=require("../cart-store.cjs.js"),es=require("../use-cart.cjs.js"),o=require("react"),P=require("lucide-react"),f=require("@nextblock-cms/utils"),$e=require("../countries.cjs.js"),ss=require("../server-actions/shipping-actions.cjs.js"),ts=require("../server-actions/tax-actions.cjs.js"),ge=require("../types.cjs.js"),X=require("../states.cjs.js"),B=require("../customer.cjs.js"),rs=require("../CurrencyProvider.cjs.js"),Te=require("../trials.cjs.js"),cs=require("./CouponForm.cjs.js"),ns=process.env.NEXT_PUBLIC_IS_SANDBOX==="true",ne="nextblock-checkout-draft-v1";function ie(t,j){return{...B.emptyCustomerAddress(),company_name:t?.company_name||"",recipient_name:t?.recipient_name||j||"",line1:t?.line1||"",line2:t?.line2||"",city:t?.city||"",state:t?.state||"",postal_code:t?.postal_code||"",country_code:$e.normalizeCountryCode(t?.country_code)||"CA"}}function is(t){const j=B.normalizeCustomerAddress(t);return!(!j?.country_code||!j.postal_code||X.countryUsesStructuredStates(j.country_code)&&!j.state)}function fe(t,j,I){return t.reduce((n,g)=>{const{price:h,sale_price:q}=_e.getCartItemActivePrice(g,{currencyCode:j,currencies:I});return n+(q??h)*g.quantity},0)}function Fe({idPrefix:t,title:j,description:I,value:n,onChange:g}){const{t:h}=f.useTranslations(),q=h("company_name")==="company_name"?"Company name":h("company_name"),$=h("select_an_option")==="select_an_option"?"Select an option":h("select_an_option"),Y=h("state_province")==="state_province"?"State / Province":h("state_province"),K=X.getStatesForCountry(n.country_code),H=X.countryUsesStructuredStates(n.country_code);return e.jsxs(x.Card,{children:[e.jsxs(x.CardHeader,{children:[e.jsxs(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsx(P.MapPin,{className:"w-5 h-5"}),j]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:I})]}),e.jsxs(x.CardContent,{className:"space-y-4",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-company`,children:q}),e.jsx(F.Input,{id:`${t}-company`,value:n.company_name,onChange:a=>g({...n,company_name:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-name`,children:h("full_name")}),e.jsx(F.Input,{id:`${t}-name`,value:n.recipient_name,onChange:a=>g({...n,recipient_name:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-country`,children:h("country")}),e.jsx("select",{id:`${t}-country`,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",value:n.country_code,onChange:a=>{const U=a.target.value,le=X.getStatesForCountry(U);g({...n,country_code:U,state:le.some(V=>V.code===n.state)?n.state:""})},children:$e.countries.map(a=>e.jsx("option",{value:a.code,children:a.name},a.code))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-line1`,children:h("address_line_1")}),e.jsx(F.Input,{id:`${t}-line1`,value:n.line1,onChange:a=>g({...n,line1:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-line2`,children:h("address_line_2")}),e.jsx(F.Input,{id:`${t}-line2`,value:n.line2,onChange:a=>g({...n,line2:a.target.value})})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-city`,children:h("city")}),e.jsx(F.Input,{id:`${t}-city`,value:n.city,onChange:a=>g({...n,city:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-state`,children:h("state_province")}),H?e.jsxs("select",{id:`${t}-state`,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",value:n.state,onChange:a=>g({...n,state:a.target.value}),children:[e.jsx("option",{value:"",children:`${$}: ${Y}`}),K.map(a=>e.jsx("option",{value:a.code,children:a.name},a.code))]}):e.jsx(F.Input,{id:`${t}-state`,value:n.state,onChange:a=>g({...n,state:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:`${t}-postal`,children:h("postal_zip_code")}),e.jsx(F.Input,{id:`${t}-postal`,value:n.postal_code,onChange:a=>g({...n,postal_code:a.target.value})})]})]})]})]})}function Ie({title:t,description:j,badgeLabel:I,children:n}){return e.jsxs(x.Card,{children:[e.jsx(x.CardHeader,{children:e.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{children:[e.jsx(x.CardTitle,{children:t}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:j})]}),I?e.jsx(qe.Badge,{variant:"secondary",children:I}):null]})}),e.jsx(x.CardContent,{className:"space-y-4",children:n})]})}const ls=({initialCustomer:t})=>{const[j,I]=o.useState({}),[n,g]=o.useState(null),[h,q]=o.useState({}),[$,Y]=o.useState(t?.email||""),[K,H]=o.useState(""),[a,U]=o.useState(t?.phone||""),[le,V]=o.useState(!1),[Le,je]=o.useState(null),[ye,W]=o.useState(!1),[Me,Z]=o.useState(!1),[G,ee]=o.useState([]),[y,z]=o.useState(null),[S,se]=o.useState(null),[L,Ee]=o.useState(null),[A,be]=o.useState(()=>ie(t?.billingAddress,t?.fullName)),[O,Ne]=o.useState(()=>ie(t?.shippingAddress??t?.billingAddress,t?.fullName)),[E,ve]=o.useState(!t?.shippingAddress||B.addressesMatch(t?.billingAddress,t?.shippingAddress)),J=es.useCart(s=>s),{t:c,lang:ae}=f.useTranslations(),{activeCurrencyCode:l,currencies:M}=rs.useCurrency(),b=J?.items??[],v=o.useMemo(()=>b.filter(s=>!ge.isDigitalItem(s)),[b]),k=o.useMemo(()=>b.filter(s=>ge.isDigitalItem(s)),[b]),D=t?.isAuthenticated??!1,r=(s,i,m)=>{const u=c(s,m);if(u!==s)return u;if(!m)return i;let _=i;return Object.entries(m).forEach(([p,d])=>{_=_.replace(new RegExp(`\\{${p}\\}`,"g"),String(d))}),_},C=v.length>0,De=o.useMemo(()=>fe(b,l,M),[l,M,b]),oe=o.useMemo(()=>fe(v,l,M),[l,M,v]),de=o.useMemo(()=>fe(k,l,M),[l,M,k]),ue=L?.providerDiscounts.stripe??0,me=L?.providerDiscounts.freemius??0,te=Math.max(0,oe-ue),Re=Math.max(0,de-me),w=o.useMemo(()=>E?A:O,[A,O,E]),R=o.useMemo(()=>C?w:A,[A,C,w]),re=!C||is(w),ce=o.useMemo(()=>G.find(s=>s.id===y),[G,y]),Ce=o.useMemo(()=>te+(ce?.amount??0)+(S&&!S.isPendingExternalCalculation?S.amount:0),[te,ce,S]),Be=Ce+Re;if(o.useEffect(()=>{if(!(D||typeof window>"u"))try{const s=window.localStorage.getItem(ne);if(!s)return;const i=JSON.parse(s);i.email&&Y(i.email),i.phone&&U(i.phone),i.billingAddress&&be(ie(i.billingAddress)),i.shippingAddress&&Ne(ie(i.shippingAddress)),typeof i.useBillingForShipping=="boolean"&&ve(i.useBillingForShipping),(typeof i.selectedMethodId=="string"||i.selectedMethodId===null)&&z(i.selectedMethodId)}catch(s){console.error("[Checkout] Failed to restore checkout draft:",s)}},[D]),o.useEffect(()=>{if(!(typeof window>"u")){if(D){window.localStorage.removeItem(ne);return}window.localStorage.setItem(ne,JSON.stringify({email:$,phone:a,billingAddress:A,shippingAddress:O,useBillingForShipping:E,selectedMethodId:y}))}},[A,$,D,a,y,O,E]),o.useEffect(()=>{if(!C){ee([]),z(null),W(!1);return}if(!re){ee([]),z(null),W(!1);return}let s=!1;const m=setTimeout(async()=>{if(!w.country_code)return;W(!0);const u=await ss.getShippingEstimates(te,{country:w.country_code,state:w.state,postal_code:w.postal_code},ae,l);s||(u.success&&u.methods?(ee(u.methods),u.methods.length>0&&(!y||!u.methods.find(_=>_.id===y))&&z(u.methods[0].id)):(ee([]),z(null)),W(!1))},400);return()=>{s=!0,clearTimeout(m)}},[l,C,re,ae,y,w.country_code,w.postal_code,w.state,te]),o.useEffect(()=>{const i=setTimeout(async()=>{if(!C||!R.country_code){Z(!1),se(null);return}if(X.countryUsesStructuredStates(R.country_code)&&!R.state){Z(!1),se(null);return}Z(!0);const m=await ts.getTaxEstimate(v,{country_code:R.country_code,state:R.state},l,L?.code??null,b);m.success&&m.tax?se(m.tax):se(null),Z(!1)},300);return()=>clearTimeout(i)},[l,C,v,R.country_code,R.state,L?.code,b]),!J)return null;const Se=()=>{V(!1),je(null)},ke=le?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:Se,children:e.jsxs("div",{className:"relative bg-background border rounded-xl shadow-2xl p-8 max-w-md mx-4",onClick:s=>s.stopPropagation(),children:[e.jsx("button",{onClick:Se,className:"absolute top-4 right-4 text-muted-foreground hover:text-foreground transition-colors",children:e.jsx(P.X,{className:"w-5 h-5"})}),e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"p-2 rounded-full bg-amber-100 dark:bg-amber-900/20",children:e.jsx(P.FlaskConical,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"})}),e.jsx("h2",{className:"text-xl font-semibold",children:c("ecommerce.checkout_successful")})]}),e.jsx("p",{className:"text-muted-foreground mb-2",children:c("ecommerce.sandbox_notice")}),e.jsx("p",{className:"text-muted-foreground mb-2",children:Le==="stripe"?r("ecommerce.sandbox_checkout_stripe_description","This simulated step represents the Stripe checkout for physical products."):r("ecommerce.sandbox_checkout_freemius_description","This simulated step represents the Freemius checkout for digital products.")}),e.jsx("p",{className:"text-muted-foreground mb-6",children:c("ecommerce.license_notice")}),e.jsx("a",{href:"https://nextblock.ca",target:"_blank",rel:"noopener noreferrer",className:"block w-full text-center py-3 px-4 rounded-lg bg-primary text-primary-foreground font-semibold hover:opacity-90 transition-opacity",children:c("ecommerce.purchase_at")})]})}):null,ze=s=>{if(!D&&(!$||!/^\S+@\S+\.\S+$/.test($)))return H(c("ecommerce.invalid_email")),null;const i=B.normalizeCustomerAddress(A);if(!B.isCustomerAddressComplete(i))return alert(c("checkout_complete_billing_address")),null;const m=C?B.normalizeCustomerAddress(E?A:O):null;if(s==="stripe"){if(!B.isCustomerAddressComplete(m))return alert(c("checkout_complete_shipping_address")),null;if(!y)return alert(r("ecommerce.shipping_method_required","Please select a shipping method before continuing.")),null}return H(""),{normalizedBillingAddress:i,normalizedShippingAddress:m}},we=async(s,i,m)=>{q(_=>({..._,[s]:""}));const u=ze(s);if(u){if(ns){const _=new Set(i.map(d=>d.id)),p=b.filter(d=>!_.has(d.id));J.setItems(p),p.length===0&&J.removeCoupon(),je(s),V(!0),typeof window<"u"&&p.length===0&&window.localStorage.removeItem(ne);return}g(m);try{const _=await fetch("/api/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:i,customerEmail:D?void 0:$,customerPhone:a||null,billingAddress:u.normalizedBillingAddress,shippingAddress:s==="stripe"?u.normalizedShippingAddress:null,shippingMethodId:s==="stripe"?y:null,locale:ae,currencyCode:l,couponCode:L?.code??J.appliedCoupon?.code??null,couponContextItems:b})}),p=await _.json();if(!_.ok){const d=p?.errorKey&&typeof p.errorKey=="string"?r(p.errorKey,p?.error||r("ecommerce.generic_error","Something went wrong."),p.errorParams):p?.error||c("ecommerce.generic_error");q(Q=>({...Q,[s]:d})),g(null);return}if(p.customProps&&p.customProps.provider==="freemius"){const d=p.customProps;let Q=null;const Je=()=>{window.location.href=`/checkout/success?session_id=${d.order_id}`},Pe=T=>(Q||(Q=fetch("/api/checkout/freemius/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderId:d.order_id,checkoutResponse:T})}).then(async Ae=>{if(!Ae.ok){const Ye=await Ae.json().catch(()=>null);console.error("Freemius checkout sync failed:",Ye)}})),Q),Qe={product_id:d.plugin_id,public_key:d.public_key,sandbox:d.sandbox},Xe={name:c("ecommerce.checkout_overlay_title"),plan_id:d.plan_id,...d.billing_cycle?{billing_cycle:d.billing_cycle}:{},...d.trial?{trial:d.trial}:{},...d.coupon?{coupon:d.coupon}:{},user_email:d.user_email,user_firstname:d.user_firstname,user_lastname:d.user_lastname,sandbox:d.sandbox,purchaseCompleted:function(T){Pe(T)},success:function(T){(async()=>{try{await Pe(T)}finally{Je()}})()}};try{new Ze.Checkout(Qe).open(Xe),g(null)}catch(T){alert(c("ecommerce.checkout_popup_blocked")+" "+(T.message||String(T))),p.url&&(window.location.href=p.url),g(null)}}else p.url?window.location.href=p.url:(q(d=>({...d,[s]:c("ecommerce.checkout_failed")+(p.error||r("ecommerce.unknown_error","Unknown error"))})),g(null))}catch(_){console.error(_),q(p=>({...p,[s]:c("ecommerce.generic_error")})),g(null)}}};if(b.length===0)return e.jsxs(e.Fragment,{children:[ke,e.jsxs("div",{className:"container mx-auto flex min-h-[50vh] flex-col items-center justify-center p-8 text-center",children:[e.jsx("h1",{className:"mb-4 text-2xl font-bold",children:c("ecommerce.cart_empty")}),e.jsx("p",{className:"mb-8 text-muted-foreground",children:c("ecommerce.cart_empty_description")}),e.jsx(he.Button,{asChild:!0,children:e.jsx("a",{href:"/shop",children:c("ecommerce.go_to_shop")})})]})]});const pe=C?re?ye?r("ecommerce.calculating_shipping","Calculating shipping..."):y?null:G.length>0?c("ecommerce.select_rate"):c("ecommerce.no_rates_for_region"):r("ecommerce.waiting_on_address_info","Complete your shipping address to view available shipping options."):null,Oe=n!==null||pe!==null,Ke=v.length===1?r("ecommerce.item_count_one","{count} item",{count:v.length}):r("ecommerce.item_count_other","{count} items",{count:v.length}),He=k.length===1?r("ecommerce.license_count_one","{count} license",{count:k.length}):r("ecommerce.license_count_other","{count} licenses",{count:k.length}),Ue=s=>ge.isDigitalItem(s)?r("ecommerce.digital_label","Digital"):r("ecommerce.physical_label","Physical"),Ge=s=>s==="monthly"?r("ecommerce.checkout_billing_cycle_monthly","Monthly subscription"):s==="annual"?r("ecommerce.checkout_billing_cycle_annual","Annual subscription"):s==="lifetime"?r("ecommerce.checkout_billing_cycle_lifetime","Lifetime subscription"):null;return e.jsxs("div",{className:"container mx-auto px-4 py-12 md:px-6",children:[ke,e.jsxs("div",{className:"mx-auto max-w-6xl",children:[e.jsx("h1",{className:"mb-8 text-3xl font-bold",children:c("ecommerce.checkout")}),e.jsxs("div",{className:"grid gap-8 lg:grid-cols-12 lg:items-start",children:[e.jsxs("div",{className:"lg:col-span-8 space-y-6",children:[e.jsxs(x.Card,{children:[e.jsx(x.CardHeader,{children:e.jsxs(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsx(P.CreditCard,{className:"w-5 h-5"}),c("ecommerce.contact_information")]})}),e.jsxs(x.CardContent,{className:"space-y-4",children:[D?e.jsx("div",{className:"rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground",children:c("checkout_prefill_notice",{email:t?.email||""})}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs(N.Label,{htmlFor:"checkout-email",children:[c("ecommerce.email_address")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(F.Input,{id:"checkout-email",type:"email",placeholder:c("ecommerce.email_placeholder"),value:$,onChange:s=>{Y(s.target.value),K&&H("")},required:!0}),K?e.jsx("p",{className:"text-xs text-destructive mt-1",children:K}):null]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(N.Label,{htmlFor:"checkout-phone",children:c("phone_number")}),e.jsx(F.Input,{id:"checkout-phone",placeholder:c("optional"),value:a,onChange:s=>U(s.target.value)})]})]})]}),e.jsx(Fe,{idPrefix:"billing",title:c("billing_address"),description:c("checkout_billing_address_help"),value:A,onChange:be}),C?e.jsxs("div",{className:"flex items-center space-x-3 rounded-xl border bg-muted/20 p-4",children:[e.jsx(Ve.Checkbox,{id:"use-billing-for-shipping",checked:E,onCheckedChange:s=>ve(!!s)}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(N.Label,{htmlFor:"use-billing-for-shipping",className:"cursor-pointer",children:c("use_billing_for_shipping")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:c("checkout_use_billing_for_shipping_help")})]})]}):null,C&&!E?e.jsx(Fe,{idPrefix:"shipping",title:c("shipping_address"),description:c("checkout_shipping_address_help"),value:O,onChange:Ne}):null,C?e.jsxs(x.Card,{children:[e.jsx(x.CardHeader,{children:e.jsxs(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsx(P.ChevronRight,{className:"w-5 h-5 text-primary"}),c("ecommerce.shipping_method")]})}),e.jsx(x.CardContent,{children:ye?e.jsx("div",{className:"flex items-center justify-center py-6",children:e.jsx(P.Loader2,{className:"w-6 h-6 animate-spin text-muted-foreground"})}):G.length>0?e.jsx("div",{className:"space-y-3",children:G.map(s=>e.jsxs("div",{onClick:()=>z(s.id),className:`flex items-center justify-between p-4 rounded-lg border-2 cursor-pointer transition-all ${y===s.id?"border-primary bg-primary/5":"border-neutral-100 hover:border-neutral-200"}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`w-4 h-4 rounded-full border flex items-center justify-center ${y===s.id?"border-primary":"border-neutral-300"}`,children:y===s.id?e.jsx("div",{className:"w-2 h-2 rounded-full bg-primary"}):null}),e.jsx("span",{className:"font-medium",children:s.name})]}),e.jsx("span",{className:"font-bold",children:f.formatPrice(s.amount,l)})]},s.id))}):e.jsx("div",{className:"py-4 text-center text-muted-foreground bg-muted/30 rounded-lg italic",children:re?c("ecommerce.no_rates_for_region"):r("ecommerce.waiting_on_address_info","Complete your shipping address to view available shipping options.")})})]}):null]}),e.jsxs("div",{className:"lg:col-span-4 space-y-6",children:[e.jsxs(x.Card,{className:"top-6",children:[e.jsx(x.CardHeader,{children:e.jsx(x.CardTitle,{children:c("ecommerce.order_summary")})}),e.jsxs(x.CardContent,{className:"space-y-4",children:[e.jsx("div",{className:"space-y-3 max-h-[260px] overflow-y-auto pr-2",children:b.map(s=>{const i=_e.getCartItemActivePrice(s,{currencyCode:l,currencies:M}),m=Te.getTrialSummary(s);return e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex gap-3",children:[s.image_url?e.jsx("div",{className:"h-10 w-10 shrink-0 overflow-hidden rounded border bg-neutral-100",children:e.jsx("img",{src:s.image_url,alt:s.title,className:"h-full w-full object-cover"})}):null,e.jsxs("div",{className:"grid gap-0.5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-xs line-clamp-1",children:s.title}),e.jsx(qe.Badge,{variant:"outline",className:"text-[9px] uppercase",children:Ue(s)})]}),s.variant_label?e.jsx("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:s.variant_label}):null,e.jsxs("span",{className:"text-[10px] text-muted-foreground",children:[c("ecommerce.qty"),": ",s.quantity]}),m?e.jsxs("span",{className:"text-[10px] font-medium text-emerald-700",children:[m.label," - ",m.paymentRequirementLabel]}):null]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-0.5 shrink-0",children:[e.jsx("span",{className:"font-medium text-xs",children:f.formatPrice((i.sale_price??i.price)*s.quantity,l)}),i.sale_price?e.jsx("span",{className:"text-[9px] text-muted-foreground line-through",children:f.formatPrice(i.price*s.quantity,l)}):null]})]},`${s.id}-${s.variant_id||"base"}`)})}),e.jsx(We.Separator,{}),e.jsx(cs.CouponForm,{items:b,currencyCode:l,onQuoteChange:Ee}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:c("ecommerce.subtotal")}),e.jsx("span",{children:f.formatPrice(De,l)})]}),v.length>0?e.jsxs("div",{className:"flex justify-between text-muted-foreground",children:[e.jsx("span",{children:r("ecommerce.physical_products","Physical products")}),e.jsx("span",{children:f.formatPrice(oe,l)})]}):null,k.length>0?e.jsxs("div",{className:"flex justify-between text-muted-foreground",children:[e.jsx("span",{children:r("ecommerce.digital_products","Digital products")}),e.jsx("span",{children:f.formatPrice(de,l)})]}):null,L?e.jsxs("div",{className:"flex justify-between text-emerald-600",children:[e.jsxs("span",{children:[r("ecommerce.discount","Discount")," (",L.code,")"]}),e.jsxs("span",{children:["-",f.formatPrice(L.discountTotal,l)]})]}):null,(v.length>0||k.length>0)&&e.jsxs("div",{className:"flex justify-between font-bold text-lg pt-2 border-t mt-2",children:[e.jsx("span",{children:r("ecommerce.estimated_total","Estimated total")}),e.jsx("span",{className:"text-primary",children:f.formatPrice(Be,l)})]})]})]})]}),v.length>0?e.jsxs(Ie,{title:r("ecommerce.stripe_checkout_title","Stripe Checkout"),description:r("ecommerce.stripe_checkout_description","Pay for physical products in one Stripe checkout session."),badgeLabel:Ke,children:[e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:r("ecommerce.physical_subtotal","Physical subtotal")}),e.jsx("span",{children:f.formatPrice(oe,l)})]}),ue>0?e.jsxs("div",{className:"flex justify-between text-emerald-600",children:[e.jsx("span",{children:r("ecommerce.discount","Discount")}),e.jsxs("span",{children:["-",f.formatPrice(ue,l)]})]}):null,e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:c("ecommerce.shipping")}),e.jsx("span",{children:ce?f.formatPrice(ce.amount,l):"-"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:r("ecommerce.tax","Tax")}),e.jsx("span",{children:Me?"...":S?.isPendingExternalCalculation?r("ecommerce.tax_calculated_on_stripe","Calculated on Stripe"):S?f.formatPrice(S.amount,l):"-"})]}),S&&S.lines.length>0?e.jsx("div",{className:"rounded-lg bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:S.lines.map(s=>e.jsxs("div",{className:"flex justify-between gap-3",children:[e.jsxs("span",{children:[s.name," (",s.rate.toFixed(4),"%)"]}),e.jsx("span",{children:f.formatPrice(s.amount,l)})]},s.id||`${s.name}-${s.rate}`))}):null,e.jsxs("div",{className:"flex justify-between font-semibold pt-2 border-t",children:[e.jsx("span",{children:r("ecommerce.total_on_stripe","Total on Stripe")}),e.jsx("span",{children:f.formatPrice(Ce,l)})]})]}),e.jsxs(he.Button,{className:"w-full",size:"lg",onClick:()=>we("stripe",v,"stripe"),disabled:Oe,children:[n==="stripe"?e.jsx(P.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(P.Package,{className:"mr-2 h-4 w-4"}),n==="stripe"?c("ecommerce.processing"):r("ecommerce.checkout_physical_products","Checkout Physical Products")]}),pe&&n===null?e.jsx("p",{className:"text-[11px] text-muted-foreground",children:pe}):null,h.stripe?e.jsx("div",{className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:h.stripe}):null,e.jsx("p",{className:"text-[11px] text-muted-foreground",children:S?.isPendingExternalCalculation?r("checkout_stripe_tax_finalized_notice","Tax will be finalized by Stripe Tax on the payment step."):r("ecommerce.shipping_taxes_collected_on_stripe","Shipping and taxes are only collected during the Stripe step for physical products.")})]}):null,k.length>0?e.jsxs(Ie,{title:r("ecommerce.freemius_checkout_title","Freemius Checkout"),description:r("ecommerce.freemius_checkout_description","Digital products use the Freemius checkout flow."),badgeLabel:He,children:[e.jsx("div",{className:"space-y-3",children:k.map(s=>{const i=_e.getCartItemActivePrice(s,{currencyCode:l,currencies:M}),m=Te.getTrialSummary(s),u=`freemius:${s.id}`,_=m?j[u]||"paid":void 0;return e.jsxs("div",{className:"rounded-lg border p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:s.title}),s.billing_cycle?e.jsx("p",{className:"text-xs text-muted-foreground capitalize",children:Ge(s.billing_cycle)}):null,m?e.jsxs("p",{className:"text-xs font-medium text-emerald-700",children:[m.label," - ",m.paymentRequirementLabel]}):null]}),e.jsx("span",{className:"font-medium",children:f.formatPrice(i.sale_price??i.price,l)})]}),m&&!s.trial_requires_payment_method&&e.jsxs("div",{className:"bg-muted/30 p-3 rounded-md border text-sm mt-2 mb-3",children:[e.jsx("p",{className:"font-medium mb-3",children:r("ecommerce.freemius_trial_preference_title","How would you like to start your trial?")}),e.jsxs(xe.RadioGroup,{value:j[u]||"paid",onValueChange:p=>I(d=>({...d,[u]:p})),className:"gap-3",children:[e.jsxs("div",{className:"flex items-start space-x-3",children:[e.jsx(xe.RadioGroupItem,{value:"paid",id:`${u}-paid`,className:"mt-1"}),e.jsxs("div",{className:"grid gap-1.5",children:[e.jsx(N.Label,{htmlFor:`${u}-paid`,className:"font-medium leading-none cursor-pointer",children:r("ecommerce.freemius_trial_with_card","Enter Payment Details Now (Still get full trial length free)")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r("ecommerce.freemius_trial_with_card_help","You will not be billed until the trial ends. Cancel anytime.")})]})]}),e.jsxs("div",{className:"flex items-start space-x-3",children:[e.jsx(xe.RadioGroupItem,{value:"free",id:`${u}-free`,className:"mt-1"}),e.jsx("div",{className:"grid gap-1.5",children:e.jsx(N.Label,{htmlFor:`${u}-free`,className:"font-medium leading-none cursor-pointer",children:r("ecommerce.freemius_trial_no_card","Start Free Trial (No card required)")})})]})]})]}),e.jsxs(he.Button,{className:"w-full h-auto min-h-[2.75rem] py-2",onClick:()=>we("freemius",[{...s,..._?{trial_preference:_}:{}}],u),disabled:n!==null,children:[n===u?e.jsx(P.Loader2,{className:"mr-2 h-4 w-4 shrink-0 animate-spin"}):e.jsx(P.Download,{className:"mr-2 h-4 w-4 shrink-0"}),e.jsx("span",{className:"whitespace-normal text-left",children:n===u?c("ecommerce.processing"):k.length>1?r("ecommerce.checkout_product","Checkout {title}",{title:s.title}):r("ecommerce.checkout_digital_product","Checkout Digital Product")})]})]},u)})}),e.jsxs("div",{className:"flex justify-between text-sm font-semibold border-t pt-3",children:[e.jsx("span",{children:r("ecommerce.digital_subtotal","Digital subtotal")}),e.jsx("span",{children:f.formatPrice(de,l)})]}),me>0?e.jsxs("div",{className:"flex justify-between text-sm font-semibold text-emerald-600",children:[e.jsx("span",{children:r("ecommerce.discount","Discount")}),e.jsxs("span",{children:["-",f.formatPrice(me,l)]})]}):null,h.freemius?e.jsx("div",{className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:h.freemius}):null,e.jsx("p",{className:"text-[11px] text-muted-foreground",children:k.length>1?r("ecommerce.freemius_multi_checkout_notice","Freemius licenses are completed one at a time, so each digital product gets its own checkout action."):r("ecommerce.freemius_tax_notice","Taxes and compliance for digital products are handled inside the Freemius checkout.")})]}):null]})]})]})]})};exports.Checkout=ls;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),Ae=require("@nextblock-cms/ui/badge"),pe=require("@nextblock-cms/ui/button"),x=require("@nextblock-cms/ui/card"),Ye=require("@nextblock-cms/ui/checkbox"),w=require("@nextblock-cms/ui/input"),D=require("@nextblock-cms/ui/label"),We=require("@nextblock-cms/ui/separator"),xe=require("@nextblock-cms/ui/radio-group"),Ze=require("@freemius/checkout"),he=require("../cart-store.cjs.js"),es=require("../use-cart.cjs.js"),m=require("react"),U=require("lucide-react"),N=require("@nextblock-cms/utils"),Te=require("../countries.cjs.js"),ss=require("../server-actions/shipping-actions.cjs.js"),ns=require("../server-actions/tax-actions.cjs.js"),fe=require("../types.cjs.js"),Q=require("../states.cjs.js"),M=require("../customer.cjs.js"),os=require("../CurrencyProvider.cjs.js"),Se=require("../trials.cjs.js"),cs=require("./CouponForm.cjs.js"),ts=process.env.NEXT_PUBLIC_IS_SANDBOX==="true",te="nextblock-checkout-draft-v1";function re(n,k){return{...M.emptyCustomerAddress(),company_name:n?.company_name||"",recipient_name:n?.recipient_name||k||"",line1:n?.line1||"",line2:n?.line2||"",city:n?.city||"",state:n?.state||"",postal_code:n?.postal_code||"",country_code:Te.normalizeCountryCode(n?.country_code)||"CA"}}function rs(n){const k=M.normalizeCustomerAddress(n);return!(!k?.country_code||!k.postal_code||Q.countryUsesStructuredStates(k.country_code)&&!k.state)}function Ne(n,k,P){return n.reduce((t,f)=>{const{price:p,sale_price:A}=he.getCartItemActivePrice(f,{currencyCode:k,currencies:P});return t+(A??p)*f.quantity},0)}function we({idPrefix:n,title:k,description:P,value:t,onChange:f}){const{t:p}=N.useTranslations(),A=p("company_name")==="company_name"?"Company name":p("company_name"),T=p("select_an_option")==="select_an_option"?"Select an option":p("select_an_option"),X=p("state_province")==="state_province"?"State / Province":p("state_province"),z=Q.getStatesForCountry(t.country_code),O=Q.countryUsesStructuredStates(t.country_code);return e.jsxDEV(x.Card,{children:[e.jsxDEV(x.CardHeader,{children:[e.jsxDEV(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsxDEV(U.MapPin,{className:"w-5 h-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:134,columnNumber:11},this),k]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:133,columnNumber:9},this),e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:P},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:137,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:132,columnNumber:7},this),e.jsxDEV(x.CardContent,{className:"space-y-4",children:[e.jsxDEV("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-company`,children:A},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV(w.Input,{id:`${n}-company`,value:t.company_name,onChange:l=>f({...t,company_name:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:143,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:141,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-name`,children:p("full_name")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:150,columnNumber:13},this),e.jsxDEV(w.Input,{id:`${n}-name`,value:t.recipient_name,onChange:l=>f({...t,recipient_name:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:151,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:149,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-country`,children:p("country")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:158,columnNumber:13},this),e.jsxDEV("select",{id:`${n}-country`,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",value:t.country_code,onChange:l=>{const K=l.target.value,ie=Q.getStatesForCountry(K);f({...t,country_code:K,state:ie.some(Y=>Y.code===t.state)?t.state:""})},children:Te.countries.map(l=>e.jsxDEV("option",{value:l.code,children:l.name},l.code,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:174,columnNumber:17},this))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:157,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:140,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-line1`,children:p("address_line_1")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:183,columnNumber:11},this),e.jsxDEV(w.Input,{id:`${n}-line1`,value:t.line1,onChange:l=>f({...t,line1:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:184,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:182,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-line2`,children:p("address_line_2")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:192,columnNumber:11},this),e.jsxDEV(w.Input,{id:`${n}-line2`,value:t.line2,onChange:l=>f({...t,line2:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:193,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:191,columnNumber:9},this),e.jsxDEV("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-city`,children:p("city")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:202,columnNumber:13},this),e.jsxDEV(w.Input,{id:`${n}-city`,value:t.city,onChange:l=>f({...t,city:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:203,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:201,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-state`,children:p("state_province")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:210,columnNumber:13},this),O?e.jsxDEV("select",{id:`${n}-state`,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",value:t.state,onChange:l=>f({...t,state:l.target.value}),children:[e.jsxDEV("option",{value:"",children:`${T}: ${X}`},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:218,columnNumber:17},this),z.map(l=>e.jsxDEV("option",{value:l.code,children:l.name},l.code,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:220,columnNumber:19},this))]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:212,columnNumber:15},this):e.jsxDEV(w.Input,{id:`${n}-state`,value:t.state,onChange:l=>f({...t,state:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:226,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:209,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:`${n}-postal`,children:p("postal_zip_code")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:234,columnNumber:13},this),e.jsxDEV(w.Input,{id:`${n}-postal`,value:t.postal_code,onChange:l=>f({...t,postal_code:l.target.value})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:235,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:233,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:200,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:139,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:131,columnNumber:5},this)}function Pe({title:n,description:k,badgeLabel:P,children:t}){return e.jsxDEV(x.Card,{children:[e.jsxDEV(x.CardHeader,{children:e.jsxDEV("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxDEV("div",{children:[e.jsxDEV(x.CardTitle,{children:n},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:263,columnNumber:13},this),e.jsxDEV("p",{className:"mt-1 text-sm text-muted-foreground",children:k},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:264,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:262,columnNumber:11},this),P?e.jsxDEV(Ae.Badge,{variant:"secondary",children:P},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:266,columnNumber:25},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:261,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:260,columnNumber:7},this),e.jsxDEV(x.CardContent,{className:"space-y-4",children:t},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:269,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:259,columnNumber:5},this)}const is=({initialCustomer:n})=>{const[k,P]=m.useState({}),[t,f]=m.useState(null),[p,A]=m.useState({}),[T,X]=m.useState(n?.email||""),[z,O]=m.useState(""),[l,K]=m.useState(n?.phone||""),[ie,Y]=m.useState(!1),[Fe,ke]=m.useState(null),[Ce,W]=m.useState(!1),[Ie,Z]=m.useState(!1),[H,ee]=m.useState([]),[C,R]=m.useState(null),[_,se]=m.useState(null),[F,qe]=m.useState(null),[V,je]=m.useState(()=>re(n?.billingAddress,n?.fullName)),[B,De]=m.useState(()=>re(n?.shippingAddress??n?.billingAddress,n?.fullName)),[q,ve]=m.useState(!n?.shippingAddress||M.addressesMatch(n?.billingAddress,n?.shippingAddress)),G=es.useCart(s=>s),{t:c,lang:le}=N.useTranslations(),{activeCurrencyCode:i,currencies:I}=os.useCurrency(),j=G?.items??[],v=m.useMemo(()=>j.filter(s=>!fe.isDigitalItem(s)),[j]),E=m.useMemo(()=>j.filter(s=>fe.isDigitalItem(s)),[j]),$=n?.isAuthenticated??!1,o=(s,r,a)=>{const u=c(s,a);if(u!==s)return u;if(!a)return r;let h=r;return Object.entries(a).forEach(([b,d])=>{h=h.replace(new RegExp(`\\{${b}\\}`,"g"),String(d))}),h},g=v.length>0,$e=m.useMemo(()=>Ne(j,i,I),[i,I,j]),me=m.useMemo(()=>Ne(v,i,I),[i,I,v]),de=m.useMemo(()=>Ne(E,i,I),[i,I,E]),ue=F?.providerDiscounts.stripe??0,ae=F?.providerDiscounts.freemius??0,ne=Math.max(0,me-ue),Le=Math.max(0,de-ae),y=m.useMemo(()=>q?V:B,[V,B,q]),L=m.useMemo(()=>g?y:V,[V,g,y]),oe=!g||rs(y),ce=m.useMemo(()=>H.find(s=>s.id===C),[H,C]),ge=m.useMemo(()=>ne+(ce?.amount??0)+(_&&!_.isPendingExternalCalculation?_.amount:0),[ne,ce,_]),Me=ge+Le;if(m.useEffect(()=>{if(!($||typeof window>"u"))try{const s=window.localStorage.getItem(te);if(!s)return;const r=JSON.parse(s);r.email&&X(r.email),r.phone&&K(r.phone),r.billingAddress&&je(re(r.billingAddress)),r.shippingAddress&&De(re(r.shippingAddress)),typeof r.useBillingForShipping=="boolean"&&ve(r.useBillingForShipping),(typeof r.selectedMethodId=="string"||r.selectedMethodId===null)&&R(r.selectedMethodId)}catch(s){console.error("[Checkout] Failed to restore checkout draft:",s)}},[$]),m.useEffect(()=>{if(!(typeof window>"u")){if($){window.localStorage.removeItem(te);return}window.localStorage.setItem(te,JSON.stringify({email:T,phone:l,billingAddress:V,shippingAddress:B,useBillingForShipping:q,selectedMethodId:C}))}},[V,T,$,l,C,B,q]),m.useEffect(()=>{if(!g){ee([]),R(null),W(!1);return}if(!oe){ee([]),R(null),W(!1);return}let s=!1;const a=setTimeout(async()=>{if(!y.country_code)return;W(!0);const u=await ss.getShippingEstimates(ne,{country:y.country_code,state:y.state,postal_code:y.postal_code},le,i);s||(u.success&&u.methods?(ee(u.methods),u.methods.length>0&&(!C||!u.methods.find(h=>h.id===C))&&R(u.methods[0].id)):(ee([]),R(null)),W(!1))},400);return()=>{s=!0,clearTimeout(a)}},[i,g,oe,le,C,y.country_code,y.postal_code,y.state,ne]),m.useEffect(()=>{const r=setTimeout(async()=>{if(!g||!L.country_code){Z(!1),se(null);return}if(Q.countryUsesStructuredStates(L.country_code)&&!L.state){Z(!1),se(null);return}Z(!0);const a=await ns.getTaxEstimate(v,{country_code:L.country_code,state:L.state},i,F?.code??null,j);a.success&&a.tax?se(a.tax):se(null),Z(!1)},300);return()=>clearTimeout(r)},[i,g,v,L.country_code,L.state,F?.code,j]),!G)return null;const _e=()=>{Y(!1),ke(null)},Ee=ie?e.jsxDEV("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:_e,children:e.jsxDEV("div",{className:"relative bg-background border rounded-xl shadow-2xl p-8 max-w-md mx-4",onClick:s=>s.stopPropagation(),children:[e.jsxDEV("button",{onClick:_e,className:"absolute top-4 right-4 text-muted-foreground hover:text-foreground transition-colors",children:e.jsxDEV(U.X,{className:"w-5 h-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:602,columnNumber:11},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:598,columnNumber:9},void 0),e.jsxDEV("div",{className:"flex items-center gap-3 mb-4",children:[e.jsxDEV("div",{className:"p-2 rounded-full bg-amber-100 dark:bg-amber-900/20",children:e.jsxDEV(U.FlaskConical,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:606,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:605,columnNumber:11},void 0),e.jsxDEV("h2",{className:"text-xl font-semibold",children:c("ecommerce.checkout_successful")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:608,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:604,columnNumber:9},void 0),e.jsxDEV("p",{className:"text-muted-foreground mb-2",children:c("ecommerce.sandbox_notice")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:610,columnNumber:9},void 0),e.jsxDEV("p",{className:"text-muted-foreground mb-2",children:Fe==="stripe"?o("ecommerce.sandbox_checkout_stripe_description","This simulated step represents the Stripe checkout for physical products."):o("ecommerce.sandbox_checkout_freemius_description","This simulated step represents the Freemius checkout for digital products.")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:611,columnNumber:9},void 0),e.jsxDEV("p",{className:"text-muted-foreground mb-6",children:c("ecommerce.license_notice")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:622,columnNumber:9},void 0),e.jsxDEV("a",{href:"https://nextblock.ca",target:"_blank",rel:"noopener noreferrer",className:"block w-full text-center py-3 px-4 rounded-lg bg-primary text-primary-foreground font-semibold hover:opacity-90 transition-opacity",children:c("ecommerce.purchase_at")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:623,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:594,columnNumber:7},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:590,columnNumber:5},void 0):null,Re=s=>{if(!$&&(!T||!/^\S+@\S+\.\S+$/.test(T)))return O(c("ecommerce.invalid_email")),null;const r=M.normalizeCustomerAddress(V);if(!M.isCustomerAddressComplete(r))return alert(c("checkout_complete_billing_address")),null;const a=g?M.normalizeCustomerAddress(q?V:B):null;if(s==="stripe"){if(!M.isCustomerAddressComplete(a))return alert(c("checkout_complete_shipping_address")),null;if(!C)return alert(o("ecommerce.shipping_method_required","Please select a shipping method before continuing.")),null}return O(""),{normalizedBillingAddress:r,normalizedShippingAddress:a}},ye=async(s,r,a)=>{A(h=>({...h,[s]:""}));const u=Re(s);if(u){if(ts){const h=new Set(r.map(d=>d.id)),b=j.filter(d=>!h.has(d.id));G.setItems(b),b.length===0&&G.removeCoupon(),ke(s),Y(!0),typeof window<"u"&&b.length===0&&window.localStorage.removeItem(te);return}f(a);try{const h=await fetch("/api/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:r,customerEmail:$?void 0:T,customerPhone:l||null,billingAddress:u.normalizedBillingAddress,shippingAddress:s==="stripe"?u.normalizedShippingAddress:null,shippingMethodId:s==="stripe"?C:null,locale:le,currencyCode:i,couponCode:F?.code??G.appliedCoupon?.code??null,couponContextItems:j})}),b=await h.json();if(!h.ok){const d=b?.errorKey&&typeof b.errorKey=="string"?o(b.errorKey,b?.error||o("ecommerce.generic_error","Something went wrong."),b.errorParams):b?.error||c("ecommerce.generic_error");A(J=>({...J,[s]:d})),f(null);return}if(b.customProps&&b.customProps.provider==="freemius"){const d=b.customProps;let J=null;const Ge=()=>{window.location.href=`/checkout/success?session_id=${d.order_id}`},Ue=S=>(J||(J=fetch("/api/checkout/freemius/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderId:d.order_id,checkoutResponse:S})}).then(async Ve=>{if(!Ve.ok){const Xe=await Ve.json().catch(()=>null);console.error("Freemius checkout sync failed:",Xe)}})),J),Je={product_id:d.plugin_id,public_key:d.public_key,sandbox:d.sandbox},Qe={name:c("ecommerce.checkout_overlay_title"),plan_id:d.plan_id,...d.billing_cycle?{billing_cycle:d.billing_cycle}:{},...d.trial?{trial:d.trial}:{},...d.coupon?{coupon:d.coupon}:{},user_email:d.user_email,user_firstname:d.user_firstname,user_lastname:d.user_lastname,sandbox:d.sandbox,purchaseCompleted:function(S){Ue(S)},success:function(S){(async()=>{try{await Ue(S)}finally{Ge()}})()}};try{new Ze.Checkout(Je).open(Qe),f(null)}catch(S){alert(c("ecommerce.checkout_popup_blocked")+" "+(S.message||String(S))),b.url&&(window.location.href=b.url),f(null)}}else b.url?window.location.href=b.url:(A(d=>({...d,[s]:c("ecommerce.checkout_failed")+(b.error||o("ecommerce.unknown_error","Unknown error"))})),f(null))}catch(h){console.error(h),A(b=>({...b,[s]:c("ecommerce.generic_error")})),f(null)}}};if(j.length===0)return e.jsxDEV(e.Fragment,{children:[Ee,e.jsxDEV("div",{className:"container mx-auto flex min-h-[50vh] flex-col items-center justify-center p-8 text-center",children:[e.jsxDEV("h1",{className:"mb-4 text-2xl font-bold",children:c("ecommerce.cart_empty")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:844,columnNumber:11},void 0),e.jsxDEV("p",{className:"mb-8 text-muted-foreground",children:c("ecommerce.cart_empty_description")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:845,columnNumber:11},void 0),e.jsxDEV(pe.Button,{asChild:!0,children:e.jsxDEV("a",{href:"/shop",children:c("ecommerce.go_to_shop")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:847,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:846,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:843,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:841,columnNumber:7},void 0);const be=g?oe?Ce?o("ecommerce.calculating_shipping","Calculating shipping..."):C?null:H.length>0?c("ecommerce.select_rate"):c("ecommerce.no_rates_for_region"):o("ecommerce.waiting_on_address_info","Complete your shipping address to view available shipping options."):null,Be=t!==null||be!==null,ze=v.length===1?o("ecommerce.item_count_one","{count} item",{count:v.length}):o("ecommerce.item_count_other","{count} items",{count:v.length}),Oe=E.length===1?o("ecommerce.license_count_one","{count} license",{count:E.length}):o("ecommerce.license_count_other","{count} licenses",{count:E.length}),Ke=s=>fe.isDigitalItem(s)?o("ecommerce.digital_label","Digital"):o("ecommerce.physical_label","Physical"),He=s=>s==="monthly"?o("ecommerce.checkout_billing_cycle_monthly","Monthly subscription"):s==="annual"?o("ecommerce.checkout_billing_cycle_annual","Annual subscription"):s==="lifetime"?o("ecommerce.checkout_billing_cycle_lifetime","Lifetime subscription"):null;return e.jsxDEV("div",{className:"container mx-auto px-4 py-12 md:px-6",children:[Ee,e.jsxDEV("div",{className:"mx-auto max-w-6xl",children:[e.jsxDEV("h1",{className:"mb-8 text-3xl font-bold",children:c("ecommerce.checkout")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:923,columnNumber:9},void 0),e.jsxDEV("div",{className:"grid gap-8 lg:grid-cols-12 lg:items-start",children:[e.jsxDEV("div",{className:"lg:col-span-8 space-y-6",children:[e.jsxDEV(x.Card,{children:[e.jsxDEV(x.CardHeader,{children:e.jsxDEV(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsxDEV(U.CreditCard,{className:"w-5 h-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:930,columnNumber:19},void 0),c("ecommerce.contact_information")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:929,columnNumber:17},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:928,columnNumber:15},void 0),e.jsxDEV(x.CardContent,{className:"space-y-4",children:[$?e.jsxDEV("div",{className:"rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground",children:c("checkout_prefill_notice",{email:n?.email||""})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:936,columnNumber:19},void 0):e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:"checkout-email",children:[c("ecommerce.email_address")," ",e.jsxDEV("span",{className:"text-destructive",children:"*"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:942,columnNumber:54},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:941,columnNumber:21},void 0),e.jsxDEV(w.Input,{id:"checkout-email",type:"email",placeholder:c("ecommerce.email_placeholder"),value:T,onChange:s=>{X(s.target.value),z&&O("")},required:!0},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:944,columnNumber:21},void 0),z?e.jsxDEV("p",{className:"text-xs text-destructive mt-1",children:z},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:957,columnNumber:35},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:940,columnNumber:19},void 0),e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(D.Label,{htmlFor:"checkout-phone",children:c("phone_number")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:962,columnNumber:19},void 0),e.jsxDEV(w.Input,{id:"checkout-phone",placeholder:c("optional"),value:l,onChange:s=>K(s.target.value)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:963,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:961,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:934,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:927,columnNumber:13},void 0),e.jsxDEV(we,{idPrefix:"billing",title:c("billing_address"),description:c("checkout_billing_address_help"),value:V,onChange:je},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:973,columnNumber:13},void 0),g?e.jsxDEV("div",{className:"flex items-center space-x-3 rounded-xl border bg-muted/20 p-4",children:[e.jsxDEV(Ye.Checkbox,{id:"use-billing-for-shipping",checked:q,onCheckedChange:s=>ve(!!s)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:983,columnNumber:17},void 0),e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV(D.Label,{htmlFor:"use-billing-for-shipping",className:"cursor-pointer",children:c("use_billing_for_shipping")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:989,columnNumber:19},void 0),e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:c("checkout_use_billing_for_shipping_help")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:992,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:988,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:982,columnNumber:15},void 0):null,g&&!q?e.jsxDEV(we,{idPrefix:"shipping",title:c("shipping_address"),description:c("checkout_shipping_address_help"),value:B,onChange:De},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1e3,columnNumber:15},void 0):null,g?e.jsxDEV(x.Card,{children:[e.jsxDEV(x.CardHeader,{children:e.jsxDEV(x.CardTitle,{className:"flex items-center gap-2",children:[e.jsxDEV(U.ChevronRight,{className:"w-5 h-5 text-primary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1013,columnNumber:21},void 0),c("ecommerce.shipping_method")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1012,columnNumber:19},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1011,columnNumber:17},void 0),e.jsxDEV(x.CardContent,{children:Ce?e.jsxDEV("div",{className:"flex items-center justify-center py-6",children:e.jsxDEV(U.Loader2,{className:"w-6 h-6 animate-spin text-muted-foreground"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1020,columnNumber:23},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1019,columnNumber:21},void 0):H.length>0?e.jsxDEV("div",{className:"space-y-3",children:H.map(s=>e.jsxDEV("div",{onClick:()=>R(s.id),className:`flex items-center justify-between p-4 rounded-lg border-2 cursor-pointer transition-all ${C===s.id?"border-primary bg-primary/5":"border-neutral-100 hover:border-neutral-200"}`,children:[e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:`w-4 h-4 rounded-full border flex items-center justify-center ${C===s.id?"border-primary":"border-neutral-300"}`,children:C===s.id?e.jsxDEV("div",{className:"w-2 h-2 rounded-full bg-primary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1041,columnNumber:33},void 0):null},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1035,columnNumber:29},void 0),e.jsxDEV("span",{className:"font-medium",children:s.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1044,columnNumber:29},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1034,columnNumber:27},void 0),e.jsxDEV("span",{className:"font-bold",children:N.formatPrice(s.amount,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1046,columnNumber:27},void 0)]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1025,columnNumber:25},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1023,columnNumber:21},void 0):e.jsxDEV("div",{className:"py-4 text-center text-muted-foreground bg-muted/30 rounded-lg italic",children:oe?c("ecommerce.no_rates_for_region"):o("ecommerce.waiting_on_address_info","Complete your shipping address to view available shipping options.")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1053,columnNumber:21},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1017,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1010,columnNumber:15},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:926,columnNumber:11},void 0),e.jsxDEV("div",{className:"lg:col-span-4 space-y-6",children:[e.jsxDEV(x.Card,{className:"top-6",children:[e.jsxDEV(x.CardHeader,{children:e.jsxDEV(x.CardTitle,{children:c("ecommerce.order_summary")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1070,columnNumber:17},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1069,columnNumber:15},void 0),e.jsxDEV(x.CardContent,{className:"space-y-4",children:[e.jsxDEV("div",{className:"space-y-3 max-h-[260px] overflow-y-auto pr-2",children:j.map(s=>{const r=he.getCartItemActivePrice(s,{currencyCode:i,currencies:I}),a=Se.getTrialSummary(s);return e.jsxDEV("div",{className:"flex items-start justify-between gap-4",children:[e.jsxDEV("div",{className:"flex gap-3",children:[s.image_url?e.jsxDEV("div",{className:"h-10 w-10 shrink-0 overflow-hidden rounded border bg-neutral-100",children:e.jsxDEV("img",{src:s.image_url,alt:s.title,className:"h-full w-full object-cover"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1086,columnNumber:31},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1085,columnNumber:29},void 0):null,e.jsxDEV("div",{className:"grid gap-0.5",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"font-medium text-xs line-clamp-1",children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1091,columnNumber:31},void 0),e.jsxDEV(Ae.Badge,{variant:"outline",className:"text-[9px] uppercase",children:Ke(s)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1092,columnNumber:31},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1090,columnNumber:29},void 0),s.variant_label?e.jsxDEV("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:s.variant_label},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1097,columnNumber:31},void 0):null,e.jsxDEV("span",{className:"text-[10px] text-muted-foreground",children:[c("ecommerce.qty"),": ",s.quantity]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1101,columnNumber:29},void 0),a?e.jsxDEV("span",{className:"text-[10px] font-medium text-emerald-700",children:[a.label," - ",a.paymentRequirementLabel]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1105,columnNumber:31},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1089,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1083,columnNumber:25},void 0),e.jsxDEV("div",{className:"flex flex-col items-end gap-0.5 shrink-0",children:[e.jsxDEV("span",{className:"font-medium text-xs",children:N.formatPrice((r.sale_price??r.price)*s.quantity,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1112,columnNumber:27},void 0),r.sale_price?e.jsxDEV("span",{className:"text-[9px] text-muted-foreground line-through",children:N.formatPrice(r.price*s.quantity,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1119,columnNumber:29},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1111,columnNumber:25},void 0)]},`${s.id}-${s.variant_id||"base"}`,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1082,columnNumber:23},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1073,columnNumber:17},void 0),e.jsxDEV(We.Separator,{},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1129,columnNumber:17},void 0),e.jsxDEV(cs.CouponForm,{items:j,currencyCode:i,onQuoteChange:qe},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1131,columnNumber:17},void 0),e.jsxDEV("div",{className:"space-y-2 text-sm",children:[e.jsxDEV("div",{className:"flex justify-between",children:[e.jsxDEV("span",{children:c("ecommerce.subtotal")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1139,columnNumber:21},void 0),e.jsxDEV("span",{children:N.formatPrice($e,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1140,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1138,columnNumber:19},void 0),v.length>0?e.jsxDEV("div",{className:"flex justify-between text-muted-foreground",children:[e.jsxDEV("span",{children:o("ecommerce.physical_products","Physical products")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1144,columnNumber:23},void 0),e.jsxDEV("span",{children:N.formatPrice(me,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1150,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1143,columnNumber:21},void 0):null,E.length>0?e.jsxDEV("div",{className:"flex justify-between text-muted-foreground",children:[e.jsxDEV("span",{children:o("ecommerce.digital_products","Digital products")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1155,columnNumber:23},void 0),e.jsxDEV("span",{children:N.formatPrice(de,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1161,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1154,columnNumber:21},void 0):null,F?e.jsxDEV("div",{className:"flex justify-between text-emerald-600",children:[e.jsxDEV("span",{children:[o("ecommerce.discount","Discount")," (",F.code,")"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1166,columnNumber:23},void 0),e.jsxDEV("span",{children:["-",N.formatPrice(F.discountTotal,i)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1169,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1165,columnNumber:21},void 0):null,(v.length>0||E.length>0)&&e.jsxDEV("div",{className:"flex justify-between font-bold text-lg pt-2 border-t mt-2",children:[e.jsxDEV("span",{children:o("ecommerce.estimated_total","Estimated total")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1174,columnNumber:23},void 0),e.jsxDEV("span",{className:"text-primary",children:N.formatPrice(Me,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1180,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1173,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1137,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1072,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1068,columnNumber:13},void 0),v.length>0?e.jsxDEV(Pe,{title:o("ecommerce.stripe_checkout_title","Stripe Checkout"),description:o("ecommerce.stripe_checkout_description","Pay for physical products in one Stripe checkout session."),badgeLabel:ze,children:[e.jsxDEV("div",{className:"space-y-2 text-sm",children:[e.jsxDEV("div",{className:"flex justify-between",children:[e.jsxDEV("span",{children:o("ecommerce.physical_subtotal","Physical subtotal")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1203,columnNumber:21},void 0),e.jsxDEV("span",{children:N.formatPrice(me,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1209,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1202,columnNumber:19},void 0),ue>0?e.jsxDEV("div",{className:"flex justify-between text-emerald-600",children:[e.jsxDEV("span",{children:o("ecommerce.discount","Discount")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1213,columnNumber:23},void 0),e.jsxDEV("span",{children:["-",N.formatPrice(ue,i)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1216,columnNumber:23},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1212,columnNumber:21},void 0):null,e.jsxDEV("div",{className:"flex justify-between",children:[e.jsxDEV("span",{children:c("ecommerce.shipping")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1220,columnNumber:21},void 0),e.jsxDEV("span",{children:ce?N.formatPrice(ce.amount,i):"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1221,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1219,columnNumber:19},void 0),e.jsxDEV("div",{className:"flex justify-between",children:[e.jsxDEV("span",{children:o("ecommerce.tax","Tax")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1224,columnNumber:21},void 0),e.jsxDEV("span",{children:Ie?"...":_?.isPendingExternalCalculation?o("ecommerce.tax_calculated_on_stripe","Calculated on Stripe"):_?N.formatPrice(_.amount,i):"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1225,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1223,columnNumber:19},void 0),_&&_.lines.length>0?e.jsxDEV("div",{className:"rounded-lg bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:_.lines.map(s=>e.jsxDEV("div",{className:"flex justify-between gap-3",children:[e.jsxDEV("span",{children:[s.name," (",s.rate.toFixed(4),"%)"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1244,columnNumber:27},void 0),e.jsxDEV("span",{children:N.formatPrice(s.amount,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1247,columnNumber:27},void 0)]},s.id||`${s.name}-${s.rate}`,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1243,columnNumber:25},void 0))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1241,columnNumber:21},void 0):null,e.jsxDEV("div",{className:"flex justify-between font-semibold pt-2 border-t",children:[e.jsxDEV("span",{children:o("ecommerce.total_on_stripe","Total on Stripe")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1253,columnNumber:21},void 0),e.jsxDEV("span",{children:N.formatPrice(ge,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1259,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1252,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1201,columnNumber:17},void 0),e.jsxDEV(pe.Button,{className:"w-full",size:"lg",onClick:()=>ye("stripe",v,"stripe"),disabled:Be,children:[t==="stripe"?e.jsxDEV(U.Loader2,{className:"mr-2 h-4 w-4 animate-spin"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1270,columnNumber:21},void 0):e.jsxDEV(U.Package,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1272,columnNumber:21},void 0),t==="stripe"?c("ecommerce.processing"):o("ecommerce.checkout_physical_products","Checkout Physical Products")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1263,columnNumber:17},void 0),be&&t===null?e.jsxDEV("p",{className:"text-[11px] text-muted-foreground",children:be},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1283,columnNumber:19},void 0):null,p.stripe?e.jsxDEV("div",{className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:p.stripe},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1289,columnNumber:19},void 0):null,e.jsxDEV("p",{className:"text-[11px] text-muted-foreground",children:_?.isPendingExternalCalculation?o("checkout_stripe_tax_finalized_notice","Tax will be finalized by Stripe Tax on the payment step."):o("ecommerce.shipping_taxes_collected_on_stripe","Shipping and taxes are only collected during the Stripe step for physical products.")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1294,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1190,columnNumber:15},void 0):null,E.length>0?e.jsxDEV(Pe,{title:o("ecommerce.freemius_checkout_title","Freemius Checkout"),description:o("ecommerce.freemius_checkout_description","Digital products use the Freemius checkout flow."),badgeLabel:Oe,children:[e.jsxDEV("div",{className:"space-y-3",children:E.map(s=>{const r=he.getCartItemActivePrice(s,{currencyCode:i,currencies:I}),a=Se.getTrialSummary(s),u=`freemius:${s.id}`,h=a?k[u]||"paid":void 0;return e.jsxDEV("div",{className:"rounded-lg border p-3 space-y-3",children:[e.jsxDEV("div",{className:"flex items-start justify-between gap-3",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"font-medium",children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1336,columnNumber:29},void 0),s.billing_cycle?e.jsxDEV("p",{className:"text-xs text-muted-foreground capitalize",children:He(s.billing_cycle)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1338,columnNumber:31},void 0):null,a?e.jsxDEV("p",{className:"text-xs font-medium text-emerald-700",children:[a.label," - ",a.paymentRequirementLabel]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1343,columnNumber:31},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1335,columnNumber:27},void 0),e.jsxDEV("span",{className:"font-medium",children:N.formatPrice(r.sale_price??r.price,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1348,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1334,columnNumber:25},void 0),a&&!s.trial_requires_payment_method&&e.jsxDEV("div",{className:"bg-muted/30 p-3 rounded-md border text-sm mt-2 mb-3",children:[e.jsxDEV("p",{className:"font-medium mb-3",children:o("ecommerce.freemius_trial_preference_title","How would you like to start your trial?")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1355,columnNumber:29},void 0),e.jsxDEV(xe.RadioGroup,{value:k[u]||"paid",onValueChange:b=>P(d=>({...d,[u]:b})),className:"gap-3",children:[e.jsxDEV("div",{className:"flex items-start space-x-3",children:[e.jsxDEV(xe.RadioGroupItem,{value:"paid",id:`${u}-paid`,className:"mt-1"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1367,columnNumber:33},void 0),e.jsxDEV("div",{className:"grid gap-1.5",children:[e.jsxDEV(D.Label,{htmlFor:`${u}-paid`,className:"font-medium leading-none cursor-pointer",children:o("ecommerce.freemius_trial_with_card","Enter Payment Details Now (Still get full trial length free)")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1369,columnNumber:35},void 0),e.jsxDEV("p",{className:"text-xs text-muted-foreground",children:o("ecommerce.freemius_trial_with_card_help","You will not be billed until the trial ends. Cancel anytime.")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1375,columnNumber:35},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1368,columnNumber:33},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1366,columnNumber:31},void 0),e.jsxDEV("div",{className:"flex items-start space-x-3",children:[e.jsxDEV(xe.RadioGroupItem,{value:"free",id:`${u}-free`,className:"mt-1"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1384,columnNumber:33},void 0),e.jsxDEV("div",{className:"grid gap-1.5",children:e.jsxDEV(D.Label,{htmlFor:`${u}-free`,className:"font-medium leading-none cursor-pointer",children:o("ecommerce.freemius_trial_no_card","Start Free Trial (No card required)")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1386,columnNumber:35},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1385,columnNumber:33},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1383,columnNumber:31},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1361,columnNumber:29},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1354,columnNumber:27},void 0),e.jsxDEV(pe.Button,{className:"w-full h-auto min-h-[2.75rem] py-2",onClick:()=>ye("freemius",[{...s,...h?{trial_preference:h}:{}}],u),disabled:t!==null,children:[t===u?e.jsxDEV(U.Loader2,{className:"mr-2 h-4 w-4 shrink-0 animate-spin"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1417,columnNumber:29},void 0):e.jsxDEV(U.Download,{className:"mr-2 h-4 w-4 shrink-0"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1419,columnNumber:29},void 0),e.jsxDEV("span",{className:"whitespace-normal text-left",children:t===u?c("ecommerce.processing"):E.length>1?o("ecommerce.checkout_product","Checkout {title}",{title:s.title}):o("ecommerce.checkout_digital_product","Checkout Digital Product")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1421,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1398,columnNumber:25},void 0)]},u,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1333,columnNumber:23},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1320,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex justify-between text-sm font-semibold border-t pt-3",children:[e.jsxDEV("span",{children:o("ecommerce.digital_subtotal","Digital subtotal")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1442,columnNumber:19},void 0),e.jsxDEV("span",{children:N.formatPrice(de,i)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1448,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1441,columnNumber:17},void 0),ae>0?e.jsxDEV("div",{className:"flex justify-between text-sm font-semibold text-emerald-600",children:[e.jsxDEV("span",{children:o("ecommerce.discount","Discount")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1452,columnNumber:21},void 0),e.jsxDEV("span",{children:["-",N.formatPrice(ae,i)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1453,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1451,columnNumber:19},void 0):null,p.freemius?e.jsxDEV("div",{className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:p.freemius},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1458,columnNumber:19},void 0):null,e.jsxDEV("p",{className:"text-[11px] text-muted-foreground",children:E.length>1?o("ecommerce.freemius_multi_checkout_notice","Freemius licenses are completed one at a time, so each digital product gets its own checkout action."):o("ecommerce.freemius_tax_notice","Taxes and compliance for digital products are handled inside the Freemius checkout.")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1463,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1309,columnNumber:15},void 0):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:1067,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:925,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:922,columnNumber:7},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Checkout.tsx",lineNumber:919,columnNumber:5},void 0)};exports.Checkout=is;