@nextblock-cms/ecom 0.20.3 → 0.21.1

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 (446) hide show
  1. package/README.md +43 -0
  2. package/_virtual/_rolldown/runtime.cjs +1 -0
  3. package/index.cjs +1 -0
  4. package/index.es.js +38 -146
  5. package/lib/CurrencyProvider.cjs +1 -0
  6. package/lib/CurrencyProvider.d.ts +1 -1
  7. package/lib/CurrencyProvider.es.js +85 -95
  8. package/lib/PaymentReadinessProvider.cjs +1 -0
  9. package/lib/PaymentReadinessProvider.d.ts +1 -1
  10. package/lib/PaymentReadinessProvider.es.js +24 -27
  11. package/lib/cart-store.cjs +1 -0
  12. package/lib/cart-store.es.js +109 -121
  13. package/lib/components/AccountNavigationMenu.cjs +1 -0
  14. package/lib/components/AccountNavigationMenu.d.ts +1 -1
  15. package/lib/components/AccountNavigationMenu.es.js +36 -50
  16. package/lib/components/AddToCartButton.cjs +1 -0
  17. package/lib/components/AddToCartButton.d.ts +1 -1
  18. package/lib/components/AddToCartButton.es.js +94 -89
  19. package/lib/components/Cart.cjs +1 -0
  20. package/lib/components/Cart.d.ts +1 -1
  21. package/lib/components/Cart.es.js +261 -180
  22. package/lib/components/CartDrawer.cjs +1 -0
  23. package/lib/components/CartDrawer.d.ts +1 -1
  24. package/lib/components/CartDrawer.es.js +218 -148
  25. package/lib/components/CartIcon.cjs +1 -0
  26. package/lib/components/CartIcon.d.ts +1 -1
  27. package/lib/components/CartIcon.es.js +33 -35
  28. package/lib/components/Checkout.cjs +1 -0
  29. package/lib/components/Checkout.d.ts +1 -1
  30. package/lib/components/Checkout.es.js +1092 -1108
  31. package/lib/components/CouponForm.cjs +1 -0
  32. package/lib/components/CouponForm.d.ts +1 -1
  33. package/lib/components/CouponForm.es.js +136 -148
  34. package/lib/components/CurrencySwitcher.cjs +1 -0
  35. package/lib/components/CurrencySwitcher.d.ts +1 -1
  36. package/lib/components/CurrencySwitcher.es.js +22 -18
  37. package/lib/components/CustomerProfileForm.cjs +1 -0
  38. package/lib/components/CustomerProfileForm.es.js +454 -313
  39. package/lib/components/FeaturedProduct.cjs +1 -0
  40. package/lib/components/FeaturedProduct.d.ts +1 -1
  41. package/lib/components/FeaturedProduct.es.js +98 -83
  42. package/lib/components/FreemiusLicensePanel.cjs +1 -0
  43. package/lib/components/FreemiusLicensePanel.d.ts +1 -1
  44. package/lib/components/FreemiusLicensePanel.es.js +70 -65
  45. package/lib/components/InvoiceDocument.cjs +1 -0
  46. package/lib/components/InvoiceDocument.es.js +256 -192
  47. package/lib/components/InvoiceViewerShell.cjs +29 -0
  48. package/lib/components/InvoiceViewerShell.d.ts +1 -1
  49. package/lib/components/InvoiceViewerShell.es.js +75 -106
  50. package/lib/components/ProductCard.cjs +1 -0
  51. package/lib/components/ProductCard.d.ts +1 -1
  52. package/lib/components/ProductCard.es.js +186 -171
  53. package/lib/components/ProductDetailsLayout.cjs +1 -0
  54. package/lib/components/ProductDetailsLayout.es.js +405 -404
  55. package/lib/components/ProductGallery.cjs +1 -0
  56. package/lib/components/ProductGallery.d.ts +1 -1
  57. package/lib/components/ProductGallery.es.js +51 -54
  58. package/lib/components/ProductGrid.cjs +1 -0
  59. package/lib/components/ProductGrid.d.ts +1 -1
  60. package/lib/components/ProductGrid.es.js +23 -25
  61. package/lib/components/ShippingEstimator.cjs +1 -0
  62. package/lib/components/ShippingEstimator.d.ts +1 -1
  63. package/lib/components/ShippingEstimator.es.js +158 -153
  64. package/lib/components/ShortDescription.cjs +1 -0
  65. package/lib/components/ShortDescription.es.js +17 -17
  66. package/lib/components/SimpleTiptapRenderer.cjs +1 -0
  67. package/lib/components/SimpleTiptapRenderer.es.js +238 -211
  68. package/lib/components/SubscriptionSelector.cjs +1 -0
  69. package/lib/components/SubscriptionSelector.es.js +159 -154
  70. package/lib/countries.cjs +1 -0
  71. package/lib/countries.es.js +232 -75
  72. package/lib/coupon-server.cjs +1 -0
  73. package/lib/coupon-server.es.js +180 -224
  74. package/lib/coupons.cjs +1 -0
  75. package/lib/coupons.es.js +12 -14
  76. package/lib/currency-constants.cjs +1 -0
  77. package/lib/currency-constants.es.js +4 -4
  78. package/lib/currency-rest-client.cjs +1 -0
  79. package/lib/currency-rest-client.es.js +15 -22
  80. package/lib/currency-store.cjs +1 -0
  81. package/lib/currency-store.es.js +20 -27
  82. package/lib/currency-sync.cjs +1 -0
  83. package/lib/currency-sync.es.js +124 -170
  84. package/lib/currency.cjs +1 -0
  85. package/lib/currency.es.js +242 -310
  86. package/lib/customer-addresses.cjs +1 -0
  87. package/lib/customer-addresses.es.js +80 -109
  88. package/lib/customer-orders.cjs +1 -0
  89. package/lib/customer-orders.es.js +31 -43
  90. package/lib/customer.cjs +1 -0
  91. package/lib/customer.es.js +43 -52
  92. package/lib/export-helpers.cjs +1 -0
  93. package/lib/export-helpers.es.js +53 -52
  94. package/lib/factory.cjs +1 -0
  95. package/lib/factory.es.js +10 -7
  96. package/lib/freemius-coupons.cjs +1 -0
  97. package/lib/freemius-coupons.es.js +245 -262
  98. package/lib/freemius-license-claim.cjs +1 -0
  99. package/lib/freemius-license-claim.es.js +87 -71
  100. package/lib/freemius-license.cjs +1 -0
  101. package/lib/freemius-license.es.js +32 -39
  102. package/lib/freemius-order-sync.cjs +1 -0
  103. package/lib/freemius-order-sync.es.js +226 -290
  104. package/lib/freemius-trial-provision.cjs +1 -0
  105. package/lib/freemius-trial-provision.es.js +136 -130
  106. package/lib/inventory-settings.cjs +1 -0
  107. package/lib/inventory-settings.es.js +69 -77
  108. package/lib/invoice-server.cjs +33 -0
  109. package/lib/invoice-server.es.js +94 -141
  110. package/lib/invoice-ui.cjs +1 -0
  111. package/lib/invoice-ui.es.js +50 -66
  112. package/lib/invoice.cjs +1 -0
  113. package/lib/invoice.es.js +85 -94
  114. package/lib/order-inventory.cjs +61 -0
  115. package/lib/order-inventory.es.js +67 -79
  116. package/lib/order-tax-details.cjs +1 -0
  117. package/lib/order-tax-details.es.js +142 -153
  118. package/lib/pages/cms/coupons/CouponEditorForm.cjs +1 -0
  119. package/lib/pages/cms/coupons/CouponEditorForm.d.ts +1 -1
  120. package/lib/pages/cms/coupons/CouponEditorForm.es.js +227 -185
  121. package/lib/pages/cms/coupons/CouponsPage.cjs +5 -0
  122. package/lib/pages/cms/coupons/CouponsPage.d.ts +1 -1
  123. package/lib/pages/cms/coupons/CouponsPage.es.js +235 -166
  124. package/lib/pages/cms/coupons/CreateCouponDialog.cjs +1 -0
  125. package/lib/pages/cms/coupons/CreateCouponDialog.d.ts +1 -1
  126. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +35 -34
  127. package/lib/pages/cms/coupons/EditCouponPage.cjs +1 -0
  128. package/lib/pages/cms/coupons/EditCouponPage.d.ts +1 -1
  129. package/lib/pages/cms/coupons/EditCouponPage.es.js +47 -47
  130. package/lib/pages/cms/coupons/ProductScopePicker.cjs +1 -0
  131. package/lib/pages/cms/coupons/ProductScopePicker.d.ts +1 -1
  132. package/lib/pages/cms/coupons/ProductScopePicker.es.js +128 -117
  133. package/lib/pages/cms/coupons/actions.cjs +1 -0
  134. package/lib/pages/cms/coupons/actions.es.js +112 -115
  135. package/lib/pages/cms/coupons/index.cjs +1 -0
  136. package/lib/pages/cms/coupons/index.es.js +3 -0
  137. package/lib/pages/cms/coupons/product-options.cjs +1 -0
  138. package/lib/pages/cms/coupons/product-options.es.js +21 -23
  139. package/lib/pages/cms/orders/ExportReportsDialog.cjs +1 -0
  140. package/lib/pages/cms/orders/ExportReportsDialog.es.js +135 -129
  141. package/lib/pages/cms/orders/MarkPaidButton.d.ts +1 -1
  142. package/lib/pages/cms/orders/OrderDetailPage.cjs +1 -0
  143. package/lib/pages/cms/orders/OrderDetailPage.d.ts +1 -1
  144. package/lib/pages/cms/orders/OrderDetailPage.es.js +186 -134
  145. package/lib/pages/cms/orders/OrderPrintButton.cjs +1 -0
  146. package/lib/pages/cms/orders/OrderPrintButton.d.ts +1 -1
  147. package/lib/pages/cms/orders/OrderPrintButton.es.js +15 -21
  148. package/lib/pages/cms/orders/OrderStatusForm.cjs +1 -0
  149. package/lib/pages/cms/orders/OrderStatusForm.d.ts +1 -1
  150. package/lib/pages/cms/orders/OrderStatusForm.es.js +85 -69
  151. package/lib/pages/cms/orders/OrdersPage.cjs +1 -0
  152. package/lib/pages/cms/orders/OrdersPage.d.ts +1 -1
  153. package/lib/pages/cms/orders/OrdersPage.es.js +170 -102
  154. package/lib/pages/cms/orders/actions.cjs +7 -0
  155. package/lib/pages/cms/orders/actions.es.js +53 -69
  156. package/lib/pages/cms/orders/export-actions.cjs +1 -0
  157. package/lib/pages/cms/orders/export-actions.es.js +23 -26
  158. package/lib/pages/cms/orders/index.cjs +1 -0
  159. package/lib/pages/cms/orders/index.es.js +6 -0
  160. package/lib/pages/cms/orders/server-actions.cjs +1 -0
  161. package/lib/pages/cms/orders/server-actions.es.js +60 -51
  162. package/lib/pages/cms/payments/PaymentsClient.cjs +1 -0
  163. package/lib/pages/cms/payments/PaymentsClient.d.ts +1 -1
  164. package/lib/pages/cms/payments/PaymentsClient.es.js +316 -346
  165. package/lib/pages/cms/payments/PaymentsPage.cjs +1 -0
  166. package/lib/pages/cms/payments/PaymentsPage.d.ts +1 -1
  167. package/lib/pages/cms/payments/PaymentsPage.es.js +29 -32
  168. package/lib/pages/cms/payments/actions.cjs +1 -0
  169. package/lib/pages/cms/payments/actions.es.js +38 -48
  170. package/lib/pages/cms/payments/index.cjs +1 -0
  171. package/lib/pages/cms/payments/index.es.js +3 -0
  172. package/lib/pages/cms/payments/queries.cjs +1 -0
  173. package/lib/pages/cms/payments/queries.es.js +38 -48
  174. package/lib/pages/cms/products/ProductsPage.cjs +1 -0
  175. package/lib/pages/cms/products/ProductsPage.d.ts +1 -1
  176. package/lib/pages/cms/products/ProductsPage.es.js +63 -66
  177. package/lib/pages/cms/products/[id]/edit/EditProductPage.cjs +1 -0
  178. package/lib/pages/cms/products/[id]/edit/EditProductPage.d.ts +1 -1
  179. package/lib/pages/cms/products/[id]/edit/EditProductPage.es.js +139 -0
  180. package/lib/pages/cms/products/actions.cjs +44 -0
  181. package/lib/pages/cms/products/actions.es.js +121 -162
  182. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs +1 -0
  183. package/lib/pages/cms/products/attributes/AttributeManagementPage.d.ts +1 -1
  184. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +55 -47
  185. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs +1 -0
  186. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  187. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +285 -290
  188. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs +1 -0
  189. package/lib/pages/cms/products/categories/CategoryManagementPage.d.ts +1 -1
  190. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +43 -35
  191. package/lib/pages/cms/products/categories/components/CategoryManager.cjs +1 -0
  192. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +315 -262
  193. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs +1 -0
  194. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +115 -113
  195. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs +1 -0
  196. package/lib/pages/cms/products/components/CurrencyPriceFields.d.ts +1 -1
  197. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +136 -145
  198. package/lib/pages/cms/products/components/DeleteProductButton.cjs +1 -0
  199. package/lib/pages/cms/products/components/DeleteProductButton.d.ts +1 -1
  200. package/lib/pages/cms/products/components/DeleteProductButton.es.js +35 -47
  201. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs +1 -0
  202. package/lib/pages/cms/products/components/FreemiusPricingDashboard.d.ts +1 -1
  203. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +106 -84
  204. package/lib/pages/cms/products/components/ProductCategorySelector.cjs +1 -0
  205. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +156 -159
  206. package/lib/pages/cms/products/components/ProductForm.cjs +1 -0
  207. package/lib/pages/cms/products/components/ProductForm.es.js +872 -693
  208. package/lib/pages/cms/products/components/ProductMediaManager.cjs +1 -0
  209. package/lib/pages/cms/products/components/ProductMediaManager.es.js +106 -103
  210. package/lib/pages/cms/products/components/ProductsBulkTable.cjs +1 -0
  211. package/lib/pages/cms/products/components/ProductsBulkTable.d.ts +1 -1
  212. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +303 -294
  213. package/lib/pages/cms/products/components/SaleScheduleFields.cjs +1 -0
  214. package/lib/pages/cms/products/components/SaleScheduleFields.d.ts +1 -1
  215. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +111 -134
  216. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs +1 -0
  217. package/lib/pages/cms/products/components/SyncFreemiusButton.d.ts +1 -1
  218. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +29 -35
  219. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs +5 -0
  220. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.d.ts +1 -1
  221. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +36 -48
  222. package/lib/pages/cms/products/components/SyncProductForm.d.ts +1 -1
  223. package/lib/pages/cms/products/components/VariationsEditor.cjs +1 -0
  224. package/lib/pages/cms/products/components/VariationsEditor.d.ts +1 -1
  225. package/lib/pages/cms/products/components/VariationsEditor.es.js +396 -405
  226. package/lib/pages/cms/products/index.cjs +1 -0
  227. package/lib/pages/cms/products/index.es.js +8 -0
  228. package/lib/pages/cms/products/inventory/InventoryPage.cjs +1 -0
  229. package/lib/pages/cms/products/inventory/InventoryPage.d.ts +1 -1
  230. package/lib/pages/cms/products/inventory/InventoryPage.es.js +21 -15
  231. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs +2 -0
  232. package/lib/pages/cms/products/inventory/InventoryTableClient.d.ts +1 -1
  233. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +230 -209
  234. package/lib/pages/cms/products/inventory/actions.cjs +3 -0
  235. package/lib/pages/cms/products/inventory/actions.es.js +83 -91
  236. package/lib/pages/cms/products/new/NewProductPage.cjs +1 -0
  237. package/lib/pages/cms/products/new/NewProductPage.d.ts +1 -1
  238. package/lib/pages/cms/products/new/NewProductPage.es.js +58 -74
  239. package/lib/pages/cms/products/product-price-sync.cjs +1 -0
  240. package/lib/pages/cms/products/product-price-sync.es.js +74 -89
  241. package/lib/pages/cms/products/server-actions.cjs +1 -0
  242. package/lib/pages/cms/products/server-actions.es.js +250 -233
  243. package/lib/pages/cms/shipping/ShippingPage.cjs +5 -0
  244. package/lib/pages/cms/shipping/ShippingPage.es.js +287 -209
  245. package/lib/pages/cms/shipping/components/RateForm.cjs +1 -0
  246. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  247. package/lib/pages/cms/shipping/components/RateForm.es.js +439 -436
  248. package/lib/pages/cms/shipping/components/ZoneForm.cjs +1 -0
  249. package/lib/pages/cms/shipping/components/ZoneForm.es.js +245 -224
  250. package/lib/pages/cms/shipping/index.cjs +1 -0
  251. package/lib/pages/cms/shipping/index.es.js +3 -0
  252. package/lib/pages/cms/shipping/server-actions.cjs +1 -0
  253. package/lib/pages/cms/shipping/server-actions.es.js +131 -149
  254. package/lib/pages/cms/taxes/TaxesPage.cjs +1 -0
  255. package/lib/pages/cms/taxes/TaxesPage.d.ts +1 -1
  256. package/lib/pages/cms/taxes/TaxesPage.es.js +211 -169
  257. package/lib/pages/cms/taxes/actions.cjs +1 -0
  258. package/lib/pages/cms/taxes/actions.es.js +41 -53
  259. package/lib/pages/cms/taxes/components/TaxRateForm.cjs +1 -0
  260. package/lib/pages/cms/taxes/components/TaxRateForm.d.ts +1 -1
  261. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +112 -99
  262. package/lib/pages/cms/taxes/index.cjs +1 -0
  263. package/lib/pages/cms/taxes/index.es.js +3 -0
  264. package/lib/payment-config.cjs +1 -0
  265. package/lib/payment-config.es.js +110 -126
  266. package/lib/product-actions.cjs +238 -0
  267. package/lib/product-actions.es.js +289 -544
  268. package/lib/product-context.cjs +1 -0
  269. package/lib/product-context.es.js +13 -15
  270. package/lib/product-schema.cjs +1 -0
  271. package/lib/product-schema.es.js +99 -134
  272. package/lib/providers/freemius.cjs +1 -0
  273. package/lib/providers/freemius.es.js +446 -530
  274. package/lib/providers/stripe.cjs +1 -0
  275. package/lib/providers/stripe.es.js +417 -477
  276. package/lib/server-actions/coupon-actions.cjs +1 -0
  277. package/lib/server-actions/coupon-actions.es.js +22 -22
  278. package/lib/server-actions/customer-actions.cjs +1 -0
  279. package/lib/server-actions/customer-actions.es.js +26 -28
  280. package/lib/server-actions/product-actions.cjs +1 -0
  281. package/lib/server-actions/product-actions.es.js +9 -15
  282. package/lib/server-actions/shipping-actions.cjs +1 -0
  283. package/lib/server-actions/shipping-actions.es.js +27 -24
  284. package/lib/server-actions/tax-actions.cjs +1 -0
  285. package/lib/server-actions/tax-actions.es.js +33 -39
  286. package/lib/shared-inventory.cjs +15 -0
  287. package/lib/shared-inventory.es.js +111 -160
  288. package/lib/shipping/resolver.cjs +7 -0
  289. package/lib/shipping/resolver.es.js +44 -61
  290. package/lib/shipping-rate-currency.cjs +1 -0
  291. package/lib/shipping-rate-currency.es.js +52 -67
  292. package/lib/states.cjs +1 -0
  293. package/lib/states.es.js +333 -154
  294. package/lib/stripe/checkout.cjs +1 -0
  295. package/lib/stripe/checkout.es.js +125 -181
  296. package/lib/stripe/client.cjs +1 -0
  297. package/lib/stripe/client.es.js +14 -19
  298. package/lib/stripe/order-sync.cjs +1 -0
  299. package/lib/stripe/order-sync.es.js +106 -126
  300. package/lib/stripe/webhooks.cjs +1 -0
  301. package/lib/stripe/webhooks.es.js +37 -31
  302. package/lib/tax-calculation.cjs +1 -0
  303. package/lib/tax-calculation.es.js +84 -98
  304. package/lib/trials.cjs +1 -0
  305. package/lib/trials.es.js +24 -30
  306. package/lib/types.cjs +1 -0
  307. package/lib/types.es.js +21 -27
  308. package/lib/use-cart.cjs +1 -0
  309. package/lib/use-cart.es.js +38 -40
  310. package/lib/use-price-formatter.cjs +1 -0
  311. package/lib/use-price-formatter.es.js +10 -11
  312. package/lib/variation-utils.cjs +1 -0
  313. package/lib/variation-utils.es.js +199 -261
  314. package/lib/zod-config.cjs +1 -0
  315. package/lib/zod-config.es.js +5 -6
  316. package/package.json +22 -21
  317. package/server.cjs +1 -0
  318. package/server.es.js +56 -211
  319. package/index.cjs.js +0 -1
  320. package/lib/CurrencyProvider.cjs.js +0 -1
  321. package/lib/PaymentReadinessProvider.cjs.js +0 -1
  322. package/lib/cart-store.cjs.js +0 -1
  323. package/lib/components/AccountNavigationMenu.cjs.js +0 -1
  324. package/lib/components/AddToCartButton.cjs.js +0 -1
  325. package/lib/components/Cart.cjs.js +0 -1
  326. package/lib/components/CartDrawer.cjs.js +0 -1
  327. package/lib/components/CartIcon.cjs.js +0 -1
  328. package/lib/components/Checkout.cjs.js +0 -1
  329. package/lib/components/CouponForm.cjs.js +0 -1
  330. package/lib/components/CurrencySwitcher.cjs.js +0 -1
  331. package/lib/components/CustomerProfileForm.cjs.js +0 -1
  332. package/lib/components/FeaturedProduct.cjs.js +0 -1
  333. package/lib/components/FreemiusLicensePanel.cjs.js +0 -1
  334. package/lib/components/InvoiceDocument.cjs.js +0 -1
  335. package/lib/components/InvoiceViewerShell.cjs.js +0 -29
  336. package/lib/components/ProductCard.cjs.js +0 -1
  337. package/lib/components/ProductDetailsLayout.cjs.js +0 -1
  338. package/lib/components/ProductGallery.cjs.js +0 -1
  339. package/lib/components/ProductGrid.cjs.js +0 -1
  340. package/lib/components/ShippingEstimator.cjs.js +0 -1
  341. package/lib/components/ShortDescription.cjs.js +0 -1
  342. package/lib/components/SimpleTiptapRenderer.cjs.js +0 -1
  343. package/lib/components/SubscriptionSelector.cjs.js +0 -1
  344. package/lib/countries.cjs.js +0 -1
  345. package/lib/coupon-server.cjs.js +0 -1
  346. package/lib/coupons.cjs.js +0 -1
  347. package/lib/currency-constants.cjs.js +0 -1
  348. package/lib/currency-rest-client.cjs.js +0 -1
  349. package/lib/currency-store.cjs.js +0 -1
  350. package/lib/currency-sync.cjs.js +0 -1
  351. package/lib/currency.cjs.js +0 -1
  352. package/lib/customer-addresses.cjs.js +0 -1
  353. package/lib/customer-orders.cjs.js +0 -1
  354. package/lib/customer.cjs.js +0 -1
  355. package/lib/export-helpers.cjs.js +0 -1
  356. package/lib/factory.cjs.js +0 -1
  357. package/lib/freemius-coupons.cjs.js +0 -1
  358. package/lib/freemius-license-claim.cjs.js +0 -1
  359. package/lib/freemius-license.cjs.js +0 -1
  360. package/lib/freemius-order-sync.cjs.js +0 -1
  361. package/lib/freemius-trial-provision.cjs.js +0 -1
  362. package/lib/inventory-settings.cjs.js +0 -1
  363. package/lib/invoice-server.cjs.js +0 -33
  364. package/lib/invoice-ui.cjs.js +0 -1
  365. package/lib/invoice.cjs.js +0 -1
  366. package/lib/order-inventory.cjs.js +0 -61
  367. package/lib/order-tax-details.cjs.js +0 -1
  368. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +0 -1
  369. package/lib/pages/cms/coupons/CouponsPage.cjs.js +0 -5
  370. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +0 -1
  371. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +0 -1
  372. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +0 -1
  373. package/lib/pages/cms/coupons/actions.cjs.js +0 -1
  374. package/lib/pages/cms/coupons/product-options.cjs.js +0 -1
  375. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +0 -1
  376. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +0 -1
  377. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +0 -1
  378. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +0 -1
  379. package/lib/pages/cms/orders/OrdersPage.cjs.js +0 -1
  380. package/lib/pages/cms/orders/actions.cjs.js +0 -7
  381. package/lib/pages/cms/orders/export-actions.cjs.js +0 -1
  382. package/lib/pages/cms/orders/server-actions.cjs.js +0 -1
  383. package/lib/pages/cms/payments/PaymentsClient.cjs.js +0 -1
  384. package/lib/pages/cms/payments/PaymentsPage.cjs.js +0 -1
  385. package/lib/pages/cms/payments/actions.cjs.js +0 -1
  386. package/lib/pages/cms/payments/queries.cjs.js +0 -1
  387. package/lib/pages/cms/products/ProductsPage.cjs.js +0 -1
  388. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +0 -1
  389. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +0 -156
  390. package/lib/pages/cms/products/actions.cjs.js +0 -44
  391. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +0 -1
  392. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +0 -1
  393. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +0 -1
  394. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +0 -1
  395. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +0 -1
  396. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +0 -1
  397. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +0 -1
  398. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +0 -1
  399. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +0 -1
  400. package/lib/pages/cms/products/components/ProductForm.cjs.js +0 -1
  401. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +0 -1
  402. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +0 -1
  403. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +0 -1
  404. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +0 -1
  405. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +0 -5
  406. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +0 -1
  407. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +0 -1
  408. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +0 -2
  409. package/lib/pages/cms/products/inventory/actions.cjs.js +0 -3
  410. package/lib/pages/cms/products/new/NewProductPage.cjs.js +0 -1
  411. package/lib/pages/cms/products/product-price-sync.cjs.js +0 -1
  412. package/lib/pages/cms/products/server-actions.cjs.js +0 -1
  413. package/lib/pages/cms/shipping/ShippingPage.cjs.js +0 -5
  414. package/lib/pages/cms/shipping/components/RateForm.cjs.js +0 -1
  415. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +0 -1
  416. package/lib/pages/cms/shipping/server-actions.cjs.js +0 -1
  417. package/lib/pages/cms/taxes/TaxesPage.cjs.js +0 -1
  418. package/lib/pages/cms/taxes/actions.cjs.js +0 -1
  419. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +0 -1
  420. package/lib/payment-config.cjs.js +0 -1
  421. package/lib/product-actions.cjs.js +0 -238
  422. package/lib/product-context.cjs.js +0 -1
  423. package/lib/product-schema.cjs.js +0 -1
  424. package/lib/providers/freemius.cjs.js +0 -5
  425. package/lib/providers/stripe.cjs.js +0 -1
  426. package/lib/server-actions/coupon-actions.cjs.js +0 -1
  427. package/lib/server-actions/customer-actions.cjs.js +0 -1
  428. package/lib/server-actions/product-actions.cjs.js +0 -1
  429. package/lib/server-actions/shipping-actions.cjs.js +0 -1
  430. package/lib/server-actions/tax-actions.cjs.js +0 -1
  431. package/lib/shared-inventory.cjs.js +0 -15
  432. package/lib/shipping/resolver.cjs.js +0 -7
  433. package/lib/shipping-rate-currency.cjs.js +0 -1
  434. package/lib/states.cjs.js +0 -1
  435. package/lib/stripe/checkout.cjs.js +0 -1
  436. package/lib/stripe/client.cjs.js +0 -1
  437. package/lib/stripe/order-sync.cjs.js +0 -1
  438. package/lib/stripe/webhooks.cjs.js +0 -1
  439. package/lib/tax-calculation.cjs.js +0 -1
  440. package/lib/trials.cjs.js +0 -1
  441. package/lib/types.cjs.js +0 -1
  442. package/lib/use-cart.cjs.js +0 -1
  443. package/lib/use-price-formatter.cjs.js +0 -1
  444. package/lib/variation-utils.cjs.js +0 -1
  445. package/lib/zod-config.cjs.js +0 -1
  446. package/server.cjs.js +0 -1
package/server.es.js CHANGED
@@ -1,211 +1,56 @@
1
- import { clearPaymentConfigCache as t, getPaymentConfigStatus as o, getPaymentCredentialsView as i, hydrateFreemiusEnvFromDb as a, resolveStripePublishableKey as n, resolveStripeSecretKey as s, resolveStripeWebhookSecret as u, savePaymentCredentials as c } from "./lib/payment-config.es.js";
2
- import { StripeNotConfiguredError as d, getStripeClient as p } from "./lib/stripe/client.es.js";
3
- import { createCheckoutSession as l } from "./lib/stripe/checkout.es.js";
4
- import { syncStripeOrderFromSession as P } from "./lib/stripe/order-sync.es.js";
5
- import { handleStripeWebhook as S } from "./lib/stripe/webhooks.es.js";
6
- import { applyOrderInventoryDeduction as y } from "./lib/order-inventory.es.js";
7
- import { aggregateOrderTaxLines as F, buildOrderTaxDetailsFromCalculation as v, buildOrderTaxDetailsFromStripeSession as R, getOrderTaxRateJurisdiction as A, getOrderTaxRateLabel as I, getOrderTaxRatePercentage as h, normalizeOrderTaxDetails as T } from "./lib/order-tax-details.es.js";
8
- import { DEFAULT_INVOICE_SETTINGS as D, INVOICE_SETTINGS_KEY as M, formatInvoiceCurrency as _, formatInvoiceDate as b, getInvoiceAddressLines as L, normalizeInvoiceSettings as k, serializeInvoiceSettings as N } from "./lib/invoice.es.js";
9
- import { assignInvoiceMetadata as z, getInvoiceBrandingData as G, getInvoiceOrder as W, getInvoicePresentationData as K } from "./lib/invoice-server.es.js";
10
- import { getCurrentCustomerOrder as Y, getCurrentCustomerOrderInvoice as w, getCurrentCustomerOrders as B } from "./lib/customer-orders.es.js";
11
- import { getCouponQuote as Q, getQuoteLineDiscountMap as J, recordCouponRedemption as X } from "./lib/coupon-server.es.js";
12
- import { deleteCouponFromFreemius as q, syncCouponToFreemius as H, syncProductSaleCouponToFreemius as $ } from "./lib/freemius-coupons.es.js";
13
- import { FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES as re, FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE as te, claimFreemiusLicenseKey as oe, evaluateFreemiusLicenseClaim as ie, parseFreemiusTimestamp as ae } from "./lib/freemius-license-claim.es.js";
14
- import { FREEMIUS_TRIAL_ALREADY_USED_MESSAGE as se, FREEMIUS_TRIAL_PROVISION_FAILED_MESSAGE as ue, computeTrialExpiry as ce, evaluateTrialEligibility as me, formatFreemiusTimestamp as de, pickTrialPricing as pe, provisionFreemiusTrialLicense as ge } from "./lib/freemius-trial-provision.es.js";
15
- import { addressesMatch as Ce, emptyCustomerAddress as Pe, isCustomerAddressComplete as fe, normalizeCustomerAddress as Se, normalizeOrderCustomerDetails as xe } from "./lib/customer.es.js";
16
- import { fillMissingUserProfileCheckoutDetails as Ee, getDefaultUserAddresses as Fe, upsertDefaultUserAddresses as ve } from "./lib/customer-addresses.es.js";
17
- import { CURRENCY_ROUNDING_MODES as Ae, applyCurrencyRounding as Ie, convertMinorUnitAmount as he, describeCurrencyRoundingRule as Te, getCurrencyLookup as Oe, getDefaultCurrency as De, getExchangeRateForCurrency as Me, inferCurrencyCodeFromLocale as _e, isSaleWindowActive as be, isScheduledPriceDue as Le, normalizeCurrencyRecord as ke, normalizeCurrencyRoundingMode as Ne, normalizePriceMap as Ue, normalizeSalePriceMap as ze, resolveEffectivePriceForCurrency as Ge, resolvePriceForCurrency as We, resolvePriceRangeForCurrency as Ke, sortCurrencies as Ve } from "./lib/currency.es.js";
18
- import { CURRENCY_COOKIE_NAME as we } from "./lib/currency-constants.es.js";
19
- import { clearAutoSyncedCurrencyPriceOverrides as Ze, rebaseStoreCurrencyExchangeRates as Qe, syncStoreCurrencyRates as Je } from "./lib/currency-sync.es.js";
20
- import { productSchema as je } from "./lib/product-schema.es.js";
21
- import { copyProductFromLanguage as He, createProduct as $e, deleteProduct as er, fetchTranslatedProductsForCartInternal as rr, getProduct as tr, getProductBySlug as or, getProducts as ir, syncCategoriesForTranslationGroup as ar, updateProduct as nr } from "./lib/product-actions.es.js";
22
- import { getPaymentProvider as ur } from "./lib/factory.es.js";
23
- import { StripeProvider as mr } from "./lib/providers/stripe.es.js";
24
- import { FreemiusProvider as pr, parseFreemiusCheckoutCredentialsMap as gr, readFreemiusEnvValue as lr, resolveFreemiusCheckoutCredentials as Cr, syncFreemiusProductsToSupabase as Pr, syncSingleFreemiusProduct as fr } from "./lib/providers/freemius.es.js";
25
- import { extractFreemiusCheckoutMetadata as xr, getFreemiusWebhookSecretCandidates as yr, resolveFreemiusStatusFromCheckoutResponse as Er, resolveFreemiusStatusFromWebhookEvent as Fr, syncFreemiusCheckoutOrder as vr, syncFreemiusOrderFromWebhookEvent as Rr, verifyFreemiusWebhookSignature as Ar } from "./lib/freemius-order-sync.es.js";
26
- import { getFreemiusOrderLicense as hr } from "./lib/freemius-license.es.js";
27
- import { getCategoriesWithCount as Or, getCategoryBySlug as Dr, getProduct as Mr, getProducts as _r, getGlobalProductAttributes as br, getProductCategories as Lr, getProductTranslations as kr } from "./lib/pages/cms/products/actions.es.js";
28
- import { createCategoryAction as Ur, createProductAction as zr, deleteCategoryAction as Gr, deleteProductAction as Wr, publishProductAction as Kr, syncProductCategoriesAction as Vr, updateCategoryAction as Yr, updateProductAction as wr } from "./lib/pages/cms/products/server-actions.es.js";
29
- import { getEnabledPaymentProviders as Zr, getPaymentSettings as Qr, getProviderReadiness as Jr, getReadinessForProductType as Xr, getStoreConfigStatus as jr, getStoreReadiness as qr } from "./lib/pages/cms/payments/queries.es.js";
30
- import { OrdersPage as $r } from "./lib/pages/cms/orders/OrdersPage.es.js";
31
- import { OrderDetailPage as rt } from "./lib/pages/cms/orders/OrderDetailPage.es.js";
32
- import { ExportReportsDialog as ot } from "./lib/pages/cms/orders/ExportReportsDialog.es.js";
33
- import { fetchOrderReportData as at } from "./lib/pages/cms/orders/export-actions.es.js";
34
- import { getOrderDetails as st, getOrders as ut } from "./lib/pages/cms/orders/actions.es.js";
35
- import { ProductsPage as mt } from "./lib/pages/cms/products/ProductsPage.es.js";
36
- import { InventoryPage as pt } from "./lib/pages/cms/products/inventory/InventoryPage.es.js";
37
- import { AttributeManagementPage as lt } from "./lib/pages/cms/products/attributes/AttributeManagementPage.es.js";
38
- import { NewProductPage as Pt } from "./lib/pages/cms/products/new/NewProductPage.es.js";
39
- import { EditProductPage as St } from "./lib/pages/cms/products/_id_/edit/EditProductPage.es.js";
40
- import { CopyProductFromLanguage as yt } from "./lib/pages/cms/products/components/CopyProductFromLanguage.es.js";
41
- import { CategoryManagementPage as Ft } from "./lib/pages/cms/products/categories/CategoryManagementPage.es.js";
42
- import { PaymentsPage as Rt } from "./lib/pages/cms/payments/PaymentsPage.es.js";
43
- import { savePaymentProviderCredentials as It, updatePaymentSettings as ht } from "./lib/pages/cms/payments/actions.es.js";
44
- import { ShippingPage as Ot } from "./lib/pages/cms/shipping/ShippingPage.es.js";
45
- import { createShippingRate as Mt, createShippingZone as _t, deleteShippingRate as bt, deleteShippingZone as Lt, updateInventoryTrackingAction as kt, updateShippingRate as Nt, updateShippingZone as Ut } from "./lib/pages/cms/shipping/server-actions.es.js";
46
- import { TaxesPage as Gt } from "./lib/pages/cms/taxes/TaxesPage.es.js";
47
- import { deleteTaxRateAction as Kt, saveTaxRateAction as Vt, updateTaxSettingsAction as Yt } from "./lib/pages/cms/taxes/actions.es.js";
48
- import { CouponsPage as Bt } from "./lib/pages/cms/coupons/CouponsPage.es.js";
49
- import { EditCouponPage as Qt } from "./lib/pages/cms/coupons/EditCouponPage.es.js";
50
- export {
51
- lt as AttributeManagementPage,
52
- we as CURRENCY_COOKIE_NAME,
53
- Ae as CURRENCY_ROUNDING_MODES,
54
- Ft as CategoryManagementPage,
55
- yt as CopyProductFromLanguage,
56
- Bt as CouponsPage,
57
- D as DEFAULT_INVOICE_SETTINGS,
58
- Qt as EditCouponPage,
59
- St as EditProductPage,
60
- ot as ExportReportsDialog,
61
- re as FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES,
62
- te as FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE,
63
- se as FREEMIUS_TRIAL_ALREADY_USED_MESSAGE,
64
- ue as FREEMIUS_TRIAL_PROVISION_FAILED_MESSAGE,
65
- pr as FreemiusProvider,
66
- M as INVOICE_SETTINGS_KEY,
67
- pt as InventoryPage,
68
- Pt as NewProductPage,
69
- rt as OrderDetailPage,
70
- $r as OrdersPage,
71
- Rt as PaymentsPage,
72
- mt as ProductsPage,
73
- Ot as ShippingPage,
74
- d as StripeNotConfiguredError,
75
- mr as StripeProvider,
76
- Gt as TaxesPage,
77
- Ce as addressesMatch,
78
- F as aggregateOrderTaxLines,
79
- Ie as applyCurrencyRounding,
80
- y as applyOrderInventoryDeduction,
81
- z as assignInvoiceMetadata,
82
- v as buildOrderTaxDetailsFromCalculation,
83
- R as buildOrderTaxDetailsFromStripeSession,
84
- oe as claimFreemiusLicenseKey,
85
- Ze as clearAutoSyncedCurrencyPriceOverrides,
86
- t as clearPaymentConfigCache,
87
- ce as computeTrialExpiry,
88
- he as convertMinorUnitAmount,
89
- He as copyProductFromLanguage,
90
- Ur as createCategoryAction,
91
- l as createCheckoutSession,
92
- $e as createProduct,
93
- zr as createProductAction,
94
- Mt as createShippingRate,
95
- _t as createShippingZone,
96
- Gr as deleteCategoryAction,
97
- q as deleteCouponFromFreemius,
98
- er as deleteProduct,
99
- Wr as deleteProductAction,
100
- bt as deleteShippingRate,
101
- Lt as deleteShippingZone,
102
- Kt as deleteTaxRateAction,
103
- Te as describeCurrencyRoundingRule,
104
- Pe as emptyCustomerAddress,
105
- ie as evaluateFreemiusLicenseClaim,
106
- me as evaluateTrialEligibility,
107
- xr as extractFreemiusCheckoutMetadata,
108
- at as fetchOrderReportData,
109
- rr as fetchTranslatedProductsForCartInternal,
110
- Ee as fillMissingUserProfileCheckoutDetails,
111
- de as formatFreemiusTimestamp,
112
- _ as formatInvoiceCurrency,
113
- b as formatInvoiceDate,
114
- Or as getCategoriesWithCount,
115
- Dr as getCategoryBySlug,
116
- Mr as getCmsProduct,
117
- _r as getCmsProducts,
118
- Q as getCouponQuote,
119
- Oe as getCurrencyLookup,
120
- Y as getCurrentCustomerOrder,
121
- w as getCurrentCustomerOrderInvoice,
122
- B as getCurrentCustomerOrders,
123
- De as getDefaultCurrency,
124
- Fe as getDefaultUserAddresses,
125
- Zr as getEnabledPaymentProviders,
126
- Me as getExchangeRateForCurrency,
127
- hr as getFreemiusOrderLicense,
128
- yr as getFreemiusWebhookSecretCandidates,
129
- br as getGlobalProductAttributes,
130
- L as getInvoiceAddressLines,
131
- G as getInvoiceBrandingData,
132
- W as getInvoiceOrder,
133
- K as getInvoicePresentationData,
134
- st as getOrderDetails,
135
- A as getOrderTaxRateJurisdiction,
136
- I as getOrderTaxRateLabel,
137
- h as getOrderTaxRatePercentage,
138
- ut as getOrders,
139
- o as getPaymentConfigStatus,
140
- i as getPaymentCredentialsView,
141
- ur as getPaymentProvider,
142
- Qr as getPaymentSettings,
143
- tr as getProduct,
144
- or as getProductBySlug,
145
- Lr as getProductCategories,
146
- kr as getProductTranslations,
147
- ir as getProducts,
148
- Jr as getProviderReadiness,
149
- J as getQuoteLineDiscountMap,
150
- Xr as getReadinessForProductType,
151
- jr as getStoreConfigStatus,
152
- qr as getStoreReadiness,
153
- p as getStripeClient,
154
- S as handleStripeWebhook,
155
- a as hydrateFreemiusEnvFromDb,
156
- _e as inferCurrencyCodeFromLocale,
157
- fe as isCustomerAddressComplete,
158
- be as isSaleWindowActive,
159
- Le as isScheduledPriceDue,
160
- ke as normalizeCurrencyRecord,
161
- Ne as normalizeCurrencyRoundingMode,
162
- Se as normalizeCustomerAddress,
163
- k as normalizeInvoiceSettings,
164
- xe as normalizeOrderCustomerDetails,
165
- T as normalizeOrderTaxDetails,
166
- Ue as normalizePriceMap,
167
- ze as normalizeSalePriceMap,
168
- gr as parseFreemiusCheckoutCredentialsMap,
169
- ae as parseFreemiusTimestamp,
170
- pe as pickTrialPricing,
171
- je as productSchema,
172
- ge as provisionFreemiusTrialLicense,
173
- Kr as publishProductAction,
174
- lr as readFreemiusEnvValue,
175
- Qe as rebaseStoreCurrencyExchangeRates,
176
- X as recordCouponRedemption,
177
- Ge as resolveEffectivePriceForCurrency,
178
- Cr as resolveFreemiusCheckoutCredentials,
179
- Er as resolveFreemiusStatusFromCheckoutResponse,
180
- Fr as resolveFreemiusStatusFromWebhookEvent,
181
- We as resolvePriceForCurrency,
182
- Ke as resolvePriceRangeForCurrency,
183
- n as resolveStripePublishableKey,
184
- s as resolveStripeSecretKey,
185
- u as resolveStripeWebhookSecret,
186
- c as savePaymentCredentials,
187
- It as savePaymentProviderCredentials,
188
- Vt as saveTaxRateAction,
189
- N as serializeInvoiceSettings,
190
- Ve as sortCurrencies,
191
- ar as syncCategoriesForTranslationGroup,
192
- H as syncCouponToFreemius,
193
- vr as syncFreemiusCheckoutOrder,
194
- Rr as syncFreemiusOrderFromWebhookEvent,
195
- Pr as syncFreemiusProductsToSupabase,
196
- Vr as syncProductCategoriesAction,
197
- $ as syncProductSaleCouponToFreemius,
198
- fr as syncSingleFreemiusProduct,
199
- Je as syncStoreCurrencyRates,
200
- P as syncStripeOrderFromSession,
201
- Yr as updateCategoryAction,
202
- kt as updateInventoryTrackingAction,
203
- ht as updatePaymentSettings,
204
- nr as updateProduct,
205
- wr as updateProductAction,
206
- Nt as updateShippingRate,
207
- Ut as updateShippingZone,
208
- Yt as updateTaxSettingsAction,
209
- ve as upsertDefaultUserAddresses,
210
- Ar as verifyFreemiusWebhookSignature
211
- };
1
+ import { CURRENCY_ROUNDING_MODES as e, applyCurrencyRounding as t, convertMinorUnitAmount as n, describeCurrencyRoundingRule as r, getCurrencyLookup as i, getDefaultCurrency as a, getExchangeRateForCurrency as o, inferCurrencyCodeFromLocale as s, isSaleWindowActive as c, isScheduledPriceDue as l, normalizeCurrencyRecord as u, normalizeCurrencyRoundingMode as d, normalizePriceMap as f, normalizeSalePriceMap as p, resolveEffectivePriceForCurrency as m, resolvePriceForCurrency as h, resolvePriceRangeForCurrency as g, sortCurrencies as _ } from "./lib/currency.es.js";
2
+ import { CURRENCY_COOKIE_NAME as v } from "./lib/currency-constants.es.js";
3
+ import { getCouponQuote as y, getQuoteLineDiscountMap as b, recordCouponRedemption as x } from "./lib/coupon-server.es.js";
4
+ import { addressesMatch as S, emptyCustomerAddress as C, isCustomerAddressComplete as w, normalizeCustomerAddress as T, normalizeOrderCustomerDetails as E } from "./lib/customer.es.js";
5
+ import { fillMissingUserProfileCheckoutDetails as D, getDefaultUserAddresses as O, upsertDefaultUserAddresses as k } from "./lib/customer-addresses.es.js";
6
+ import { copyProductFromLanguage as A, createProduct as j, deleteProduct as M, fetchTranslatedProductsForCartInternal as N, getProduct as P, getProductBySlug as F, getProducts as I, syncCategoriesForTranslationGroup as L, updateProduct as R } from "./lib/product-actions.es.js";
7
+ import { clearPaymentConfigCache as z, getPaymentConfigStatus as B, getPaymentCredentialsView as V, hydrateFreemiusEnvFromDb as H, resolveStripePublishableKey as U, resolveStripeSecretKey as W, resolveStripeWebhookSecret as G, savePaymentCredentials as K } from "./lib/payment-config.es.js";
8
+ import { FreemiusProvider as q, parseFreemiusCheckoutCredentialsMap as J, readFreemiusEnvValue as Y, resolveFreemiusCheckoutCredentials as X, syncFreemiusProductsToSupabase as Z, syncSingleFreemiusProduct as Q } from "./lib/providers/freemius.es.js";
9
+ import { getCategoriesWithCount as $, getCategoryBySlug as ee, getGlobalProductAttributes as te, getProduct as ne, getProductCategories as re, getProductTranslations as ie, getProducts as ae } from "./lib/pages/cms/products/actions.es.js";
10
+ import { DEFAULT_INVOICE_SETTINGS as oe, INVOICE_SETTINGS_KEY as se, formatInvoiceCurrency as ce, formatInvoiceDate as le, getInvoiceAddressLines as ue, normalizeInvoiceSettings as de, serializeInvoiceSettings as fe } from "./lib/invoice.es.js";
11
+ import { aggregateOrderTaxLines as pe, buildOrderTaxDetailsFromCalculation as me, buildOrderTaxDetailsFromStripeSession as he, getOrderTaxRateJurisdiction as ge, getOrderTaxRateLabel as _e, getOrderTaxRatePercentage as ve, normalizeOrderTaxDetails as ye } from "./lib/order-tax-details.es.js";
12
+ import { productSchema as be } from "./lib/product-schema.es.js";
13
+ import { deleteCouponFromFreemius as xe, syncCouponToFreemius as Se, syncProductSaleCouponToFreemius as Ce } from "./lib/freemius-coupons.es.js";
14
+ import { createCategoryAction as we, createProductAction as Te, deleteCategoryAction as Ee, deleteProductAction as De, publishProductAction as Oe, syncProductCategoriesAction as ke, updateCategoryAction as Ae, updateProductAction as je } from "./lib/pages/cms/products/server-actions.es.js";
15
+ import { StripeNotConfiguredError as Me, getStripeClient as Ne } from "./lib/stripe/client.es.js";
16
+ import { createCheckoutSession as Pe } from "./lib/stripe/checkout.es.js";
17
+ import { applyOrderInventoryDeduction as Fe } from "./lib/order-inventory.es.js";
18
+ import { assignInvoiceMetadata as Ie, getInvoiceBrandingData as Le, getInvoiceOrder as Re, getInvoicePresentationData as ze } from "./lib/invoice-server.es.js";
19
+ import { syncStripeOrderFromSession as Be } from "./lib/stripe/order-sync.es.js";
20
+ import { handleStripeWebhook as Ve } from "./lib/stripe/webhooks.es.js";
21
+ import { getFreemiusOrderLicense as He } from "./lib/freemius-license.es.js";
22
+ import { getCurrentCustomerOrder as Ue, getCurrentCustomerOrderInvoice as We, getCurrentCustomerOrders as Ge } from "./lib/customer-orders.es.js";
23
+ import { FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES as Ke, FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE as qe, claimFreemiusLicenseKey as Je, evaluateFreemiusLicenseClaim as Ye, parseFreemiusTimestamp as Xe } from "./lib/freemius-license-claim.es.js";
24
+ import { FREEMIUS_TRIAL_ALREADY_USED_MESSAGE as Ze, FREEMIUS_TRIAL_PROVISION_FAILED_MESSAGE as Qe, computeTrialExpiry as $e, evaluateTrialEligibility as et, formatFreemiusTimestamp as tt, pickTrialPricing as nt, provisionFreemiusTrialLicense as rt } from "./lib/freemius-trial-provision.es.js";
25
+ import { clearAutoSyncedCurrencyPriceOverrides as it, rebaseStoreCurrencyExchangeRates as at, syncStoreCurrencyRates as ot } from "./lib/currency-sync.es.js";
26
+ import { StripeProvider as st } from "./lib/providers/stripe.es.js";
27
+ import { getPaymentProvider as ct } from "./lib/factory.es.js";
28
+ import { extractFreemiusCheckoutMetadata as lt, getFreemiusWebhookSecretCandidates as ut, resolveFreemiusStatusFromCheckoutResponse as dt, resolveFreemiusStatusFromWebhookEvent as ft, syncFreemiusCheckoutOrder as pt, syncFreemiusOrderFromWebhookEvent as mt, verifyFreemiusWebhookSignature as ht } from "./lib/freemius-order-sync.es.js";
29
+ import { getEnabledPaymentProviders as gt, getPaymentSettings as _t, getProviderReadiness as vt, getReadinessForProductType as yt, getStoreConfigStatus as bt, getStoreReadiness as xt } from "./lib/pages/cms/payments/queries.es.js";
30
+ import { getOrderDetails as St, getOrders as Ct } from "./lib/pages/cms/orders/actions.es.js";
31
+ import { fetchOrderReportData as wt } from "./lib/pages/cms/orders/export-actions.es.js";
32
+ import { ExportReportsDialog as Tt } from "./lib/pages/cms/orders/ExportReportsDialog.es.js";
33
+ import { OrdersPage as Et } from "./lib/pages/cms/orders/OrdersPage.es.js";
34
+ import { OrderDetailPage as Dt } from "./lib/pages/cms/orders/OrderDetailPage.es.js";
35
+ import "./lib/pages/cms/orders/index.es.js";
36
+ import { ProductsPage as Ot } from "./lib/pages/cms/products/ProductsPage.es.js";
37
+ import { InventoryPage as kt } from "./lib/pages/cms/products/inventory/InventoryPage.es.js";
38
+ import { AttributeManagementPage as At } from "./lib/pages/cms/products/attributes/AttributeManagementPage.es.js";
39
+ import { NewProductPage as jt } from "./lib/pages/cms/products/new/NewProductPage.es.js";
40
+ import { EditProductPage as Mt } from "./lib/pages/cms/products/[id]/edit/EditProductPage.es.js";
41
+ import { CopyProductFromLanguage as Nt } from "./lib/pages/cms/products/components/CopyProductFromLanguage.es.js";
42
+ import { CategoryManagementPage as Pt } from "./lib/pages/cms/products/categories/CategoryManagementPage.es.js";
43
+ import "./lib/pages/cms/products/index.es.js";
44
+ import { savePaymentProviderCredentials as Ft, updatePaymentSettings as It } from "./lib/pages/cms/payments/actions.es.js";
45
+ import { PaymentsPage as Lt } from "./lib/pages/cms/payments/PaymentsPage.es.js";
46
+ import "./lib/pages/cms/payments/index.es.js";
47
+ import { createShippingRate as Rt, createShippingZone as zt, deleteShippingRate as Bt, deleteShippingZone as Vt, updateInventoryTrackingAction as Ht, updateShippingRate as Ut, updateShippingZone as Wt } from "./lib/pages/cms/shipping/server-actions.es.js";
48
+ import { ShippingPage as Gt } from "./lib/pages/cms/shipping/ShippingPage.es.js";
49
+ import "./lib/pages/cms/shipping/index.es.js";
50
+ import { deleteTaxRateAction as Kt, saveTaxRateAction as qt, updateTaxSettingsAction as Jt } from "./lib/pages/cms/taxes/actions.es.js";
51
+ import { TaxesPage as Yt } from "./lib/pages/cms/taxes/TaxesPage.es.js";
52
+ import "./lib/pages/cms/taxes/index.es.js";
53
+ import { CouponsPage as Xt } from "./lib/pages/cms/coupons/CouponsPage.es.js";
54
+ import { EditCouponPage as Zt } from "./lib/pages/cms/coupons/EditCouponPage.es.js";
55
+ import "./lib/pages/cms/coupons/index.es.js";
56
+ export { At as AttributeManagementPage, v as CURRENCY_COOKIE_NAME, e as CURRENCY_ROUNDING_MODES, Pt as CategoryManagementPage, Nt as CopyProductFromLanguage, Xt as CouponsPage, oe as DEFAULT_INVOICE_SETTINGS, Zt as EditCouponPage, Mt as EditProductPage, Tt as ExportReportsDialog, Ke as FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES, qe as FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE, Ze as FREEMIUS_TRIAL_ALREADY_USED_MESSAGE, Qe as FREEMIUS_TRIAL_PROVISION_FAILED_MESSAGE, q as FreemiusProvider, se as INVOICE_SETTINGS_KEY, kt as InventoryPage, jt as NewProductPage, Dt as OrderDetailPage, Et as OrdersPage, Lt as PaymentsPage, Ot as ProductsPage, Gt as ShippingPage, Me as StripeNotConfiguredError, st as StripeProvider, Yt as TaxesPage, S as addressesMatch, pe as aggregateOrderTaxLines, t as applyCurrencyRounding, Fe as applyOrderInventoryDeduction, Ie as assignInvoiceMetadata, me as buildOrderTaxDetailsFromCalculation, he as buildOrderTaxDetailsFromStripeSession, Je as claimFreemiusLicenseKey, it as clearAutoSyncedCurrencyPriceOverrides, z as clearPaymentConfigCache, $e as computeTrialExpiry, n as convertMinorUnitAmount, A as copyProductFromLanguage, we as createCategoryAction, Pe as createCheckoutSession, j as createProduct, Te as createProductAction, Rt as createShippingRate, zt as createShippingZone, Ee as deleteCategoryAction, xe as deleteCouponFromFreemius, M as deleteProduct, De as deleteProductAction, Bt as deleteShippingRate, Vt as deleteShippingZone, Kt as deleteTaxRateAction, r as describeCurrencyRoundingRule, C as emptyCustomerAddress, Ye as evaluateFreemiusLicenseClaim, et as evaluateTrialEligibility, lt as extractFreemiusCheckoutMetadata, wt as fetchOrderReportData, N as fetchTranslatedProductsForCartInternal, D as fillMissingUserProfileCheckoutDetails, tt as formatFreemiusTimestamp, ce as formatInvoiceCurrency, le as formatInvoiceDate, $ as getCategoriesWithCount, ee as getCategoryBySlug, ne as getCmsProduct, ae as getCmsProducts, y as getCouponQuote, i as getCurrencyLookup, Ue as getCurrentCustomerOrder, We as getCurrentCustomerOrderInvoice, Ge as getCurrentCustomerOrders, a as getDefaultCurrency, O as getDefaultUserAddresses, gt as getEnabledPaymentProviders, o as getExchangeRateForCurrency, He as getFreemiusOrderLicense, ut as getFreemiusWebhookSecretCandidates, te as getGlobalProductAttributes, ue as getInvoiceAddressLines, Le as getInvoiceBrandingData, Re as getInvoiceOrder, ze as getInvoicePresentationData, St as getOrderDetails, ge as getOrderTaxRateJurisdiction, _e as getOrderTaxRateLabel, ve as getOrderTaxRatePercentage, Ct as getOrders, B as getPaymentConfigStatus, V as getPaymentCredentialsView, ct as getPaymentProvider, _t as getPaymentSettings, P as getProduct, F as getProductBySlug, re as getProductCategories, ie as getProductTranslations, I as getProducts, vt as getProviderReadiness, b as getQuoteLineDiscountMap, yt as getReadinessForProductType, bt as getStoreConfigStatus, xt as getStoreReadiness, Ne as getStripeClient, Ve as handleStripeWebhook, H as hydrateFreemiusEnvFromDb, s as inferCurrencyCodeFromLocale, w as isCustomerAddressComplete, c as isSaleWindowActive, l as isScheduledPriceDue, u as normalizeCurrencyRecord, d as normalizeCurrencyRoundingMode, T as normalizeCustomerAddress, de as normalizeInvoiceSettings, E as normalizeOrderCustomerDetails, ye as normalizeOrderTaxDetails, f as normalizePriceMap, p as normalizeSalePriceMap, J as parseFreemiusCheckoutCredentialsMap, Xe as parseFreemiusTimestamp, nt as pickTrialPricing, be as productSchema, rt as provisionFreemiusTrialLicense, Oe as publishProductAction, Y as readFreemiusEnvValue, at as rebaseStoreCurrencyExchangeRates, x as recordCouponRedemption, m as resolveEffectivePriceForCurrency, X as resolveFreemiusCheckoutCredentials, dt as resolveFreemiusStatusFromCheckoutResponse, ft as resolveFreemiusStatusFromWebhookEvent, h as resolvePriceForCurrency, g as resolvePriceRangeForCurrency, U as resolveStripePublishableKey, W as resolveStripeSecretKey, G as resolveStripeWebhookSecret, K as savePaymentCredentials, Ft as savePaymentProviderCredentials, qt as saveTaxRateAction, fe as serializeInvoiceSettings, _ as sortCurrencies, L as syncCategoriesForTranslationGroup, Se as syncCouponToFreemius, pt as syncFreemiusCheckoutOrder, mt as syncFreemiusOrderFromWebhookEvent, Z as syncFreemiusProductsToSupabase, ke as syncProductCategoriesAction, Ce as syncProductSaleCouponToFreemius, Q as syncSingleFreemiusProduct, ot as syncStoreCurrencyRates, Be as syncStripeOrderFromSession, Ae as updateCategoryAction, Ht as updateInventoryTrackingAction, It as updatePaymentSettings, R as updateProduct, je as updateProductAction, Ut as updateShippingRate, Wt as updateShippingZone, Jt as updateTaxSettingsAction, k as upsertDefaultUserAddresses, ht as verifyFreemiusWebhookSignature };
package/index.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./lib/components/CartDrawer.cjs.js"),g=require("./lib/components/Cart.cjs.js"),v=require("./lib/components/Checkout.cjs.js"),S=require("./lib/components/CartIcon.cjs.js"),b=require("./lib/components/CouponForm.cjs.js"),T=require("./lib/components/CurrencySwitcher.cjs.js"),p=require("./lib/components/AddToCartButton.cjs.js"),I=require("./lib/components/ProductCard.cjs.js"),D=require("./lib/components/ProductGrid.cjs.js"),R=require("./lib/components/ProductGallery.cjs.js"),_=require("./lib/components/FeaturedProduct.cjs.js"),q=require("./lib/components/CustomerProfileForm.cjs.js"),F=require("./lib/components/SubscriptionSelector.cjs.js"),A=require("./lib/components/InvoiceDocument.cjs.js"),E=require("./lib/components/InvoiceViewerShell.cjs.js"),L=require("./lib/components/FreemiusLicensePanel.cjs.js"),O=require("./lib/components/AccountNavigationMenu.cjs.js"),d=require("./lib/components/SimpleTiptapRenderer.cjs.js"),V=require("./lib/pages/cms/products/components/ProductForm.cjs.js"),f=require("./lib/pages/cms/products/components/ProductCategorySelector.cjs.js"),u=require("./lib/cart-store.cjs.js"),s=require("./lib/coupons.cjs.js"),m=require("./lib/CurrencyProvider.cjs.js"),l=require("./lib/PaymentReadinessProvider.cjs.js"),e=require("./lib/currency.cjs.js"),h=require("./lib/currency-store.cjs.js"),C=require("./lib/use-cart.cjs.js"),a=require("./lib/customer.cjs.js"),i=require("./lib/types.cjs.js"),n=require("./lib/trials.cjs.js"),t=require("./lib/order-tax-details.cjs.js"),o=require("./lib/invoice.cjs.js"),c=require("./lib/invoice-ui.cjs.js"),z=require("./lib/product-schema.cjs.js"),P=require("./lib/product-context.cjs.js"),N=require("./lib/components/ProductDetailsLayout.cjs.js"),r=require("./lib/variation-utils.cjs.js");exports.CartDrawer=y.CartDrawer;exports.Cart=g.Cart;exports.Checkout=v.Checkout;exports.CartIcon=S.CartIcon;exports.CouponForm=b.CouponForm;exports.CurrencySwitcher=T.CurrencySwitcher;exports.AddToCartButton=p.AddToCartButton;exports.ProductCard=I.ProductCard;exports.ProductGrid=D.ProductGrid;exports.ProductGallery=R.ProductGallery;exports.FeaturedProduct=_.FeaturedProduct;exports.CustomerProfileForm=q.CustomerProfileForm;exports.SubscriptionSelector=F.SubscriptionSelector;exports.InvoiceDocument=A.InvoiceDocument;exports.InvoiceViewerShell=E.InvoiceViewerShell;exports.FreemiusLicensePanel=L.FreemiusLicensePanel;exports.AccountNavigationMenu=O.AccountNavigationMenu;exports.SimpleTiptapRenderer=d.SimpleTiptapRenderer;exports.toNoCookieEmbedSrc=d.toNoCookieEmbedSrc;exports.ProductForm=V.ProductForm;exports.ProductCategorySelector=f.ProductCategorySelector;exports.getCartItemActivePrice=u.getCartItemActivePrice;exports.useCartStore=u.useCartStore;exports.useCartSubtotal=u.useCartSubtotal;exports.useCartTotalItems=u.useCartTotalItems;exports.emptyProviderDiscounts=s.emptyProviderDiscounts;exports.getCartLineCouponKey=s.getCartLineCouponKey;exports.normalizeCouponCode=s.normalizeCouponCode;exports.CurrencyProvider=m.CurrencyProvider;exports.useCurrency=m.useCurrency;exports.PaymentReadinessProvider=l.PaymentReadinessProvider;exports.useCanPurchase=l.useCanPurchase;exports.usePaymentReadiness=l.usePaymentReadiness;exports.CURRENCY_ROUNDING_MODES=e.CURRENCY_ROUNDING_MODES;exports.applyCurrencyRounding=e.applyCurrencyRounding;exports.convertMinorUnitAmount=e.convertMinorUnitAmount;exports.describeCurrencyRoundingRule=e.describeCurrencyRoundingRule;exports.getCurrencyLookup=e.getCurrencyLookup;exports.getDefaultCurrency=e.getDefaultCurrency;exports.getExchangeRateForCurrency=e.getExchangeRateForCurrency;exports.inferCurrencyCodeFromLocale=e.inferCurrencyCodeFromLocale;exports.isSaleWindowActive=e.isSaleWindowActive;exports.isScheduledPriceDue=e.isScheduledPriceDue;exports.normalizeCurrencyRecord=e.normalizeCurrencyRecord;exports.normalizeCurrencyRoundingMode=e.normalizeCurrencyRoundingMode;exports.normalizePriceMap=e.normalizePriceMap;exports.normalizeSalePriceMap=e.normalizeSalePriceMap;exports.resolveEffectivePriceForCurrency=e.resolveEffectivePriceForCurrency;exports.resolvePriceForCurrency=e.resolvePriceForCurrency;exports.resolvePriceRangeForCurrency=e.resolvePriceRangeForCurrency;exports.sortCurrencies=e.sortCurrencies;exports.useCurrencyPreferenceStore=h.useCurrencyPreferenceStore;exports.useCart=C.useCart;exports.useIsCartHydrated=C.useIsCartHydrated;exports.addressesMatch=a.addressesMatch;exports.emptyCustomerAddress=a.emptyCustomerAddress;exports.isCustomerAddressComplete=a.isCustomerAddressComplete;exports.normalizeCustomerAddress=a.normalizeCustomerAddress;exports.normalizeOrderCustomerDetails=a.normalizeOrderCustomerDetails;exports.DEFAULT_ENABLED_PAYMENT_PROVIDERS=i.DEFAULT_ENABLED_PAYMENT_PROVIDERS;exports.derivePaymentProviderFromProductType=i.derivePaymentProviderFromProductType;exports.getProductPaymentProvider=i.getProductPaymentProvider;exports.isDigitalItem=i.isDigitalItem;exports.isDigitalProduct=i.isDigitalProduct;exports.normalizeEnabledPaymentProviders=i.normalizeEnabledPaymentProviders;exports.getTrialCheckoutMode=n.getTrialCheckoutMode;exports.getTrialLabel=n.getTrialLabel;exports.getTrialPaymentRequirementLabel=n.getTrialPaymentRequirementLabel;exports.getTrialPeriodDays=n.getTrialPeriodDays;exports.getTrialSummary=n.getTrialSummary;exports.aggregateOrderTaxLines=t.aggregateOrderTaxLines;exports.buildOrderTaxDetailsFromCalculation=t.buildOrderTaxDetailsFromCalculation;exports.buildOrderTaxDetailsFromStripeSession=t.buildOrderTaxDetailsFromStripeSession;exports.getOrderTaxRateJurisdiction=t.getOrderTaxRateJurisdiction;exports.getOrderTaxRateLabel=t.getOrderTaxRateLabel;exports.getOrderTaxRatePercentage=t.getOrderTaxRatePercentage;exports.normalizeOrderTaxDetails=t.normalizeOrderTaxDetails;exports.DEFAULT_INVOICE_SETTINGS=o.DEFAULT_INVOICE_SETTINGS;exports.INVOICE_SETTINGS_KEY=o.INVOICE_SETTINGS_KEY;exports.formatInvoiceCurrency=o.formatInvoiceCurrency;exports.formatInvoiceDate=o.formatInvoiceDate;exports.getInvoiceAddressLines=o.getInvoiceAddressLines;exports.normalizeInvoiceSettings=o.normalizeInvoiceSettings;exports.serializeInvoiceSettings=o.serializeInvoiceSettings;exports.buildInvoiceDocumentLabels=c.buildInvoiceDocumentLabels;exports.getInvoiceLocale=c.getInvoiceLocale;exports.localizeInvoicePresentationData=c.localizeInvoicePresentationData;exports.translateOrFallback=c.translateOrFallback;exports.translateOrderStatus=c.translateOrderStatus;exports.productSchema=z.productSchema;exports.ProductProvider=P.ProductProvider;exports.useProduct=P.useProduct;exports.ProductDetailsLayout=N.ProductDetailsLayout;exports.applyVariantSelection=r.applyVariantSelection;exports.buildCombinationKey=r.buildCombinationKey;exports.buildVariantLabel=r.buildVariantLabel;exports.chooseInitialVariantSelections=r.chooseInitialVariantSelections;exports.extractSelectedTermsByAttribute=r.extractSelectedTermsByAttribute;exports.findMatchingVariant=r.findMatchingVariant;exports.generateVariantDrafts=r.generateVariantDrafts;exports.getAvailableTermIdsForAttribute=r.getAvailableTermIdsForAttribute;exports.getVariantEffectivePriceRange=r.getVariantEffectivePriceRange;exports.mapRawVariantRelations=r.mapRawVariantRelations;exports.normalizeSelectionsToAvailableVariants=r.normalizeSelectionsToAvailableVariants;exports.resolveAttributeName=r.resolveAttributeName;exports.resolveTermValue=r.resolveTermValue;exports.resolveTranslatedText=r.resolveTranslatedText;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react/jsx-runtime"),n=require("react"),h=require("@nextblock-cms/utils"),f=require("./currency.cjs.js"),v=require("./currency-store.cjs.js"),z=require("./currency-constants.cjs.js"),g=n.createContext(null);function x(o){return f.sortCurrencies(o.filter(r=>r.is_active!==!1))}function M(o){const{currencies:r,storedCurrencyCode:C,hasHydrated:y,initialCurrencyCode:t,locale:l}=o,u=new Set(r.map(a=>h.normalizeCurrencyCode(a.code))),s=f.getDefaultCurrency(r),d=t?h.normalizeCurrencyCode(t):null,e=C?h.normalizeCurrencyCode(C):null;if(y&&e&&u.has(e))return e;if(d&&u.has(d))return d;const i=f.inferCurrencyCodeFromLocale(l,r);return u.has(i)?i:s.code}function p({children:o,initialCurrencies:r,initialCurrencyCode:C,locale:y}){const[t,l]=n.useState(()=>x(r)),u=v.useCurrencyPreferenceStore(c=>c.activeCurrencyCode),s=v.useCurrencyPreferenceStore(c=>c.hasHydrated),d=v.useCurrencyPreferenceStore(c=>c.setActiveCurrencyCode);n.useEffect(()=>{v.useCurrencyPreferenceStore.persist.rehydrate()},[]),n.useEffect(()=>{r.length>0&&l(x(r))},[r]),n.useEffect(()=>{if(r.length>0)return;async function c(){const{fetchActiveCurrenciesFromRest:m}=await Promise.resolve().then(()=>require("./currency-rest-client.cjs.js")),S=await m();S.length>0&&l(x(S.map(P=>f.normalizeCurrencyRecord(P))))}c()},[r.length]);const e=n.useMemo(()=>M({currencies:t,storedCurrencyCode:u,hasHydrated:s,initialCurrencyCode:C,locale:y}),[t,u,s,C,y]);n.useEffect(()=>{!s||!e||u!==e&&d(e)},[s,e,d,u]),n.useEffect(()=>{!e||typeof document>"u"||(document.cookie=`${z.CURRENCY_COOKIE_NAME}=${e}; Path=/; Max-Age=31536000; SameSite=Lax`)},[e]);const i=n.useMemo(()=>f.getDefaultCurrency(t),[t]),a=n.useMemo(()=>t.find(c=>c.code===e)??i,[t,i,e]),E=n.useMemo(()=>({currencies:t,defaultCurrency:i,activeCurrency:a,activeCurrencyCode:a.code,isHydrated:s,setActiveCurrencyCode:c=>{const m=h.normalizeCurrencyCode(c);t.some(P=>P.code===m)&&d(m)}}),[a,t,i,s,d]);return q.jsx(g.Provider,{value:E,children:o})}function A(){const o=n.useContext(g);if(!o)throw new Error("useCurrency must be used inside a CurrencyProvider");return o}exports.CurrencyProvider=p;exports.useCurrency=A;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),s=require("react"),o=require("./types.cjs.js"),a={stripe:!0,freemius:!0},n=s.createContext(a);function c({readiness:e,children:t}){const r=s.useMemo(()=>({stripe:e?.stripe??!0,freemius:e?.freemius??!0}),[e?.stripe,e?.freemius]);return i.jsx(n.Provider,{value:r,children:t})}function u(){return s.useContext(n)}function P(e){const t=u(),r=o.getProductPaymentProvider(e)??"stripe";return t[r]??!0}exports.PaymentReadinessProvider=c;exports.useCanPurchase=P;exports.usePaymentReadiness=u;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("zustand"),p=require("zustand/middleware"),a=require("./types.cjs.js"),_=require("./CurrencyProvider.cjs.js"),k=require("./currency.cjs.js");function n(r,c,e){return r.reduce((t,s)=>a.isDigitalItem(s)||s.sku!==c||e&&s.id===e?t:t+s.quantity,0)}const l=C.create()(p.persist((r,c)=>({items:[],appliedCoupon:null,isOpen:!1,addItem:e=>{const{items:t}=c(),s=e.quantity??1,i=typeof e.stock=="number"?e.stock:null,o=i!==null?n(t,e.sku):0;if(a.isDigitalItem(e))return t.find(d=>d.product_id===e.product_id&&a.isDigitalItem(d))?{success:!1,error:"This software license is already in your cart.",errorKey:"ecommerce.cart_error_license_in_cart"}:(r({items:[...t,{...e,quantity:1}],isOpen:!0}),{success:!0});const y=t.find(u=>u.id===e.id);return i!==null&&i<=0?{success:!1,error:"This item is out of stock.",errorKey:"ecommerce.cart_error_out_of_stock"}:i!==null&&o+s>i?{success:!1,error:`Only ${i} available for this SKU.`,errorKey:"ecommerce.cart_error_stock_limit",errorParams:{count:i}}:(r(y?{items:t.map(u=>u.id===e.id?{...u,...e,quantity:u.quantity+s}:u),isOpen:!0}:{items:[...t,{...e,quantity:s}],isOpen:!0}),{success:!0})},removeItem:e=>{const{items:t}=c();r({items:t.filter(s=>s.id!==e)})},updateQuantity:(e,t)=>{const{items:s}=c(),i=s.find(o=>o.id===e);i&&a.isDigitalItem(i)||(i&&typeof i.stock=="number"&&t+n(s,i.sku,e)>i.stock&&(t=Math.max(i.stock-n(s,i.sku,e),0)),t<=0?r({items:s.filter(o=>o.id!==e)}):r({items:s.map(o=>o.id===e?{...o,quantity:t}:o)}))},setAppliedCoupon:e=>{const t=c().appliedCoupon;t?.code===e?.code&&t?.couponId===e?.couponId||r({appliedCoupon:e})},removeCoupon:()=>{c().appliedCoupon&&r({appliedCoupon:null})},clearCart:()=>r({items:[],appliedCoupon:null}),toggleCart:()=>r(e=>({isOpen:!e.isOpen})),setIsOpen:e=>r({isOpen:e}),setItems:e=>r({items:e})}),{name:"cart-storage",storage:p.createJSONStorage(()=>localStorage),skipHydration:!0,partialize:r=>({items:r.items,appliedCoupon:r.appliedCoupon})})),m=()=>l(c=>c.items).reduce((c,e)=>c+e.quantity,0);function f(r,c){return k.resolveEffectivePriceForCurrency({prices:r.prices,salePrices:r.sale_prices,fallbackPrice:r.price,fallbackSalePrice:r.sale_price,saleStartAt:r.sale_start_at,saleEndAt:r.sale_end_at,scheduledPrice:r.scheduled_price,scheduledPrices:r.scheduled_prices,scheduledPriceAt:r.scheduled_price_at,currencyCode:c.currencyCode,currencies:c.currencies})}const S=()=>{const r=l(t=>t.items),{activeCurrencyCode:c,currencies:e}=_.useCurrency();return r.reduce((t,s)=>{const{price:i,sale_price:o}=f(s,{currencyCode:c,currencies:e});return t+(o??i)*s.quantity},0)};exports.getCartItemActivePrice=f;exports.useCartStore=l;exports.useCartSubtotal=S;exports.useCartTotalItems=m;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),m=require("next/link"),f=require("next/navigation"),d=require("lucide-react"),o=require("@nextblock-cms/utils");function i(r,t,c){const a=r(t);return a===t?c:a}function g(r){return r==="password"?d.KeyRound:d.Package2}function h({links:r,title:t,className:c}){const a=f.usePathname(),{t:s}=o.useTranslations();return r.length?n.jsxs("nav",{"aria-label":t||i(s,"account_navigation","Account"),className:o.cn("w-full space-y-3",c),children:[n.jsx("div",{"aria-hidden":"true",className:"text-sm font-medium text-muted-foreground uppercase tracking-wider",children:t||i(s,"account_navigation","Account")}),n.jsx("div",{className:"space-y-2",children:r.map(e=>{const l=g(e.icon),u=a===e.href||a.startsWith(`${e.href}/`);return n.jsxs(m,{href:e.href,"aria-current":u?"page":void 0,className:o.cn("flex items-center gap-3 rounded-xl border px-3 py-2.5 text-sm font-medium transition-colors",u?"border-primary bg-primary text-primary-foreground":"border-border bg-background hover:bg-muted/40"),children:[n.jsx(l,{className:"h-4 w-4 shrink-0"}),n.jsx("span",{children:i(s,e.labelKey,e.fallbackLabel)})]},e.href)})})]}):null}exports.AccountNavigationMenu=h;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("@nextblock-cms/ui/button"),n=require("lucide-react"),d=require("sonner"),u=require("next/link"),p=require("../use-cart.cjs.js"),q=require("@nextblock-cms/utils"),m=require("../types.cjs.js"),P=require("../CurrencyProvider.cjs.js"),S=require("../PaymentReadinessProvider.cjs.js"),B=({product:e,className:i,quantity:h})=>{const l=p.useCart(t=>t),{t:r}=q.useTranslations(),{activeCurrencyCode:g}=P.useCurrency(),f=S.useCanPurchase(e),_=m.isDigitalProduct(e),y=!!e.has_variants&&!e.variant_id&&!_,v=!_&&typeof e.stock=="number"&&e.stock<=0;if(!f){const t=r("ecommerce.contact_seller");return s.jsx(a.Button,{asChild:!0,variant:"outline",className:i,children:s.jsxs(u,{href:`/product/${e.slug}#contact-seller`,children:[s.jsx(n.Mail,{className:"mr-2 h-4 w-4"}),t==="ecommerce.contact_seller"?"Contact the seller":t]})})}if(y)return s.jsx(a.Button,{asChild:!0,className:i,children:s.jsx(u,{href:`/product/${e.slug}`,children:r("ecommerce.select_options")==="ecommerce.select_options"?"Select options":r("ecommerce.select_options")})});if(v){const t=r("ecommerce.out_of_stock");return s.jsxs(a.Button,{disabled:!0,className:i,children:[s.jsx(n.ShoppingCart,{className:"mr-2 h-4 w-4"}),t==="ecommerce.out_of_stock"?"Out of stock":t]})}if(!l)return s.jsxs(a.Button,{disabled:!0,className:i,children:[s.jsx(n.ShoppingCart,{className:"mr-2 h-4 w-4"}),r("ecommerce.add_to_cart")]});const{addItem:C}=l,b=()=>{const t=m.getProductPaymentProvider(e)??"stripe",{success:x,error:j,errorKey:c,errorParams:k}=C({id:e.variant_id||e.id,product_id:e.id,title:e.title,price:e.price,prices:e.prices,sale_price:e.sale_price,sale_prices:e.sale_prices,sale_start_at:e.sale_start_at,sale_end_at:e.sale_end_at,scheduled_price:e.scheduled_price,scheduled_prices:e.scheduled_prices,scheduled_price_at:e.scheduled_price_at,is_taxable:e.is_taxable,image_url:e.image_url,slug:e.slug,sku:e.sku,stock:e.stock,language_id:e.language_id,translation_group_id:e.translation_group_id,product_type:e.product_type,payment_provider:e.payment_provider??t,provider:t,freemius_product_id:e.freemius_product_id,freemius_plan_id:e.freemius_plan_id,trial_period_days:e.trial_period_days??0,trial_requires_payment_method:e.trial_requires_payment_method??!1,has_variants:e.has_variants,variant_id:e.variant_id,variant_label:e.variant_label,selected_options:e.selected_options,currency_code:g,quantity:h});if(x)d.toast.success(r("ecommerce.added_to_cart_success",{item:e.title}));else{const o=c?r(c,k):null;d.toast.error(o&&o!==c?o:j||r("ecommerce.added_to_cart_error"))}};return s.jsxs(a.Button,{onClick:b,className:i,children:[s.jsx(n.ShoppingCart,{className:"mr-2 h-4 w-4"}),r("ecommerce.add_to_cart")]})};exports.AddToCartButton=B;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("react"),C=require("@nextblock-cms/ui/badge"),d=require("@nextblock-cms/ui/button"),a=require("@nextblock-cms/ui/table"),g=require("lucide-react"),j=require("../cart-store.cjs.js"),w=require("../use-cart.cjs.js"),m=require("../types.cjs.js"),b=require("next/link"),T=require("@nextblock-cms/utils"),k=require("../use-price-formatter.cjs.js"),S=require("./ShippingEstimator.cjs.js"),P=require("../CurrencyProvider.cjs.js"),R=require("../trials.cjs.js"),B=require("./CouponForm.cjs.js"),H=()=>{const u=k.usePriceFormatter(),x=w.useCart(s=>s),N=j.useCartSubtotal(),{t:r}=T.useTranslations(),l=(s,t,c)=>{const o=r(s,c);return o===s?t:o},y="/shop",{activeCurrencyCode:i,currencies:h}=P.useCurrency(),n=x?.items??[],v=q.useMemo(()=>n.reduce((s,t)=>{if(m.isDigitalItem(t))return s;const c=j.getCartItemActivePrice(t,{currencyCode:i,currencies:h});return s+(c.sale_price??c.price)*t.quantity},0),[i,h,n]);if(!x)return e.jsxs("div",{role:"status","aria-busy":"true",className:"container mx-auto py-12",children:[e.jsx("span",{className:"sr-only",children:r("loading")==="loading"?"Loading…":r("loading")}),e.jsx("div",{className:"mb-8 h-9 w-56 rounded-md bg-muted"}),e.jsxs("div",{className:"grid gap-12 lg:grid-cols-12 lg:items-start",children:[e.jsx("div",{className:"h-64 rounded-lg border bg-muted/40 lg:col-span-8"}),e.jsx("div",{className:"h-64 rounded-lg border bg-muted/40 lg:col-span-4"})]})]});const{updateQuantity:p,removeItem:f}=x,_=s=>n.reduce((t,c)=>m.isDigitalItem(c)||c.sku!==s?t:t+c.quantity,0);return n.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-12",children:[e.jsx("h1",{className:"text-2xl font-bold",children:r("ecommerce.cart_empty")}),e.jsx("p",{className:"text-muted-foreground",children:r("ecommerce.cart_empty_description")}),e.jsx(d.Button,{asChild:!0,children:e.jsx(b,{href:y,children:r("ecommerce.continue_shopping")})})]}):e.jsxs("div",{className:"container mx-auto py-12",children:[e.jsx("h1",{className:"mb-8 text-3xl font-bold",children:r("ecommerce.shopping_cart")}),e.jsxs("div",{className:"grid gap-12 lg:grid-cols-12 lg:items-start",children:[e.jsx("div",{className:"lg:col-span-8",children:e.jsx("div",{className:"rounded-lg border overflow-hidden",children:e.jsxs(a.Table,{children:[e.jsx(a.TableHeader,{children:e.jsxs(a.TableRow,{children:[e.jsx(a.TableHead,{children:r("ecommerce.product")}),e.jsx(a.TableHead,{children:r("ecommerce.quantity")}),e.jsx(a.TableHead,{className:"text-right",children:r("ecommerce.price")}),e.jsx(a.TableHead,{className:"text-right",children:r("ecommerce.total")}),e.jsx(a.TableHead,{className:"w-[50px]",children:e.jsx("span",{className:"sr-only",children:l("ecommerce.actions","Actions")})})]})}),e.jsx(a.TableBody,{children:n.map(s=>{const t=_(s.sku),c=j.getCartItemActivePrice(s,{currencyCode:i,currencies:h}),o=R.getTrialSummary(s,r);return e.jsxs(a.TableRow,{children:[e.jsx(a.TableCell,{children:e.jsxs("div",{className:"flex items-center gap-4",children:[s.image_url?e.jsx("div",{className:"h-16 w-16 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"})}):e.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded bg-secondary",children:e.jsx("span",{className:"text-[10px] text-muted-foreground",children:r("ecommerce.no_image")})}),e.jsxs("div",{className:"min-w-0 break-words",children:[e.jsx("div",{className:"font-medium",children:s.title}),s.variant_label&&e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:s.variant_label}),m.isDigitalItem(s)&&s.billing_cycle&&e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:l(`ecommerce.checkout_billing_cycle_${s.billing_cycle}`,`${s.billing_cycle} subscription`)}),o&&e.jsxs("div",{className:"mt-1 text-xs font-medium text-emerald-700",children:[o.label," - ",o.paymentRequirementLabel]})]})]})}),e.jsx(a.TableCell,{children:m.isDigitalItem(s)?e.jsx(C.Badge,{variant:"secondary",className:"font-normal text-xs",children:l("ecommerce.license_count_one","1 license",{count:1})}):e.jsxs("div",{role:"group","aria-label":`${l("ecommerce.quantity","Quantity")}: ${s.title}`,className:"flex items-center gap-2",children:[e.jsx(d.Button,{variant:"outline",size:"icon",className:"h-8 w-8","aria-label":l("ecommerce.decrease_quantity","Decrease quantity"),onClick:()=>p(s.id,s.quantity-1),children:e.jsx(g.Minus,{className:"h-4 w-4"})}),e.jsx("span",{"aria-live":"polite","aria-atomic":"true",className:"w-8 text-center tabular-nums",children:s.quantity}),e.jsx(d.Button,{variant:"outline",size:"icon",className:"h-8 w-8","aria-label":l("ecommerce.increase_quantity","Increase quantity"),onClick:()=>p(s.id,s.quantity+1),disabled:typeof s.stock=="number"&&t>=s.stock,children:e.jsx(g.Plus,{className:"h-4 w-4"})})]})}),e.jsx(a.TableCell,{className:"text-right",children:e.jsxs("div",{className:"flex flex-col items-end tabular-nums",children:[e.jsxs("span",{className:"font-medium",children:[c.sale_price&&e.jsxs("span",{className:"sr-only",children:[l("ecommerce.sale_price","Sale price")," "]}),u(c.sale_price??c.price,i)]}),c.sale_price&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:[e.jsxs("span",{className:"sr-only",children:[l("ecommerce.regular_price","Regular price")," "]}),e.jsx("s",{children:u(c.price,i)})]})]})}),e.jsx(a.TableCell,{className:"text-right font-medium tabular-nums",children:u((c.sale_price??c.price)*s.quantity,i)}),e.jsx(a.TableCell,{children:e.jsx(d.Button,{variant:"ghost",size:"icon",onClick:()=>f(s.id),"aria-label":l("ecommerce.remove_item",`Remove ${s.title} from cart`,{item:s.title}),className:"text-muted-foreground hover:text-destructive",children:e.jsx(g.Trash2,{className:"h-4 w-4"})})})]},s.id)})})]})})}),e.jsx("div",{className:"lg:col-span-4",children:e.jsxs("div",{className:"rounded-lg border bg-card p-6 shadow-sm",children:[e.jsx("h2",{className:"mb-4 text-lg font-semibold",children:r("ecommerce.order_summary")}),e.jsxs("div",{className:"flex justify-between border-b pb-4",children:[e.jsx("span",{children:r("ecommerce.subtotal")}),e.jsx("span",{className:"font-medium tabular-nums",children:u(N,i)})]}),e.jsxs("div",{className:"mt-4 flex flex-col gap-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:r("ecommerce.shipping_taxes_calculated")}),n.some(s=>!m.isDigitalItem(s))&&e.jsx(S.ShippingEstimator,{physicalSubtotal:v}),e.jsx(B.CouponForm,{items:n,currencyCode:i,compact:!0}),e.jsx(d.Button,{asChild:!0,className:"w-full mt-4",size:"lg",children:e.jsx(b,{href:"/checkout",children:r("ecommerce.proceed_to_checkout")})})]})]})})]})]})};exports.Cart=H;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@nextblock-cms/ui/sheet"),q=require("@nextblock-cms/ui/badge"),m=require("@nextblock-cms/ui/button"),j=require("next/link"),C=require("react"),x=require("lucide-react"),b=require("../cart-store.cjs.js"),k=require("../use-cart.cjs.js"),S=require("@nextblock-cms/utils"),F=require("../use-price-formatter.cjs.js"),g=require("../types.cjs.js"),P=require("../CurrencyProvider.cjs.js"),R=require("../trials.cjs.js"),D=require("./CouponForm.cjs.js"),O=()=>{const d=F.usePriceFormatter(),h=k.useCart(s=>s),v=b.useCartSubtotal(),{t}=S.useTranslations(),f=C.useRef(null),n=(s,l,r)=>{const i=t(s,r);return i===s?l:i},{activeCurrencyCode:a,currencies:y}=P.useCurrency();if(!h)return null;const{isOpen:N,setIsOpen:u,items:c,updateQuantity:p,removeItem:_}=h,w=s=>c.reduce((l,r)=>g.isDigitalItem(r)||r.sku!==s?l:l+r.quantity,0);return e.jsx(o.Sheet,{open:N,onOpenChange:u,children:e.jsxs(o.SheetContent,{className:"flex w-full flex-col pr-0 sm:max-w-lg",onOpenAutoFocus:()=>{f.current=document.activeElement},onCloseAutoFocus:s=>{s.preventDefault(),f.current?.focus()},children:[e.jsxs(o.SheetHeader,{className:"px-1 text-left",children:[e.jsxs(o.SheetTitle,{children:[t("ecommerce.shopping_cart")," (",c.length,")"]}),e.jsx(o.SheetDescription,{className:"sr-only",children:t("ecommerce.shopping_cart")})]}),c.length>0?e.jsx("div",{className:"flex flex-1 flex-col gap-5 overflow-y-auto overscroll-contain p-1 pr-6 pt-4",children:c.map(s=>{const l=w(s.sku);return e.jsx("div",{className:"flex gap-4",children:(()=>{const r=b.getCartItemActivePrice(s,{currencyCode:a,currencies:y}),i=R.getTrialSummary(s,t);return e.jsxs(e.Fragment,{children:[s.image_url?e.jsx("div",{className:"relative aspect-square h-20 w-20 min-w-fit overflow-hidden rounded border bg-neutral-100",children:e.jsx("img",{src:s.image_url,alt:"",width:80,height:80,loading:"lazy",decoding:"async",className:"h-full w-full object-cover"})}):e.jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded bg-secondary",children:e.jsx("span",{className:"text-xs text-muted-foreground",children:t("ecommerce.no_image")})}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col justify-between",children:[e.jsxs("div",{className:"flex justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"line-clamp-2 text-sm font-medium leading-tight",children:s.title}),s.variant_label&&e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:s.variant_label}),i&&e.jsxs("div",{className:"mt-1 text-xs font-medium text-emerald-700",children:[i.label," - ",i.paymentRequirementLabel]})]}),e.jsxs("span",{className:"text-sm font-semibold tabular-nums",children:[r.sale_price&&e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"sr-only",children:[n("ecommerce.regular_price","Regular price")," "]}),e.jsx("s",{className:"mr-1.5 text-xs font-normal text-muted-foreground",children:d(r.price,a)}),e.jsxs("span",{className:"sr-only",children:[n("ecommerce.sale_price","Sale price")," "]})]}),d(r.sale_price??r.price,a)]})]}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[g.isDigitalItem(s)?e.jsx(q.Badge,{variant:"secondary",className:"font-normal text-xs",children:n("ecommerce.license_count_one","1 license",{count:1})}):e.jsxs("div",{role:"group","aria-label":`${n("ecommerce.quantity","Quantity")}: ${s.title}`,className:"flex items-center rounded-md border text-xs",children:[e.jsx("button",{onClick:()=>p(s.id,s.quantity-1),className:"flex h-7 w-7 items-center justify-center rounded-l-md border-r focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring",type:"button","aria-label":n("ecommerce.decrease_quantity","Decrease quantity"),children:e.jsx(x.Minus,{className:"h-3 w-3"})}),e.jsx("span",{"aria-live":"polite","aria-atomic":"true",className:"flex h-7 w-8 items-center justify-center tabular-nums",children:s.quantity}),e.jsx("button",{onClick:()=>p(s.id,s.quantity+1),className:"flex h-7 w-7 items-center justify-center rounded-r-md border-l focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring",type:"button","aria-label":n("ecommerce.increase_quantity","Increase quantity"),disabled:typeof s.stock=="number"&&l>=s.stock,children:e.jsx(x.Plus,{className:"h-3 w-3"})})]}),e.jsx("button",{onClick:()=>_(s.id),className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-destructive focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring",type:"button","aria-label":n("ecommerce.remove_item",`Remove ${s.title} from cart`,{item:s.title}),children:e.jsx(x.Trash2,{className:"h-4 w-4"})})]})]})]})})()},s.id)})}):e.jsxs("div",{className:"flex h-full flex-col items-center justify-center space-y-2",children:[e.jsx("span",{className:"text-muted-foreground",children:t("ecommerce.cart_empty")}),e.jsx(m.Button,{variant:"outline",onClick:()=>u(!1),children:t("ecommerce.continue_shopping")})]}),c.length>0&&e.jsxs("div",{className:"border-t pr-6 pt-4",children:[e.jsxs("div",{className:"flex items-center justify-between text-base font-medium",children:[e.jsx("span",{children:t("ecommerce.subtotal")}),e.jsx("span",{children:d(v,a)})]}),e.jsx("p",{className:"mb-4 mt-1 text-xs text-muted-foreground",children:t("ecommerce.shipping_taxes_calculated")}),e.jsx("div",{className:"mb-4",children:e.jsx(D.CouponForm,{items:c,currencyCode:a,compact:!0})}),e.jsx(m.Button,{asChild:!0,variant:"outline",className:"w-full mb-3",children:e.jsx(j,{href:"/cart",onClick:()=>u(!1),children:t("ecommerce.view_full_cart")})}),e.jsx(m.Button,{asChild:!0,className:"w-full",children:e.jsx(j,{href:"/checkout",onClick:()=>u(!1),children:t("ecommerce.ready_to_checkout")})})]})]})})};exports.CartDrawer=O;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("@nextblock-cms/ui/badge"),o=require("@nextblock-cms/ui/button"),n=require("lucide-react"),g=require("@nextblock-cms/utils"),c=require("../cart-store.cjs.js"),d=require("../use-cart.cjs.js"),m=()=>{const i=c.useCartStore(a=>a.toggleCart),t=c.useCartTotalItems(),l=d.useCart(a=>a.isOpen)!==void 0,{t:u}=g.useTranslations(),r=u("ecommerce.open_cart_count",{count:t}),s=r==="ecommerce.open_cart_count"?`Open cart (${t} items)`:r;return l?e.jsxs(o.Button,{variant:"ghost",size:"icon",className:"relative",onClick:i,"aria-label":s,"aria-haspopup":"dialog",children:[e.jsx(n.ShoppingBag,{className:"h-5 w-5"}),t>0&&e.jsx(p.Badge,{variant:"destructive",className:"absolute -right-1 -top-1 h-4 w-4 items-center justify-center p-0 text-[10px]",children:t})]}):e.jsx(o.Button,{variant:"ghost",size:"icon",className:"relative","aria-label":s,"aria-haspopup":"dialog",children:e.jsx(n.ShoppingBag,{className:"h-5 w-5"})})};exports.CartIcon=m;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),ze=require("@nextblock-cms/ui/badge"),je=require("@nextblock-cms/ui/button"),f=require("@nextblock-cms/ui/card"),as=require("@nextblock-cms/ui/checkbox"),T=require("@nextblock-cms/ui/input"),y=require("@nextblock-cms/ui/label"),ls=require("@nextblock-cms/ui/separator"),Y=require("@nextblock-cms/ui/radio-group"),is=require("@freemius/checkout"),Ce=require("../cart-store.cjs.js"),os=require("../use-cart.cjs.js"),a=require("react"),$=require("lucide-react"),Oe=require("@nextblock-cms/utils"),ds=require("../use-price-formatter.cjs.js"),Ue=require("../countries.cjs.js"),us=require("../PaymentReadinessProvider.cjs.js"),ms=require("../server-actions/shipping-actions.cjs.js"),ps=require("../server-actions/tax-actions.cjs.js"),ve=require("../types.cjs.js"),K=require("../states.cjs.js"),U=require("../customer.cjs.js"),hs=require("../CurrencyProvider.cjs.js"),De=require("../trials.cjs.js"),xs=require("./CouponForm.cjs.js"),gs=process.env.NEXT_PUBLIC_IS_SANDBOX==="true",oe="nextblock-checkout-draft-v1";function de(t,o){return{...U.emptyCustomerAddress(),company_name:t?.company_name||"",recipient_name:t?.recipient_name||o||"",line1:t?.line1||"",line2:t?.line2||"",city:t?.city||"",state:t?.state||"",postal_code:t?.postal_code||"",country_code:Ue.normalizeCountryCode(t?.country_code)||"CA"}}function fs(t){const o=U.normalizeCustomerAddress(t);return!(!o?.country_code||!o.postal_code||K.countryUsesStructuredStates(o.country_code)&&!o.state)}function Ne(t,o,F){return t.reduce((u,g)=>{const{price:x,sale_price:w}=Ce.getCartItemActivePrice(g,{currencyCode:o,currencies:F});return u+(w??x)*g.quantity},0)}function Pe({idPrefix:t,title:o,description:F,value:u,onChange:g}){const{t:x,lang:w}=Oe.useTranslations(),q=a.useMemo(()=>{try{return new Intl.DisplayNames([w],{type:"region"})}catch{return null}},[w]),I=x("company_name")==="company_name"?"Company name":x("company_name"),W=x("select_an_option")==="select_an_option"?"Select an option":x("select_an_option"),D=x("state_province")==="state_province"?"State / Province":x("state_province"),H=K.getStatesForCountry(u.country_code),G=K.countryUsesStructuredStates(u.country_code);return e.jsxs(f.Card,{children:[e.jsxs(f.CardHeader,{children:[e.jsxs(f.CardTitle,{role:"heading","aria-level":2,className:"flex items-center gap-2",children:[e.jsx($.MapPin,{className:"w-5 h-5"}),o]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:F})]}),e.jsxs(f.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(y.Label,{htmlFor:`${t}-company`,children:I}),e.jsx(T.Input,{id:`${t}-company`,name:`${t}-company`,autoComplete:`${t} organization`,value:u.company_name,onChange:m=>g({...u,company_name:m.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-name`,children:x("full_name")}),e.jsx(T.Input,{id:`${t}-name`,name:`${t}-name`,autoComplete:`${t} name`,required:!0,value:u.recipient_name,onChange:m=>g({...u,recipient_name:m.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-country`,children:x("country")}),e.jsx("select",{id:`${t}-country`,name:`${t}-country`,autoComplete:`${t} country`,required:!0,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",value:u.country_code,onChange:m=>{const Z=m.target.value,ee=K.getStatesForCountry(Z);g({...u,country_code:Z,state:ee.some(ue=>ue.code===u.state)?u.state:""})},children:Ue.countries.map(m=>e.jsx("option",{value:m.code,children:q?.of(m.code)??m.name},m.code))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-line1`,children:x("address_line_1")}),e.jsx(T.Input,{id:`${t}-line1`,name:`${t}-line1`,autoComplete:`${t} address-line1`,required:!0,value:u.line1,onChange:m=>g({...u,line1:m.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-line2`,children:x("address_line_2")}),e.jsx(T.Input,{id:`${t}-line2`,name:`${t}-line2`,autoComplete:`${t} address-line2`,value:u.line2,onChange:m=>g({...u,line2:m.target.value})})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-city`,children:x("city")}),e.jsx(T.Input,{id:`${t}-city`,name:`${t}-city`,autoComplete:`${t} address-level2`,required:!0,value:u.city,onChange:m=>g({...u,city:m.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-state`,children:x("state_province")}),G?e.jsxs("select",{id:`${t}-state`,name:`${t}-state`,autoComplete:`${t} address-level1`,required:!0,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",value:u.state,onChange:m=>g({...u,state:m.target.value}),children:[e.jsx("option",{value:"",children:`${W}: ${D}`}),H.map(m=>e.jsx("option",{value:m.code,children:K.getSubdivisionLabel(u.country_code,m,w)},m.code))]}):e.jsx(T.Input,{id:`${t}-state`,name:`${t}-state`,autoComplete:`${t} address-level1`,value:u.state,onChange:m=>g({...u,state:m.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:`${t}-postal`,children:x("postal_zip_code")}),e.jsx(T.Input,{id:`${t}-postal`,name:`${t}-postal`,autoComplete:`${t} postal-code`,required:!0,value:u.postal_code,onChange:m=>g({...u,postal_code:m.target.value})})]})]})]})]})}function Be({title:t,description:o,badgeLabel:F,children:u}){return e.jsxs(f.Card,{children:[e.jsx(f.CardHeader,{children:e.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{children:[e.jsx(f.CardTitle,{role:"heading","aria-level":2,children:t}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:o})]}),F?e.jsx(ze.Badge,{variant:"secondary",children:F}):null]})}),e.jsx(f.CardContent,{className:"space-y-4",children:u})]})}const bs=({initialCustomer:t})=>{const o=ds.usePriceFormatter(),[F,u]=a.useState({}),[g,x]=a.useState(null),[w,q]=a.useState({}),[I,W]=a.useState(t?.email||""),[D,H]=a.useState(""),[G,m]=a.useState(t?.phone||""),[Z,ee]=a.useState(!1),[ue,ke]=a.useState(null),[we,se]=a.useState(!1),[Ke,Se]=a.useState(!1),[Ge,te]=a.useState(!1),[J,Q]=a.useState([]),[A,P]=a.useState(null),[N,re]=a.useState(null),[L,He]=a.useState(null),[C,$e]=a.useState(()=>de(t?.billingAddress,t?.fullName)),[B,Fe]=a.useState(()=>de(t?.shippingAddress??t?.billingAddress,t?.fullName)),[M,Ae]=a.useState(!t?.shippingAddress||U.addressesMatch(t?.billingAddress,t?.shippingAddress)),V=os.useCart(s=>s),{t:n,lang:me}=Oe.useTranslations(),{activeCurrencyCode:i,currencies:E}=hs.useCurrency(),Te=us.usePaymentReadiness(),_=V?.items??[],j=a.useMemo(()=>_.filter(s=>!ve.isDigitalItem(s)),[_]),k=a.useMemo(()=>_.filter(s=>ve.isDigitalItem(s)),[_]),z=t?.isAuthenticated??!1,r=(s,c,h)=>{const l=n(s,h);if(l!==s)return l;if(!h)return c;let b=c;return Object.entries(h).forEach(([p,d])=>{b=b.replace(new RegExp(`\\{${p}\\}`,"g"),String(d))}),b},v=j.length>0,Je=a.useMemo(()=>Ne(_,i,E),[i,E,_]),pe=a.useMemo(()=>Ne(j,i,E),[i,E,j]),he=a.useMemo(()=>Ne(k,i,E),[i,E,k]),xe=L?.providerDiscounts.stripe??0,ge=L?.providerDiscounts.freemius??0,ne=Math.max(0,pe-xe),Qe=Math.max(0,he-ge),S=a.useMemo(()=>M?C:B,[C,B,M]),O=a.useMemo(()=>v?S:C,[C,v,S]),ce=!v||fs(S),ae=a.useMemo(()=>J.find(s=>s.id===A),[J,A]),qe=a.useMemo(()=>ne+(ae?.amount??0)+(N&&!N.isPendingExternalCalculation?N.amount:0),[ne,ae,N]),Ve=qe+Qe;if(a.useEffect(()=>{if(!(z||typeof window>"u"))try{const s=window.localStorage.getItem(oe);if(!s)return;const c=JSON.parse(s);c.email&&W(c.email),c.phone&&m(c.phone),c.billingAddress&&$e(de(c.billingAddress)),c.shippingAddress&&Fe(de(c.shippingAddress)),typeof c.useBillingForShipping=="boolean"&&Ae(c.useBillingForShipping),(typeof c.selectedMethodId=="string"||c.selectedMethodId===null)&&P(c.selectedMethodId)}catch(s){console.error("[Checkout] Failed to restore checkout draft:",s)}},[z]),a.useEffect(()=>{if(!(typeof window>"u"))try{if(z){window.localStorage.removeItem(oe);return}window.localStorage.setItem(oe,JSON.stringify({email:I,phone:G,billingAddress:C,shippingAddress:B,useBillingForShipping:M,selectedMethodId:A}))}catch{}},[C,I,z,G,A,B,M]),a.useEffect(()=>{if(!v){Q([]),P(null),se(!1);return}if(!ce){Q([]),P(null),se(!1);return}let s=!1;const h=setTimeout(async()=>{if(S.country_code){se(!0),Se(!1);try{const l=await ms.getShippingEstimates(ne,{country:S.country_code,state:S.state,postal_code:S.postal_code},me,i);if(s)return;if(l.success&&l.methods){const b=l.methods;Q(b),P(p=>p&&b.some(d=>d.id===p)?p:b[0]?.id??null)}else Q([]),P(null)}catch(l){if(s)return;console.error("[Checkout] Failed to load shipping rates:",l),Q([]),P(null),Se(!0)}finally{s||se(!1)}}},400);return()=>{s=!0,clearTimeout(h)}},[i,v,ce,me,S.country_code,S.postal_code,S.state,ne]),a.useEffect(()=>{let s=!1;const h=setTimeout(async()=>{if(!v||!O.country_code){te(!1),re(null);return}if(K.countryUsesStructuredStates(O.country_code)&&!O.state){te(!1),re(null);return}te(!0);try{const l=await ps.getTaxEstimate(j,{country_code:O.country_code,state:O.state},i,L?.code??null,_);if(s)return;re(l.success&&l.tax?l.tax:null)}catch(l){if(s)return;console.error("[Checkout] Failed to load the tax estimate:",l),re(null)}finally{s||te(!1)}},300);return()=>{s=!0,clearTimeout(h)}},[i,v,j,O.country_code,O.state,L?.code,_]),a.useEffect(()=>{const s=c=>{c.persisted&&x(null)};return window.addEventListener("pageshow",s),()=>window.removeEventListener("pageshow",s)},[]),!V)return e.jsxs("div",{role:"status","aria-busy":"true",className:"container mx-auto px-4 py-12 md:px-6",children:[e.jsx("span",{className:"sr-only",children:n("loading")==="loading"?"Loading…":n("loading")}),e.jsxs("div",{className:"mx-auto max-w-6xl",children:[e.jsx("div",{className:"mb-8 h-9 w-48 rounded-md bg-muted"}),e.jsxs("div",{className:"grid gap-8 lg:grid-cols-12 lg:items-start",children:[e.jsxs("div",{className:"space-y-6 lg:col-span-8",children:[e.jsx("div",{className:"h-56 rounded-xl border bg-muted/40"}),e.jsx("div",{className:"h-96 rounded-xl border bg-muted/40"})]}),e.jsx("div",{className:"lg:col-span-4",children:e.jsx("div",{className:"h-72 rounded-xl border bg-muted/40"})})]})]})]});const fe=()=>{ee(!1),ke(null)},Ie=Z?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center overscroll-contain bg-black/60 backdrop-blur-sm",onClick:fe,onKeyDown:s=>{s.key==="Escape"&&fe()},children:e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-checkout-title",className:"relative bg-background border rounded-xl shadow-2xl p-8 max-w-md mx-4",onClick:s=>s.stopPropagation(),children:[e.jsx("button",{type:"button",autoFocus:!0,onClick:fe,"aria-label":r("close","Close"),className:"absolute top-4 right-4 inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring",children:e.jsx($.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($.FlaskConical,{className:"h-6 w-6 text-amber-600 dark:text-amber-400"})}),e.jsx("h2",{id:"sandbox-checkout-title",className:"text-xl font-semibold",children:n("ecommerce.checkout_successful")})]}),e.jsx("p",{className:"text-muted-foreground mb-2",children:n("ecommerce.sandbox_notice")}),e.jsx("p",{className:"text-muted-foreground mb-2",children:ue==="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:n("ecommerce.license_notice")}),e.jsx("a",{href:"https://nextblock.dev",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:n("ecommerce.purchase_at")})]})}):null,le=(s,c,h)=>(q(l=>({...l,[s]:c})),h&&document.getElementById(h)?.focus(),null),be=(s,c)=>c.recipient_name.trim()?c.line1.trim()?c.city.trim()?K.countryUsesStructuredStates(c.country_code)&&!c.state?`${s}-state`:c.postal_code.trim()?`${s}-line1`:`${s}-postal`:`${s}-city`:`${s}-line1`:`${s}-name`,Xe=s=>{if(!z&&(!I||!/^\S+@\S+\.\S+$/.test(I)))return H(n("ecommerce.invalid_email")),le(s,n("ecommerce.invalid_email"),"checkout-email");const c=U.normalizeCustomerAddress(C);if(!U.isCustomerAddressComplete(c))return le(s,n("checkout_complete_billing_address"),be("billing",C));const h=v?U.normalizeCustomerAddress(M?C:B):null;if(s==="stripe"){if(!U.isCustomerAddressComplete(h))return le(s,n("checkout_complete_shipping_address"),M?be("billing",C):be("shipping",B));if(!A)return le(s,r("ecommerce.shipping_method_required","Please select a shipping method before continuing."))}return H(""),{normalizedBillingAddress:c,normalizedShippingAddress:h}},Le=async(s,c,h)=>{q(b=>({...b,[s]:""}));const l=Xe(s);if(l){if(gs){const b=new Set(c.map(d=>d.id)),p=_.filter(d=>!b.has(d.id));if(V.setItems(p),p.length===0&&V.removeCoupon(),ke(s),ee(!0),typeof window<"u"&&p.length===0)try{window.localStorage.removeItem(oe)}catch{}return}x(h);try{const b=await fetch("/api/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:c,customerEmail:z?void 0:I,customerPhone:G||null,billingAddress:l.normalizedBillingAddress,shippingAddress:s==="stripe"?l.normalizedShippingAddress:null,shippingMethodId:s==="stripe"?A:null,locale:me,currencyCode:i,couponCode:L?.code??V.appliedCoupon?.code??null,couponContextItems:_})}),p=await b.json();if(!b.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||n("ecommerce.generic_error");q(X=>({...X,[s]:d})),x(null);return}if(p.customProps&&p.customProps.provider==="freemius"){const d=p.customProps;let X=null;const ts=()=>{window.location.href=`/checkout/success?session_id=${d.order_id}`},Re=R=>(X||(X=fetch("/api/checkout/freemius/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderId:d.order_id,checkoutResponse:R})}).then(async ie=>{if(!ie.ok){const cs=await ie.json().catch(()=>null);console.error("Freemius checkout sync failed:",cs)}})),X),rs={product_id:d.plugin_id,public_key:d.public_key,sandbox:d.sandbox},ns={name:n("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(R){Re(R)},success:function(R){(async()=>{try{await Re(R)}finally{ts()}})()}};try{new is.Checkout(rs).open(ns),x(null)}catch(R){console.error("[Checkout] Freemius overlay failed to open:",R),q(ie=>({...ie,[s]:n("ecommerce.checkout_popup_blocked")})),p.url&&(window.location.href=p.url),x(null)}}else p.url?window.location.href=p.url:(q(d=>({...d,[s]:n("ecommerce.checkout_failed")+(p.error||r("ecommerce.unknown_error","Unknown error"))})),x(null))}catch(b){console.error(b),q(p=>({...p,[s]:n("ecommerce.generic_error")})),x(null)}}};if(_.length===0)return e.jsxs(e.Fragment,{children:[Ie,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:n("ecommerce.cart_empty")}),e.jsx("p",{className:"mb-8 text-muted-foreground",children:n("ecommerce.cart_empty_description")}),e.jsx(je.Button,{asChild:!0,children:e.jsx("a",{href:"/shop",children:n("ecommerce.go_to_shop")})})]})]});const Me=r("ecommerce.checkout_payments_unavailable","This store is not able to take payments right now. Please contact the seller to complete your purchase."),Ee=Te.stripe?null:Me,ye=Te.freemius?null:Me,_e=Ee||(v?ce?we?r("ecommerce.calculating_shipping","Calculating shipping..."):A?null:J.length>0?n("ecommerce.select_rate"):n("ecommerce.no_rates_for_region"):r("ecommerce.waiting_on_address_info","Complete your shipping address to view available shipping options."):null),Ye=g!==null||_e!==null,We=j.length===1?r("ecommerce.item_count_one","{count} item",{count:j.length}):r("ecommerce.item_count_other","{count} items",{count:j.length}),Ze=k.length===1?r("ecommerce.license_count_one","{count} license",{count:k.length}):r("ecommerce.license_count_other","{count} licenses",{count:k.length}),es=s=>ve.isDigitalItem(s)?r("ecommerce.digital_label","Digital"):r("ecommerce.physical_label","Physical"),ss=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:[Ie,e.jsxs("div",{className:"mx-auto max-w-6xl",children:[e.jsx("h1",{className:"mb-8 text-3xl font-bold",children:n("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(f.Card,{children:[e.jsx(f.CardHeader,{children:e.jsxs(f.CardTitle,{role:"heading","aria-level":2,className:"flex items-center gap-2",children:[e.jsx($.CreditCard,{className:"w-5 h-5"}),n("ecommerce.contact_information")]})}),e.jsxs(f.CardContent,{className:"space-y-4",children:[z?e.jsx("div",{className:"rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground",children:n("checkout_prefill_notice",{email:t?.email||""})}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs(y.Label,{htmlFor:"checkout-email",children:[n("ecommerce.email_address")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(T.Input,{id:"checkout-email",name:"email",type:"email",autoComplete:"email",spellCheck:!1,"aria-invalid":D?!0:void 0,"aria-describedby":D?"checkout-email-error":void 0,placeholder:n("ecommerce.email_placeholder"),value:I,onChange:s=>{W(s.target.value),D&&H("")},required:!0}),D?e.jsx("p",{id:"checkout-email-error",role:"alert",className:"text-xs text-destructive mt-1",children:D}):null]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(y.Label,{htmlFor:"checkout-phone",children:n("phone_number")}),e.jsx(T.Input,{id:"checkout-phone",name:"phone",type:"tel",inputMode:"tel",autoComplete:"tel",placeholder:n("optional"),value:G,onChange:s=>m(s.target.value)})]})]})]}),e.jsx(Pe,{idPrefix:"billing",title:n("billing_address"),description:n("checkout_billing_address_help"),value:C,onChange:$e}),v?e.jsxs("div",{className:"flex items-center space-x-3 rounded-xl border bg-muted/20 p-4",children:[e.jsx(as.Checkbox,{id:"use-billing-for-shipping",checked:M,onCheckedChange:s=>Ae(!!s)}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(y.Label,{htmlFor:"use-billing-for-shipping",className:"cursor-pointer",children:n("use_billing_for_shipping")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n("checkout_use_billing_for_shipping_help")})]})]}):null,v&&!M?e.jsx(Pe,{idPrefix:"shipping",title:n("shipping_address"),description:n("checkout_shipping_address_help"),value:B,onChange:Fe}):null,v?e.jsxs(f.Card,{children:[e.jsx(f.CardHeader,{children:e.jsxs(f.CardTitle,{role:"heading","aria-level":2,className:"flex items-center gap-2",children:[e.jsx($.ChevronRight,{className:"w-5 h-5 text-primary"}),n("ecommerce.shipping_method")]})}),e.jsx(f.CardContent,{children:we?e.jsxs("div",{role:"status",className:"flex items-center justify-center py-6",children:[e.jsx($.Loader2,{className:"w-6 h-6 animate-spin text-muted-foreground"}),e.jsx("span",{className:"sr-only",children:r("ecommerce.calculating_shipping","Calculating shipping…")})]}):Ke?e.jsx("div",{role:"alert",className:"rounded-lg bg-destructive/10 px-4 py-3 text-center text-sm text-destructive",children:r("ecommerce.shipping_calculation_failed","We couldn't calculate shipping right now. Please try again.")}):J.length>0?e.jsx(Y.RadioGroup,{value:A??"",onValueChange:P,"aria-label":n("ecommerce.shipping_method"),className:"space-y-3",children:J.map(s=>e.jsxs(y.Label,{htmlFor:`shipping-method-${s.id}`,className:`flex items-center justify-between gap-3 p-4 rounded-lg border-2 cursor-pointer transition-colors ${A===s.id?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/40"}`,children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(Y.RadioGroupItem,{id:`shipping-method-${s.id}`,value:s.id}),e.jsx("span",{className:"font-medium break-words",children:s.name})]}),e.jsx("span",{className:"font-bold tabular-nums",children:o(s.amount,i)})]},s.id))}):e.jsx("div",{className:"py-4 text-center text-muted-foreground bg-muted/30 rounded-lg italic",children:ce?n("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(f.Card,{className:"top-6",children:[e.jsx(f.CardHeader,{children:e.jsx(f.CardTitle,{role:"heading","aria-level":2,children:n("ecommerce.order_summary")})}),e.jsxs(f.CardContent,{className:"space-y-4",children:[e.jsx("div",{className:"space-y-3 max-h-[260px] overflow-y-auto pr-2",children:_.map(s=>{const c=Ce.getCartItemActivePrice(s,{currencyCode:i,currencies:E}),h=De.getTrialSummary(s,n);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(ze.Badge,{variant:"outline",className:"text-[9px] uppercase",children:es(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:[n("ecommerce.qty"),": ",s.quantity]}),h?e.jsxs("span",{className:"text-[10px] font-medium text-emerald-700",children:[h.label," - ",h.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:o((c.sale_price??c.price)*s.quantity,i)}),c.sale_price?e.jsx("span",{className:"text-[9px] text-muted-foreground line-through",children:o(c.price*s.quantity,i)}):null]})]},`${s.id}-${s.variant_id||"base"}`)})}),e.jsx(ls.Separator,{}),e.jsx(xs.CouponForm,{items:_,currencyCode:i,onQuoteChange:He}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:n("ecommerce.subtotal")}),e.jsx("span",{children:o(Je,i)})]}),j.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:o(pe,i)})]}):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:o(he,i)})]}):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:["-",o(L.discountTotal,i)]})]}):null,(j.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:o(Ve,i)})]})]})]})]}),j.length>0?e.jsxs(Be,{title:r("ecommerce.stripe_checkout_title","Stripe Checkout"),description:r("ecommerce.stripe_checkout_description","Pay for physical products in one Stripe checkout session."),badgeLabel:We,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:o(pe,i)})]}),xe>0?e.jsxs("div",{className:"flex justify-between text-emerald-600",children:[e.jsx("span",{children:r("ecommerce.discount","Discount")}),e.jsxs("span",{children:["-",o(xe,i)]})]}):null,e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:n("ecommerce.shipping")}),e.jsx("span",{children:ae?o(ae.amount,i):"-"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{children:r("ecommerce.tax","Tax")}),e.jsx("span",{children:Ge?"...":N?.isPendingExternalCalculation?r("ecommerce.tax_calculated_on_stripe","Calculated on Stripe"):N?o(N.amount,i):"-"})]}),N&&N.lines.length>0?e.jsx("div",{className:"rounded-lg bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:N.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:o(s.amount,i)})]},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:o(qe,i)})]})]}),e.jsxs(je.Button,{className:"w-full",size:"lg",onClick:()=>Le("stripe",j,"stripe"),disabled:Ye,children:[g==="stripe"?e.jsx($.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx($.Package,{className:"mr-2 h-4 w-4"}),g==="stripe"?n("ecommerce.processing"):r("ecommerce.checkout_physical_products","Checkout Physical Products")]}),_e&&g===null?e.jsx("p",{className:"text-[11px] text-muted-foreground",children:_e}):null,w.stripe?e.jsx("div",{role:"alert",className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:w.stripe}):null,e.jsx("p",{className:"text-[11px] text-muted-foreground",children:N?.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(Be,{title:r("ecommerce.freemius_checkout_title","Freemius Checkout"),description:r("ecommerce.freemius_checkout_description","Digital products use the Freemius checkout flow."),badgeLabel:Ze,children:[e.jsx("div",{className:"space-y-3",children:k.map(s=>{const c=Ce.getCartItemActivePrice(s,{currencyCode:i,currencies:E}),h=De.getTrialSummary(s,n),l=`freemius:${s.id}`,b=h?F[l]||"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:ss(s.billing_cycle)}):null,h?e.jsxs("p",{className:"text-xs font-medium text-emerald-700",children:[h.label," - ",h.paymentRequirementLabel]}):null]}),e.jsx("span",{className:"font-medium",children:o(c.sale_price??c.price,i)})]}),h&&!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(Y.RadioGroup,{value:F[l]||"paid",onValueChange:p=>u(d=>({...d,[l]:p})),className:"gap-3",children:[e.jsxs("div",{className:"flex items-start space-x-3",children:[e.jsx(Y.RadioGroupItem,{value:"paid",id:`${l}-paid`,className:"mt-1"}),e.jsxs("div",{className:"grid gap-1.5",children:[e.jsx(y.Label,{htmlFor:`${l}-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(Y.RadioGroupItem,{value:"free",id:`${l}-free`,className:"mt-1"}),e.jsx("div",{className:"grid gap-1.5",children:e.jsx(y.Label,{htmlFor:`${l}-free`,className:"font-medium leading-none cursor-pointer",children:r("ecommerce.freemius_trial_no_card","Start Free Trial (No card required)")})})]})]})]}),e.jsxs(je.Button,{className:"w-full h-auto min-h-[2.75rem] py-2",onClick:()=>Le("freemius",[{...s,...b?{trial_preference:b}:{}}],l),disabled:g!==null||ye!==null,children:[g===l?e.jsx($.Loader2,{className:"mr-2 h-4 w-4 shrink-0 animate-spin"}):e.jsx($.Download,{className:"mr-2 h-4 w-4 shrink-0"}),e.jsx("span",{className:"whitespace-normal text-left",children:g===l?n("ecommerce.processing"):k.length>1?r("ecommerce.checkout_product","Checkout {title}",{title:s.title}):r("ecommerce.checkout_digital_product","Checkout Digital Product")})]})]},l)})}),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:o(he,i)})]}),ge>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:["-",o(ge,i)]})]}):null,ye?e.jsx("div",{className:"rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-xs",children:ye}):null,w.freemius?e.jsx("div",{role:"alert",className:"rounded-lg border border-destructive/20 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:w.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=bs;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),I=require("@nextblock-cms/ui/badge"),K=require("@nextblock-cms/ui/button"),R=require("@nextblock-cms/ui/input"),$=require("@nextblock-cms/ui/label"),w=require("lucide-react"),z=require("@nextblock-cms/utils"),P=require("../use-price-formatter.cjs.js"),F=require("../coupons.cjs.js"),q=require("../use-cart.cjs.js"),T=require("../server-actions/coupon-actions.cjs.js");function V({items:c,currencyCode:i,onQuoteChange:l,compact:d=!1}){const x=q.useCart(e=>e.appliedCoupon),p=q.useCart(e=>e.setAppliedCoupon),s=q.useCart(e=>e.removeCoupon),{t:N}=z.useTranslations(),S=P.usePriceFormatter(),[h,A]=r.useState(""),[a,m]=r.useState(null),[b,u]=r.useState(""),[j,k]=r.useState(!1),f=r.useRef(null),_=r.useMemo(()=>c.map(e=>`${e.product_id}:${e.variant_id||"base"}:${e.quantity}`).sort().join("|"),[c]),n=r.useCallback((e,C)=>{const v=N(e);return v===e?C:v},[N]),y=r.useCallback(e=>`${F.normalizeCouponCode(e)}:${i}:${_}`,[_,i]),g=r.useCallback(async(e,C)=>{const v=F.normalizeCouponCode(e);if(!v){u(n("ecommerce.coupon_code_required","Enter a coupon code."));return}k(!0),u("");try{const t=await T.getCouponQuoteAction({code:v,items:c,currencyCode:i});if(!t.success){m(null),l?.(null),s?.(),u(t.errorKey?n(t.errorKey,t.error):t.error);return}f.current=y(t.quote.code),m(t.quote),l?.(t.quote),C?.silent||(p?.({code:t.quote.code,couponId:t.quote.couponId}),A("")),C?.silent||u("")}catch(t){console.error("Failed to validate coupon:",t),f.current=null,m(null),l?.(null),u(n("ecommerce.coupon_validation_failed","Failed to validate coupon."))}finally{k(!1)}},[s,i,y,c,l,p,n]);if(r.useEffect(()=>{if(!p||!s)return;if(!x||c.length===0){f.current=null,m(null),l?.(null);return}const e=y(x.code);f.current!==e&&(f.current=e,g(x.code,{silent:!0}))},[x?.code,g,s,y,c.length,l,p]),!p||!s)return null;const E=()=>{s(),m(null),l?.(null),u("")};return o.jsxs("div",{className:d?"space-y-2":"rounded-lg border bg-muted/10 p-4 space-y-3",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs($.Label,{htmlFor:d?"coupon-code-compact":"coupon-code",className:"flex items-center gap-2 text-sm font-medium",children:[o.jsx(w.Tag,{className:"h-4 w-4"}),n("ecommerce.coupon","Coupon")]}),a?o.jsxs(I.Badge,{variant:"secondary",className:"gap-1",children:[a.code,o.jsx("button",{type:"button",onClick:E,"aria-label":n("ecommerce.remove_coupon","Remove coupon {code}").replace("{code}",a.code),className:"-mr-1 inline-flex h-6 w-6 items-center justify-center rounded-full focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring",children:o.jsx(w.X,{className:"h-3 w-3"})})]}):null]}),a?o.jsxs("div",{className:"flex items-center justify-between gap-3 text-sm",children:[o.jsx("span",{className:"min-w-0 truncate text-muted-foreground",children:a.name}),o.jsx("span",{className:"shrink-0 font-medium tabular-nums text-emerald-600 dark:text-emerald-400",children:S(-a.discountTotal,i)})]}):o.jsxs("div",{className:"flex gap-2",children:[o.jsx(R.Input,{id:d?"coupon-code-compact":"coupon-code",name:"coupon",autoComplete:"off",autoCapitalize:"characters",spellCheck:!1,"aria-invalid":b?!0:void 0,"aria-describedby":b?d?"coupon-error-compact":"coupon-error":void 0,value:h,onChange:e=>A(e.target.value),placeholder:n("ecommerce.coupon_placeholder","SAVE10…"),className:"uppercase",onKeyDown:e=>{e.key==="Enter"&&!j&&(e.preventDefault(),g(h))}}),o.jsx(K.Button,{type:"button",variant:"outline",disabled:j||c.length===0,onClick:()=>{g(h)},children:j?n("ecommerce.applying","Applying…"):n("ecommerce.apply","Apply")})]}),b?o.jsx("p",{id:d?"coupon-error-compact":"coupon-error",role:"alert",className:"text-xs text-destructive",children:b}):null]})}exports.CouponForm=V;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@nextblock-cms/ui/select"),o=require("@nextblock-cms/utils"),i=require("../CurrencyProvider.cjs.js");function a(){const{activeCurrencyCode:t,currencies:n,setActiveCurrencyCode:u}=i.useCurrency(),{t:l}=o.useTranslations(),s=l("ecommerce.currency")==="ecommerce.currency"?"Currency":l("ecommerce.currency");return n.length<=1?null:e.jsxs(r.Select,{value:t,onValueChange:u,children:[e.jsx(r.SelectTrigger,{"aria-label":s,className:"h-9 w-[88px] text-xs font-semibold",children:e.jsx(r.SelectValue,{placeholder:t})}),e.jsx(r.SelectContent,{children:n.map(c=>e.jsx(r.SelectItem,{value:c.code,children:c.code},c.code))})]})}exports.CurrencySwitcher=a;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),z=require("react-hook-form"),M=require("./AccountNavigationMenu.cjs.js"),w=require("@nextblock-cms/ui/avatar"),W=require("@nextblock-cms/ui/button"),i=require("@nextblock-cms/ui/card"),H=require("@nextblock-cms/ui/checkbox"),n=require("@nextblock-cms/ui/input"),a=require("@nextblock-cms/ui/label"),d=require("@nextblock-cms/ui/select"),O=require("@nextblock-cms/ui/separator"),G=require("../server-actions/customer-actions.cjs.js"),f=require("../customer.cjs.js"),J=require("@nextblock-cms/db"),y=require("lucide-react"),R=require("@nextblock-cms/utils"),T=require("../countries.cjs.js");function K(s){return s?s.startsWith("http")?s:process.env.NEXT_PUBLIC_R2_BASE_URL?`${process.env.NEXT_PUBLIC_R2_BASE_URL}/${s}`:process.env.NEXT_PUBLIC_SUPABASE_URL?`${process.env.NEXT_PUBLIC_SUPABASE_URL}/storage/v1/object/public/media/${s}`:s:null}function $(s){return{company_name:s?.company_name||"",recipient_name:s?.recipient_name||"",line1:s?.line1||"",line2:s?.line2||"",city:s?.city||"",state:s?.state||"",postal_code:s?.postal_code||"",country_code:T.normalizeCountryCode(s?.country_code)||"CA"}}function q({prefix:s,title:_,register:c}){const{t}=R.useTranslations(),v=t("company_name")==="company_name"?"Company name":t("company_name");return e.jsxs("div",{className:"space-y-4 rounded-xl border p-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:_}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("profile_address_defaults_help")})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-company_name`,children:v}),e.jsx(n.Input,{id:`${s}-company_name`,...c(`${s}.company_name`)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-recipient_name`,children:t("full_name")}),e.jsx(n.Input,{id:`${s}-recipient_name`,...c(`${s}.recipient_name`)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-country_code`,children:t("country")}),e.jsx("select",{id:`${s}-country_code`,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",...c(`${s}.country_code`),children:T.countries.map(o=>e.jsx("option",{value:o.code,children:o.name},o.code))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-line1`,children:t("address_line_1")}),e.jsx(n.Input,{id:`${s}-line1`,...c(`${s}.line1`)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-line2`,children:t("address_line_2")}),e.jsx(n.Input,{id:`${s}-line2`,...c(`${s}.line2`)})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-city`,children:t("city")}),e.jsx(n.Input,{id:`${s}-city`,...c(`${s}.city`)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-state`,children:t("state_province")}),e.jsx(n.Input,{id:`${s}-state`,...c(`${s}.state`)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(a.Label,{htmlFor:`${s}-postal_code`,children:t("postal_zip_code")}),e.jsx(n.Input,{id:`${s}-postal_code`,...c(`${s}.postal_code`)})]})]})]})}function Q({initialData:s,MediaPickerComponent:_,isAdmin:c,email:t,accountLinks:v,onAction:o,initialSuccessMessage:x,lockRole:A,lockRoleReason:B}){const{t:l}=R.useTranslations(),[F,L]=b.useState(!1),[N,C]=b.useState(x?{type:"success",text:x}:null),P=s?.use_billing_for_shipping??(!s?.shipping_address||f.addressesMatch(s?.billing_address,s?.shipping_address)),{register:m,handleSubmit:k,setValue:g,getValues:S,watch:u,reset:I}=z.useForm({defaultValues:{full_name:s?.full_name||"",avatar_url:s?.avatar_url||"",website:s?.website||"",phone:s?.phone||"",role:s?.role,use_billing_for_shipping:P,billing_address:$(s?.billing_address),shipping_address:$(s?.shipping_address)}});b.useEffect(()=>{s&&I({full_name:s.full_name||"",avatar_url:s.avatar_url||"",website:s.website||"",phone:s.phone||"",role:s.role,use_billing_for_shipping:s.use_billing_for_shipping??(!s.shipping_address||f.addressesMatch(s.billing_address,s.shipping_address)),billing_address:$(s.billing_address),shipping_address:$(s.shipping_address)})},[s,I]),b.useEffect(()=>{x&&C({type:"success",text:x})},[x]),b.useEffect(()=>{const r=J.createClient();(async()=>{const{data:{user:j}}=await r.auth.getUser();j&&!S("full_name")&&j.user_metadata?.full_name&&g("full_name",j.user_metadata.full_name)})()},[S,g]);const V=r=>{const p=K(r?.object_key??r?.file_path);p&&g("avatar_url",p)},X=async r=>{L(!0),C(null);const p=f.normalizeCustomerAddress(r.billing_address)??f.emptyCustomerAddress(),j=r.use_billing_for_shipping?p:f.normalizeCustomerAddress(r.shipping_address);try{const h={...r,billing_address:p,shipping_address:j};if(o){const U=await o(h);if(U?.error)throw new Error(U.error)}else await G.updateProfile(h);C({type:"success",text:l("profile_updated_success")})}catch(h){if(h.message==="NEXT_REDIRECT"||h.message?.includes("NEXT_REDIRECT"))return;console.error(h),C({type:"error",text:l("profile_update_failed")})}finally{L(!1)}},E=u("use_billing_for_shipping");return e.jsxs("div",{className:"grid gap-6 md:grid-cols-12 max-w-5xl mx-auto",children:[e.jsxs(i.Card,{className:"md:col-span-4 h-fit",children:[e.jsx(i.CardHeader,{children:e.jsx(i.CardTitle,{className:"text-xl",children:l("public_profile")})}),e.jsxs(i.CardContent,{className:"flex flex-col items-center text-center space-y-4",children:[e.jsxs("div",{className:"relative group",children:[e.jsxs(w.Avatar,{className:"h-32 w-32 border-4 border-muted",children:[e.jsx(w.AvatarImage,{src:u("avatar_url")||void 0,alt:u("full_name")||"",className:"object-cover"}),e.jsx(w.AvatarFallback,{className:"text-4xl bg-secondary",children:u("full_name")?.charAt(0)?.toUpperCase()||e.jsx(y.User,{className:"h-12 w-12"})})]}),_&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 [@media(hover:none)]:opacity-100 transition-opacity bg-black/40 rounded-full cursor-pointer",children:e.jsx(_,{triggerLabel:e.jsxs(e.Fragment,{children:[e.jsx(y.Upload,{className:"h-6 w-6 text-white"}),e.jsx("span",{className:"sr-only",children:l("profile_change_avatar")==="profile_change_avatar"?"Change profile picture":l("profile_change_avatar")})]}),triggerVariant:"ghost",title:l("customer_profile"),onSelect:V,accept:r=>r.file_type.startsWith("image/"),hideTrigger:!1})})]}),!_&&e.jsxs("div",{className:"w-full",children:[e.jsx(a.Label,{htmlFor:"avatar_url",className:"sr-only",children:l("avatar_url")}),e.jsx(n.Input,{id:"avatar_url",type:"url",autoComplete:"off",...m("avatar_url"),placeholder:"https://…",className:"mt-2"})]}),e.jsxs("div",{className:"w-full space-y-1 text-left mt-4",children:[e.jsx("div",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wider",children:l("identity")}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{className:"font-semibold text-lg",children:u("full_name")||l("full_name")})})]}),v?.length?e.jsx(M.AccountNavigationMenu,{links:v,className:"mt-2 text-left"}):null]})]}),e.jsx(i.Card,{className:"md:col-span-8",children:e.jsxs("form",{onSubmit:k(X),children:[e.jsx(i.CardHeader,{children:e.jsx(i.CardTitle,{children:l("details")})}),e.jsxs(i.CardContent,{className:"space-y-6",children:[t&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs(a.Label,{htmlFor:"email",children:[l("email")==="email"?"Email":l("email")," (",l("read_only")==="read_only"?"read-only":l("read_only"),")"]}),e.jsx(n.Input,{id:"email",value:t,readOnly:!0,disabled:!0,className:"bg-muted/50"})]}),e.jsx("div",{className:"rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground",children:l("profile_basic_info_help")}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(a.Label,{htmlFor:"full_name",className:"flex items-center gap-2",children:[e.jsx(y.User,{className:"h-4 w-4"})," ",l("full_name")]}),e.jsx(n.Input,{id:"full_name",autoComplete:"name",...m("full_name")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(a.Label,{htmlFor:"phone",className:"flex items-center gap-2",children:[e.jsx(y.Phone,{className:"h-4 w-4"})," ",l("phone_number")]}),e.jsx(n.Input,{id:"phone",type:"tel",inputMode:"tel",autoComplete:"tel",...m("phone")})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(a.Label,{htmlFor:"website",className:"flex items-center gap-2",children:[e.jsx(y.Globe,{className:"h-4 w-4"})," ",l("website")]}),e.jsx(n.Input,{id:"website",type:"url",autoComplete:"url",...m("website"),placeholder:"https://example.com"})]}),e.jsx(O.Separator,{className:"my-2"}),e.jsx(q,{prefix:"billing_address",title:l("billing_address"),register:m}),e.jsxs("div",{className:"flex items-center space-x-3 rounded-lg border p-4",children:[e.jsx(H.Checkbox,{id:"use_billing_for_shipping",checked:!!E,onCheckedChange:r=>g("use_billing_for_shipping",!!r,{shouldDirty:!0})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(a.Label,{htmlFor:"use_billing_for_shipping",className:"cursor-pointer",children:l("use_billing_for_shipping")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:l("profile_use_billing_for_shipping_help")})]})]}),!E&&e.jsx(q,{prefix:"shipping_address",title:l("shipping_address"),register:m}),N&&e.jsx("div",{role:N.type==="error"?"alert":"status",className:`mt-4 rounded-xl border p-4 text-sm ${N.type==="success"?"border-emerald-200 bg-emerald-50 text-emerald-700":"border-red-200 bg-red-50 text-red-700"}`,children:N.text}),c&&e.jsxs("div",{className:"border-t pt-4 mt-4",children:[e.jsx("h3",{className:"text-sm font-medium mb-3",children:"Admin Settings"}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx(a.Label,{htmlFor:"role",children:"Role"}),e.jsxs(d.Select,{value:u("role")||"USER",onValueChange:r=>g("role",r),disabled:A,children:[e.jsx(d.SelectTrigger,{children:e.jsx(d.SelectValue,{placeholder:"Select role"})}),e.jsxs(d.SelectContent,{children:[e.jsx(d.SelectItem,{value:"USER",children:"User"}),e.jsx(d.SelectItem,{value:"WRITER",children:"Writer"}),e.jsx(d.SelectItem,{value:"ADMIN",children:"Admin"})]})]}),A&&e.jsx("p",{className:"text-xs text-muted-foreground",children:B||"This is the only Admin account, so its role can't be changed. Promote another user to Admin first."})]})]})]}),e.jsx(i.CardFooter,{className:"flex justify-end",children:e.jsx(W.Button,{type:"submit",disabled:F,size:"lg",children:l(F?"saving":"save_changes")})})]})})]})}exports.CustomerProfileForm=Q;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),g=require("./AddToCartButton.cjs.js"),v=require("./ShortDescription.cjs.js"),n=require("@nextblock-cms/utils"),b=require("../use-price-formatter.cjs.js"),m=require("next/link"),j=require("../CurrencyProvider.cjs.js"),x=require("../currency.cjs.js"),_=require("../trials.cjs.js"),y=({product:e,className:u,imagePosition:h="left"})=>{const t=b.usePriceFormatter(),{t:i}=n.useTranslations(),{activeCurrencyCode:s,currencies:o}=j.useCurrency(),l=x.resolvePriceRangeForCurrency({entries:e.variants?.length?e.variants:e.product_variants?.length?e.product_variants:[],currencyCode:s,currencies:o}),d=!!(e.has_variants&&l),a=x.resolveEffectivePriceForCurrency({prices:e.prices,salePrices:e.sale_prices,fallbackPrice:e.price,fallbackSalePrice:e.sale_price,saleStartAt:e.sale_start_at,saleEndAt:e.sale_end_at,scheduledPrice:e.scheduled_price,scheduledPrices:e.scheduled_prices,scheduledPriceAt:e.scheduled_price_at,currencyCode:s,currencies:o}),f=d&&l?l.min===l.max?t(l.min,s):`${t(l.min,s)} - ${t(l.max,s)}`:t(a.sale_price??a.price,s),c=_.getTrialSummary(e,i);return r.jsx("div",{className:n.cn("overflow-hidden rounded-xl border bg-card shadow-sm",u),children:r.jsxs("div",{className:n.cn("flex flex-col gap-8 md:flex-row",h==="right"&&"md:flex-row-reverse"),children:[r.jsx("div",{className:"relative aspect-square w-full md:w-1/2",children:e.image_url?r.jsx("img",{src:e.image_url,alt:e.title,width:800,height:800,loading:"lazy",decoding:"async",className:"h-full w-full object-cover"}):r.jsx("div",{className:"flex h-full w-full items-center justify-center bg-secondary text-muted-foreground",children:i("ecommerce.no_image")})}),r.jsxs("div",{className:"flex flex-1 flex-col justify-center p-6 md:p-12",children:[r.jsx(m,{href:`/product/${e.slug}`,children:r.jsx("h2",{className:"mb-4 text-3xl font-bold tracking-tight hover:underline md:text-4xl",children:e.title})}),r.jsxs("div",{className:"mb-6 flex items-baseline gap-3",children:[r.jsx("span",{className:"text-3xl font-bold text-primary",children:f}),!d&&a.sale_price&&r.jsx("span",{className:"text-lg text-muted-foreground line-through",children:t(a.price,s)})]}),c&&r.jsxs("div",{className:"mb-6 inline-flex w-fit flex-col rounded-md border border-emerald-200 bg-emerald-50 px-3 py-2 text-sm text-emerald-900",children:[r.jsx("span",{className:"font-semibold",children:c.label}),r.jsx("span",{className:"text-emerald-700",children:c.paymentRequirementLabel})]}),r.jsx(v.ShortDescription,{value:e.short_description,className:"mb-8 text-lg text-muted-foreground"}),r.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row",children:[r.jsx(g.AddToCartButton,{product:e,className:"h-12 w-full px-8 text-lg sm:w-auto"}),r.jsx(m,{href:`/product/${e.slug}`,className:"inline-flex h-12 items-center justify-center rounded-md border border-input bg-background px-8 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground",children:i("ecommerce.view_details")})]})]})]})})};exports.FeaturedProduct=y;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),r=require("lucide-react"),x=require("@nextblock-cms/ui/button"),p=require("@nextblock-cms/utils"),a=require("../invoice-ui.cjs.js"),f=require("../invoice.cjs.js");function y({license:s}){const{t,lang:o}=p.useTranslations(),[l,n]=u.useState(!1);if(!s)return null;const m=a.getInvoiceLocale(o),c=s.expiration??s.trialEndsAt,i=c?f.formatInvoiceDate(c,m):null,d=async()=>{if(!(!s.licenseKey||typeof navigator>"u"||!navigator.clipboard))try{await navigator.clipboard.writeText(s.licenseKey),n(!0),window.setTimeout(()=>n(!1),2e3)}catch{}};return e.jsxs("div",{className:"mb-6 rounded-2xl border border-primary/30 bg-primary/5 p-5 print:hidden",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r.KeyRound,{className:"h-5 w-5 text-primary"}),e.jsx("h2",{className:"text-lg font-semibold",children:a.translateOrFallback(t,"ecommerce.license_panel_title","Your license")})]}),s.licenseKey?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:a.translateOrFallback(t,"ecommerce.license_panel_help","Activate this key in your NextBlock install under Settings → Packages.")}),e.jsxs("div",{className:"mt-3 flex flex-col gap-2 sm:flex-row sm:items-center",children:[e.jsx("code",{translate:"no",className:"flex-1 select-all overflow-x-auto rounded-lg border bg-background px-3 py-2 font-mono text-sm",children:s.licenseKey}),e.jsxs(x.Button,{type:"button",variant:"default",onClick:d,className:"shrink-0",children:[l?e.jsx(r.Check,{className:"mr-2 h-4 w-4"}):e.jsx(r.Copy,{className:"mr-2 h-4 w-4"}),l?a.translateOrFallback(t,"ecommerce.license_copied","Copied"):a.translateOrFallback(t,"ecommerce.license_copy","Copy key")]})]})]}):e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:a.translateOrFallback(t,"ecommerce.license_panel_email_fallback","Your license key was sent to your email. It will also appear here once your purchase is confirmed.")}),e.jsxs("dl",{className:"mt-4 grid gap-x-6 gap-y-1 text-xs text-muted-foreground sm:grid-cols-2",children:[e.jsxs("div",{className:"flex justify-between gap-3 sm:block",children:[e.jsx("dt",{className:"font-medium",children:a.translateOrFallback(t,"ecommerce.license_number","License #")}),e.jsx("dd",{className:"font-mono",children:s.licenseId})]}),i?e.jsxs("div",{className:"flex justify-between gap-3 sm:block",children:[e.jsx("dt",{className:"font-medium",children:s.isCancelled?a.translateOrFallback(t,"ecommerce.license_expires","Expires"):s.trialEndsAt?a.translateOrFallback(t,"ecommerce.license_trial_ends","Trial ends"):a.translateOrFallback(t,"ecommerce.license_renews","Renews / expires")}),e.jsx("dd",{children:i})]}):null]})]})}exports.FreemiusLicensePanel=y;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("next/image"),n=require("../invoice.cjs.js"),l=require("../order-tax-details.cjs.js");function y({data:t,labels:r,locale:i="en-US",className:c=""}){const m=n.getInvoiceAddressLines(t.settings.address),u=n.getInvoiceAddressLines(t.order.customer_details?.billing),h=n.getInvoiceAddressLines(t.order.customer_details?.shipping);return e.jsxs("section",{className:`rounded-2xl border bg-white text-slate-900 shadow-sm print:rounded-none print:border-0 print:text-[10px] print:shadow-none ${c}`,children:[e.jsx("div",{className:"border-b px-6 py-6 print:px-0",children:e.jsxs("div",{className:"grid gap-6 md:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] md:items-start print:grid-cols-[minmax(0,1fr)_72px_280px] print:items-start print:gap-4",children:[e.jsxs("div",{className:"order-2 max-w-md space-y-4 print:order-none print:max-w-none print:space-y-2 md:order-none",children:[e.jsxs("div",{className:"space-y-1 text-sm print:text-[10px]",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.2em] text-slate-500",children:r.from}),t.settings.businessName?e.jsx("p",{className:"text-base font-semibold",children:t.settings.businessName}):null,m.map((s,p)=>e.jsx("p",{children:s},`seller-${p}-${s}`)),t.settings.email?e.jsx("p",{children:t.settings.email}):null,t.settings.phone?e.jsx("p",{children:t.settings.phone}):null]}),t.settings.taxRegistrations.length>0?e.jsxs("div",{className:"rounded-xl border bg-slate-50 px-4 py-3 text-sm print:px-3 print:py-2 print:text-[10px]",children:[e.jsx("p",{className:"mb-2 font-semibold",children:r.taxRegistrations}),e.jsx("div",{className:"space-y-1",children:t.settings.taxRegistrations.map((s,p)=>e.jsxs("p",{children:[e.jsx("span",{className:"font-medium",children:s.label}),s.label&&s.value?": ":"",s.value]},`${s.label}-${s.value}-${p}`))})]}):null]}),e.jsx("div",{className:"order-1 flex justify-center md:order-none md:pt-2 print:order-none print:pt-1",children:t.logo?.url?e.jsx(j,{src:t.logo.url,alt:t.logo.name||t.settings.businessName||"Logo",className:"mx-auto h-24 w-auto object-contain print:h-14",width:t.logo.width||320,height:t.logo.height||120}):null}),e.jsx("div",{className:"order-3 flex justify-start md:order-none md:justify-end print:order-none",children:e.jsxs("div",{className:"w-full max-w-[380px] rounded-2xl bg-slate-950 px-5 py-5 text-white print:max-w-none print:border print:border-slate-300 print:bg-white print:px-3 print:py-3 print:text-[10px] print:text-slate-950",children:[e.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-white/70 print:text-slate-500",children:r.invoice}),e.jsxs("div",{className:"mt-4 space-y-3 text-sm print:mt-3 print:space-y-2 print:text-[10px]",children:[e.jsx(d,{label:r.invoiceNumber,value:t.order.invoice_number||"--"}),e.jsx(d,{label:r.orderNumber,value:t.order.id}),e.jsx(d,{label:r.paidOn,value:n.formatInvoiceDate(t.order.paid_at||t.order.created_at,i)||"--"}),e.jsx(d,{label:r.status,value:t.order.status})]})]})})]})}),e.jsxs("div",{className:"grid gap-4 border-b px-6 py-6 md:grid-cols-2 print:grid-cols-2 print:gap-3 print:px-0 print:py-3",children:[e.jsx(a,{title:r.billTo,lines:u}),e.jsx(a,{title:r.shipTo,lines:h})]}),e.jsxs("div",{className:"px-6 py-6 print:px-0 print:py-3",children:[e.jsx("div",{className:"overflow-x-auto rounded-2xl border print:overflow-visible",children:e.jsxs("table",{className:"w-full border-collapse text-sm tabular-nums print:table-fixed print:text-[9px]",children:[e.jsx("thead",{className:"bg-slate-50",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-4 py-3 text-left font-semibold print:w-[22%] print:px-2 print:py-1.5",children:r.item}),e.jsx("th",{className:"px-4 py-3 text-left font-semibold print:w-[38%] print:px-2 print:py-1.5",children:r.details}),e.jsx("th",{className:"px-4 py-3 text-right font-semibold print:w-[10%] print:px-2 print:py-1.5",children:r.quantity}),e.jsx("th",{className:"px-4 py-3 text-right font-semibold print:w-[15%] print:px-2 print:py-1.5",children:r.price}),e.jsx("th",{className:"px-4 py-3 text-right font-semibold print:w-[15%] print:px-2 print:py-1.5",children:r.amount})]})}),e.jsx("tbody",{children:t.order.items.map(s=>e.jsxs("tr",{className:"border-t",children:[e.jsx("td",{className:"px-4 py-4 font-medium print:px-2 print:py-1.5",children:s.title}),e.jsx("td",{className:"px-4 py-4 text-slate-600 print:px-2 print:py-1.5",children:s.description||"--"}),e.jsx("td",{className:"px-4 py-4 text-right print:px-2 print:py-1.5",children:s.quantity}),e.jsx("td",{className:"px-4 py-4 text-right print:px-2 print:py-1.5",children:n.formatInvoiceCurrency(s.unit_amount,t.order.currency,i)}),e.jsx("td",{className:"px-4 py-4 text-right font-medium print:px-2 print:py-1.5",children:n.formatInvoiceCurrency(s.total_amount,t.order.currency,i)})]},s.id))})]})}),e.jsxs("div",{className:"mt-6 grid gap-6 md:grid-cols-[minmax(0,1fr)_320px] print:mt-4 print:grid-cols-[minmax(0,1fr)_220px] print:items-start print:gap-4",children:[e.jsx("div",{children:t.order.tax_details?.lines?.length?e.jsxs("div",{className:"rounded-xl border bg-slate-50 px-5 py-4 print:break-inside-avoid print:px-3 print:py-2.5 print:text-[10px]",children:[e.jsx("p",{className:"mb-3 font-semibold",children:r.taxBreakdown}),e.jsx("div",{className:"space-y-3 text-sm print:space-y-2 print:text-[10px]",children:t.order.tax_details.lines.map((s,p)=>{const o=l.getOrderTaxRatePercentage(s.rate);return e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"font-medium",children:[l.getOrderTaxRateLabel(s.rate),typeof o=="number"?` - ${o.toFixed(4)}%`:""]}),l.getOrderTaxRateJurisdiction(s.rate)?e.jsx("p",{className:"text-xs text-slate-500 print:text-[9px]",children:l.getOrderTaxRateJurisdiction(s.rate)}):null]}),e.jsx("span",{children:n.formatInvoiceCurrency(s.amount,t.order.currency,i)})]},`${s.rate.display_name}-${s.description||"tax"}-${p}`)})})]}):null}),e.jsxs("div",{className:"rounded-xl border bg-slate-950 px-5 py-5 text-sm text-white print:break-inside-avoid print:border-slate-300 print:bg-white print:px-3 print:py-3 print:text-[10px] print:text-slate-950",children:[e.jsxs("div",{className:"space-y-3 print:space-y-2",children:[e.jsx(x,{label:r.subtotal,value:n.formatInvoiceCurrency(t.order.subtotal,t.order.currency,i)}),t.order.discount_total>0?e.jsx(x,{label:t.order.coupon_code?`${r.discount} (${t.order.coupon_code})`:r.discount,value:`-${n.formatInvoiceCurrency(t.order.discount_total,t.order.currency,i)}`}):null,e.jsx(x,{label:r.shipping,value:n.formatInvoiceCurrency(t.order.shipping_total,t.order.currency,i)}),e.jsx(x,{label:r.tax,value:n.formatInvoiceCurrency(t.order.tax_total,t.order.currency,i)})]}),e.jsx("div",{className:"mt-4 border-t border-white/15 pt-4 print:mt-3 print:border-slate-300 print:pt-3",children:e.jsx(x,{label:r.total,value:n.formatInvoiceCurrency(t.order.total,t.order.currency,i),strong:!0})})]})]})]})]})}function a({title:t,lines:r}){return e.jsxs("div",{className:"rounded-xl border bg-slate-50 px-5 py-4 print:break-inside-avoid print:px-3 print:py-2.5 print:text-[10px]",children:[e.jsx("p",{className:"mb-3 text-xs font-semibold uppercase tracking-[0.2em] text-slate-500",children:t}),r.length?e.jsx("div",{className:"space-y-1 text-sm print:text-[10px]",children:r.map((i,c)=>e.jsx("p",{children:i},`${t}-${c}-${i}`))}):e.jsx("p",{className:"text-sm text-slate-500",children:"--"})]})}function d({label:t,value:r}){return e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("span",{className:"text-white/70 print:text-[9px] print:text-slate-500",children:t}),e.jsx("span",{className:"text-right font-medium",children:r})]})}function x({label:t,value:r,strong:i=!1}){return e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("span",{className:i?"text-base font-semibold print:text-sm":"text-white/75 print:text-[9px] print:text-slate-500",children:t}),e.jsx("span",{className:i?"text-lg font-semibold print:text-base":"font-medium",children:r})]})}exports.InvoiceDocument=y;