@nextblock-cms/ecom 0.16.4 → 0.17.0

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 (186) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.d.ts +1 -1
  3. package/lib/CurrencyProvider.es.js +5 -5
  4. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  5. package/lib/PaymentReadinessProvider.d.ts +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +7 -7
  7. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  8. package/lib/components/AccountNavigationMenu.d.ts +1 -1
  9. package/lib/components/AccountNavigationMenu.es.js +23 -23
  10. package/lib/components/AddToCartButton.cjs.js +1 -1
  11. package/lib/components/AddToCartButton.d.ts +1 -1
  12. package/lib/components/AddToCartButton.es.js +29 -29
  13. package/lib/components/Cart.cjs.js +1 -1
  14. package/lib/components/Cart.d.ts +1 -1
  15. package/lib/components/Cart.es.js +129 -129
  16. package/lib/components/CartDrawer.cjs.js +1 -1
  17. package/lib/components/CartDrawer.d.ts +1 -1
  18. package/lib/components/CartDrawer.es.js +85 -85
  19. package/lib/components/CartIcon.cjs.js +1 -1
  20. package/lib/components/CartIcon.d.ts +1 -1
  21. package/lib/components/CartIcon.es.js +17 -17
  22. package/lib/components/Checkout.cjs.js +1 -1
  23. package/lib/components/Checkout.d.ts +1 -1
  24. package/lib/components/Checkout.es.js +561 -561
  25. package/lib/components/CouponForm.cjs.js +1 -1
  26. package/lib/components/CouponForm.d.ts +1 -1
  27. package/lib/components/CouponForm.es.js +62 -62
  28. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  29. package/lib/components/CurrencySwitcher.d.ts +1 -1
  30. package/lib/components/CurrencySwitcher.es.js +12 -12
  31. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  32. package/lib/components/CustomerProfileForm.d.ts +1 -1
  33. package/lib/components/CustomerProfileForm.es.js +238 -238
  34. package/lib/components/FeaturedProduct.cjs.js +1 -1
  35. package/lib/components/FeaturedProduct.d.ts +1 -1
  36. package/lib/components/FeaturedProduct.es.js +39 -39
  37. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  38. package/lib/components/FreemiusLicensePanel.d.ts +1 -1
  39. package/lib/components/FreemiusLicensePanel.es.js +46 -46
  40. package/lib/components/InvoiceDocument.cjs.js +1 -1
  41. package/lib/components/InvoiceDocument.d.ts +2 -1
  42. package/lib/components/InvoiceDocument.es.js +144 -144
  43. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  44. package/lib/components/InvoiceViewerShell.d.ts +1 -1
  45. package/lib/components/InvoiceViewerShell.es.js +47 -47
  46. package/lib/components/ProductCard.cjs.js +1 -1
  47. package/lib/components/ProductCard.d.ts +1 -1
  48. package/lib/components/ProductCard.es.js +84 -84
  49. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  50. package/lib/components/ProductDetailsLayout.es.js +201 -201
  51. package/lib/components/ProductGallery.cjs.js +1 -1
  52. package/lib/components/ProductGallery.d.ts +1 -1
  53. package/lib/components/ProductGallery.es.js +21 -21
  54. package/lib/components/ProductGrid.cjs.js +1 -1
  55. package/lib/components/ProductGrid.d.ts +1 -1
  56. package/lib/components/ProductGrid.es.js +10 -10
  57. package/lib/components/ShippingEstimator.cjs.js +1 -1
  58. package/lib/components/ShippingEstimator.d.ts +1 -1
  59. package/lib/components/ShippingEstimator.es.js +71 -71
  60. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  61. package/lib/components/SimpleTiptapRenderer.es.js +133 -133
  62. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  63. package/lib/components/SubscriptionSelector.d.ts +2 -1
  64. package/lib/components/SubscriptionSelector.es.js +74 -74
  65. package/lib/components/media/MediaPickerDialog.d.ts +2 -1
  66. package/lib/components/media/MediaUploadForm.d.ts +2 -1
  67. package/lib/components/media/UploadFolderContext.d.ts +1 -1
  68. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  69. package/lib/pages/cms/coupons/CouponEditorForm.d.ts +1 -1
  70. package/lib/pages/cms/coupons/CouponEditorForm.es.js +96 -96
  71. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  72. package/lib/pages/cms/coupons/CouponsPage.d.ts +1 -1
  73. package/lib/pages/cms/coupons/CouponsPage.es.js +83 -83
  74. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  75. package/lib/pages/cms/coupons/CreateCouponDialog.d.ts +1 -1
  76. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +22 -22
  77. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  78. package/lib/pages/cms/coupons/EditCouponPage.d.ts +1 -1
  79. package/lib/pages/cms/coupons/EditCouponPage.es.js +25 -25
  80. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  81. package/lib/pages/cms/coupons/ProductScopePicker.d.ts +1 -1
  82. package/lib/pages/cms/coupons/ProductScopePicker.es.js +48 -48
  83. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  84. package/lib/pages/cms/orders/ExportReportsDialog.d.ts +2 -1
  85. package/lib/pages/cms/orders/ExportReportsDialog.es.js +73 -73
  86. package/lib/pages/cms/orders/MarkPaidButton.d.ts +1 -1
  87. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  88. package/lib/pages/cms/orders/OrderDetailPage.d.ts +1 -1
  89. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -95
  90. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  91. package/lib/pages/cms/orders/OrderPrintButton.d.ts +1 -1
  92. package/lib/pages/cms/orders/OrderPrintButton.es.js +2 -2
  93. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  94. package/lib/pages/cms/orders/OrderStatusForm.d.ts +1 -1
  95. package/lib/pages/cms/orders/OrderStatusForm.es.js +33 -33
  96. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  97. package/lib/pages/cms/orders/OrdersPage.d.ts +1 -1
  98. package/lib/pages/cms/orders/OrdersPage.es.js +68 -68
  99. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  100. package/lib/pages/cms/payments/PaymentsClient.d.ts +1 -1
  101. package/lib/pages/cms/payments/PaymentsClient.es.js +120 -120
  102. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  103. package/lib/pages/cms/payments/PaymentsPage.d.ts +1 -1
  104. package/lib/pages/cms/payments/PaymentsPage.es.js +5 -5
  105. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  106. package/lib/pages/cms/products/ProductsPage.d.ts +1 -1
  107. package/lib/pages/cms/products/ProductsPage.es.js +32 -32
  108. package/lib/pages/cms/products/[id]/edit/EditProductPage.d.ts +1 -1
  109. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  110. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +38 -38
  111. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  112. package/lib/pages/cms/products/attributes/AttributeManagementPage.d.ts +1 -1
  113. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +32 -32
  114. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  115. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  116. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +173 -173
  117. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  118. package/lib/pages/cms/products/categories/CategoryManagementPage.d.ts +1 -1
  119. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +16 -16
  120. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  121. package/lib/pages/cms/products/categories/components/CategoryManager.d.ts +2 -1
  122. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +102 -102
  123. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  124. package/lib/pages/cms/products/components/CopyProductFromLanguage.d.ts +2 -1
  125. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +45 -45
  126. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  127. package/lib/pages/cms/products/components/CurrencyPriceFields.d.ts +1 -1
  128. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +45 -45
  129. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  130. package/lib/pages/cms/products/components/DeleteProductButton.d.ts +1 -1
  131. package/lib/pages/cms/products/components/DeleteProductButton.es.js +14 -14
  132. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  133. package/lib/pages/cms/products/components/FreemiusPricingDashboard.d.ts +1 -1
  134. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +45 -45
  135. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  136. package/lib/pages/cms/products/components/ProductCategorySelector.d.ts +2 -1
  137. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +84 -84
  138. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  139. package/lib/pages/cms/products/components/ProductForm.d.ts +1 -1
  140. package/lib/pages/cms/products/components/ProductForm.es.js +224 -224
  141. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  142. package/lib/pages/cms/products/components/ProductMediaManager.d.ts +1 -1
  143. package/lib/pages/cms/products/components/ProductMediaManager.es.js +42 -42
  144. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  145. package/lib/pages/cms/products/components/ProductsBulkTable.d.ts +1 -1
  146. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +133 -133
  147. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  148. package/lib/pages/cms/products/components/SaleScheduleFields.d.ts +1 -1
  149. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +43 -43
  150. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  151. package/lib/pages/cms/products/components/SyncFreemiusButton.d.ts +1 -1
  152. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +9 -9
  153. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  154. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.d.ts +1 -1
  155. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +15 -15
  156. package/lib/pages/cms/products/components/SyncProductForm.d.ts +1 -1
  157. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  158. package/lib/pages/cms/products/components/VariationsEditor.d.ts +1 -1
  159. package/lib/pages/cms/products/components/VariationsEditor.es.js +104 -104
  160. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  161. package/lib/pages/cms/products/inventory/InventoryPage.d.ts +1 -1
  162. package/lib/pages/cms/products/inventory/InventoryPage.es.js +10 -10
  163. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  164. package/lib/pages/cms/products/inventory/InventoryTableClient.d.ts +1 -1
  165. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +139 -139
  166. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  167. package/lib/pages/cms/products/new/NewProductPage.d.ts +1 -1
  168. package/lib/pages/cms/products/new/NewProductPage.es.js +19 -19
  169. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  170. package/lib/pages/cms/shipping/ShippingPage.d.ts +2 -1
  171. package/lib/pages/cms/shipping/ShippingPage.es.js +123 -123
  172. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  173. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  174. package/lib/pages/cms/shipping/components/RateForm.es.js +217 -217
  175. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  176. package/lib/pages/cms/shipping/components/ZoneForm.d.ts +2 -1
  177. package/lib/pages/cms/shipping/components/ZoneForm.es.js +98 -98
  178. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  179. package/lib/pages/cms/taxes/TaxesPage.d.ts +1 -1
  180. package/lib/pages/cms/taxes/TaxesPage.es.js +120 -120
  181. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  182. package/lib/pages/cms/taxes/components/TaxRateForm.d.ts +1 -1
  183. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +34 -34
  184. package/lib/product-context.cjs.js +1 -1
  185. package/lib/product-context.es.js +3 -3
  186. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),l=require("@nextblock-cms/ui"),N=require("@nextblock-cms/utils"),r=s=>String(s).padStart(2,"0");function m(s){if(!s)return"";const t=new Date(s);return Number.isNaN(t.getTime())?"":`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}T${r(t.getHours())}:${r(t.getMinutes())}`}function a(s){if(!s)return null;const t=new Date(s);return Number.isNaN(t.getTime())?null:t.toISOString()}function S({idPrefix:s="product",startAt:t,endAt:d,onChange:o,error:i,disabled:n,description:b,dense:u,bare:p}){const h=Intl.DateTimeFormat().resolvedOptions().timeZone,x=N.cn("h-7 text-xs",u||p?"w-[150px]":"w-[160px] sm:w-[180px]"),g=e.jsxDEV(e.Fragment,{children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-start-at`,className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:"Starts"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:72,columnNumber:7},this),e.jsxDEV(l.Input,{id:`${s}-sale-start-at`,type:"datetime-local",value:m(t),disabled:n,onChange:c=>o("sale_start_at",a(c.target.value)),className:x},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:78,columnNumber:7},this),e.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"→"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:86,columnNumber:7},this),e.jsxDEV(l.Label,{htmlFor:`${s}-sale-end-at`,className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:"Ends"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:87,columnNumber:7},this),e.jsxDEV(l.Input,{id:`${s}-sale-end-at`,type:"datetime-local",value:m(d),disabled:n,onChange:c=>o("sale_end_at",a(c.target.value)),className:x},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:93,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:71,columnNumber:5},this);return p?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"min-w-0 space-y-1",children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-start-at`,className:"block text-[10px] uppercase font-bold tracking-widest text-muted-foreground",children:"Starts"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:110,columnNumber:11},this),e.jsxDEV(l.Input,{id:`${s}-sale-start-at`,type:"datetime-local",value:m(t),disabled:n,onChange:c=>o("sale_start_at",a(c.target.value)),className:"h-8 w-full text-xs"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:116,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:109,columnNumber:9},this),e.jsxDEV("div",{className:"min-w-0 space-y-1",children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-end-at`,className:"block text-[10px] uppercase font-bold tracking-widest text-muted-foreground",children:"Ends"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:126,columnNumber:11},this),e.jsxDEV(l.Input,{id:`${s}-sale-end-at`,type:"datetime-local",value:m(d),disabled:n,onChange:c=>o("sale_end_at",a(c.target.value)),className:"h-8 w-full text-xs"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:132,columnNumber:11},this),i?e.jsxDEV("p",{className:"mt-0.5 text-[10px] text-destructive",children:i},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:140,columnNumber:20},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:125,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:108,columnNumber:7},this):e.jsxDEV("div",{className:N.cn("rounded border border-dashed bg-muted/5 space-y-1",u?"p-1.5":"p-2"),children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5",children:[e.jsxDEV("span",{className:"shrink-0 text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Sale window"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:151,columnNumber:9},this),g,e.jsxDEV("span",{className:"ml-auto text-[10px] text-muted-foreground",children:[h||"local time"," · empty = always on"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:155,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:150,columnNumber:7},this),b&&!u?e.jsxDEV("p",{className:"text-[10px] leading-snug text-muted-foreground",children:b},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:160,columnNumber:9},this):null,i?e.jsxDEV("p",{className:"text-[11px] text-destructive",children:i},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:162,columnNumber:16},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:147,columnNumber:5},this)}exports.SaleScheduleFields=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),l=require("@nextblock-cms/ui"),N=require("@nextblock-cms/utils"),i=s=>String(s).padStart(2,"0");function m(s){if(!s)return"";const t=new Date(s);return Number.isNaN(t.getTime())?"":`${t.getFullYear()}-${i(t.getMonth()+1)}-${i(t.getDate())}T${i(t.getHours())}:${i(t.getMinutes())}`}function r(s){if(!s)return null;const t=new Date(s);return Number.isNaN(t.getTime())?null:t.toISOString()}function S({idPrefix:s="product",startAt:t,endAt:d,onChange:a,error:o,disabled:n,description:b,dense:u,bare:x}){const h=Intl.DateTimeFormat().resolvedOptions().timeZone,p=N.cn("h-7 text-xs",u||x?"w-[150px]":"w-[160px] sm:w-[180px]"),g=e.jsxDEV(e.Fragment,{children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-start-at`,className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:"Starts"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:72,columnNumber:7},this),e.jsxDEV(l.Input,{id:`${s}-sale-start-at`,type:"datetime-local",value:m(t),disabled:n,onChange:c=>a("sale_start_at",r(c.target.value)),className:p},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:78,columnNumber:7},this),e.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"→"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:86,columnNumber:7},this),e.jsxDEV(l.Label,{htmlFor:`${s}-sale-end-at`,className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:"Ends"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:87,columnNumber:7},this),e.jsxDEV(l.Input,{id:`${s}-sale-end-at`,type:"datetime-local",value:m(d),disabled:n,onChange:c=>a("sale_end_at",r(c.target.value)),className:p},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:93,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:71,columnNumber:5},this);return x?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"min-w-0 space-y-1",children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-start-at`,className:"block text-[10px] uppercase font-bold tracking-widest text-muted-foreground",children:"Starts"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:110,columnNumber:11},this),e.jsxDEV(l.Input,{id:`${s}-sale-start-at`,type:"datetime-local",value:m(t),disabled:n,onChange:c=>a("sale_start_at",r(c.target.value)),className:"h-8 w-full text-xs"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:116,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:109,columnNumber:9},this),e.jsxDEV("div",{className:"min-w-0 space-y-1",children:[e.jsxDEV(l.Label,{htmlFor:`${s}-sale-end-at`,className:"block text-[10px] uppercase font-bold tracking-widest text-muted-foreground",children:"Ends"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:126,columnNumber:11},this),e.jsxDEV(l.Input,{id:`${s}-sale-end-at`,type:"datetime-local",value:m(d),disabled:n,onChange:c=>a("sale_end_at",r(c.target.value)),className:"h-8 w-full text-xs"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:132,columnNumber:11},this),o?e.jsxDEV("p",{className:"mt-0.5 text-[10px] text-destructive",children:o},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:140,columnNumber:20},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:125,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:108,columnNumber:7},this):e.jsxDEV("div",{className:N.cn("rounded border border-dashed bg-muted/5 space-y-1",u?"p-1.5":"p-2"),children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5",children:[e.jsxDEV("span",{className:"shrink-0 text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Sale window"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:151,columnNumber:9},this),g,e.jsxDEV("span",{className:"ml-auto text-[10px] text-muted-foreground",children:[h||"local time"," · empty = always on"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:155,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:150,columnNumber:7},this),b&&!u?e.jsxDEV("p",{className:"text-[10px] leading-snug text-muted-foreground",children:b},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:160,columnNumber:9},this):null,o?e.jsxDEV("p",{className:"text-[11px] text-destructive",children:o},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:162,columnNumber:16},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",lineNumber:147,columnNumber:5},this)}exports.SaleScheduleFields=S;
@@ -12,5 +12,5 @@ interface SaleScheduleFieldsProps {
12
12
  /** Inline STARTS → ENDS only, no box / heading (e.g. inside a variant row). */
13
13
  bare?: boolean;
14
14
  }
15
- export declare function SaleScheduleFields({ idPrefix, startAt, endAt, onChange, error, disabled, description, dense, bare, }: SaleScheduleFieldsProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function SaleScheduleFields({ idPrefix, startAt, endAt, onChange, error, disabled, description, dense, bare, }: SaleScheduleFieldsProps): import("react").JSX.Element;
16
16
  export {};
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsxDEV as e, Fragment as h } from "react/jsx-dev-runtime";
3
- import { Label as m, Input as r } from "@nextblock-cms/ui";
3
+ import { Label as m, Input as i } from "@nextblock-cms/ui";
4
4
  import { cn as f } from "@nextblock-cms/utils";
5
5
  const n = (s) => String(s).padStart(2, "0");
6
- function a(s) {
6
+ function r(s) {
7
7
  if (!s)
8
8
  return "";
9
9
  const t = new Date(s);
@@ -20,15 +20,15 @@ function u(s) {
20
20
  function D({
21
21
  idPrefix: s = "product",
22
22
  startAt: t,
23
- endAt: p,
23
+ endAt: b,
24
24
  onChange: c,
25
25
  error: o,
26
- disabled: i,
27
- description: b,
26
+ disabled: a,
27
+ description: p,
28
28
  dense: d,
29
- bare: N
29
+ bare: x
30
30
  }) {
31
- const g = Intl.DateTimeFormat().resolvedOptions().timeZone, x = f("h-7 text-xs", d || N ? "w-[150px]" : "w-[160px] sm:w-[180px]"), S = /* @__PURE__ */ e(h, { children: [
31
+ const g = Intl.DateTimeFormat().resolvedOptions().timeZone, N = f("h-7 text-xs", d || x ? "w-[150px]" : "w-[160px] sm:w-[180px]"), S = /* @__PURE__ */ e(h, { children: [
32
32
  /* @__PURE__ */ e(
33
33
  m,
34
34
  {
@@ -39,33 +39,33 @@ function D({
39
39
  void 0,
40
40
  !1,
41
41
  {
42
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
42
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
43
43
  lineNumber: 72,
44
44
  columnNumber: 7
45
45
  },
46
46
  this
47
47
  ),
48
48
  /* @__PURE__ */ e(
49
- r,
49
+ i,
50
50
  {
51
51
  id: `${s}-sale-start-at`,
52
52
  type: "datetime-local",
53
- value: a(t),
54
- disabled: i,
53
+ value: r(t),
54
+ disabled: a,
55
55
  onChange: (l) => c("sale_start_at", u(l.target.value)),
56
- className: x
56
+ className: N
57
57
  },
58
58
  void 0,
59
59
  !1,
60
60
  {
61
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
61
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
62
62
  lineNumber: 78,
63
63
  columnNumber: 7
64
64
  },
65
65
  this
66
66
  ),
67
67
  /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: "→" }, void 0, !1, {
68
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
68
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
69
69
  lineNumber: 86,
70
70
  columnNumber: 7
71
71
  }, this),
@@ -79,37 +79,37 @@ function D({
79
79
  void 0,
80
80
  !1,
81
81
  {
82
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
82
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
83
83
  lineNumber: 87,
84
84
  columnNumber: 7
85
85
  },
86
86
  this
87
87
  ),
88
88
  /* @__PURE__ */ e(
89
- r,
89
+ i,
90
90
  {
91
91
  id: `${s}-sale-end-at`,
92
92
  type: "datetime-local",
93
- value: a(p),
94
- disabled: i,
93
+ value: r(b),
94
+ disabled: a,
95
95
  onChange: (l) => c("sale_end_at", u(l.target.value)),
96
- className: x
96
+ className: N
97
97
  },
98
98
  void 0,
99
99
  !1,
100
100
  {
101
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
101
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
102
102
  lineNumber: 93,
103
103
  columnNumber: 7
104
104
  },
105
105
  this
106
106
  )
107
107
  ] }, void 0, !0, {
108
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
108
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
109
109
  lineNumber: 71,
110
110
  columnNumber: 5
111
111
  }, this);
112
- return N ? /* @__PURE__ */ e(h, { children: [
112
+ return x ? /* @__PURE__ */ e(h, { children: [
113
113
  /* @__PURE__ */ e("div", { className: "min-w-0 space-y-1", children: [
114
114
  /* @__PURE__ */ e(
115
115
  m,
@@ -121,33 +121,33 @@ function D({
121
121
  void 0,
122
122
  !1,
123
123
  {
124
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
124
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
125
125
  lineNumber: 110,
126
126
  columnNumber: 11
127
127
  },
128
128
  this
129
129
  ),
130
130
  /* @__PURE__ */ e(
131
- r,
131
+ i,
132
132
  {
133
133
  id: `${s}-sale-start-at`,
134
134
  type: "datetime-local",
135
- value: a(t),
136
- disabled: i,
135
+ value: r(t),
136
+ disabled: a,
137
137
  onChange: (l) => c("sale_start_at", u(l.target.value)),
138
138
  className: "h-8 w-full text-xs"
139
139
  },
140
140
  void 0,
141
141
  !1,
142
142
  {
143
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
143
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
144
144
  lineNumber: 116,
145
145
  columnNumber: 11
146
146
  },
147
147
  this
148
148
  )
149
149
  ] }, void 0, !0, {
150
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
150
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
151
151
  lineNumber: 109,
152
152
  columnNumber: 9
153
153
  }, this),
@@ -162,43 +162,43 @@ function D({
162
162
  void 0,
163
163
  !1,
164
164
  {
165
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
165
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
166
166
  lineNumber: 126,
167
167
  columnNumber: 11
168
168
  },
169
169
  this
170
170
  ),
171
171
  /* @__PURE__ */ e(
172
- r,
172
+ i,
173
173
  {
174
174
  id: `${s}-sale-end-at`,
175
175
  type: "datetime-local",
176
- value: a(p),
177
- disabled: i,
176
+ value: r(b),
177
+ disabled: a,
178
178
  onChange: (l) => c("sale_end_at", u(l.target.value)),
179
179
  className: "h-8 w-full text-xs"
180
180
  },
181
181
  void 0,
182
182
  !1,
183
183
  {
184
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
184
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
185
185
  lineNumber: 132,
186
186
  columnNumber: 11
187
187
  },
188
188
  this
189
189
  ),
190
190
  o ? /* @__PURE__ */ e("p", { className: "mt-0.5 text-[10px] text-destructive", children: o }, void 0, !1, {
191
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
191
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
192
192
  lineNumber: 140,
193
193
  columnNumber: 20
194
194
  }, this) : null
195
195
  ] }, void 0, !0, {
196
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
196
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
197
197
  lineNumber: 125,
198
198
  columnNumber: 9
199
199
  }, this)
200
200
  ] }, void 0, !0, {
201
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
201
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
202
202
  lineNumber: 108,
203
203
  columnNumber: 7
204
204
  }, this) : /* @__PURE__ */ e(
@@ -208,7 +208,7 @@ function D({
208
208
  children: [
209
209
  /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1.5", children: [
210
210
  /* @__PURE__ */ e("span", { className: "shrink-0 text-[11px] font-bold uppercase tracking-wider text-muted-foreground", children: "Sale window" }, void 0, !1, {
211
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
211
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
212
212
  lineNumber: 151,
213
213
  columnNumber: 9
214
214
  }, this),
@@ -217,22 +217,22 @@ function D({
217
217
  g || "local time",
218
218
  " · empty = always on"
219
219
  ] }, void 0, !0, {
220
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
220
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
221
221
  lineNumber: 155,
222
222
  columnNumber: 9
223
223
  }, this)
224
224
  ] }, void 0, !0, {
225
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
225
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
226
226
  lineNumber: 150,
227
227
  columnNumber: 7
228
228
  }, this),
229
- b && !d ? /* @__PURE__ */ e("p", { className: "text-[10px] leading-snug text-muted-foreground", children: b }, void 0, !1, {
230
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
229
+ p && !d ? /* @__PURE__ */ e("p", { className: "text-[10px] leading-snug text-muted-foreground", children: p }, void 0, !1, {
230
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
231
231
  lineNumber: 160,
232
232
  columnNumber: 9
233
233
  }, this) : null,
234
234
  o ? /* @__PURE__ */ e("p", { className: "text-[11px] text-destructive", children: o }, void 0, !1, {
235
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
235
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
236
236
  lineNumber: 162,
237
237
  columnNumber: 16
238
238
  }, this) : null
@@ -241,7 +241,7 @@ function D({
241
241
  void 0,
242
242
  !0,
243
243
  {
244
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
244
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SaleScheduleFields.tsx",
245
245
  lineNumber: 147,
246
246
  columnNumber: 5
247
247
  },
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-dev-runtime"),i=require("react"),u=require("@nextblock-cms/ui"),a=require("lucide-react"),t=require("sonner"),l=require("../actions.cjs.js");function m({title:c="Sync Full Store"}){const[s,r]=i.useState(!1),o=async()=>{r(!0);try{const e=await l.triggerFreemiusSync();e.error?t.toast.error(e.error):t.toast.success(`Full store sync complete! Found ${e.data?.count||0} products.`)}catch(e){t.toast.error(e.message||"An unexpected error occurred during sync")}finally{r(!1)}};return n.jsxDEV(u.Button,{variant:"secondary",onClick:o,disabled:s,className:"gap-2",children:[n.jsxDEV(a.RefreshCw,{className:`w-4 h-4 ${s?"animate-spin":""}`},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",lineNumber:35,columnNumber:7},this),s?"Syncing...":c]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",lineNumber:29,columnNumber:5},this)}exports.SyncFreemiusButton=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-dev-runtime"),i=require("react"),u=require("@nextblock-cms/ui"),a=require("lucide-react"),t=require("sonner"),l=require("../actions.cjs.js");function m({title:c="Sync Full Store"}){const[s,r]=i.useState(!1),o=async()=>{r(!0);try{const e=await l.triggerFreemiusSync();e.error?t.toast.error(e.error):t.toast.success(`Full store sync complete! Found ${e.data?.count||0} products.`)}catch(e){t.toast.error(e.message||"An unexpected error occurred during sync")}finally{r(!1)}};return n.jsxDEV(u.Button,{variant:"secondary",onClick:o,disabled:s,className:"gap-2",children:[n.jsxDEV(a.RefreshCw,{className:`w-4 h-4 ${s?"animate-spin":""}`},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",lineNumber:35,columnNumber:7},this),s?"Syncing...":c]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",lineNumber:29,columnNumber:5},this)}exports.SyncFreemiusButton=m;
@@ -1,3 +1,3 @@
1
1
  export declare function SyncFreemiusButton({ title }: {
2
2
  title?: string;
3
- }): import("react/jsx-runtime").JSX.Element;
3
+ }): import("react").JSX.Element;
@@ -1,20 +1,20 @@
1
1
  'use client';
2
- import { jsxDEV as o } from "react/jsx-dev-runtime";
2
+ import { jsxDEV as n } from "react/jsx-dev-runtime";
3
3
  import { useState as c } from "react";
4
4
  import { Button as i } from "@nextblock-cms/ui";
5
5
  import { RefreshCw as m } from "lucide-react";
6
6
  import { toast as s } from "sonner";
7
- import { triggerFreemiusSync as u } from "../actions.es.js";
8
- function g({ title: n = "Sync Full Store" }) {
7
+ import { triggerFreemiusSync as a } from "../actions.es.js";
8
+ function g({ title: o = "Sync Full Store" }) {
9
9
  const [r, t] = c(!1);
10
- return /* @__PURE__ */ o(
10
+ return /* @__PURE__ */ n(
11
11
  i,
12
12
  {
13
13
  variant: "secondary",
14
14
  onClick: async () => {
15
15
  t(!0);
16
16
  try {
17
- const e = await u();
17
+ const e = await a();
18
18
  e.error ? s.error(e.error) : s.success(`Full store sync complete! Found ${e.data?.count || 0} products.`);
19
19
  } catch (e) {
20
20
  s.error(e.message || "An unexpected error occurred during sync");
@@ -25,18 +25,18 @@ function g({ title: n = "Sync Full Store" }) {
25
25
  disabled: r,
26
26
  className: "gap-2",
27
27
  children: [
28
- /* @__PURE__ */ o(m, { className: `w-4 h-4 ${r ? "animate-spin" : ""}` }, void 0, !1, {
29
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",
28
+ /* @__PURE__ */ n(m, { className: `w-4 h-4 ${r ? "animate-spin" : ""}` }, void 0, !1, {
29
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",
30
30
  lineNumber: 35,
31
31
  columnNumber: 7
32
32
  }, this),
33
- r ? "Syncing..." : n
33
+ r ? "Syncing..." : o
34
34
  ]
35
35
  },
36
36
  void 0,
37
37
  !0,
38
38
  {
39
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",
39
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusButton.tsx",
40
40
  lineNumber: 29,
41
41
  columnNumber: 5
42
42
  },
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),a=require("react"),l=require("next/navigation"),d=require("@nextblock-cms/ui"),m=require("lucide-react"),r=require("sonner"),g=require("../actions.cjs.js");function f({productId:t,hasOpenDraft:c=!1}){const o=l.useRouter(),[n,i]=a.useState(!1),u=async()=>{if(!t){r.toast.error("Product ID is missing");return}if(!(c&&!window.confirm(`You have unpublished draft changes for this product.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-dev-runtime"),a=require("react"),l=require("next/navigation"),d=require("@nextblock-cms/ui"),m=require("lucide-react"),r=require("sonner"),g=require("../actions.cjs.js");function f({productId:s,hasOpenDraft:c=!1}){const o=l.useRouter(),[n,t]=a.useState(!1),u=async()=>{if(!s){r.toast.error("Product ID is missing");return}if(!(c&&!window.confirm(`You have unpublished draft changes for this product.
2
2
 
3
3
  Syncing updates the live pricing now, but publishing your draft afterward will overwrite it with the draft’s older values. Publish or discard your draft first to keep the synced prices.
4
4
 
5
- Sync anyway?`))){i(!0);try{const e=await g.triggerSingleProductSync(t);e.error?r.toast.error(e.error):(r.toast.success("Pricing sync complete!"),o.refresh())}catch(e){r.toast.error(e.message||"An unexpected error occurred during sync")}finally{i(!1)}}};return s.jsxDEV(d.Button,{variant:"outline",onClick:u,disabled:n,className:"gap-2",children:[s.jsxDEV(m.RefreshCw,{className:`w-4 h-4 ${n?"animate-spin":""}`},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",lineNumber:69,columnNumber:7},this),n?"Syncing...":"Sync Plans & Pricing from Freemius"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",lineNumber:63,columnNumber:5},this)}exports.SyncFreemiusPricingButton=f;
5
+ Sync anyway?`))){t(!0);try{const e=await g.triggerSingleProductSync(s);e.error?r.toast.error(e.error):(r.toast.success("Pricing sync complete!"),o.refresh())}catch(e){r.toast.error(e.message||"An unexpected error occurred during sync")}finally{t(!1)}}};return i.jsxDEV(d.Button,{variant:"outline",onClick:u,disabled:n,className:"gap-2",children:[i.jsxDEV(m.RefreshCw,{className:`w-4 h-4 ${n?"animate-spin":""}`},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",lineNumber:69,columnNumber:7},this),n?"Syncing...":"Sync Plans & Pricing from Freemius"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",lineNumber:63,columnNumber:5},this)}exports.SyncFreemiusPricingButton=f;
@@ -3,5 +3,5 @@ interface SyncFreemiusPricingButtonProps {
3
3
  /** True when an unpublished product draft is open — publishing it later would revert the synced pricing. */
4
4
  hasOpenDraft?: boolean;
5
5
  }
6
- export declare function SyncFreemiusPricingButton({ productId, hasOpenDraft }: SyncFreemiusPricingButtonProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function SyncFreemiusPricingButton({ productId, hasOpenDraft }: SyncFreemiusPricingButtonProps): import("react").JSX.Element;
7
7
  export {};
@@ -1,19 +1,19 @@
1
1
  'use client';
2
- import { jsxDEV as s } from "react/jsx-dev-runtime";
3
- import { useState as u } from "react";
4
- import { useRouter as a } from "next/navigation";
2
+ import { jsxDEV as t } from "react/jsx-dev-runtime";
3
+ import { useState as a } from "react";
4
+ import { useRouter as u } from "next/navigation";
5
5
  import { Button as m } from "@nextblock-cms/ui";
6
6
  import { RefreshCw as l } from "lucide-react";
7
7
  import { toast as r } from "sonner";
8
8
  import { triggerSingleProductSync as d } from "../actions.es.js";
9
- function P({ productId: n, hasOpenDraft: o = !1 }) {
10
- const c = a(), [i, t] = u(!1);
11
- return /* @__PURE__ */ s(
9
+ function P({ productId: i, hasOpenDraft: o = !1 }) {
10
+ const c = u(), [n, s] = a(!1);
11
+ return /* @__PURE__ */ t(
12
12
  m,
13
13
  {
14
14
  variant: "outline",
15
15
  onClick: async () => {
16
- if (!n) {
16
+ if (!i) {
17
17
  r.error("Product ID is missing");
18
18
  return;
19
19
  }
@@ -24,32 +24,32 @@ Syncing updates the live pricing now, but publishing your draft afterward will o
24
24
 
25
25
  Sync anyway?`
26
26
  ))) {
27
- t(!0);
27
+ s(!0);
28
28
  try {
29
- const e = await d(n);
29
+ const e = await d(i);
30
30
  e.error ? r.error(e.error) : (r.success("Pricing sync complete!"), c.refresh());
31
31
  } catch (e) {
32
32
  r.error(e.message || "An unexpected error occurred during sync");
33
33
  } finally {
34
- t(!1);
34
+ s(!1);
35
35
  }
36
36
  }
37
37
  },
38
- disabled: i,
38
+ disabled: n,
39
39
  className: "gap-2",
40
40
  children: [
41
- /* @__PURE__ */ s(l, { className: `w-4 h-4 ${i ? "animate-spin" : ""}` }, void 0, !1, {
42
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",
41
+ /* @__PURE__ */ t(l, { className: `w-4 h-4 ${n ? "animate-spin" : ""}` }, void 0, !1, {
42
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",
43
43
  lineNumber: 69,
44
44
  columnNumber: 7
45
45
  }, this),
46
- i ? "Syncing..." : "Sync Plans & Pricing from Freemius"
46
+ n ? "Syncing..." : "Sync Plans & Pricing from Freemius"
47
47
  ]
48
48
  },
49
49
  void 0,
50
50
  !0,
51
51
  {
52
- fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",
52
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/SyncFreemiusPricingButton.tsx",
53
53
  lineNumber: 63,
54
54
  columnNumber: 5
55
55
  },
@@ -1 +1 @@
1
- export declare function SyncProductForm(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function SyncProductForm(): import("react").JSX.Element;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-dev-runtime"),B=require("next/link"),N=require("react"),b=require("@nextblock-cms/ui"),f=require("../../../../variation-utils.cjs.js"),G=require("./CurrencyPriceFields.cjs.js"),Q=require("./SaleScheduleFields.cjs.js"),V=require("../../../../currency.cjs.js"),E=require("../product-price-sync.cjs.js"),D=require("@nextblock-cms/utils"),q=process.env.NEXT_PUBLIC_R2_BASE_URL||"",F=process.env.NEXT_PUBLIC_SUPABASE_URL||"",H=n=>n.startsWith("http")?n:q?`${q.replace(/\/+$/,"")}/${n.replace(/^\/+/,"")}`:F?`${F.replace(/\/+$/,"")}/storage/v1/object/public/media/${n.replace(/^\/+/,"")}`:n;function R(n,a="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:a}).format(n)}function J(n){return Object.entries(n).filter(([,a])=>a.length>0).map(([a,g])=>({attribute_id:a,term_ids:g}))}function Y({globalAttributes:n,currentLanguageCode:a,baseSku:g,basePrice:S,basePrices:P,baseSalePrice:U,baseSalePrices:M,currencies:c,availableVariantImages:k=[],initialVariationAttributes:_,initialVariants:A,onChange:$}){const[h,L]=N.useState(()=>_&&_.length>0?_.reduce((e,i)=>(e[i.attribute_id]=i.term_ids,e),{}):f.extractSelectedTermsByAttribute(A||[])),[x,p]=N.useState(E.sanitizeVariantDraftsForStoreManagedCurrencies(A||[],c)),y=N.useMemo(()=>n.map(e=>({attribute_id:e.id,attribute_name:f.resolveAttributeName(e,a),terms:e.terms.filter(i=>(h[e.id]||[]).includes(i.id)).map(i=>({...i,value:f.resolveTermValue(i,a)}))})).filter(e=>e.terms.length>0),[a,n,h]);N.useEffect(()=>{if(y.length===0){p([]);return}p(e=>E.sanitizeVariantDraftsForStoreManagedCurrencies(f.generateVariantDrafts({baseSku:g,basePrice:S,basePrices:V.normalizePriceMap(P),baseSalePrice:U,baseSalePrices:V.normalizeSalePriceMap(M),selectedAttributes:y,previousVariants:e}),c))},[S,P,U,M,g,c,y]),N.useEffect(()=>{$({variationAttributes:J(h),variants:x})},[$,h,x]);const z=x.reduce((e,i)=>e+(i.stock_quantity||0),0),j=c.find(e=>e.is_default)??c[0],v=N.useMemo(()=>E.getStoreManagedPriceCurrencyCodes(c),[c]),I=(e,i)=>{L(s=>{const o=new Set(s[e]||[]);return o.has(i)?o.delete(i):o.add(i),{...s,[e]:[...o]}})},W=(e,i,s)=>{p(o=>o.map(r=>{if(r.combination_key!==e)return r;if(i==="sku")return{...r,sku:s};if(i==="upc")return{...r,upc:s};if(i==="sale_price"&&s==="")return{...r,sale_price:null};if(i==="prices"||i==="sale_prices")return r;const m=s===""?0:Number(s);return{...r,[i]:Number.isFinite(m)?m:0}}))},K=(e,i,s)=>{p(o=>o.map(r=>r.combination_key===e?{...r,[i]:s}:r))},w=(e,i,s,o)=>{const r=c.find(m=>m.is_default)??c[0];p(m=>m.map(d=>{if(d.combination_key!==e)return d;const u={...s==="prices"?d.prices:d.sale_prices,[i]:o};return{...d,[s]:u,...i===r?.code?s==="prices"?{price:o??0}:{sale_price:o}:{}}}))},O=e=>{const i=c.find(o=>o.is_default)??c[0],s=new Set(v);i&&p(o=>o.map(r=>{if(r.combination_key!==e)return r;const m=c.reduce((u,l)=>{if(l.code!==i.code&&s.has(l.code))return u;const C=V.convertMinorUnitAmount({amount:D.majorUnitAmountToMinor(r.price,i.code),fromCurrencyCode:i.code,toCurrencyCode:l.code,currencies:c,applyRounding:!0});return u[l.code]=D.minorUnitAmountToMajor(C,l.code),u},{}),d=c.reduce((u,l)=>{if(l.code!==i.code&&s.has(l.code))return u;if(typeof r.sale_price!="number")return u[l.code]=null,u;const C=V.convertMinorUnitAmount({amount:D.majorUnitAmountToMinor(r.sale_price,i.code),fromCurrencyCode:i.code,toCurrencyCode:l.code,currencies:c,applyRounding:!0});return u[l.code]=D.minorUnitAmountToMajor(C,l.code),u},{});return{...r,prices:m,sale_prices:d}}))},X=(e,i)=>{const s=k.find(m=>m.media_id===i);if(!s)return;const o=s.file_path,r=H(o);p(m=>m.map(d=>d.combination_key===e?{...d,main_media_id:s.media_id,main_image_url:r}:d))},T=e=>{p(i=>i.map(s=>s.combination_key===e?{...s,main_media_id:null,main_image_url:null}:s))};return n.length===0?t.jsxDEV("div",{className:"rounded-lg border border-dashed p-6 text-sm text-muted-foreground",children:["No global attributes have been created yet. Create them first in"," ",t.jsxDEV(B,{href:"/cms/products/attributes",className:"font-medium text-primary underline-offset-4 hover:underline",children:"Attribute Management"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:402,columnNumber:9},this),"."]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:400,columnNumber:7},this):t.jsxDEV("div",{className:"space-y-3",children:[t.jsxDEV("div",{className:"space-y-2",children:[t.jsxDEV("div",{className:"flex items-center justify-between gap-3",children:[t.jsxDEV("div",{className:"flex items-center gap-3",children:[t.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Attributes"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:416,columnNumber:13},this),t.jsxDEV(b.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-4",children:[x.length," variants"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:417,columnNumber:13},this),t.jsxDEV(b.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4",children:["Stock: ",z]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:418,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:415,columnNumber:11},this),t.jsxDEV(b.Button,{asChild:!0,variant:"outline",size:"sm",className:"h-7 text-xs px-3",children:t.jsxDEV(B,{href:"/cms/products/attributes",children:"Manage"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:421,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:420,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:414,columnNumber:9},this),t.jsxDEV("div",{className:"grid gap-2 lg:grid-cols-2",children:n.map(e=>{const i=h[e.id]||[];return t.jsxDEV("div",{className:"flex items-center gap-3 rounded border p-2.5",children:[t.jsxDEV("div",{className:"shrink-0 w-[100px]",children:[t.jsxDEV("span",{className:"text-sm font-bold block leading-tight",children:f.resolveAttributeName(e,a)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:432,columnNumber:19},this),t.jsxDEV("span",{className:"text-[10px] text-muted-foreground leading-none",children:[i.length," selected"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:433,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:431,columnNumber:17},this),t.jsxDEV("div",{className:"flex flex-wrap gap-1.5 flex-1",children:e.terms.map(s=>{const o=i.includes(s.id);return t.jsxDEV("button",{type:"button",onClick:()=>I(e.id,s.id),className:`rounded-full border px-2.5 py-0.5 text-[11px] font-medium transition-colors ${o?"border-primary bg-primary/10 text-primary":"border-border bg-background text-foreground hover:border-primary/40"}`,children:f.resolveTermValue(s,a)},s.id,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:440,columnNumber:23},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:435,columnNumber:17},this)]},e.id,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:430,columnNumber:15},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:425,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:413,columnNumber:7},this),x.length===0?t.jsxDEV("div",{className:"rounded border border-dashed p-3 text-xs text-muted-foreground text-center",children:"Select terms above to generate variations."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:463,columnNumber:9},this):t.jsxDEV("div",{className:"space-y-2",children:x.map(e=>{const i=E.resolveEditorCurrencyPriceMaps({currencies:c,prices:e.prices||{},salePrices:e.sale_prices||{},fallbackPrice:e.price,fallbackSalePrice:e.sale_price});return t.jsxDEV("div",{className:"rounded border p-3 space-y-2",children:[t.jsxDEV("div",{className:"flex items-center justify-between gap-3",children:[t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV("span",{className:"text-sm font-bold",children:e.label},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:482,columnNumber:21},this),t.jsxDEV("span",{className:"text-xs text-muted-foreground",children:e.selected_options.map(s=>`${s.attribute_name}: ${s.term_value}`).join(" · ")},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:483,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:481,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[t.jsxDEV("span",{children:["Reg: ",R(e.price,j?.code||"USD")]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:490,columnNumber:21},this),t.jsxDEV("span",{children:["Sale:"," ",e.sale_price!==null&&e.sale_price!==void 0?R(e.sale_price,j?.code||"USD"):"—"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:491,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:489,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:480,columnNumber:17},this),t.jsxDEV("div",{className:"grid grid-cols-3 gap-2.5",children:[t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(b.Label,{htmlFor:`variant-sku-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:503,columnNumber:21},this),t.jsxDEV(b.Input,{id:`variant-sku-${e.combination_key}`,value:e.sku,onChange:s=>W(e.combination_key,"sku",s.target.value),placeholder:"SKU",className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:504,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:502,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(b.Label,{htmlFor:`variant-upc-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"UPC"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:515,columnNumber:21},this),t.jsxDEV(b.Input,{id:`variant-upc-${e.combination_key}`,value:e.upc??"",onChange:s=>W(e.combination_key,"upc",s.target.value),placeholder:"—",className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:516,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:514,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(b.Label,{htmlFor:`variant-stock-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"Qty"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:527,columnNumber:21},this),t.jsxDEV(b.Input,{id:`variant-stock-${e.combination_key}`,type:"number",min:"0",value:e.stock_quantity,onChange:s=>W(e.combination_key,"stock_quantity",s.target.value),className:"h-8 text-sm font-mono w-20"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:528,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:526,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:501,columnNumber:17},this),t.jsxDEV(G.CurrencyPriceFields,{idPrefix:`variant-${e.combination_key}`,currencies:c,prices:i.prices,salePrices:i.salePrices,managedCurrencyCodes:v,onPriceChange:(s,o)=>w(e.combination_key,s,"prices",o),onSalePriceChange:(s,o)=>w(e.combination_key,s,"sale_prices",o),onAutoFill:()=>O(e.combination_key),helperText:v.length>0?`Store-managed currencies derive from ${j?.code||"the base currency"}.`:void 0,trailing:t.jsxDEV(Q.SaleScheduleFields,{idPrefix:`variant-${e.combination_key}`,startAt:e.sale_start_at,endAt:e.sale_end_at,onChange:(s,o)=>K(e.combination_key,s,o),bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:575,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:546,columnNumber:17},this),t.jsxDEV("div",{className:"flex items-center gap-3 pt-1.5 border-t border-muted/30",children:[e.main_image_url&&t.jsxDEV("div",{className:"h-9 w-9 overflow-hidden rounded border bg-background shrink-0",children:t.jsxDEV("img",{src:e.main_image_url,alt:`${e.label} image`,className:"h-full w-full object-cover"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:591,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:590,columnNumber:21},this),t.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"Image"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:598,columnNumber:19},this),k.length>0?t.jsxDEV("select",{className:"flex h-8 rounded-md border border-input bg-background px-2 py-1 text-sm min-w-[180px]",value:e.main_media_id??"",onChange:s=>{if(!s.target.value){T(e.combination_key);return}X(e.combination_key,s.target.value)},children:[t.jsxDEV("option",{value:"",children:"Use parent image"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:611,columnNumber:23},this),k.map((s,o)=>t.jsxDEV("option",{value:s.media_id,children:s.alt?.trim()||`Gallery image ${o+1}`},s.media_id,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:613,columnNumber:25},this))]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:600,columnNumber:21},this):t.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"Add gallery images first."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:619,columnNumber:21},this),e.main_media_id&&t.jsxDEV(b.Button,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2 text-muted-foreground hover:text-destructive",onClick:()=>T(e.combination_key),children:"Remove"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:622,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:588,columnNumber:17},this)]},e.combination_key,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:478,columnNumber:15},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:467,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:411,columnNumber:5},this)}exports.VariationsEditor=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-dev-runtime"),B=require("next/link"),N=require("react"),u=require("@nextblock-cms/ui"),f=require("../../../../variation-utils.cjs.js"),G=require("./CurrencyPriceFields.cjs.js"),Q=require("./SaleScheduleFields.cjs.js"),V=require("../../../../currency.cjs.js"),E=require("../product-price-sync.cjs.js"),D=require("@nextblock-cms/utils"),q=process.env.NEXT_PUBLIC_R2_BASE_URL||"",F=process.env.NEXT_PUBLIC_SUPABASE_URL||"",H=c=>c.startsWith("http")?c:q?`${q.replace(/\/+$/,"")}/${c.replace(/^\/+/,"")}`:F?`${F.replace(/\/+$/,"")}/storage/v1/object/public/media/${c.replace(/^\/+/,"")}`:c;function R(c,a="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:a}).format(c)}function J(c){return Object.entries(c).filter(([,a])=>a.length>0).map(([a,g])=>({attribute_id:a,term_ids:g}))}function Y({globalAttributes:c,currentLanguageCode:a,baseSku:g,basePrice:S,basePrices:P,baseSalePrice:U,baseSalePrices:M,currencies:n,availableVariantImages:k=[],initialVariationAttributes:_,initialVariants:A,onChange:$}){const[h,L]=N.useState(()=>_&&_.length>0?_.reduce((e,i)=>(e[i.attribute_id]=i.term_ids,e),{}):f.extractSelectedTermsByAttribute(A||[])),[x,p]=N.useState(E.sanitizeVariantDraftsForStoreManagedCurrencies(A||[],n)),y=N.useMemo(()=>c.map(e=>({attribute_id:e.id,attribute_name:f.resolveAttributeName(e,a),terms:e.terms.filter(i=>(h[e.id]||[]).includes(i.id)).map(i=>({...i,value:f.resolveTermValue(i,a)}))})).filter(e=>e.terms.length>0),[a,c,h]);N.useEffect(()=>{if(y.length===0){p([]);return}p(e=>E.sanitizeVariantDraftsForStoreManagedCurrencies(f.generateVariantDrafts({baseSku:g,basePrice:S,basePrices:V.normalizePriceMap(P),baseSalePrice:U,baseSalePrices:V.normalizeSalePriceMap(M),selectedAttributes:y,previousVariants:e}),n))},[S,P,U,M,g,n,y]),N.useEffect(()=>{$({variationAttributes:J(h),variants:x})},[$,h,x]);const z=x.reduce((e,i)=>e+(i.stock_quantity||0),0),j=n.find(e=>e.is_default)??n[0],v=N.useMemo(()=>E.getStoreManagedPriceCurrencyCodes(n),[n]),I=(e,i)=>{L(s=>{const o=new Set(s[e]||[]);return o.has(i)?o.delete(i):o.add(i),{...s,[e]:[...o]}})},W=(e,i,s)=>{p(o=>o.map(r=>{if(r.combination_key!==e)return r;if(i==="sku")return{...r,sku:s};if(i==="upc")return{...r,upc:s};if(i==="sale_price"&&s==="")return{...r,sale_price:null};if(i==="prices"||i==="sale_prices")return r;const m=s===""?0:Number(s);return{...r,[i]:Number.isFinite(m)?m:0}}))},K=(e,i,s)=>{p(o=>o.map(r=>r.combination_key===e?{...r,[i]:s}:r))},w=(e,i,s,o)=>{const r=n.find(m=>m.is_default)??n[0];p(m=>m.map(d=>{if(d.combination_key!==e)return d;const b={...s==="prices"?d.prices:d.sale_prices,[i]:o};return{...d,[s]:b,...i===r?.code?s==="prices"?{price:o??0}:{sale_price:o}:{}}}))},O=e=>{const i=n.find(o=>o.is_default)??n[0],s=new Set(v);i&&p(o=>o.map(r=>{if(r.combination_key!==e)return r;const m=n.reduce((b,l)=>{if(l.code!==i.code&&s.has(l.code))return b;const C=V.convertMinorUnitAmount({amount:D.majorUnitAmountToMinor(r.price,i.code),fromCurrencyCode:i.code,toCurrencyCode:l.code,currencies:n,applyRounding:!0});return b[l.code]=D.minorUnitAmountToMajor(C,l.code),b},{}),d=n.reduce((b,l)=>{if(l.code!==i.code&&s.has(l.code))return b;if(typeof r.sale_price!="number")return b[l.code]=null,b;const C=V.convertMinorUnitAmount({amount:D.majorUnitAmountToMinor(r.sale_price,i.code),fromCurrencyCode:i.code,toCurrencyCode:l.code,currencies:n,applyRounding:!0});return b[l.code]=D.minorUnitAmountToMajor(C,l.code),b},{});return{...r,prices:m,sale_prices:d}}))},X=(e,i)=>{const s=k.find(m=>m.media_id===i);if(!s)return;const o=s.file_path,r=H(o);p(m=>m.map(d=>d.combination_key===e?{...d,main_media_id:s.media_id,main_image_url:r}:d))},T=e=>{p(i=>i.map(s=>s.combination_key===e?{...s,main_media_id:null,main_image_url:null}:s))};return c.length===0?t.jsxDEV("div",{className:"rounded-lg border border-dashed p-6 text-sm text-muted-foreground",children:["No global attributes have been created yet. Create them first in"," ",t.jsxDEV(B,{href:"/cms/products/attributes",className:"font-medium text-primary underline-offset-4 hover:underline",children:"Attribute Management"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:402,columnNumber:9},this),"."]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:400,columnNumber:7},this):t.jsxDEV("div",{className:"space-y-3",children:[t.jsxDEV("div",{className:"space-y-2",children:[t.jsxDEV("div",{className:"flex items-center justify-between gap-3",children:[t.jsxDEV("div",{className:"flex items-center gap-3",children:[t.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Attributes"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:416,columnNumber:13},this),t.jsxDEV(u.Badge,{variant:"outline",className:"text-[10px] px-1.5 h-4",children:[x.length," variants"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:417,columnNumber:13},this),t.jsxDEV(u.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4",children:["Stock: ",z]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:418,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:415,columnNumber:11},this),t.jsxDEV(u.Button,{asChild:!0,variant:"outline",size:"sm",className:"h-7 text-xs px-3",children:t.jsxDEV(B,{href:"/cms/products/attributes",children:"Manage"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:421,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:420,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:414,columnNumber:9},this),t.jsxDEV("div",{className:"grid gap-2 lg:grid-cols-2",children:c.map(e=>{const i=h[e.id]||[];return t.jsxDEV("div",{className:"flex items-center gap-3 rounded border p-2.5",children:[t.jsxDEV("div",{className:"shrink-0 w-[100px]",children:[t.jsxDEV("span",{className:"text-sm font-bold block leading-tight",children:f.resolveAttributeName(e,a)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:432,columnNumber:19},this),t.jsxDEV("span",{className:"text-[10px] text-muted-foreground leading-none",children:[i.length," selected"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:433,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:431,columnNumber:17},this),t.jsxDEV("div",{className:"flex flex-wrap gap-1.5 flex-1",children:e.terms.map(s=>{const o=i.includes(s.id);return t.jsxDEV("button",{type:"button",onClick:()=>I(e.id,s.id),className:`rounded-full border px-2.5 py-0.5 text-[11px] font-medium transition-colors ${o?"border-primary bg-primary/10 text-primary":"border-border bg-background text-foreground hover:border-primary/40"}`,children:f.resolveTermValue(s,a)},s.id,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:440,columnNumber:23},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:435,columnNumber:17},this)]},e.id,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:430,columnNumber:15},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:425,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:413,columnNumber:7},this),x.length===0?t.jsxDEV("div",{className:"rounded border border-dashed p-3 text-xs text-muted-foreground text-center",children:"Select terms above to generate variations."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:463,columnNumber:9},this):t.jsxDEV("div",{className:"space-y-2",children:x.map(e=>{const i=E.resolveEditorCurrencyPriceMaps({currencies:n,prices:e.prices||{},salePrices:e.sale_prices||{},fallbackPrice:e.price,fallbackSalePrice:e.sale_price});return t.jsxDEV("div",{className:"rounded border p-3 space-y-2",children:[t.jsxDEV("div",{className:"flex items-center justify-between gap-3",children:[t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV("span",{className:"text-sm font-bold",children:e.label},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:482,columnNumber:21},this),t.jsxDEV("span",{className:"text-xs text-muted-foreground",children:e.selected_options.map(s=>`${s.attribute_name}: ${s.term_value}`).join(" · ")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:483,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:481,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[t.jsxDEV("span",{children:["Reg: ",R(e.price,j?.code||"USD")]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:490,columnNumber:21},this),t.jsxDEV("span",{children:["Sale:"," ",e.sale_price!==null&&e.sale_price!==void 0?R(e.sale_price,j?.code||"USD"):"—"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:491,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:489,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:480,columnNumber:17},this),t.jsxDEV("div",{className:"grid grid-cols-3 gap-2.5",children:[t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(u.Label,{htmlFor:`variant-sku-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:503,columnNumber:21},this),t.jsxDEV(u.Input,{id:`variant-sku-${e.combination_key}`,value:e.sku,onChange:s=>W(e.combination_key,"sku",s.target.value),placeholder:"SKU",className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:504,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:502,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(u.Label,{htmlFor:`variant-upc-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"UPC"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:515,columnNumber:21},this),t.jsxDEV(u.Input,{id:`variant-upc-${e.combination_key}`,value:e.upc??"",onChange:s=>W(e.combination_key,"upc",s.target.value),placeholder:"—",className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:516,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:514,columnNumber:19},this),t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(u.Label,{htmlFor:`variant-stock-${e.combination_key}`,className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"Qty"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:527,columnNumber:21},this),t.jsxDEV(u.Input,{id:`variant-stock-${e.combination_key}`,type:"number",min:"0",value:e.stock_quantity,onChange:s=>W(e.combination_key,"stock_quantity",s.target.value),className:"h-8 text-sm font-mono w-20"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:528,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:526,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:501,columnNumber:17},this),t.jsxDEV(G.CurrencyPriceFields,{idPrefix:`variant-${e.combination_key}`,currencies:n,prices:i.prices,salePrices:i.salePrices,managedCurrencyCodes:v,onPriceChange:(s,o)=>w(e.combination_key,s,"prices",o),onSalePriceChange:(s,o)=>w(e.combination_key,s,"sale_prices",o),onAutoFill:()=>O(e.combination_key),helperText:v.length>0?`Store-managed currencies derive from ${j?.code||"the base currency"}.`:void 0,trailing:t.jsxDEV(Q.SaleScheduleFields,{idPrefix:`variant-${e.combination_key}`,startAt:e.sale_start_at,endAt:e.sale_end_at,onChange:(s,o)=>K(e.combination_key,s,o),bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:575,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:546,columnNumber:17},this),t.jsxDEV("div",{className:"flex items-center gap-3 pt-1.5 border-t border-muted/30",children:[e.main_image_url&&t.jsxDEV("div",{className:"h-9 w-9 overflow-hidden rounded border bg-background shrink-0",children:t.jsxDEV("img",{src:e.main_image_url,alt:`${e.label} image`,className:"h-full w-full object-cover"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:591,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:590,columnNumber:21},this),t.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider shrink-0",children:"Image"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:598,columnNumber:19},this),k.length>0?t.jsxDEV("select",{className:"flex h-8 rounded-md border border-input bg-background px-2 py-1 text-sm min-w-[180px]",value:e.main_media_id??"",onChange:s=>{if(!s.target.value){T(e.combination_key);return}X(e.combination_key,s.target.value)},children:[t.jsxDEV("option",{value:"",children:"Use parent image"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:611,columnNumber:23},this),k.map((s,o)=>t.jsxDEV("option",{value:s.media_id,children:s.alt?.trim()||`Gallery image ${o+1}`},s.media_id,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:613,columnNumber:25},this))]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:600,columnNumber:21},this):t.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"Add gallery images first."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:619,columnNumber:21},this),e.main_media_id&&t.jsxDEV(u.Button,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2 text-muted-foreground hover:text-destructive",onClick:()=>T(e.combination_key),children:"Remove"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:622,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:588,columnNumber:17},this)]},e.combination_key,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:478,columnNumber:15},this)})},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:467,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/VariationsEditor.tsx",lineNumber:411,columnNumber:5},this)}exports.VariationsEditor=Y;
@@ -22,5 +22,5 @@ interface VariationsEditorProps {
22
22
  variants: ProductFormValues['variants'];
23
23
  }) => void;
24
24
  }
25
- export declare function VariationsEditor({ globalAttributes, currentLanguageCode, baseSku, basePrice, basePrices, baseSalePrice, baseSalePrices, currencies, availableVariantImages, initialVariationAttributes, initialVariants, onChange, }: VariationsEditorProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function VariationsEditor({ globalAttributes, currentLanguageCode, baseSku, basePrice, basePrices, baseSalePrice, baseSalePrices, currencies, availableVariantImages, initialVariationAttributes, initialVariants, onChange, }: VariationsEditorProps): import("react").JSX.Element;
26
26
  export {};