@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/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # @nextblock-cms/ecom
2
+
3
+ The premium commerce module of [NextBlock](https://github.com/nextblock-cms/nextblock), the
4
+ open-core CMS for Next.js and Supabase: products and variants, cart and checkout, orders,
5
+ coupons, currencies, shipping zones, tax rates and invoices. Physical products are paid through
6
+ Stripe and digital products through Freemius.
7
+
8
+ NextBlock projects install it under the alias `@nextblock-cms/ecommerce`, and every import uses
9
+ that name. Projects created with `npm create nextblock@latest` already have it:
10
+
11
+ ```json
12
+ "@nextblock-cms/ecommerce": "npm:@nextblock-cms/ecom@latest"
13
+ ```
14
+
15
+ It needs Next.js 16 and React 19 (peer dependencies), plus the NextBlock database schema that
16
+ `@nextblock-cms/db` ships.
17
+
18
+ ## Licensing
19
+
20
+ The source is public under AGPL-3.0-or-later, and the features are license-gated. A NextBlock
21
+ project turns on its checkout API and commerce CMS screens only after an ecommerce license is
22
+ active: start a trial or buy one in the CMS under **Settings → Packages**. The app checks it
23
+ with `verifyPackageOnline('ecommerce')` from `@nextblock-cms/db/server`.
24
+
25
+ ## Entry points
26
+
27
+ | Import | Use it from | What it holds |
28
+ | :-- | :-- | :-- |
29
+ | `@nextblock-cms/ecommerce` | client or server | Storefront and account components (`Cart`, `CartDrawer`, `Checkout`, `ProductGrid`, `ProductCard`, `FeaturedProduct`, `AddToCartButton`, `CurrencySwitcher`, …), the cart store, `CurrencyProvider`, and the CMS `ProductForm` |
30
+ | `@nextblock-cms/ecommerce/server` | server only | Stripe checkout, webhooks and order sync, payment configuration, inventory, invoices, tax details and coupons |
31
+ | `@nextblock-cms/ecommerce/<module>` | depends on the module | One compiled module, for example `@nextblock-cms/ecommerce/cart-store`, `/components/Cart` or `/server-actions/product-actions` |
32
+
33
+ The package keeps each module's `'use client'` or `'use server'` directive, so the consuming
34
+ Next.js build splits client and server code correctly.
35
+
36
+ ## Documentation
37
+
38
+ - [Ecommerce capabilities](https://github.com/nextblock-cms/nextblock/blob/master/docs/02-ECOMMERCE-CAPABILITIES.md)
39
+ - [Project overview](https://github.com/nextblock-cms/nextblock/blob/master/docs/01-PROJECT-OVERVIEW.md)
40
+
41
+ ## License
42
+
43
+ AGPL-3.0-or-later.
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
package/index.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./lib/types.cjs"),t=require("./lib/currency.cjs"),n=require("./lib/currency-store.cjs"),r=require("./lib/CurrencyProvider.cjs"),i=require("./lib/cart-store.cjs"),a=require("./lib/use-cart.cjs"),o=require("./lib/trials.cjs"),s=require("./lib/coupons.cjs"),c=require("./lib/components/CouponForm.cjs"),l=require("./lib/components/CartDrawer.cjs"),u=require("./lib/variation-utils.cjs"),d=require("./lib/components/Cart.cjs"),f=require("./lib/PaymentReadinessProvider.cjs"),p=require("./lib/customer.cjs"),m=require("./lib/components/Checkout.cjs"),h=require("./lib/components/CartIcon.cjs"),g=require("./lib/components/CurrencySwitcher.cjs"),_=require("./lib/components/AddToCartButton.cjs"),v=require("./lib/components/ProductCard.cjs"),y=require("./lib/components/ProductGrid.cjs"),b=require("./lib/invoice-ui.cjs"),x=require("./lib/components/ProductGallery.cjs"),S=require("./lib/components/SimpleTiptapRenderer.cjs"),C=require("./lib/components/FeaturedProduct.cjs"),w=require("./lib/components/AccountNavigationMenu.cjs"),T=require("./lib/components/CustomerProfileForm.cjs"),E=require("./lib/components/SubscriptionSelector.cjs"),D=require("./lib/invoice.cjs"),O=require("./lib/order-tax-details.cjs"),k=require("./lib/components/InvoiceDocument.cjs"),A=require("./lib/components/InvoiceViewerShell.cjs"),j=require("./lib/components/FreemiusLicensePanel.cjs"),M=require("./lib/product-schema.cjs"),N=require("./lib/pages/cms/products/components/ProductCategorySelector.cjs"),P=require("./lib/pages/cms/products/components/ProductForm.cjs"),F=require("./lib/product-context.cjs"),I=require("./lib/components/ProductDetailsLayout.cjs");exports.AccountNavigationMenu=w.AccountNavigationMenu,exports.AddToCartButton=_.AddToCartButton,exports.CURRENCY_ROUNDING_MODES=t.CURRENCY_ROUNDING_MODES,exports.Cart=d.Cart,exports.CartDrawer=l.CartDrawer,exports.CartIcon=h.CartIcon,exports.Checkout=m.Checkout,exports.CouponForm=c.CouponForm,exports.CurrencyProvider=r.CurrencyProvider,exports.CurrencySwitcher=g.CurrencySwitcher,exports.CustomerProfileForm=T.CustomerProfileForm,exports.DEFAULT_ENABLED_PAYMENT_PROVIDERS=e.DEFAULT_ENABLED_PAYMENT_PROVIDERS,exports.DEFAULT_INVOICE_SETTINGS=D.DEFAULT_INVOICE_SETTINGS,exports.FeaturedProduct=C.FeaturedProduct,exports.FreemiusLicensePanel=j.FreemiusLicensePanel,exports.INVOICE_SETTINGS_KEY=D.INVOICE_SETTINGS_KEY,exports.InvoiceDocument=k.InvoiceDocument,exports.InvoiceViewerShell=A.InvoiceViewerShell,exports.PaymentReadinessProvider=f.PaymentReadinessProvider,exports.ProductCard=v.ProductCard,exports.ProductCategorySelector=N.ProductCategorySelector,exports.ProductDetailsLayout=I.ProductDetailsLayout,exports.ProductForm=P.ProductForm,exports.ProductGallery=x.ProductGallery,exports.ProductGrid=y.ProductGrid,exports.ProductProvider=F.ProductProvider,exports.SimpleTiptapRenderer=S.SimpleTiptapRenderer,exports.SubscriptionSelector=E.SubscriptionSelector,exports.addressesMatch=p.addressesMatch,exports.aggregateOrderTaxLines=O.aggregateOrderTaxLines,exports.applyCurrencyRounding=t.applyCurrencyRounding,exports.applyVariantSelection=u.applyVariantSelection,exports.buildCombinationKey=u.buildCombinationKey,exports.buildInvoiceDocumentLabels=b.buildInvoiceDocumentLabels,exports.buildOrderTaxDetailsFromCalculation=O.buildOrderTaxDetailsFromCalculation,exports.buildOrderTaxDetailsFromStripeSession=O.buildOrderTaxDetailsFromStripeSession,exports.buildVariantLabel=u.buildVariantLabel,exports.chooseInitialVariantSelections=u.chooseInitialVariantSelections,exports.convertMinorUnitAmount=t.convertMinorUnitAmount,exports.derivePaymentProviderFromProductType=e.derivePaymentProviderFromProductType,exports.describeCurrencyRoundingRule=t.describeCurrencyRoundingRule,exports.emptyCustomerAddress=p.emptyCustomerAddress,exports.emptyProviderDiscounts=s.emptyProviderDiscounts,exports.extractSelectedTermsByAttribute=u.extractSelectedTermsByAttribute,exports.findMatchingVariant=u.findMatchingVariant,exports.formatInvoiceCurrency=D.formatInvoiceCurrency,exports.formatInvoiceDate=D.formatInvoiceDate,exports.generateVariantDrafts=u.generateVariantDrafts,exports.getAvailableTermIdsForAttribute=u.getAvailableTermIdsForAttribute,exports.getCartItemActivePrice=i.getCartItemActivePrice,exports.getCartLineCouponKey=s.getCartLineCouponKey,exports.getCurrencyLookup=t.getCurrencyLookup,exports.getDefaultCurrency=t.getDefaultCurrency,exports.getExchangeRateForCurrency=t.getExchangeRateForCurrency,exports.getInvoiceAddressLines=D.getInvoiceAddressLines,exports.getInvoiceLocale=b.getInvoiceLocale,exports.getOrderTaxRateJurisdiction=O.getOrderTaxRateJurisdiction,exports.getOrderTaxRateLabel=O.getOrderTaxRateLabel,exports.getOrderTaxRatePercentage=O.getOrderTaxRatePercentage,exports.getProductPaymentProvider=e.getProductPaymentProvider,exports.getTrialCheckoutMode=o.getTrialCheckoutMode,exports.getTrialLabel=o.getTrialLabel,exports.getTrialPaymentRequirementLabel=o.getTrialPaymentRequirementLabel,exports.getTrialPeriodDays=o.getTrialPeriodDays,exports.getTrialSummary=o.getTrialSummary,exports.getVariantEffectivePriceRange=u.getVariantEffectivePriceRange,exports.inferCurrencyCodeFromLocale=t.inferCurrencyCodeFromLocale,exports.isCustomerAddressComplete=p.isCustomerAddressComplete,exports.isDigitalItem=e.isDigitalItem,exports.isDigitalProduct=e.isDigitalProduct,exports.isSaleWindowActive=t.isSaleWindowActive,exports.isScheduledPriceDue=t.isScheduledPriceDue,exports.localizeInvoicePresentationData=b.localizeInvoicePresentationData,exports.mapRawVariantRelations=u.mapRawVariantRelations,exports.normalizeCouponCode=s.normalizeCouponCode,exports.normalizeCurrencyRecord=t.normalizeCurrencyRecord,exports.normalizeCurrencyRoundingMode=t.normalizeCurrencyRoundingMode,exports.normalizeCustomerAddress=p.normalizeCustomerAddress,exports.normalizeEnabledPaymentProviders=e.normalizeEnabledPaymentProviders,exports.normalizeInvoiceSettings=D.normalizeInvoiceSettings,exports.normalizeOrderCustomerDetails=p.normalizeOrderCustomerDetails,exports.normalizeOrderTaxDetails=O.normalizeOrderTaxDetails,exports.normalizePriceMap=t.normalizePriceMap,exports.normalizeSalePriceMap=t.normalizeSalePriceMap,exports.normalizeSelectionsToAvailableVariants=u.normalizeSelectionsToAvailableVariants,exports.productSchema=M.productSchema,exports.resolveAttributeName=u.resolveAttributeName,exports.resolveEffectivePriceForCurrency=t.resolveEffectivePriceForCurrency,exports.resolvePriceForCurrency=t.resolvePriceForCurrency,exports.resolvePriceRangeForCurrency=t.resolvePriceRangeForCurrency,exports.resolveTermValue=u.resolveTermValue,exports.resolveTranslatedText=u.resolveTranslatedText,exports.serializeInvoiceSettings=D.serializeInvoiceSettings,exports.sortCurrencies=t.sortCurrencies,exports.toNoCookieEmbedSrc=S.toNoCookieEmbedSrc,exports.translateOrFallback=b.translateOrFallback,exports.translateOrderStatus=b.translateOrderStatus,exports.useCanPurchase=f.useCanPurchase,exports.useCart=a.useCart,exports.useCartStore=i.useCartStore,exports.useCartSubtotal=i.useCartSubtotal,exports.useCartTotalItems=i.useCartTotalItems,exports.useCurrency=r.useCurrency,exports.useCurrencyPreferenceStore=n.useCurrencyPreferenceStore,exports.useIsCartHydrated=a.useIsCartHydrated,exports.usePaymentReadiness=f.usePaymentReadiness,exports.useProduct=F.useProduct;
package/index.es.js CHANGED
@@ -1,146 +1,38 @@
1
- import { CartDrawer as o } from "./lib/components/CartDrawer.es.js";
2
- import { Cart as a } from "./lib/components/Cart.es.js";
3
- import { Checkout as n } from "./lib/components/Checkout.es.js";
4
- import { CartIcon as c } from "./lib/components/CartIcon.es.js";
5
- import { CouponForm as l } from "./lib/components/CouponForm.es.js";
6
- import { CurrencySwitcher as d } from "./lib/components/CurrencySwitcher.es.js";
7
- import { AddToCartButton as C } from "./lib/components/AddToCartButton.es.js";
8
- import { ProductCard as x } from "./lib/components/ProductCard.es.js";
9
- import { ProductGrid as g } from "./lib/components/ProductGrid.es.js";
10
- import { ProductGallery as v } from "./lib/components/ProductGallery.es.js";
11
- import { FeaturedProduct as T } from "./lib/components/FeaturedProduct.es.js";
12
- import { CustomerProfileForm as D } from "./lib/components/CustomerProfileForm.es.js";
13
- import { SubscriptionSelector as R } from "./lib/components/SubscriptionSelector.es.js";
14
- import { InvoiceDocument as E } from "./lib/components/InvoiceDocument.es.js";
15
- import { InvoiceViewerShell as L } from "./lib/components/InvoiceViewerShell.es.js";
16
- import { FreemiusLicensePanel as z } from "./lib/components/FreemiusLicensePanel.es.js";
17
- import { AccountNavigationMenu as N } from "./lib/components/AccountNavigationMenu.es.js";
18
- import { SimpleTiptapRenderer as M, toNoCookieEmbedSrc as _ } from "./lib/components/SimpleTiptapRenderer.es.js";
19
- import { ProductForm as w } from "./lib/pages/cms/products/components/ProductForm.es.js";
20
- import { ProductCategorySelector as U } from "./lib/pages/cms/products/components/ProductCategorySelector.es.js";
21
- import { getCartItemActivePrice as K, useCartStore as Y, useCartSubtotal as q, useCartTotalItems as H } from "./lib/cart-store.es.js";
22
- import { emptyProviderDiscounts as W, getCartLineCouponKey as j, normalizeCouponCode as Q } from "./lib/coupons.es.js";
23
- import { CurrencyProvider as Z, useCurrency as $ } from "./lib/CurrencyProvider.es.js";
24
- import { PaymentReadinessProvider as re, useCanPurchase as oe, usePaymentReadiness as te } from "./lib/PaymentReadinessProvider.es.js";
25
- import { CURRENCY_ROUNDING_MODES as ie, applyCurrencyRounding as ne, convertMinorUnitAmount as me, describeCurrencyRoundingRule as ce, getCurrencyLookup as ue, getDefaultCurrency as le, getExchangeRateForCurrency as se, inferCurrencyCodeFromLocale as de, isSaleWindowActive as pe, isScheduledPriceDue as Ce, normalizeCurrencyRecord as fe, normalizeCurrencyRoundingMode as xe, normalizePriceMap as Pe, normalizeSalePriceMap as ge, resolveEffectivePriceForCurrency as ye, resolvePriceForCurrency as ve, resolvePriceRangeForCurrency as Se, sortCurrencies as Te } from "./lib/currency.es.js";
26
- import { useCurrencyPreferenceStore as De } from "./lib/currency-store.es.js";
27
- import { useCart as Re, useIsCartHydrated as Ae } from "./lib/use-cart.es.js";
28
- import { addressesMatch as Fe, emptyCustomerAddress as Le, isCustomerAddressComplete as Oe, normalizeCustomerAddress as ze, normalizeOrderCustomerDetails as Ve } from "./lib/customer.es.js";
29
- import { DEFAULT_ENABLED_PAYMENT_PROVIDERS as he, derivePaymentProviderFromProductType as Me, getProductPaymentProvider as _e, isDigitalItem as ke, isDigitalProduct as we, normalizeEnabledPaymentProviders as Ge } from "./lib/types.es.js";
30
- import { getTrialCheckoutMode as Be, getTrialLabel as Ke, getTrialPaymentRequirementLabel as Ye, getTrialPeriodDays as qe, getTrialSummary as He } from "./lib/trials.es.js";
31
- import { aggregateOrderTaxLines as We, buildOrderTaxDetailsFromCalculation as je, buildOrderTaxDetailsFromStripeSession as Qe, getOrderTaxRateJurisdiction as Xe, getOrderTaxRateLabel as Ze, getOrderTaxRatePercentage as $e, normalizeOrderTaxDetails as er } from "./lib/order-tax-details.es.js";
32
- import { DEFAULT_INVOICE_SETTINGS as or, INVOICE_SETTINGS_KEY as tr, formatInvoiceCurrency as ar, formatInvoiceDate as ir, getInvoiceAddressLines as nr, normalizeInvoiceSettings as mr, serializeInvoiceSettings as cr } from "./lib/invoice.es.js";
33
- import { buildInvoiceDocumentLabels as lr, getInvoiceLocale as sr, localizeInvoicePresentationData as dr, translateOrFallback as pr, translateOrderStatus as Cr } from "./lib/invoice-ui.es.js";
34
- import { productSchema as xr } from "./lib/product-schema.es.js";
35
- import { ProductProvider as gr, useProduct as yr } from "./lib/product-context.es.js";
36
- import { ProductDetailsLayout as Sr } from "./lib/components/ProductDetailsLayout.es.js";
37
- import { applyVariantSelection as Ir, buildCombinationKey as Dr, buildVariantLabel as br, chooseInitialVariantSelections as Rr, extractSelectedTermsByAttribute as Ar, findMatchingVariant as Er, generateVariantDrafts as Fr, getAvailableTermIdsForAttribute as Lr, getVariantEffectivePriceRange as Or, mapRawVariantRelations as zr, normalizeSelectionsToAvailableVariants as Vr, resolveAttributeName as Nr, resolveTermValue as hr, resolveTranslatedText as Mr } from "./lib/variation-utils.es.js";
38
- export {
39
- N as AccountNavigationMenu,
40
- C as AddToCartButton,
41
- ie as CURRENCY_ROUNDING_MODES,
42
- a as Cart,
43
- o as CartDrawer,
44
- c as CartIcon,
45
- n as Checkout,
46
- l as CouponForm,
47
- Z as CurrencyProvider,
48
- d as CurrencySwitcher,
49
- D as CustomerProfileForm,
50
- he as DEFAULT_ENABLED_PAYMENT_PROVIDERS,
51
- or as DEFAULT_INVOICE_SETTINGS,
52
- T as FeaturedProduct,
53
- z as FreemiusLicensePanel,
54
- tr as INVOICE_SETTINGS_KEY,
55
- E as InvoiceDocument,
56
- L as InvoiceViewerShell,
57
- re as PaymentReadinessProvider,
58
- x as ProductCard,
59
- U as ProductCategorySelector,
60
- Sr as ProductDetailsLayout,
61
- w as ProductForm,
62
- v as ProductGallery,
63
- g as ProductGrid,
64
- gr as ProductProvider,
65
- M as SimpleTiptapRenderer,
66
- R as SubscriptionSelector,
67
- Fe as addressesMatch,
68
- We as aggregateOrderTaxLines,
69
- ne as applyCurrencyRounding,
70
- Ir as applyVariantSelection,
71
- Dr as buildCombinationKey,
72
- lr as buildInvoiceDocumentLabels,
73
- je as buildOrderTaxDetailsFromCalculation,
74
- Qe as buildOrderTaxDetailsFromStripeSession,
75
- br as buildVariantLabel,
76
- Rr as chooseInitialVariantSelections,
77
- me as convertMinorUnitAmount,
78
- Me as derivePaymentProviderFromProductType,
79
- ce as describeCurrencyRoundingRule,
80
- Le as emptyCustomerAddress,
81
- W as emptyProviderDiscounts,
82
- Ar as extractSelectedTermsByAttribute,
83
- Er as findMatchingVariant,
84
- ar as formatInvoiceCurrency,
85
- ir as formatInvoiceDate,
86
- Fr as generateVariantDrafts,
87
- Lr as getAvailableTermIdsForAttribute,
88
- K as getCartItemActivePrice,
89
- j as getCartLineCouponKey,
90
- ue as getCurrencyLookup,
91
- le as getDefaultCurrency,
92
- se as getExchangeRateForCurrency,
93
- nr as getInvoiceAddressLines,
94
- sr as getInvoiceLocale,
95
- Xe as getOrderTaxRateJurisdiction,
96
- Ze as getOrderTaxRateLabel,
97
- $e as getOrderTaxRatePercentage,
98
- _e as getProductPaymentProvider,
99
- Be as getTrialCheckoutMode,
100
- Ke as getTrialLabel,
101
- Ye as getTrialPaymentRequirementLabel,
102
- qe as getTrialPeriodDays,
103
- He as getTrialSummary,
104
- Or as getVariantEffectivePriceRange,
105
- de as inferCurrencyCodeFromLocale,
106
- Oe as isCustomerAddressComplete,
107
- ke as isDigitalItem,
108
- we as isDigitalProduct,
109
- pe as isSaleWindowActive,
110
- Ce as isScheduledPriceDue,
111
- dr as localizeInvoicePresentationData,
112
- zr as mapRawVariantRelations,
113
- Q as normalizeCouponCode,
114
- fe as normalizeCurrencyRecord,
115
- xe as normalizeCurrencyRoundingMode,
116
- ze as normalizeCustomerAddress,
117
- Ge as normalizeEnabledPaymentProviders,
118
- mr as normalizeInvoiceSettings,
119
- Ve as normalizeOrderCustomerDetails,
120
- er as normalizeOrderTaxDetails,
121
- Pe as normalizePriceMap,
122
- ge as normalizeSalePriceMap,
123
- Vr as normalizeSelectionsToAvailableVariants,
124
- xr as productSchema,
125
- Nr as resolveAttributeName,
126
- ye as resolveEffectivePriceForCurrency,
127
- ve as resolvePriceForCurrency,
128
- Se as resolvePriceRangeForCurrency,
129
- hr as resolveTermValue,
130
- Mr as resolveTranslatedText,
131
- cr as serializeInvoiceSettings,
132
- Te as sortCurrencies,
133
- _ as toNoCookieEmbedSrc,
134
- pr as translateOrFallback,
135
- Cr as translateOrderStatus,
136
- oe as useCanPurchase,
137
- Re as useCart,
138
- Y as useCartStore,
139
- q as useCartSubtotal,
140
- H as useCartTotalItems,
141
- $ as useCurrency,
142
- De as useCurrencyPreferenceStore,
143
- Ae as useIsCartHydrated,
144
- te as usePaymentReadiness,
145
- yr as useProduct
146
- };
1
+ import { DEFAULT_ENABLED_PAYMENT_PROVIDERS as e, derivePaymentProviderFromProductType as t, getProductPaymentProvider as n, isDigitalItem as r, isDigitalProduct as i, normalizeEnabledPaymentProviders as a } from "./lib/types.es.js";
2
+ import { CURRENCY_ROUNDING_MODES as o, applyCurrencyRounding as s, convertMinorUnitAmount as c, describeCurrencyRoundingRule as l, getCurrencyLookup as u, getDefaultCurrency as d, getExchangeRateForCurrency as f, inferCurrencyCodeFromLocale as p, isSaleWindowActive as m, isScheduledPriceDue as h, normalizeCurrencyRecord as g, normalizeCurrencyRoundingMode as _, normalizePriceMap as v, normalizeSalePriceMap as y, resolveEffectivePriceForCurrency as b, resolvePriceForCurrency as x, resolvePriceRangeForCurrency as S, sortCurrencies as C } from "./lib/currency.es.js";
3
+ import { useCurrencyPreferenceStore as w } from "./lib/currency-store.es.js";
4
+ import { CurrencyProvider as T, useCurrency as E } from "./lib/CurrencyProvider.es.js";
5
+ import { getCartItemActivePrice as D, useCartStore as O, useCartSubtotal as k, useCartTotalItems as A } from "./lib/cart-store.es.js";
6
+ import { useCart as j, useIsCartHydrated as M } from "./lib/use-cart.es.js";
7
+ import { getTrialCheckoutMode as N, getTrialLabel as P, getTrialPaymentRequirementLabel as F, getTrialPeriodDays as I, getTrialSummary as L } from "./lib/trials.es.js";
8
+ import { emptyProviderDiscounts as R, getCartLineCouponKey as z, normalizeCouponCode as B } from "./lib/coupons.es.js";
9
+ import { CouponForm as V } from "./lib/components/CouponForm.es.js";
10
+ import { CartDrawer as H } from "./lib/components/CartDrawer.es.js";
11
+ import { applyVariantSelection as U, buildCombinationKey as W, buildVariantLabel as G, chooseInitialVariantSelections as K, extractSelectedTermsByAttribute as q, findMatchingVariant as J, generateVariantDrafts as Y, getAvailableTermIdsForAttribute as X, getVariantEffectivePriceRange as Z, mapRawVariantRelations as Q, normalizeSelectionsToAvailableVariants as $, resolveAttributeName as ee, resolveTermValue as te, resolveTranslatedText as ne } from "./lib/variation-utils.es.js";
12
+ import { Cart as re } from "./lib/components/Cart.es.js";
13
+ import { PaymentReadinessProvider as ie, useCanPurchase as ae, usePaymentReadiness as oe } from "./lib/PaymentReadinessProvider.es.js";
14
+ import { addressesMatch as se, emptyCustomerAddress as ce, isCustomerAddressComplete as le, normalizeCustomerAddress as ue, normalizeOrderCustomerDetails as de } from "./lib/customer.es.js";
15
+ import { Checkout as fe } from "./lib/components/Checkout.es.js";
16
+ import { CartIcon as pe } from "./lib/components/CartIcon.es.js";
17
+ import { CurrencySwitcher as me } from "./lib/components/CurrencySwitcher.es.js";
18
+ import { AddToCartButton as he } from "./lib/components/AddToCartButton.es.js";
19
+ import { ProductCard as ge } from "./lib/components/ProductCard.es.js";
20
+ import { ProductGrid as _e } from "./lib/components/ProductGrid.es.js";
21
+ import { buildInvoiceDocumentLabels as ve, getInvoiceLocale as ye, localizeInvoicePresentationData as be, translateOrFallback as xe, translateOrderStatus as Se } from "./lib/invoice-ui.es.js";
22
+ import { ProductGallery as Ce } from "./lib/components/ProductGallery.es.js";
23
+ import { SimpleTiptapRenderer as we, toNoCookieEmbedSrc as Te } from "./lib/components/SimpleTiptapRenderer.es.js";
24
+ import { FeaturedProduct as Ee } from "./lib/components/FeaturedProduct.es.js";
25
+ import { AccountNavigationMenu as De } from "./lib/components/AccountNavigationMenu.es.js";
26
+ import { CustomerProfileForm as Oe } from "./lib/components/CustomerProfileForm.es.js";
27
+ import { SubscriptionSelector as ke } from "./lib/components/SubscriptionSelector.es.js";
28
+ import { DEFAULT_INVOICE_SETTINGS as Ae, INVOICE_SETTINGS_KEY as je, formatInvoiceCurrency as Me, formatInvoiceDate as Ne, getInvoiceAddressLines as Pe, normalizeInvoiceSettings as Fe, serializeInvoiceSettings as Ie } from "./lib/invoice.es.js";
29
+ import { aggregateOrderTaxLines as Le, buildOrderTaxDetailsFromCalculation as Re, buildOrderTaxDetailsFromStripeSession as ze, getOrderTaxRateJurisdiction as Be, getOrderTaxRateLabel as Ve, getOrderTaxRatePercentage as He, normalizeOrderTaxDetails as Ue } from "./lib/order-tax-details.es.js";
30
+ import { InvoiceDocument as We } from "./lib/components/InvoiceDocument.es.js";
31
+ import { InvoiceViewerShell as Ge } from "./lib/components/InvoiceViewerShell.es.js";
32
+ import { FreemiusLicensePanel as Ke } from "./lib/components/FreemiusLicensePanel.es.js";
33
+ import { productSchema as qe } from "./lib/product-schema.es.js";
34
+ import { ProductCategorySelector as Je } from "./lib/pages/cms/products/components/ProductCategorySelector.es.js";
35
+ import { ProductForm as Ye } from "./lib/pages/cms/products/components/ProductForm.es.js";
36
+ import { ProductProvider as Xe, useProduct as Ze } from "./lib/product-context.es.js";
37
+ import { ProductDetailsLayout as Qe } from "./lib/components/ProductDetailsLayout.es.js";
38
+ export { De as AccountNavigationMenu, he as AddToCartButton, o as CURRENCY_ROUNDING_MODES, re as Cart, H as CartDrawer, pe as CartIcon, fe as Checkout, V as CouponForm, T as CurrencyProvider, me as CurrencySwitcher, Oe as CustomerProfileForm, e as DEFAULT_ENABLED_PAYMENT_PROVIDERS, Ae as DEFAULT_INVOICE_SETTINGS, Ee as FeaturedProduct, Ke as FreemiusLicensePanel, je as INVOICE_SETTINGS_KEY, We as InvoiceDocument, Ge as InvoiceViewerShell, ie as PaymentReadinessProvider, ge as ProductCard, Je as ProductCategorySelector, Qe as ProductDetailsLayout, Ye as ProductForm, Ce as ProductGallery, _e as ProductGrid, Xe as ProductProvider, we as SimpleTiptapRenderer, ke as SubscriptionSelector, se as addressesMatch, Le as aggregateOrderTaxLines, s as applyCurrencyRounding, U as applyVariantSelection, W as buildCombinationKey, ve as buildInvoiceDocumentLabels, Re as buildOrderTaxDetailsFromCalculation, ze as buildOrderTaxDetailsFromStripeSession, G as buildVariantLabel, K as chooseInitialVariantSelections, c as convertMinorUnitAmount, t as derivePaymentProviderFromProductType, l as describeCurrencyRoundingRule, ce as emptyCustomerAddress, R as emptyProviderDiscounts, q as extractSelectedTermsByAttribute, J as findMatchingVariant, Me as formatInvoiceCurrency, Ne as formatInvoiceDate, Y as generateVariantDrafts, X as getAvailableTermIdsForAttribute, D as getCartItemActivePrice, z as getCartLineCouponKey, u as getCurrencyLookup, d as getDefaultCurrency, f as getExchangeRateForCurrency, Pe as getInvoiceAddressLines, ye as getInvoiceLocale, Be as getOrderTaxRateJurisdiction, Ve as getOrderTaxRateLabel, He as getOrderTaxRatePercentage, n as getProductPaymentProvider, N as getTrialCheckoutMode, P as getTrialLabel, F as getTrialPaymentRequirementLabel, I as getTrialPeriodDays, L as getTrialSummary, Z as getVariantEffectivePriceRange, p as inferCurrencyCodeFromLocale, le as isCustomerAddressComplete, r as isDigitalItem, i as isDigitalProduct, m as isSaleWindowActive, h as isScheduledPriceDue, be as localizeInvoicePresentationData, Q as mapRawVariantRelations, B as normalizeCouponCode, g as normalizeCurrencyRecord, _ as normalizeCurrencyRoundingMode, ue as normalizeCustomerAddress, a as normalizeEnabledPaymentProviders, Fe as normalizeInvoiceSettings, de as normalizeOrderCustomerDetails, Ue as normalizeOrderTaxDetails, v as normalizePriceMap, y as normalizeSalePriceMap, $ as normalizeSelectionsToAvailableVariants, qe as productSchema, ee as resolveAttributeName, b as resolveEffectivePriceForCurrency, x as resolvePriceForCurrency, S as resolvePriceRangeForCurrency, te as resolveTermValue, ne as resolveTranslatedText, Ie as serializeInvoiceSettings, C as sortCurrencies, Te as toNoCookieEmbedSrc, xe as translateOrFallback, Se as translateOrderStatus, ae as useCanPurchase, j as useCart, O as useCartStore, k as useCartSubtotal, A as useCartTotalItems, E as useCurrency, w as useCurrencyPreferenceStore, M as useIsCartHydrated, oe as usePaymentReadiness, Ze as useProduct };
@@ -0,0 +1 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./currency.cjs"),t=require("./currency-store.cjs"),n=require("./currency-constants.cjs");let r=require("react"),i=require("@nextblock-cms/utils"),a=require("react/jsx-runtime");var o=(0,r.createContext)(null);function s(t){return e.sortCurrencies(t.filter(e=>e.is_active!==!1))}function c(t){let{currencies:n,storedCurrencyCode:r,hasHydrated:a,initialCurrencyCode:o,locale:s}=t,c=new Set(n.map(e=>(0,i.normalizeCurrencyCode)(e.code))),l=e.getDefaultCurrency(n),u=o?(0,i.normalizeCurrencyCode)(o):null,d=r?(0,i.normalizeCurrencyCode)(r):null;if(a&&d&&c.has(d))return d;if(u&&c.has(u))return u;let f=e.inferCurrencyCodeFromLocale(s,n);return c.has(f)?f:l.code}function l({children:l,initialCurrencies:u,initialCurrencyCode:d,locale:f}){let[p,m]=(0,r.useState)(()=>s(u)),h=t.useCurrencyPreferenceStore(e=>e.activeCurrencyCode),g=t.useCurrencyPreferenceStore(e=>e.hasHydrated),_=t.useCurrencyPreferenceStore(e=>e.setActiveCurrencyCode);(0,r.useEffect)(()=>{t.useCurrencyPreferenceStore.persist.rehydrate()},[]),(0,r.useEffect)(()=>{u.length>0&&m(s(u))},[u]),(0,r.useEffect)(()=>{if(u.length>0)return;async function t(){let{fetchActiveCurrenciesFromRest:t}=await Promise.resolve().then(()=>require("./currency-rest-client.cjs")),n=await t();n.length>0&&m(s(n.map(t=>e.normalizeCurrencyRecord(t))))}t()},[u.length]);let v=(0,r.useMemo)(()=>c({currencies:p,storedCurrencyCode:h,hasHydrated:g,initialCurrencyCode:d,locale:f}),[p,h,g,d,f]);(0,r.useEffect)(()=>{g&&v&&h!==v&&_(v)},[g,v,_,h]),(0,r.useEffect)(()=>{v&&typeof document<`u`&&(document.cookie=`${n.CURRENCY_COOKIE_NAME}=${v}; Path=/; Max-Age=31536000; SameSite=Lax`)},[v]);let y=(0,r.useMemo)(()=>e.getDefaultCurrency(p),[p]),b=(0,r.useMemo)(()=>p.find(e=>e.code===v)??y,[p,y,v]),x=(0,r.useMemo)(()=>({currencies:p,defaultCurrency:y,activeCurrency:b,activeCurrencyCode:b.code,isHydrated:g,setActiveCurrencyCode:e=>{let t=(0,i.normalizeCurrencyCode)(e);p.some(e=>e.code===t)&&_(t)}}),[b,p,y,g,_]);return(0,a.jsx)(o.Provider,{value:x,children:l})}function u(){let e=(0,r.useContext)(o);if(!e)throw Error(`useCurrency must be used inside a CurrencyProvider`);return e}exports.CurrencyProvider=l,exports.useCurrency=u;
@@ -13,6 +13,6 @@ export declare function CurrencyProvider({ children, initialCurrencies, initialC
13
13
  initialCurrencies: CurrencyRecord[];
14
14
  initialCurrencyCode?: string | null;
15
15
  locale?: string | null;
16
- }): import("react").JSX.Element;
16
+ }): import('react').JSX.Element;
17
17
  export declare function useCurrency(): CurrencyContextValue;
18
18
  export {};
@@ -1,99 +1,89 @@
1
- 'use client';
2
- import { jsx as w } from "react/jsx-runtime";
3
- import { createContext as E, useState as z, useEffect as a, useMemo as l, useContext as H } from "react";
4
- import { normalizeCurrencyCode as h } from "@nextblock-cms/utils";
5
- import { getDefaultCurrency as S, sortCurrencies as R, normalizeCurrencyRecord as M, inferCurrencyCodeFromLocale as _ } from "./currency.es.js";
6
- import { useCurrencyPreferenceStore as v } from "./currency-store.es.js";
7
- import { CURRENCY_COOKIE_NAME as F } from "./currency-constants.es.js";
8
- const A = E(null);
9
- function g(n) {
10
- return R(
11
- n.filter((r) => r.is_active !== !1)
12
- );
1
+ "use client";
2
+ import { getDefaultCurrency as e, inferCurrencyCodeFromLocale as t, normalizeCurrencyRecord as n, sortCurrencies as r } from "./currency.es.js";
3
+ import { useCurrencyPreferenceStore as i } from "./currency-store.es.js";
4
+ import { CURRENCY_COOKIE_NAME as a } from "./currency-constants.es.js";
5
+ import { createContext as o, useContext as s, useEffect as c, useMemo as l, useState as u } from "react";
6
+ import { normalizeCurrencyCode as d } from "@nextblock-cms/utils";
7
+ import { jsx as f } from "react/jsx-runtime";
8
+ //#region src/lib/CurrencyProvider.tsx
9
+ var p = o(null);
10
+ function m(e) {
11
+ return r(e.filter((e) => e.is_active !== !1));
13
12
  }
14
- function L(n) {
15
- const { currencies: r, storedCurrencyCode: i, hasHydrated: f, initialCurrencyCode: t, locale: y } = n, c = new Set(
16
- r.map((C) => h(C.code))
17
- ), s = S(r), u = t ? h(t) : null, e = i ? h(i) : null;
18
- if (f && e && c.has(e))
19
- return e;
20
- if (u && c.has(u))
21
- return u;
22
- const d = _(y, r);
23
- return c.has(d) ? d : s.code;
13
+ function h(n) {
14
+ let { currencies: r, storedCurrencyCode: i, hasHydrated: a, initialCurrencyCode: o, locale: s } = n, c = new Set(r.map((e) => d(e.code))), l = e(r), u = o ? d(o) : null, f = i ? d(i) : null;
15
+ if (a && f && c.has(f)) return f;
16
+ if (u && c.has(u)) return u;
17
+ let p = t(s, r);
18
+ return c.has(p) ? p : l.code;
24
19
  }
25
- function D({
26
- children: n,
27
- initialCurrencies: r,
28
- initialCurrencyCode: i,
29
- locale: f
30
- }) {
31
- const [t, y] = z(
32
- () => g(r)
33
- ), c = v(
34
- (o) => o.activeCurrencyCode
35
- ), s = v((o) => o.hasHydrated), u = v(
36
- (o) => o.setActiveCurrencyCode
37
- );
38
- a(() => {
39
- v.persist.rehydrate();
40
- }, []), a(() => {
41
- r.length > 0 && y(g(r));
42
- }, [r]), a(() => {
43
- if (r.length > 0)
44
- return;
45
- async function o() {
46
- const { fetchActiveCurrenciesFromRest: m } = await import("./currency-rest-client.es.js"), p = await m();
47
- p.length > 0 && y(
48
- g(p.map((x) => M(x)))
49
- );
50
- }
51
- o();
52
- }, [r.length]);
53
- const e = l(
54
- () => L({
55
- currencies: t,
56
- storedCurrencyCode: c,
57
- hasHydrated: s,
58
- initialCurrencyCode: i,
59
- locale: f
60
- }),
61
- [t, c, s, i, f]
62
- );
63
- a(() => {
64
- !s || !e || c !== e && u(e);
65
- }, [s, e, u, c]), a(() => {
66
- !e || typeof document > "u" || (document.cookie = `${F}=${e}; Path=/; Max-Age=31536000; SameSite=Lax`);
67
- }, [e]);
68
- const d = l(
69
- () => S(t),
70
- [t]
71
- ), C = l(
72
- () => t.find((o) => o.code === e) ?? d,
73
- [t, d, e]
74
- ), P = l(
75
- () => ({
76
- currencies: t,
77
- defaultCurrency: d,
78
- activeCurrency: C,
79
- activeCurrencyCode: C.code,
80
- isHydrated: s,
81
- setActiveCurrencyCode: (o) => {
82
- const m = h(o);
83
- t.some((x) => x.code === m) && u(m);
84
- }
85
- }),
86
- [C, t, d, s, u]
87
- );
88
- return /* @__PURE__ */ w(A.Provider, { value: P, children: n });
20
+ function g({ children: t, initialCurrencies: r, initialCurrencyCode: o, locale: s }) {
21
+ let [g, _] = u(() => m(r)), v = i((e) => e.activeCurrencyCode), y = i((e) => e.hasHydrated), b = i((e) => e.setActiveCurrencyCode);
22
+ c(() => {
23
+ i.persist.rehydrate();
24
+ }, []), c(() => {
25
+ r.length > 0 && _(m(r));
26
+ }, [r]), c(() => {
27
+ if (r.length > 0) return;
28
+ async function e() {
29
+ let { fetchActiveCurrenciesFromRest: e } = await import("./currency-rest-client.es.js"), t = await e();
30
+ t.length > 0 && _(m(t.map((e) => n(e))));
31
+ }
32
+ e();
33
+ }, [r.length]);
34
+ let x = l(() => h({
35
+ currencies: g,
36
+ storedCurrencyCode: v,
37
+ hasHydrated: y,
38
+ initialCurrencyCode: o,
39
+ locale: s
40
+ }), [
41
+ g,
42
+ v,
43
+ y,
44
+ o,
45
+ s
46
+ ]);
47
+ c(() => {
48
+ y && x && v !== x && b(x);
49
+ }, [
50
+ y,
51
+ x,
52
+ b,
53
+ v
54
+ ]), c(() => {
55
+ x && typeof document < "u" && (document.cookie = `${a}=${x}; Path=/; Max-Age=31536000; SameSite=Lax`);
56
+ }, [x]);
57
+ let S = l(() => e(g), [g]), C = l(() => g.find((e) => e.code === x) ?? S, [
58
+ g,
59
+ S,
60
+ x
61
+ ]), w = l(() => ({
62
+ currencies: g,
63
+ defaultCurrency: S,
64
+ activeCurrency: C,
65
+ activeCurrencyCode: C.code,
66
+ isHydrated: y,
67
+ setActiveCurrencyCode: (e) => {
68
+ let t = d(e);
69
+ g.some((e) => e.code === t) && b(t);
70
+ }
71
+ }), [
72
+ C,
73
+ g,
74
+ S,
75
+ y,
76
+ b
77
+ ]);
78
+ return /* @__PURE__ */ f(p.Provider, {
79
+ value: w,
80
+ children: t
81
+ });
89
82
  }
90
- function I() {
91
- const n = H(A);
92
- if (!n)
93
- throw new Error("useCurrency must be used inside a CurrencyProvider");
94
- return n;
83
+ function _() {
84
+ let e = s(p);
85
+ if (!e) throw Error("useCurrency must be used inside a CurrencyProvider");
86
+ return e;
95
87
  }
96
- export {
97
- D as CurrencyProvider,
98
- I as useCurrency
99
- };
88
+ //#endregion
89
+ export { g as CurrencyProvider, _ as useCurrency };
@@ -0,0 +1 @@
1
+ "use client";const e=require("./types.cjs");let t=require("react"),n=require("react/jsx-runtime");var r=(0,t.createContext)({stripe:!0,freemius:!0});function i({readiness:e,children:i}){let a=(0,t.useMemo)(()=>({stripe:e?.stripe??!0,freemius:e?.freemius??!0}),[e?.stripe,e?.freemius]);return(0,n.jsx)(r.Provider,{value:a,children:i})}function a(){return(0,t.useContext)(r)}function o(t){return a()[e.getProductPaymentProvider(t)??`stripe`]??!0}exports.PaymentReadinessProvider=i,exports.useCanPurchase=o,exports.usePaymentReadiness=a;
@@ -20,7 +20,7 @@ export interface PaymentReadiness {
20
20
  export declare function PaymentReadinessProvider({ readiness, children, }: {
21
21
  readiness?: PaymentReadiness | null;
22
22
  children: ReactNode;
23
- }): import("react").JSX.Element;
23
+ }): import('react').JSX.Element;
24
24
  export declare function usePaymentReadiness(): PaymentReadiness;
25
25
  /** Whether this specific product can be bought, given its provider. */
26
26
  export declare function useCanPurchase(product: Pick<Product, 'payment_provider' | 'product_type' | 'freemius_product_id'>): boolean;
@@ -1,30 +1,27 @@
1
- 'use client';
2
- import { jsx as n } from "react/jsx-runtime";
3
- import { createContext as s, useMemo as u, useContext as i } from "react";
4
- import { getProductPaymentProvider as m } from "./types.es.js";
5
- const c = { stripe: !0, freemius: !0 }, o = s(c);
6
- function d({
7
- readiness: e,
8
- children: t
9
- }) {
10
- const r = u(
11
- () => ({
12
- stripe: e?.stripe ?? !0,
13
- freemius: e?.freemius ?? !0
14
- }),
15
- [e?.stripe, e?.freemius]
16
- );
17
- return /* @__PURE__ */ n(o.Provider, { value: r, children: t });
1
+ "use client";
2
+ import { getProductPaymentProvider as e } from "./types.es.js";
3
+ import { createContext as t, useContext as n, useMemo as r } from "react";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ //#region src/lib/PaymentReadinessProvider.tsx
6
+ var a = t({
7
+ stripe: !0,
8
+ freemius: !0
9
+ });
10
+ function o({ readiness: e, children: t }) {
11
+ let n = r(() => ({
12
+ stripe: e?.stripe ?? !0,
13
+ freemius: e?.freemius ?? !0
14
+ }), [e?.stripe, e?.freemius]);
15
+ return /* @__PURE__ */ i(a.Provider, {
16
+ value: n,
17
+ children: t
18
+ });
18
19
  }
19
- function f() {
20
- return i(o);
20
+ function s() {
21
+ return n(a);
21
22
  }
22
- function v(e) {
23
- const t = f(), r = m(e) ?? "stripe";
24
- return t[r] ?? !0;
23
+ function c(t) {
24
+ return s()[e(t) ?? "stripe"] ?? !0;
25
25
  }
26
- export {
27
- d as PaymentReadinessProvider,
28
- v as useCanPurchase,
29
- f as usePaymentReadiness
30
- };
26
+ //#endregion
27
+ export { o as PaymentReadinessProvider, c as useCanPurchase, s as usePaymentReadiness };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./types.cjs"),t=require("./currency.cjs"),n=require("./CurrencyProvider.cjs");let r=require("zustand"),i=require("zustand/middleware");function a(t,n,r){return t.reduce((t,i)=>e.isDigitalItem(i)||i.sku!==n||r&&i.id===r?t:t+i.quantity,0)}var o=(0,r.create)()((0,i.persist)((t,n)=>({items:[],appliedCoupon:null,isOpen:!1,addItem:r=>{let{items:i}=n(),o=r.quantity??1,s=typeof r.stock==`number`?r.stock:null,c=s===null?0:a(i,r.sku);if(e.isDigitalItem(r))return i.find(t=>t.product_id===r.product_id&&e.isDigitalItem(t))?{success:!1,error:`This software license is already in your cart.`,errorKey:`ecommerce.cart_error_license_in_cart`}:(t({items:[...i,{...r,quantity:1}],isOpen:!0}),{success:!0});let l=i.find(e=>e.id===r.id);return s!==null&&s<=0?{success:!1,error:`This item is out of stock.`,errorKey:`ecommerce.cart_error_out_of_stock`}:s!==null&&c+o>s?{success:!1,error:`Only ${s} available for this SKU.`,errorKey:`ecommerce.cart_error_stock_limit`,errorParams:{count:s}}:(t(l?{items:i.map(e=>e.id===r.id?{...e,...r,quantity:e.quantity+o}:e),isOpen:!0}:{items:[...i,{...r,quantity:o}],isOpen:!0}),{success:!0})},removeItem:e=>{let{items:r}=n();t({items:r.filter(t=>t.id!==e)})},updateQuantity:(r,i)=>{let{items:o}=n(),s=o.find(e=>e.id===r);s&&e.isDigitalItem(s)||(s&&typeof s.stock==`number`&&i+a(o,s.sku,r)>s.stock&&(i=Math.max(s.stock-a(o,s.sku,r),0)),t(i<=0?{items:o.filter(e=>e.id!==r)}:{items:o.map(e=>e.id===r?{...e,quantity:i}:e)}))},setAppliedCoupon:e=>{let r=n().appliedCoupon;(r?.code!==e?.code||r?.couponId!==e?.couponId)&&t({appliedCoupon:e})},removeCoupon:()=>{n().appliedCoupon&&t({appliedCoupon:null})},clearCart:()=>t({items:[],appliedCoupon:null}),toggleCart:()=>t(e=>({isOpen:!e.isOpen})),setIsOpen:e=>t({isOpen:e}),setItems:e=>t({items:e})}),{name:`cart-storage`,storage:(0,i.createJSONStorage)(()=>localStorage),skipHydration:!0,partialize:e=>({items:e.items,appliedCoupon:e.appliedCoupon})})),s=()=>o(e=>e.items).reduce((e,t)=>e+t.quantity,0);function c(e,n){return t.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:n.currencyCode,currencies:n.currencies})}var l=()=>{let e=o(e=>e.items),{activeCurrencyCode:t,currencies:r}=n.useCurrency();return e.reduce((e,n)=>{let{price:i,sale_price:a}=c(n,{currencyCode:t,currencies:r});return e+(a??i)*n.quantity},0)};exports.getCartItemActivePrice=c,exports.useCartStore=o,exports.useCartSubtotal=l,exports.useCartTotalItems=s;