@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
@@ -0,0 +1,238 @@
1
+ const e=require("./shared-inventory.cjs");let t=require("@nextblock-cms/utils"),n=require("@nextblock-cms/utils/server"),r=require("@nextblock-cms/utils/utils");var i=e=>Math.round(e*100);function a(e){return Object.entries(e||{}).reduce((e,[t,n])=>(typeof n==`number`&&Number.isFinite(n)&&n>=0&&(e[(0,r.normalizeCurrencyCode)(t)]=i(n)),e),{})}function o(e){return(e||[]).map(e=>({id:e.id,sku:e.sku,upc:e.upc??null,price:i(e.price),sale_price:typeof e.sale_price==`number`&&!isNaN(e.sale_price)?i(e.sale_price):null,prices:a(e.prices),sale_prices:a(e.sale_prices),sale_start_at:e.sale_start_at??null,sale_end_at:e.sale_end_at??null,stock_quantity:e.stock_quantity,main_media_id:e.main_media_id??null,attribute_term_ids:e.attribute_term_ids}))}function s(e,t){let n=e.product_type===`digital`&&e.payment_provider===`freemius`?Math.max(0,Number(e.trial_period_days??0)):0;return{id:t,product_type:e.product_type,payment_provider:e.payment_provider,title:e.title,slug:e.slug,sku:e.sku,upc:e.upc??null,stock:e.stock,status:e.status,short_description:e.short_description??null,description_json:e.description_json??null,metadata:{},price:i(e.price),sale_price:typeof e.sale_price==`number`&&!isNaN(e.sale_price)?i(e.sale_price):null,prices:a(e.prices),sale_prices:a(e.sale_prices),sale_start_at:e.sale_start_at??null,sale_end_at:e.sale_end_at??null,freemius_plan_id:e.freemius_plan_id??null,freemius_product_id:e.freemius_product_id??null,trial_period_days:n,trial_requires_payment_method:n>0?e.trial_requires_payment_method??!1:!1,is_taxable:e.is_taxable,language_id:e.language_id,translation_group_id:e.translation_group_id||void 0,variants:o(e.variants)}}async function c(e,t,n){let r=e=>(typeof e==`string`?e.trim():``)||null,{error:i}=await e.from(`products`).update({meta_title:r(n.meta_title),meta_description:r(n.meta_description),custom_canonical:r(n.custom_canonical),updated_at:new Date().toISOString()}).eq(`id`,t);if(i)throw i}async function l(e,t,n){let{error:r}=await e.from(`products`).update({is_taxable:n,updated_at:new Date().toISOString()}).eq(`id`,t);if(r)throw r}async function u(e,t,n){let r=new Date().toISOString(),{data:i}=await e.from(`products`).select(`sku, sale_price, sale_prices`).eq(`id`,t).maybeSingle(),a=i?.sku??n.sku,{data:o}=await e.from(`products`).select(`id`).eq(`sku`,a),s=(o??[]).map(e=>e.id);s.length===0&&s.push(t);let{error:c}=await e.from(`products`).update({sale_price:i?.sale_price??null,sale_prices:i?.sale_prices??null,sale_start_at:n.sale_start_at??null,sale_end_at:n.sale_end_at??null,updated_at:r}).in(`id`,s);if(c)throw c;let l=n.variants??[];if(l.length===0)return;let{data:u}=await e.from(`product_variants`).select(`sku, sale_price, sale_prices`).eq(`product_id`,t),d=new Map((u??[]).map(e=>[e.sku,e]));for(let t of l){let n=d.get(t.sku);if(!n)continue;let{error:i}=await e.from(`product_variants`).update({sale_price:n.sale_price??null,sale_prices:n.sale_prices??null,sale_start_at:t.sale_start_at??null,sale_end_at:t.sale_end_at??null,updated_at:r}).eq(`sku`,t.sku).in(`product_id`,s);if(i)throw i}}async function d(e,{page:t=1,limit:n=10,offset:r,search:i=``,languageId:a,categoryId:o,categoryIds:s,productIds:c,translationGroupIds:l,status:u=`active`}={}){let d=n>0,f=typeof r==`number`?Math.max(0,r):(t-1)*n,p=f+n-1,m=e.from(`products`).select(`id, title, meta_title, meta_description, average_rating, total_reviews, sku, upc, price, prices, sale_price, sale_prices, sale_start_at, sale_end_at, scheduled_price, scheduled_prices, scheduled_price_at, is_taxable, product_type, payment_provider, short_description, stock, status, slug, language_id, translation_group_id, freemius_product_id, freemius_plan_id, trial_period_days, trial_requires_payment_method, product_media(media(file_path, object_key)), product_variants(id, price, prices, sale_price, sale_prices, sale_start_at, sale_end_at, scheduled_price, scheduled_prices, scheduled_price_at), freemius_plans(id, name, title, freemius_pricing(id, license_quota, api_monthly_price, api_annual_price, api_lifetime_price, override_monthly_price, override_annual_price, override_lifetime_price, is_active)), product_categories(category:categories(id, name, slug, description, name_translations, description_translations))`,{count:`exact`}).order(`created_at`,{ascending:!1});if(d&&(m=m.range(f,p)),u!==`all`&&(m=m.eq(`status`,u)),a&&(m=m.eq(`language_id`,a)),c){if(c.length===0)return{data:[],error:null,count:0};m=m.in(`id`,c)}if(l){if(l.length===0)return{data:[],error:null,count:0};m=m.in(`translation_group_id`,l)}let h=s?.length?s:o?[o]:[];if(h.length>0){let{data:t,error:n}=await e.from(`product_categories`).select(`product_id`).in(`category_id`,h);if(n)return{data:[],error:n,count:0};let r=Array.from(new Set((t||[]).map(e=>e.product_id).filter(Boolean)));if(r.length===0)return{data:[],error:null,count:0};m=m.in(`id`,r)}return i&&(m=m.or(`title.ilike.%${i}%,sku.ilike.%${i}%`)),m}async function f(e,t){return e.from(`products`).select(`
2
+ *,
3
+ languages (
4
+ code
5
+ ),
6
+ product_media (
7
+ media_id,
8
+ sort_order,
9
+ media (
10
+ id,
11
+ file_path,
12
+ object_key,
13
+ file_name,
14
+ blur_data_url,
15
+ width,
16
+ height
17
+ )
18
+ ),
19
+ product_variants (
20
+ id,
21
+ sku,
22
+ upc,
23
+ main_media_id,
24
+ price,
25
+ prices,
26
+ sale_price,
27
+ sale_prices,
28
+ sale_start_at,
29
+ sale_end_at,
30
+ scheduled_price,
31
+ scheduled_prices,
32
+ scheduled_price_at,
33
+ stock_quantity,
34
+ media:main_media_id (
35
+ id,
36
+ file_path,
37
+ object_key,
38
+ description
39
+ ),
40
+ variant_attribute_mapping (
41
+ attribute_term_id,
42
+ product_attribute_terms (
43
+ id,
44
+ attribute_id,
45
+ value,
46
+ slug,
47
+ sort_order,
48
+ value_translations,
49
+ product_attributes (
50
+ id,
51
+ name,
52
+ slug,
53
+ name_translations
54
+ )
55
+ )
56
+ )
57
+ ),
58
+ freemius_plans (
59
+ id,
60
+ name,
61
+ title,
62
+ freemius_pricing (
63
+ id,
64
+ license_quota,
65
+ api_monthly_price,
66
+ api_annual_price,
67
+ api_lifetime_price,
68
+ override_monthly_price,
69
+ override_annual_price,
70
+ override_lifetime_price,
71
+ is_active
72
+ )
73
+ ),
74
+ product_categories (
75
+ category:categories (
76
+ id,
77
+ name,
78
+ slug,
79
+ description,
80
+ name_translations,
81
+ description_translations
82
+ )
83
+ )
84
+ `).eq(`id`,t).single()}async function p(e,t,n){let{data:r,error:i}=await e.from(`products`).select(`
85
+ *,
86
+ languages (
87
+ id,
88
+ code,
89
+ is_default
90
+ ),
91
+ product_media (
92
+ media_id,
93
+ sort_order,
94
+ media (
95
+ id,
96
+ file_path,
97
+ object_key,
98
+ file_name,
99
+ blur_data_url,
100
+ width,
101
+ height,
102
+ variants
103
+ )
104
+ ),
105
+ product_variants (
106
+ id,
107
+ sku,
108
+ upc,
109
+ main_media_id,
110
+ price,
111
+ prices,
112
+ sale_price,
113
+ sale_prices,
114
+ sale_start_at,
115
+ sale_end_at,
116
+ scheduled_price,
117
+ scheduled_prices,
118
+ scheduled_price_at,
119
+ stock_quantity,
120
+ media:main_media_id (
121
+ id,
122
+ file_path,
123
+ object_key,
124
+ description
125
+ ),
126
+ variant_attribute_mapping (
127
+ attribute_term_id,
128
+ product_attribute_terms (
129
+ id,
130
+ attribute_id,
131
+ value,
132
+ slug,
133
+ sort_order,
134
+ value_translations,
135
+ product_attributes (
136
+ id,
137
+ name,
138
+ slug,
139
+ name_translations
140
+ )
141
+ )
142
+ )
143
+ ),
144
+ freemius_plans (
145
+ id,
146
+ name,
147
+ title,
148
+ freemius_pricing (
149
+ id,
150
+ license_quota,
151
+ api_monthly_price,
152
+ api_annual_price,
153
+ api_lifetime_price,
154
+ override_monthly_price,
155
+ override_annual_price,
156
+ override_lifetime_price,
157
+ is_active
158
+ )
159
+ ),
160
+ product_categories (
161
+ category:categories (
162
+ id,
163
+ name,
164
+ slug,
165
+ description,
166
+ name_translations,
167
+ description_translations
168
+ )
169
+ )
170
+ `).eq(`slug`,t);if(i)return{data:null,error:i};if(!r||r.length===0)return{data:null,error:{message:`Product not found`,code:`PGRST116`}};let a=null;return n&&(a=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.code===n)),a||=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.is_default),a||=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.code===`en`),a||=r[0],{data:a,error:null}}async function m(t,n){let{data:r,error:i}=await t.rpc(`upsert_product_with_variants`,{product_payload:s(n)});if(i||!r)throw i||Error(`Failed to create product`);if(n.product_media&&n.product_media.length>0){let e=n.product_media.map((e,t)=>({product_id:r,media_id:e.media_id,sort_order:t}));await t.from(`product_media`).insert(e)}else n.media_id&&await t.from(`product_media`).insert({product_id:r,media_id:n.media_id,sort_order:0});await l(t,r,n.is_taxable),await c(t,r,n),await u(t,r,n),await e.syncSharedInventoryForSavedProduct(r,n),n.category_ids!==void 0&&await y(t,r,n.category_ids);let{data:a}=await t.from(`products`).select(`*`).eq(`id`,r).single();return a}async function h(t,r,i){let{data:a}=await t.from(`product_media`).select(`media_id`).eq(`product_id`,r),o=a?.map(e=>e.media_id)||[],{data:d,error:f}=await t.rpc(`upsert_product_with_variants`,{product_payload:s(i,r)});if(f||!d)throw f||Error(`Failed to update product`);if(i.product_media){if(await t.from(`product_media`).delete().eq(`product_id`,r),i.product_media.length>0){let e=i.product_media.map((e,t)=>({product_id:r,media_id:e.media_id,sort_order:t}));await t.from(`product_media`).insert(e)}}else i.media_id&&(await t.from(`product_media`).delete().eq(`product_id`,r),await t.from(`product_media`).insert({product_id:r,media_id:i.media_id,sort_order:0}));await l(t,d,i.is_taxable),await c(t,d,i),await u(t,d,i);let p=i.product_media?i.product_media.map(e=>e.media_id):i.media_id?[i.media_id]:[],m=i.explicitly_removed_media_ids||[],h=o.filter(e=>!p.includes(e)),g=Array.from(new Set([...h,...m]));if(g.length>0)for(let e of g){let{count:r}=await t.from(`product_media`).select(`*`,{count:`exact`,head:!0}).eq(`media_id`,e);if(r&&r>0)continue;let{count:i}=await t.from(`posts`).select(`*`,{count:`exact`,head:!0}).eq(`feature_image_id`,e);if(i&&i>0)continue;let{count:a}=await t.from(`logos`).select(`*`,{count:`exact`,head:!0}).eq(`media_id`,e);if(a&&a>0)continue;let{count:o}=await t.from(`product_variants`).select(`*`,{count:`exact`,head:!0}).eq(`main_media_id`,e);if(o&&o>0)continue;let{data:s}=await t.from(`media`).select(`object_key, variants`).eq(`id`,e).single();if(s){let r=[s.object_key];s.variants&&Array.isArray(s.variants)&&s.variants.forEach(e=>{e.objectKey&&r.push(e.objectKey)}),await(0,n.deleteMediaFiles)(r),await t.from(`media`).delete().eq(`id`,e)}}await e.syncSharedInventoryForSavedProduct(d,i),i.category_ids!==void 0&&await y(t,r,i.category_ids);let{data:_}=await t.from(`products`).select(`*`).eq(`id`,d).single();return _}async function g(e,t){let{error:n}=await e.from(`products`).delete().eq(`id`,t);if(n)throw n;return!0}async function _(e,t,n){let{data:r,error:i}=await e.from(`products`).select(`*`).eq(`id`,n).single();if(i||!r)throw Error(i?.message||`Source product not found`);let{data:a,error:o}=await e.from(`products`).select(`language_id`).eq(`id`,t).single();if(o||!a)throw Error(o?.message||`Target product not found`);let{error:s}=await e.from(`products`).update({title:r.title,short_description:r.short_description,description_json:r.description_json}).eq(`id`,t);if(s)throw s;let{data:c,error:l}=await e.from(`blocks`).select(`*`).eq(`product_id`,n).order(`order`,{ascending:!0});if(l)throw l;if(await e.from(`blocks`).delete().eq(`product_id`,t),c&&c.length>0){let n=c.map(e=>{let{id:n,created_at:r,updated_at:i,...o}=e;return{...o,product_id:t,language_id:a.language_id}}),{error:r}=await e.from(`blocks`).insert(n);if(r)throw r}await e.from(`product_drafts`).delete().eq(`product_id`,t),await e.from(`product_media`).delete().eq(`product_id`,t);let{data:u}=await e.from(`product_media`).select(`media_id, sort_order`).eq(`product_id`,n);if(u&&u.length>0){let n=u.map(e=>({product_id:t,media_id:e.media_id,sort_order:e.sort_order}));await e.from(`product_media`).insert(n)}return{success:!0}}async function v(e,n,r,i=[],a=[]){let{data:o}=await e.from(`languages`).select(`id`).eq(`code`,r).single();if(!o)return{data:[],error:`Language not found`};let s=[];n.length>0&&s.push(`translation_group_id.in.(${n.join(`,`)})`),i.length>0&&s.push(`sku.in.(${i.map(e=>`"${e}"`).join(`,`)})`),a.length>0&&s.push(`id.in.(${a.join(`,`)})`);let c=e.from(`products`).select(`
171
+ id,
172
+ title,
173
+ sku,
174
+ price,
175
+ prices,
176
+ sale_price,
177
+ sale_prices,
178
+ sale_start_at,
179
+ sale_end_at,
180
+ scheduled_price,
181
+ scheduled_prices,
182
+ scheduled_price_at,
183
+ stock,
184
+ slug,
185
+ language_id,
186
+ product_type,
187
+ payment_provider,
188
+ freemius_product_id,
189
+ freemius_plan_id,
190
+ trial_period_days,
191
+ trial_requires_payment_method,
192
+ is_taxable,
193
+ product_media (
194
+ media (
195
+ file_path,
196
+ object_key
197
+ )
198
+ ),
199
+ product_variants (
200
+ id,
201
+ sku,
202
+ upc,
203
+ main_media_id,
204
+ price,
205
+ prices,
206
+ sale_price,
207
+ sale_prices,
208
+ sale_start_at,
209
+ sale_end_at,
210
+ scheduled_price,
211
+ scheduled_prices,
212
+ scheduled_price_at,
213
+ stock_quantity,
214
+ media:main_media_id (
215
+ file_path,
216
+ object_key,
217
+ description
218
+ ),
219
+ variant_attribute_mapping (
220
+ attribute_term_id,
221
+ product_attribute_terms (
222
+ id,
223
+ attribute_id,
224
+ value,
225
+ slug,
226
+ sort_order,
227
+ value_translations,
228
+ product_attributes (
229
+ id,
230
+ name,
231
+ slug,
232
+ name_translations
233
+ )
234
+ )
235
+ )
236
+ ),
237
+ translation_group_id
238
+ `).eq(`language_id`,o.id).eq(`status`,`active`).or((0,t.buildPublishedAtOrFilter)());return s.length>0&&(c=c.or(s.join(`,`))),await c.order(`id`)}async function y(e,t,n){let{data:r}=await e.from(`products`).select(`translation_group_id`).eq(`id`,t).single();if(!r||!r.translation_group_id){if(await e.from(`product_categories`).delete().eq(`product_id`,t),n.length>0){let r=n.map(e=>({product_id:t,category_id:e}));await e.from(`product_categories`).insert(r)}return}let{data:i}=await e.from(`products`).select(`id`).eq(`translation_group_id`,r.translation_group_id),a=i&&i.length>0?i.map(e=>e.id):[t];if(await e.from(`product_categories`).delete().in(`product_id`,a),n.length>0){let t=[];for(let e of a)for(let r of n)t.push({product_id:e,category_id:r});await e.from(`product_categories`).insert(t)}}exports.copyProductFromLanguage=_,exports.createProduct=m,exports.deleteProduct=g,exports.fetchTranslatedProductsForCartInternal=v,exports.getProduct=f,exports.getProductBySlug=p,exports.getProducts=d,exports.syncCategoriesForTranslationGroup=y,exports.updateProduct=h;