@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
@@ -1,48 +1,36 @@
1
- 'use client';
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { Button as s } from "@nextblock-cms/ui";
4
- import { useTransition as p } from "react";
5
- import { Trash2 as h } from "lucide-react";
6
- import { useRouter as m } from "next/navigation";
7
- function b({
8
- productName: l,
9
- isIcon: c = !1,
10
- className: r,
11
- redirectTo: o,
12
- deleteAction: d
13
- }) {
14
- const [e, u] = p(), n = m(), i = async (a) => {
15
- a.preventDefault(), a.stopPropagation(), window.confirm(`Are you sure you want to delete "${l}"? This action cannot be undone.`) && u(async () => {
16
- try {
17
- await d(), o ? n.push(o) : n.refresh();
18
- } catch (f) {
19
- console.error("Failed to delete product:", f), alert("Failed to delete product. Please try again.");
20
- }
21
- });
22
- };
23
- return c ? /* @__PURE__ */ t(
24
- s,
25
- {
26
- variant: "ghost",
27
- size: "icon",
28
- onClick: i,
29
- disabled: e,
30
- className: `text-red-500 hover:text-red-600 hover:bg-red-50 ${r}`,
31
- title: "Delete Product",
32
- children: /* @__PURE__ */ t(h, { className: "h-4 w-4" })
33
- }
34
- ) : /* @__PURE__ */ t(
35
- s,
36
- {
37
- variant: "destructive",
38
- onClick: i,
39
- disabled: e,
40
- className: r,
41
- type: "button",
42
- children: e ? "Deleting..." : "Delete Product"
43
- }
44
- );
1
+ "use client";
2
+ import { useTransition as e } from "react";
3
+ import { Trash2 as t } from "lucide-react";
4
+ import { jsx as n } from "react/jsx-runtime";
5
+ import { useRouter as r } from "next/navigation";
6
+ import { Button as i } from "@nextblock-cms/ui";
7
+ //#region src/lib/pages/cms/products/components/DeleteProductButton.tsx
8
+ function a({ productName: a, isIcon: o = !1, className: s, redirectTo: c, deleteAction: l }) {
9
+ let [u, d] = e(), f = r(), p = async (e) => {
10
+ e.preventDefault(), e.stopPropagation(), window.confirm(`Are you sure you want to delete "${a}"? This action cannot be undone.`) && d(async () => {
11
+ try {
12
+ await l(), c ? f.push(c) : f.refresh();
13
+ } catch (e) {
14
+ console.error("Failed to delete product:", e), alert("Failed to delete product. Please try again.");
15
+ }
16
+ });
17
+ };
18
+ return o ? /* @__PURE__ */ n(i, {
19
+ variant: "ghost",
20
+ size: "icon",
21
+ onClick: p,
22
+ disabled: u,
23
+ className: `text-red-500 hover:text-red-600 hover:bg-red-50 ${s}`,
24
+ title: "Delete Product",
25
+ children: /* @__PURE__ */ n(t, { className: "h-4 w-4" })
26
+ }) : /* @__PURE__ */ n(i, {
27
+ variant: "destructive",
28
+ onClick: p,
29
+ disabled: u,
30
+ className: s,
31
+ type: "button",
32
+ children: u ? "Deleting..." : "Delete Product"
33
+ });
45
34
  }
46
- export {
47
- b as DeleteProductButton
48
- };
35
+ //#endregion
36
+ export { a as DeleteProductButton };
@@ -0,0 +1 @@
1
+ "use client";const e=require("../actions.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("sonner"),i=require("@nextblock-cms/ui");function a({plans:e}){return(0,n.jsx)(`div`,{className:`w-full`,children:e&&e.length>0?(0,n.jsx)(`div`,{className:`space-y-8`,children:e.map(t=>(0,n.jsxs)(`div`,{className:`w-full`,children:[e.length>1&&(0,n.jsx)(`h3`,{className:`font-semibold text-lg text-slate-700 dark:text-slate-300 border-b pb-2 mb-4 mt-6`,children:t.title||t.name}),(0,n.jsx)(`div`,{className:`${e.length>1?`rounded-lg border`:`rounded-b-lg border-x border-b`} overflow-x-auto dark:border-slate-700 bg-card`,children:(0,n.jsxs)(i.Table,{children:[(0,n.jsx)(i.TableHeader,{children:(0,n.jsxs)(i.TableRow,{children:[(0,n.jsx)(i.TableHead,{children:`Licenses`}),(0,n.jsx)(i.TableHead,{children:`API Monthly`}),(0,n.jsx)(i.TableHead,{children:`Override Monthly`}),(0,n.jsx)(i.TableHead,{children:`API Annual`}),(0,n.jsx)(i.TableHead,{children:`Override Annual`}),(0,n.jsx)(i.TableHead,{children:`API Lifetime`}),(0,n.jsx)(i.TableHead,{children:`Override Lifetime`})]})}),(0,n.jsx)(i.TableBody,{children:t.freemius_pricing&&t.freemius_pricing.length>0?t.freemius_pricing.map(e=>(0,n.jsx)(o,{pricing:e},e.id)):(0,n.jsx)(i.TableRow,{children:(0,n.jsx)(i.TableCell,{colSpan:7,className:`text-center text-slate-500 py-4`,children:`No pricing configurations found for this plan.`})})})]})})]},t.id))}):(0,n.jsxs)(`div`,{className:`text-center py-10 bg-slate-50 dark:bg-slate-800/50 rounded border border-dashed border-slate-300 dark:border-slate-700`,children:[(0,n.jsx)(`p`,{className:`text-slate-500`,children:`No Freemius plans synchronized yet.`}),(0,n.jsx)(`p`,{className:`text-xs mt-2 text-slate-400`,children:`Click the full synchronization button to import from Freemius.`})]})})}function o({pricing:a}){let[o,s]=(0,t.useTransition)(),c=(t,n)=>{let i=n===``?null:parseFloat(n);n!==``&&Number.isNaN(i)||s(async()=>{let{success:n,error:o}=await e.updateFreemiusOverride(a.id,{[t]:i});n?r.toast.success(`Pricing override saved`):r.toast.error(o||`Failed to update pricing`)})};return(0,n.jsxs)(i.TableRow,{children:[(0,n.jsx)(i.TableCell,{className:`font-medium`,children:a.license_quota||`Unlimited`}),(0,n.jsx)(i.TableCell,{className:`text-slate-500`,children:a.api_monthly_price?`$${a.api_monthly_price}`:`-`}),(0,n.jsx)(i.TableCell,{children:(0,n.jsx)(i.Input,{type:`number`,step:`0.01`,placeholder:`Override...`,defaultValue:a.override_monthly_price||``,onBlur:e=>{e.target.value!==(a.override_monthly_price?.toString()||``)&&c(`override_monthly_price`,e.target.value)},className:`w-24 h-8`,disabled:o})}),(0,n.jsx)(i.TableCell,{className:`text-slate-500`,children:a.api_annual_price?`$${a.api_annual_price}`:`-`}),(0,n.jsx)(i.TableCell,{children:(0,n.jsx)(i.Input,{type:`number`,step:`0.01`,placeholder:`Override...`,defaultValue:a.override_annual_price||``,onBlur:e=>{e.target.value!==(a.override_annual_price?.toString()||``)&&c(`override_annual_price`,e.target.value)},className:`w-24 h-8`,disabled:o})}),(0,n.jsx)(i.TableCell,{className:`text-slate-500`,children:a.api_lifetime_price?`$${a.api_lifetime_price}`:`-`}),(0,n.jsx)(i.TableCell,{children:(0,n.jsx)(i.Input,{type:`number`,step:`0.01`,placeholder:`Override...`,defaultValue:a.override_lifetime_price||``,onBlur:e=>{e.target.value!==(a.override_lifetime_price?.toString()||``)&&c(`override_lifetime_price`,e.target.value)},className:`w-24 h-8`,disabled:o})})]})}exports.FreemiusPricingDashboard=a;
@@ -20,5 +20,5 @@ interface FreemiusPricingDashboardProps {
20
20
  freemiusProductId: string;
21
21
  plans: FreemiusPlanData[];
22
22
  }
23
- export declare function FreemiusPricingDashboard({ plans }: FreemiusPricingDashboardProps): import("react").JSX.Element;
23
+ export declare function FreemiusPricingDashboard({ plans }: FreemiusPricingDashboardProps): import('react').JSX.Element;
24
24
  export {};
@@ -1,86 +1,108 @@
1
- 'use client';
2
- import { jsx as e, jsxs as d } from "react/jsx-runtime";
3
- import { useTransition as _ } from "react";
4
- import { Table as b, TableHeader as v, TableRow as m, TableHead as a, TableBody as N, TableCell as l, Input as c } from "@nextblock-cms/ui";
5
- import { toast as h } from "sonner";
6
- import { updateFreemiusOverride as x } from "../actions.es.js";
7
- function $({ plans: r }) {
8
- return /* @__PURE__ */ e("div", { className: "w-full", children: r && r.length > 0 ? /* @__PURE__ */ e("div", { className: "space-y-8", children: r.map((t) => /* @__PURE__ */ d("div", { className: "w-full", children: [
9
- r.length > 1 && /* @__PURE__ */ e("h3", { className: "font-semibold text-lg text-slate-700 dark:text-slate-300 border-b pb-2 mb-4 mt-6", children: t.title || t.name }),
10
- /* @__PURE__ */ e("div", { className: `${r.length > 1 ? "rounded-lg border" : "rounded-b-lg border-x border-b"} overflow-x-auto dark:border-slate-700 bg-card`, children: /* @__PURE__ */ d(b, { children: [
11
- /* @__PURE__ */ e(v, { children: /* @__PURE__ */ d(m, { children: [
12
- /* @__PURE__ */ e(a, { children: "Licenses" }),
13
- /* @__PURE__ */ e(a, { children: "API Monthly" }),
14
- /* @__PURE__ */ e(a, { children: "Override Monthly" }),
15
- /* @__PURE__ */ e(a, { children: "API Annual" }),
16
- /* @__PURE__ */ e(a, { children: "Override Annual" }),
17
- /* @__PURE__ */ e(a, { children: "API Lifetime" }),
18
- /* @__PURE__ */ e(a, { children: "Override Lifetime" })
19
- ] }) }),
20
- /* @__PURE__ */ e(N, { children: t.freemius_pricing && t.freemius_pricing.length > 0 ? t.freemius_pricing.map((n) => /* @__PURE__ */ e(y, { pricing: n }, n.id)) : /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(l, { colSpan: 7, className: "text-center text-slate-500 py-4", children: "No pricing configurations found for this plan." }) }) })
21
- ] }) })
22
- ] }, t.id)) }) : /* @__PURE__ */ d("div", { className: "text-center py-10 bg-slate-50 dark:bg-slate-800/50 rounded border border-dashed border-slate-300 dark:border-slate-700", children: [
23
- /* @__PURE__ */ e("p", { className: "text-slate-500", children: "No Freemius plans synchronized yet." }),
24
- /* @__PURE__ */ e("p", { className: "text-xs mt-2 text-slate-400", children: "Click the full synchronization button to import from Freemius." })
25
- ] }) });
1
+ "use client";
2
+ import { updateFreemiusOverride as e } from "../actions.es.js";
3
+ import { useTransition as t } from "react";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ import { toast as i } from "sonner";
6
+ import { Input as a, Table as o, TableBody as s, TableCell as c, TableHead as l, TableHeader as u, TableRow as d } from "@nextblock-cms/ui";
7
+ //#region src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx
8
+ function f({ plans: e }) {
9
+ return /* @__PURE__ */ n("div", {
10
+ className: "w-full",
11
+ children: e && e.length > 0 ? /* @__PURE__ */ n("div", {
12
+ className: "space-y-8",
13
+ children: e.map((t) => /* @__PURE__ */ r("div", {
14
+ className: "w-full",
15
+ children: [e.length > 1 && /* @__PURE__ */ n("h3", {
16
+ className: "font-semibold text-lg text-slate-700 dark:text-slate-300 border-b pb-2 mb-4 mt-6",
17
+ children: t.title || t.name
18
+ }), /* @__PURE__ */ n("div", {
19
+ className: `${e.length > 1 ? "rounded-lg border" : "rounded-b-lg border-x border-b"} overflow-x-auto dark:border-slate-700 bg-card`,
20
+ children: /* @__PURE__ */ r(o, { children: [/* @__PURE__ */ n(u, { children: /* @__PURE__ */ r(d, { children: [
21
+ /* @__PURE__ */ n(l, { children: "Licenses" }),
22
+ /* @__PURE__ */ n(l, { children: "API Monthly" }),
23
+ /* @__PURE__ */ n(l, { children: "Override Monthly" }),
24
+ /* @__PURE__ */ n(l, { children: "API Annual" }),
25
+ /* @__PURE__ */ n(l, { children: "Override Annual" }),
26
+ /* @__PURE__ */ n(l, { children: "API Lifetime" }),
27
+ /* @__PURE__ */ n(l, { children: "Override Lifetime" })
28
+ ] }) }), /* @__PURE__ */ n(s, { children: t.freemius_pricing && t.freemius_pricing.length > 0 ? t.freemius_pricing.map((e) => /* @__PURE__ */ n(p, { pricing: e }, e.id)) : /* @__PURE__ */ n(d, { children: /* @__PURE__ */ n(c, {
29
+ colSpan: 7,
30
+ className: "text-center text-slate-500 py-4",
31
+ children: "No pricing configurations found for this plan."
32
+ }) }) })] })
33
+ })]
34
+ }, t.id))
35
+ }) : /* @__PURE__ */ r("div", {
36
+ className: "text-center py-10 bg-slate-50 dark:bg-slate-800/50 rounded border border-dashed border-slate-300 dark:border-slate-700",
37
+ children: [/* @__PURE__ */ n("p", {
38
+ className: "text-slate-500",
39
+ children: "No Freemius plans synchronized yet."
40
+ }), /* @__PURE__ */ n("p", {
41
+ className: "text-xs mt-2 text-slate-400",
42
+ children: "Click the full synchronization button to import from Freemius."
43
+ })]
44
+ })
45
+ });
26
46
  }
27
- function y({ pricing: r }) {
28
- const [t, n] = _(), s = (i, o) => {
29
- const u = o === "" ? null : parseFloat(o);
30
- o !== "" && Number.isNaN(u) || n(async () => {
31
- const { success: f, error: p } = await x(r.id, { [i]: u });
32
- f ? h.success("Pricing override saved") : h.error(p || "Failed to update pricing");
33
- });
34
- };
35
- return /* @__PURE__ */ d(m, { children: [
36
- /* @__PURE__ */ e(l, { className: "font-medium", children: r.license_quota || "Unlimited" }),
37
- /* @__PURE__ */ e(l, { className: "text-slate-500", children: r.api_monthly_price ? `$${r.api_monthly_price}` : "-" }),
38
- /* @__PURE__ */ e(l, { children: /* @__PURE__ */ e(
39
- c,
40
- {
41
- type: "number",
42
- step: "0.01",
43
- placeholder: "Override...",
44
- defaultValue: r.override_monthly_price || "",
45
- onBlur: (i) => {
46
- i.target.value !== (r.override_monthly_price?.toString() || "") && s("override_monthly_price", i.target.value);
47
- },
48
- className: "w-24 h-8",
49
- disabled: t
50
- }
51
- ) }),
52
- /* @__PURE__ */ e(l, { className: "text-slate-500", children: r.api_annual_price ? `$${r.api_annual_price}` : "-" }),
53
- /* @__PURE__ */ e(l, { children: /* @__PURE__ */ e(
54
- c,
55
- {
56
- type: "number",
57
- step: "0.01",
58
- placeholder: "Override...",
59
- defaultValue: r.override_annual_price || "",
60
- onBlur: (i) => {
61
- i.target.value !== (r.override_annual_price?.toString() || "") && s("override_annual_price", i.target.value);
62
- },
63
- className: "w-24 h-8",
64
- disabled: t
65
- }
66
- ) }),
67
- /* @__PURE__ */ e(l, { className: "text-slate-500", children: r.api_lifetime_price ? `$${r.api_lifetime_price}` : "-" }),
68
- /* @__PURE__ */ e(l, { children: /* @__PURE__ */ e(
69
- c,
70
- {
71
- type: "number",
72
- step: "0.01",
73
- placeholder: "Override...",
74
- defaultValue: r.override_lifetime_price || "",
75
- onBlur: (i) => {
76
- i.target.value !== (r.override_lifetime_price?.toString() || "") && s("override_lifetime_price", i.target.value);
77
- },
78
- className: "w-24 h-8",
79
- disabled: t
80
- }
81
- ) })
82
- ] });
47
+ function p({ pricing: o }) {
48
+ let [s, l] = t(), u = (t, n) => {
49
+ let r = n === "" ? null : parseFloat(n);
50
+ n !== "" && Number.isNaN(r) || l(async () => {
51
+ let { success: n, error: a } = await e(o.id, { [t]: r });
52
+ n ? i.success("Pricing override saved") : i.error(a || "Failed to update pricing");
53
+ });
54
+ };
55
+ return /* @__PURE__ */ r(d, { children: [
56
+ /* @__PURE__ */ n(c, {
57
+ className: "font-medium",
58
+ children: o.license_quota || "Unlimited"
59
+ }),
60
+ /* @__PURE__ */ n(c, {
61
+ className: "text-slate-500",
62
+ children: o.api_monthly_price ? `$${o.api_monthly_price}` : "-"
63
+ }),
64
+ /* @__PURE__ */ n(c, { children: /* @__PURE__ */ n(a, {
65
+ type: "number",
66
+ step: "0.01",
67
+ placeholder: "Override...",
68
+ defaultValue: o.override_monthly_price || "",
69
+ onBlur: (e) => {
70
+ e.target.value !== (o.override_monthly_price?.toString() || "") && u("override_monthly_price", e.target.value);
71
+ },
72
+ className: "w-24 h-8",
73
+ disabled: s
74
+ }) }),
75
+ /* @__PURE__ */ n(c, {
76
+ className: "text-slate-500",
77
+ children: o.api_annual_price ? `$${o.api_annual_price}` : "-"
78
+ }),
79
+ /* @__PURE__ */ n(c, { children: /* @__PURE__ */ n(a, {
80
+ type: "number",
81
+ step: "0.01",
82
+ placeholder: "Override...",
83
+ defaultValue: o.override_annual_price || "",
84
+ onBlur: (e) => {
85
+ e.target.value !== (o.override_annual_price?.toString() || "") && u("override_annual_price", e.target.value);
86
+ },
87
+ className: "w-24 h-8",
88
+ disabled: s
89
+ }) }),
90
+ /* @__PURE__ */ n(c, {
91
+ className: "text-slate-500",
92
+ children: o.api_lifetime_price ? `$${o.api_lifetime_price}` : "-"
93
+ }),
94
+ /* @__PURE__ */ n(c, { children: /* @__PURE__ */ n(a, {
95
+ type: "number",
96
+ step: "0.01",
97
+ placeholder: "Override...",
98
+ defaultValue: o.override_lifetime_price || "",
99
+ onBlur: (e) => {
100
+ e.target.value !== (o.override_lifetime_price?.toString() || "") && u("override_lifetime_price", e.target.value);
101
+ },
102
+ className: "w-24 h-8",
103
+ disabled: s
104
+ }) })
105
+ ] });
83
106
  }
84
- export {
85
- $ as FreemiusPricingDashboard
86
- };
107
+ //#endregion
108
+ export { f as FreemiusPricingDashboard };
@@ -0,0 +1 @@
1
+ "use client";const e=require("../../../../../_virtual/_rolldown/runtime.cjs"),t=require("../server-actions.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("lucide-react"),i=require("@nextblock-cms/utils"),a=require("react/jsx-runtime"),o=require("sonner"),s=require("@nextblock-cms/ui");function c({categories:e=[],selectedIds:c=[],onChange:l,placeholder:u=`Select categories...`}){let[d,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(``),[h,g]=(0,n.useState)(e),[_,v]=(0,n.useState)(!1);(0,n.useEffect)(()=>{g(e)},[e]);let y=(0,n.useMemo)(()=>h.filter(e=>c.includes(e.id)),[h,c]),b=(0,n.useMemo)(()=>{if(!p)return h;let e=p.toLowerCase();return h.filter(t=>t.name.toLowerCase().includes(e)||t.slug.toLowerCase().includes(e))},[h,p]),x=p.trim(),S=(0,n.useMemo)(()=>{if(!x)return!1;let e=x.toLowerCase();return!h.some(t=>t.name.toLowerCase()===e)},[h,x]),C=async()=>{if(x){v(!0);try{let e=await t.createCategoryAction({name:x});if(e.success&&e.category){let t={id:e.category.id,name:e.category.name,slug:e.category.slug};g(e=>[...e,t]),l([...c,t.id]),m(``),o.toast.success(`Category "${t.name}" created successfully.`)}else o.toast.error(e.error||`Failed to create category.`)}catch(e){o.toast.error(e.message||`An error occurred while creating category.`)}finally{v(!1)}}},w=e=>{l(c.includes(e)?c.filter(t=>t!==e):[...c,e])},T=(e,t)=>{t.stopPropagation(),l(c.filter(t=>t!==e))};return(0,a.jsxs)(`div`,{className:`space-y-2`,children:[(0,a.jsx)(`div`,{className:`flex flex-wrap gap-1.5 min-h-[32px] p-1 border rounded-md bg-background focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2`,children:y.length===0?(0,a.jsx)(`span`,{className:`text-xs text-muted-foreground self-center px-2 py-1 select-none`,children:`No categories selected.`}):y.map(e=>(0,a.jsxs)(s.Badge,{variant:`secondary`,className:`pl-2 pr-1.5 py-0.5 text-xs flex items-center gap-1 bg-amber-500/10 text-amber-800 dark:text-amber-300 border border-amber-500/20 rounded-full`,children:[e.name,(0,a.jsx)(`button`,{type:`button`,onClick:t=>T(e.id,t),className:`rounded-full p-0.5 text-muted-foreground hover:bg-amber-500/20 hover:text-amber-950 dark:hover:text-amber-50 transition-colors cursor-pointer`,"aria-label":`Remove ${e.name}`,children:(0,a.jsx)(r.X,{className:`h-3 w-3`})})]},e.id))}),(0,a.jsxs)(s.Popover,{open:d,onOpenChange:f,children:[(0,a.jsx)(s.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(s.Button,{variant:`outline`,role:`combobox`,"aria-expanded":d,className:`w-full justify-between h-8 text-xs font-normal`,children:[(0,a.jsx)(`span`,{className:`truncate`,children:c.length>0?`${c.length} categor${c.length===1?`y`:`ies`} selected`:u}),(0,a.jsx)(r.ChevronsUpDown,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,a.jsxs)(s.PopoverContent,{className:`w-(--radix-popover-trigger-width) p-0`,align:`start`,children:[(0,a.jsxs)(`div`,{className:`flex items-center border-b px-3`,children:[(0,a.jsx)(r.Search,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),(0,a.jsx)(s.Input,{className:`flex h-9 w-full rounded-md bg-transparent py-2 text-xs outline-none border-0 focus-visible:ring-0 focus-visible:ring-offset-0`,placeholder:`Search categories...`,value:p,onChange:e=>m(e.target.value)})]}),S&&(0,a.jsx)(`div`,{className:`border-b border-border/50 p-1`,children:(0,a.jsxs)(s.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full justify-start text-xs h-8 text-amber-600 dark:text-amber-400 hover:text-amber-700 hover:bg-amber-500/10 cursor-pointer`,onClick:C,disabled:_,children:[_?(0,a.jsx)(r.Loader2,{className:`mr-2 h-3 w-3 animate-spin`}):(0,a.jsx)(`span`,{className:`font-bold mr-1.5`,children:`+`}),`Create category "`,x,`"`]})}),(0,a.jsx)(`div`,{className:`max-h-60 overflow-y-auto p-1`,children:b.length===0?(0,a.jsx)(`p`,{className:`py-4 text-center text-xs text-muted-foreground`,children:`No categories found.`}):(0,a.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:b.map(e=>{let t=c.includes(e.id);return(0,a.jsxs)(`div`,{onClick:()=>w(e.id),className:(0,i.cn)(`relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-xs outline-none hover:bg-accent hover:text-accent-foreground text-left transition-colors`,t&&`bg-accent/40 font-medium`),children:[(0,a.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center pointer-events-none`,children:(0,a.jsx)(s.Checkbox,{checked:t,tabIndex:-1,"aria-label":`Toggle ${e.name}`,className:`h-3.5 w-3.5`})}),(0,a.jsxs)(`span`,{className:`flex flex-col`,children:[(0,a.jsx)(`span`,{children:e.name}),(0,a.jsxs)(`span`,{className:`font-mono text-[9px] text-muted-foreground leading-none`,children:[`/`,e.slug]})]}),t&&(0,a.jsx)(`span`,{className:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,a.jsx)(r.Check,{className:`h-3.5 w-3.5 text-primary`})})]},e.id)})})})]})]})]})}exports.ProductCategorySelector=c;