@nextblock-cms/ecom 0.17.3 → 0.17.4

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 +1 -2
  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 +1 -2
  64. package/lib/components/SubscriptionSelector.es.js +74 -74
  65. package/lib/components/media/MediaPickerDialog.d.ts +1 -2
  66. package/lib/components/media/MediaUploadForm.d.ts +1 -2
  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 +1 -2
  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 +1 -2
  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 +1 -2
  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 +1 -2
  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 +1 -2
  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 +1 -2
  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 s=require("react/jsx-dev-runtime"),l=require("react"),d=require("lucide-react"),E=require("next/image"),f=process.env.NEXT_PUBLIC_R2_BASE_URL||"",g=o=>o?o.startsWith("http")||!f?o:`${f.replace(/\/+$/,"")}/${o.replace(/^\/+/,"")}`:"",y=({initialMedia:o,onUpdate:b,mediaPickerNode:p})=>{const[c,m]=l.useState(o),a=l.useRef(null),u=l.useRef(null);l.useEffect(()=>{m(o)},[o]);const x=(e,r)=>{a.current=r,e.dataTransfer.effectAllowed="move"},N=(e,r)=>{u.current=r,e.preventDefault()},v=e=>{e.preventDefault()},D=e=>{if(e.preventDefault(),a.current===null||u.current===null)return;const r=[...c],t=r[a.current];r.splice(a.current,1),r.splice(u.current,0,t),a.current=null,u.current=null;const n=r.map((i,j)=>({...i,sort_order:j}));m(n),b(n)},h=e=>{if(!e||c.some(n=>n.media_id===e.id))return;const r={id:`temp-${Date.now()}`,media_id:e.id,file_path:e.file_path||e.object_key,alt:e.description||e.file_name||"",sort_order:c.length,isNew:!0},t=[...c,r];m(t),b(t)},M=e=>{const t=c.filter((n,i)=>i!==e).map((n,i)=>({...n,sort_order:i}));m(t),b(t)};return s.jsxDEV("div",{className:"space-y-4",children:[s.jsxDEV("div",{className:"grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 gap-4",children:[c.map((e,r)=>s.jsxDEV("div",{className:"group relative aspect-square bg-muted/40 rounded-lg border overflow-hidden cursor-move transition-all hover:shadow-md",draggable:!0,onDragStart:t=>x(t,r),onDragEnter:t=>N(t,r),onDragOver:v,onDrop:D,children:[r===0&&s.jsxDEV("div",{className:"absolute top-2 left-2 z-10 bg-primary text-primary-foreground text-[10px] font-bold px-2 py-0.5 rounded shadow-sm",children:"MAIN"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:132,columnNumber:17},void 0),s.jsxDEV("button",{type:"button",onClick:()=>M(r),className:"absolute top-1 right-1 z-20 p-1 bg-destructive/90 text-destructive-foreground rounded-full opacity-0 group-hover:opacity-100 transition-opacity",children:s.jsxDEV(d.X,{className:"w-3 h-3"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:143,columnNumber:17},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:138,columnNumber:13},void 0),s.jsxDEV("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors pointer-events-none"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:147,columnNumber:13},void 0),s.jsxDEV("div",{className:"absolute bottom-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:s.jsxDEV(d.GripVertical,{className:"w-4 h-4 text-white drop-shadow-md"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:150,columnNumber:18},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:149,columnNumber:13},void 0),g(e.file_path)?s.jsxDEV(E,{src:g(e.file_path),alt:e.alt,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 50vw, 33vw"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:154,columnNumber:15},void 0):s.jsxDEV("div",{className:"flex h-full w-full items-center justify-center text-muted-foreground",children:s.jsxDEV(d.Image,{className:"w-8 h-8 opacity-30"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:163,columnNumber:17},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:162,columnNumber:15},void 0)]},e.id,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:121,columnNumber:11},void 0)),p?l.cloneElement(p,{onSelect:h,children:s.jsxDEV("button",{type:"button",className:"group relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground hover:bg-muted/20 hover:border-muted-foreground/50 transition-all focus:outline-none focus:ring-2 focus:ring-primary",children:[s.jsxDEV(d.Image,{className:"w-8 h-8 mb-2 opacity-50 group-hover:opacity-75 transition-opacity"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:177,columnNumber:17},void 0),s.jsxDEV("span",{className:"text-sm font-medium",children:"Add Image"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:178,columnNumber:17},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:173,columnNumber:15},void 0)}):s.jsxDEV("div",{className:"relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground",children:[s.jsxDEV(d.Image,{className:"w-8 h-8 mb-2 opacity-30"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:184,columnNumber:18},void 0),s.jsxDEV("span",{className:"text-xs text-center px-2",children:"Media Picker not injected"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:185,columnNumber:18},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:183,columnNumber:14},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:119,columnNumber:7},void 0),s.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Drag and drop images to reorder. The first image will be used as the main product image."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:189,columnNumber:7},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:118,columnNumber:5},void 0)};exports.ProductMediaManager=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-dev-runtime"),l=require("react"),u=require("lucide-react"),E=require("next/image"),f=process.env.NEXT_PUBLIC_R2_BASE_URL||"",g=o=>o?o.startsWith("http")||!f?o:`${f.replace(/\/+$/,"")}/${o.replace(/^\/+/,"")}`:"",y=({initialMedia:o,onUpdate:b,mediaPickerNode:p})=>{const[n,d]=l.useState(o),i=l.useRef(null),m=l.useRef(null);l.useEffect(()=>{d(o)},[o]);const x=(e,t)=>{i.current=t,e.dataTransfer.effectAllowed="move"},N=(e,t)=>{m.current=t,e.preventDefault()},v=e=>{e.preventDefault()},D=e=>{if(e.preventDefault(),i.current===null||m.current===null)return;const t=[...n],s=t[i.current];t.splice(i.current,1),t.splice(m.current,0,s),i.current=null,m.current=null;const c=t.map((a,j)=>({...a,sort_order:j}));d(c),b(c)},h=e=>{if(!e||n.some(c=>c.media_id===e.id))return;const t={id:`temp-${Date.now()}`,media_id:e.id,file_path:e.file_path||e.object_key,alt:e.description||e.file_name||"",sort_order:n.length,isNew:!0},s=[...n,t];d(s),b(s)},M=e=>{const s=n.filter((c,a)=>a!==e).map((c,a)=>({...c,sort_order:a}));d(s),b(s)};return r.jsxDEV("div",{className:"space-y-4",children:[r.jsxDEV("div",{className:"grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 gap-4",children:[n.map((e,t)=>r.jsxDEV("div",{className:"group relative aspect-square bg-muted/40 rounded-lg border overflow-hidden cursor-move transition-all hover:shadow-md",draggable:!0,onDragStart:s=>x(s,t),onDragEnter:s=>N(s,t),onDragOver:v,onDrop:D,children:[t===0&&r.jsxDEV("div",{className:"absolute top-2 left-2 z-10 bg-primary text-primary-foreground text-[10px] font-bold px-2 py-0.5 rounded shadow-sm",children:"MAIN"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:132,columnNumber:17},void 0),r.jsxDEV("button",{type:"button",onClick:()=>M(t),className:"absolute top-1 right-1 z-20 p-1 bg-destructive/90 text-destructive-foreground rounded-full opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsxDEV(u.X,{className:"w-3 h-3"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:143,columnNumber:17},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:138,columnNumber:13},void 0),r.jsxDEV("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors pointer-events-none"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:147,columnNumber:13},void 0),r.jsxDEV("div",{className:"absolute bottom-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:r.jsxDEV(u.GripVertical,{className:"w-4 h-4 text-white drop-shadow-md"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:150,columnNumber:18},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:149,columnNumber:13},void 0),g(e.file_path)?r.jsxDEV(E,{src:g(e.file_path),alt:e.alt,fill:!0,className:"object-cover",sizes:"(max-width: 768px) 50vw, 33vw"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:154,columnNumber:15},void 0):r.jsxDEV("div",{className:"flex h-full w-full items-center justify-center text-muted-foreground",children:r.jsxDEV(u.Image,{className:"w-8 h-8 opacity-30"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:163,columnNumber:17},void 0)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:162,columnNumber:15},void 0)]},e.id,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:121,columnNumber:11},void 0)),p?l.cloneElement(p,{onSelect:h,children:r.jsxDEV("button",{type:"button",className:"group relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground hover:bg-muted/20 hover:border-muted-foreground/50 transition-all focus:outline-none focus:ring-2 focus:ring-primary",children:[r.jsxDEV(u.Image,{className:"w-8 h-8 mb-2 opacity-50 group-hover:opacity-75 transition-opacity"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:177,columnNumber:17},void 0),r.jsxDEV("span",{className:"text-sm font-medium",children:"Add Image"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:178,columnNumber:17},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:173,columnNumber:15},void 0)}):r.jsxDEV("div",{className:"relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground",children:[r.jsxDEV(u.Image,{className:"w-8 h-8 mb-2 opacity-30"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:184,columnNumber:18},void 0),r.jsxDEV("span",{className:"text-xs text-center px-2",children:"Media Picker not injected"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:185,columnNumber:18},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:183,columnNumber:14},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:119,columnNumber:7},void 0),r.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Drag and drop images to reorder. The first image will be used as the main product image."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:189,columnNumber:7},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",lineNumber:118,columnNumber:5},void 0)};exports.ProductMediaManager=y;
@@ -13,5 +13,5 @@ interface ProductMediaManagerProps {
13
13
  onUpdate: (media: MediaItem[]) => void;
14
14
  mediaPickerNode?: React.ReactNode;
15
15
  }
16
- export declare const ProductMediaManager: ({ initialMedia, onUpdate, mediaPickerNode }: ProductMediaManagerProps) => React.JSX.Element;
16
+ export declare const ProductMediaManager: ({ initialMedia, onUpdate, mediaPickerNode }: ProductMediaManagerProps) => import("react/jsx-runtime").JSX.Element;
17
17
  export {};
@@ -3,30 +3,30 @@ import { jsxDEV as r } from "react/jsx-dev-runtime";
3
3
  import y, { useState as w, useRef as p, useEffect as P } from "react";
4
4
  import { X as W, GripVertical as _, Image as u } from "lucide-react";
5
5
  import I from "next/image";
6
- const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith("http") || !f ? t : `${f.replace(/\/+$/, "")}/${t.replace(/^\/+/, "")}` : "", A = ({ initialMedia: t, onUpdate: d, mediaPickerNode: b }) => {
7
- const [c, l] = w(t), a = p(null), m = p(null);
6
+ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (s) => s ? s.startsWith("http") || !f ? s : `${f.replace(/\/+$/, "")}/${s.replace(/^\/+/, "")}` : "", A = ({ initialMedia: s, onUpdate: d, mediaPickerNode: b }) => {
7
+ const [c, l] = w(s), i = p(null), m = p(null);
8
8
  P(() => {
9
- l(t);
10
- }, [t]);
11
- const x = (e, s) => {
12
- a.current = s, e.dataTransfer.effectAllowed = "move";
13
- }, N = (e, s) => {
14
- m.current = s, e.preventDefault();
9
+ l(s);
10
+ }, [s]);
11
+ const N = (e, o) => {
12
+ i.current = o, e.dataTransfer.effectAllowed = "move";
13
+ }, x = (e, o) => {
14
+ m.current = o, e.preventDefault();
15
15
  }, v = (e) => {
16
16
  e.preventDefault();
17
17
  }, h = (e) => {
18
- if (e.preventDefault(), a.current === null || m.current === null) return;
19
- const s = [...c], o = s[a.current];
20
- s.splice(a.current, 1), s.splice(m.current, 0, o), a.current = null, m.current = null;
21
- const n = s.map((i, k) => ({
22
- ...i,
18
+ if (e.preventDefault(), i.current === null || m.current === null) return;
19
+ const o = [...c], t = o[i.current];
20
+ o.splice(i.current, 1), o.splice(m.current, 0, t), i.current = null, m.current = null;
21
+ const n = o.map((a, k) => ({
22
+ ...a,
23
23
  sort_order: k
24
24
  }));
25
25
  l(n), d(n);
26
26
  }, M = (e) => {
27
27
  if (!e || c.some((n) => n.media_id === e.id))
28
28
  return;
29
- const s = {
29
+ const o = {
30
30
  id: `temp-${Date.now()}`,
31
31
  // Temp ID
32
32
  media_id: e.id,
@@ -34,26 +34,26 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
34
34
  alt: e.description || e.file_name || "",
35
35
  sort_order: c.length,
36
36
  isNew: !0
37
- }, o = [...c, s];
38
- l(o), d(o);
37
+ }, t = [...c, o];
38
+ l(t), d(t);
39
39
  }, D = (e) => {
40
- const o = c.filter((n, i) => i !== e).map((n, i) => ({ ...n, sort_order: i }));
41
- l(o), d(o);
40
+ const t = c.filter((n, a) => a !== e).map((n, a) => ({ ...n, sort_order: a }));
41
+ l(t), d(t);
42
42
  };
43
43
  return /* @__PURE__ */ r("div", { className: "space-y-4", children: [
44
44
  /* @__PURE__ */ r("div", { className: "grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 gap-4", children: [
45
- c.map((e, s) => /* @__PURE__ */ r(
45
+ c.map((e, o) => /* @__PURE__ */ r(
46
46
  "div",
47
47
  {
48
48
  className: "group relative aspect-square bg-muted/40 rounded-lg border overflow-hidden cursor-move transition-all hover:shadow-md",
49
49
  draggable: !0,
50
- onDragStart: (o) => x(o, s),
51
- onDragEnter: (o) => N(o, s),
50
+ onDragStart: (t) => N(t, o),
51
+ onDragEnter: (t) => x(t, o),
52
52
  onDragOver: v,
53
53
  onDrop: h,
54
54
  children: [
55
- s === 0 && /* @__PURE__ */ r("div", { className: "absolute top-2 left-2 z-10 bg-primary text-primary-foreground text-[10px] font-bold px-2 py-0.5 rounded shadow-sm", children: "MAIN" }, void 0, !1, {
56
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
55
+ o === 0 && /* @__PURE__ */ r("div", { className: "absolute top-2 left-2 z-10 bg-primary text-primary-foreground text-[10px] font-bold px-2 py-0.5 rounded shadow-sm", children: "MAIN" }, void 0, !1, {
56
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
57
57
  lineNumber: 132,
58
58
  columnNumber: 17
59
59
  }, void 0),
@@ -61,10 +61,10 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
61
61
  "button",
62
62
  {
63
63
  type: "button",
64
- onClick: () => D(s),
64
+ onClick: () => D(o),
65
65
  className: "absolute top-1 right-1 z-20 p-1 bg-destructive/90 text-destructive-foreground rounded-full opacity-0 group-hover:opacity-100 transition-opacity",
66
66
  children: /* @__PURE__ */ r(W, { className: "w-3 h-3" }, void 0, !1, {
67
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
67
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
68
68
  lineNumber: 143,
69
69
  columnNumber: 17
70
70
  }, void 0)
@@ -72,23 +72,23 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
72
72
  void 0,
73
73
  !1,
74
74
  {
75
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
75
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
76
76
  lineNumber: 138,
77
77
  columnNumber: 13
78
78
  },
79
79
  void 0
80
80
  ),
81
81
  /* @__PURE__ */ r("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/5 transition-colors pointer-events-none" }, void 0, !1, {
82
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
82
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
83
83
  lineNumber: 147,
84
84
  columnNumber: 13
85
85
  }, void 0),
86
86
  /* @__PURE__ */ r("div", { className: "absolute bottom-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity", children: /* @__PURE__ */ r(_, { className: "w-4 h-4 text-white drop-shadow-md" }, void 0, !1, {
87
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
87
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
88
88
  lineNumber: 150,
89
89
  columnNumber: 18
90
90
  }, void 0) }, void 0, !1, {
91
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
91
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
92
92
  lineNumber: 149,
93
93
  columnNumber: 13
94
94
  }, void 0),
@@ -104,17 +104,17 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
104
104
  void 0,
105
105
  !1,
106
106
  {
107
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
107
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
108
108
  lineNumber: 154,
109
109
  columnNumber: 15
110
110
  },
111
111
  void 0
112
112
  ) : /* @__PURE__ */ r("div", { className: "flex h-full w-full items-center justify-center text-muted-foreground", children: /* @__PURE__ */ r(u, { className: "w-8 h-8 opacity-30" }, void 0, !1, {
113
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
113
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
114
114
  lineNumber: 163,
115
115
  columnNumber: 17
116
116
  }, void 0) }, void 0, !1, {
117
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
117
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
118
118
  lineNumber: 162,
119
119
  columnNumber: 15
120
120
  }, void 0)
@@ -123,7 +123,7 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
123
123
  e.id,
124
124
  !0,
125
125
  {
126
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
126
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
127
127
  lineNumber: 121,
128
128
  columnNumber: 11
129
129
  },
@@ -138,12 +138,12 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
138
138
  className: "group relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground hover:bg-muted/20 hover:border-muted-foreground/50 transition-all focus:outline-none focus:ring-2 focus:ring-primary",
139
139
  children: [
140
140
  /* @__PURE__ */ r(u, { className: "w-8 h-8 mb-2 opacity-50 group-hover:opacity-75 transition-opacity" }, void 0, !1, {
141
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
141
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
142
142
  lineNumber: 177,
143
143
  columnNumber: 17
144
144
  }, void 0),
145
145
  /* @__PURE__ */ r("span", { className: "text-sm font-medium", children: "Add Image" }, void 0, !1, {
146
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
146
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
147
147
  lineNumber: 178,
148
148
  columnNumber: 17
149
149
  }, void 0)
@@ -152,7 +152,7 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
152
152
  void 0,
153
153
  !0,
154
154
  {
155
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
155
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
156
156
  lineNumber: 173,
157
157
  columnNumber: 15
158
158
  },
@@ -160,32 +160,32 @@ const f = process.env.NEXT_PUBLIC_R2_BASE_URL || "", g = (t) => t ? t.startsWith
160
160
  )
161
161
  }) : /* @__PURE__ */ r("div", { className: "relative aspect-square flex flex-col items-center justify-center border-2 border-dashed rounded-lg bg-muted/10 text-muted-foreground", children: [
162
162
  /* @__PURE__ */ r(u, { className: "w-8 h-8 mb-2 opacity-30" }, void 0, !1, {
163
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
163
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
164
164
  lineNumber: 184,
165
165
  columnNumber: 18
166
166
  }, void 0),
167
167
  /* @__PURE__ */ r("span", { className: "text-xs text-center px-2", children: "Media Picker not injected" }, void 0, !1, {
168
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
168
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
169
169
  lineNumber: 185,
170
170
  columnNumber: 18
171
171
  }, void 0)
172
172
  ] }, void 0, !0, {
173
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
173
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
174
174
  lineNumber: 183,
175
175
  columnNumber: 14
176
176
  }, void 0)
177
177
  ] }, void 0, !0, {
178
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
178
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
179
179
  lineNumber: 119,
180
180
  columnNumber: 7
181
181
  }, void 0),
182
182
  /* @__PURE__ */ r("p", { className: "text-xs text-muted-foreground", children: "Drag and drop images to reorder. The first image will be used as the main product image." }, void 0, !1, {
183
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
183
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
184
184
  lineNumber: 189,
185
185
  columnNumber: 7
186
186
  }, void 0)
187
187
  ] }, void 0, !0, {
188
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
188
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductMediaManager.tsx",
189
189
  lineNumber: 118,
190
190
  columnNumber: 5
191
191
  }, void 0);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),F=require("next/image"),B=require("next/link"),K=require("next/navigation"),r=require("react"),d=require("lucide-react"),l=require("@nextblock-cms/ui"),y=require("@nextblock-cms/utils"),X=require("./DeleteProductButton.cjs.js"),C=process.env.NEXT_PUBLIC_R2_BASE_URL||"";function G(o){return o?o.startsWith("http")||!C?o:`${C.replace(/\/+$/,"")}/${o.replace(/^\/+/,"")}`:null}function J({products:o,languageLabels:v,defaultCurrencyCode:E,deleteProductAction:_,bulkDeleteProductsAction:M,bulkDraftProductsAction:A}){const R=K.useRouter(),[m,x]=r.useState(()=>new Set),[N,H]=r.useState(""),[j,p]=r.useState(null),[h,T]=r.useState(null),[V,I]=r.useTransition(),P=r.useMemo(()=>{const s=N.trim().toLowerCase();return s?o.filter(t=>{const i=v[String(t.language_id)]||"";return[t.title,t.sku,t.slug,t.status,i].filter(Boolean).join(" ").toLowerCase().includes(s)}):o},[v,o,N]),[$,f]=r.useState(1),[n,q]=r.useState(25);r.useEffect(()=>{f(1)},[N]);const k=P.length,g=Math.max(1,Math.ceil(k/n)),a=Math.min($,g),D=r.useMemo(()=>{const s=(a-1)*n;return P.slice(s,s+n)},[P,a,n]),W=r.useMemo(()=>o.map(s=>s.id),[o]),u=r.useMemo(()=>D.map(s=>s.id),[D]),b=r.useMemo(()=>o.filter(s=>m.has(s.id)),[o,m]).length,z=b>1,L=u.filter(s=>m.has(s)).length,S=u.length>0&&u.every(s=>m.has(s)),U=L>0&&!S;r.useEffect(()=>{const s=new Set(W);x(t=>{const i=new Set(Array.from(t).filter(c=>s.has(c)));return i.size===t.size?t:i})},[W]);const Q=s=>{x(t=>{const i=new Set(t);return s?u.forEach(c=>i.add(c)):u.forEach(c=>i.delete(c)),i})},O=(s,t)=>{x(i=>{const c=new Set(i);return t?c.add(s):c.delete(s),c})},w=(s,t,i)=>{if(b===0){p("Select at least one product first.");return}window.confirm(t)&&(p(null),T(s),I(async()=>{try{const c=await i(Array.from(m));if(!c.success){p(c.error||"Bulk action failed. Please try again."),T(null);return}x(new Set),R.refresh()}catch(c){console.error("Bulk product action failed:",c),p("Bulk action failed. Please try again.")}finally{T(null)}}))};return e.jsxDEV("div",{className:"rounded-lg border overflow-hidden dark:border-slate-700",children:[e.jsxDEV("div",{className:"flex min-h-14 flex-wrap items-center justify-between gap-3 border-b bg-muted/20 px-4 py-3",children:[e.jsxDEV("div",{className:"flex min-w-[260px] flex-1 flex-wrap items-center gap-3",children:[e.jsxDEV("div",{className:"relative w-full max-w-sm",children:[e.jsxDEV(d.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:236,columnNumber:13},this),e.jsxDEV(l.Input,{value:N,onChange:s=>H(s.target.value),placeholder:"Search products...",className:"h-9 pl-9","aria-label":"Search products"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:237,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:235,columnNumber:11},this),b>0?e.jsxDEV("span",{className:"text-sm font-medium text-foreground",children:[b," selected"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:246,columnNumber:13},this):null,j?e.jsxDEV("span",{className:"text-sm text-destructive",children:j},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:251,columnNumber:13},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:234,columnNumber:9},this),z?e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxDEV(l.Button,{variant:"outline",size:"sm",disabled:V,onClick:()=>w("Moving to draft...",`Move ${b} selected products to draft?`,A),children:[e.jsxDEV(d.Archive,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:268,columnNumber:15},this),h==="Moving to draft..."?h:"Set Draft"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:256,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"destructive",size:"sm",disabled:V,onClick:()=>w("Deleting...",`Delete ${b} selected products? This action cannot be undone.`,M),children:[e.jsxDEV(d.Trash2,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:283,columnNumber:15},this),h==="Deleting..."?h:"Delete"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:271,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:255,columnNumber:11},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:233,columnNumber:7},this),e.jsxDEV(l.Table,{children:[e.jsxDEV(l.TableHeader,{children:e.jsxDEV(l.TableRow,{children:[e.jsxDEV(l.TableHead,{className:"w-12",children:e.jsxDEV(l.Checkbox,{checked:S?!0:U?"indeterminate":!1,onCheckedChange:s=>Q(s===!0),"aria-label":"Select all products on this page"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:293,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:292,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Image"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:305,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Title"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:306,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:307,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Price"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:308,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Language"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:309,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"SEO"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:310,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Stock"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:311,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Status"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:312,columnNumber:13},this),e.jsxDEV(l.TableHead,{className:"text-right",children:"Actions"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:291,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:290,columnNumber:9},this),e.jsxDEV(l.TableBody,{children:D.length>0?D.map(s=>{const t=G(s.product_media?.[0]?.media?.file_path||s.product_media?.[0]?.media?.object_key);return e.jsxDEV(l.TableRow,{"data-state":m.has(s.id)?"selected":void 0,children:[e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.Checkbox,{checked:m.has(s.id),onCheckedChange:i=>O(s.id,i===!0),"aria-label":`Select ${s.title}`},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:330,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:329,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:t?e.jsxDEV(F,{src:t,alt:s.title,width:40,height:40,className:"w-10 h-10 object-cover rounded"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:340,columnNumber:23},this):e.jsxDEV("div",{className:"w-10 h-10 bg-gray-200 rounded flex items-center justify-center text-xs text-gray-500",children:"No Img"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:348,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:338,columnNumber:19},this),e.jsxDEV(l.TableCell,{className:"font-medium",children:e.jsxDEV(B,{href:`/cms/products/${s.id}/edit`,className:"hover:underline",children:s.title},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:354,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:353,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:s.sku},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:358,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV("div",{className:"flex items-baseline gap-2",children:[e.jsxDEV("span",{className:s.sale_price?"font-semibold text-primary":"",children:typeof(s.sale_price??s.price)=="number"?y.formatPrice(s.sale_price??s.price??0,E):"N/A"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:361,columnNumber:23},this),s.sale_price?e.jsxDEV("span",{className:"text-sm text-muted-foreground line-through",children:y.formatPrice(s.price??0,E)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:370,columnNumber:25},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:360,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:359,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.Badge,{variant:"outline",children:v[String(s.language_id)]||"N/A"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:377,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:376,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.SeoScoreBadge,{score:s.seo_score},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:382,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:381,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:s.stock},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:384,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV("span",{className:`px-2 py-1 rounded text-xs ${s.status==="active"?"bg-green-100 text-green-800":s.status==="archived"?"bg-gray-100 text-gray-800":"bg-yellow-100 text-yellow-800"}`,children:s.status},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:386,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:385,columnNumber:19},this),e.jsxDEV(l.TableCell,{className:"text-right flex justify-end gap-2 items-center",children:[s.slug?e.jsxDEV(B,{href:`/product/${s.slug}`,target:"_blank",rel:"noopener noreferrer",children:e.jsxDEV(l.Button,{variant:"outline",size:"sm",children:"View Product"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:401,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:400,columnNumber:23},this):null,e.jsxDEV(B,{href:`/cms/products/${s.id}/edit`,children:e.jsxDEV(l.Button,{variant:"ghost",size:"sm",children:"Edit"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:407,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:406,columnNumber:21},this),e.jsxDEV(X.DeleteProductButton,{productName:s.title,isIcon:!0,deleteAction:()=>_(s.id)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:411,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:398,columnNumber:19},this)]},s.id,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:325,columnNumber:17},this)}):e.jsxDEV(l.TableRow,{children:e.jsxDEV(l.TableCell,{colSpan:10,className:"text-center py-10",children:o.length===0?"No products found.":"No products match your search."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:422,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:421,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:316,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:289,columnNumber:7},this),k>0&&e.jsxDEV("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-2 py-4 text-sm text-muted-foreground",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{children:"Rows per page:"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:432,columnNumber:13},this),e.jsxDEV(l.Select,{value:String(n),onValueChange:s=>{q(Number(s)),f(1)},children:[e.jsxDEV(l.SelectTrigger,{className:"h-8 w-[70px]",children:e.jsxDEV(l.SelectValue,{placeholder:String(n)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:441,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:440,columnNumber:15},this),e.jsxDEV(l.SelectContent,{side:"top",children:[10,25,50,100].map(s=>e.jsxDEV(l.SelectItem,{value:String(s),children:s},s,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:445,columnNumber:19},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:443,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:433,columnNumber:13},this),e.jsxDEV("span",{className:"ml-2",children:["Showing ",(a-1)*n+1," to ",Math.min(a*n,k)," of ",k," products"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:451,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:431,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{children:["Page ",a," of ",g]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:457,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"outline",size:"sm",className:"h-8 w-8 p-0",onClick:()=>f(s=>Math.max(1,s-1)),disabled:a<=1,"aria-label":"Previous page",children:e.jsxDEV(d.ChevronLeft,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:468,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:460,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"outline",size:"sm",className:"h-8 w-8 p-0",onClick:()=>f(s=>Math.min(g,s+1)),disabled:a>=g,"aria-label":"Next page",children:e.jsxDEV(d.ChevronRight,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:478,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:470,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:456,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:430,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:232,columnNumber:5},this)}exports.ProductsBulkTable=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),F=require("next/image"),B=require("next/link"),K=require("next/navigation"),r=require("react"),d=require("lucide-react"),l=require("@nextblock-cms/ui"),y=require("@nextblock-cms/utils"),X=require("./DeleteProductButton.cjs.js"),C=process.env.NEXT_PUBLIC_R2_BASE_URL||"";function G(o){return o?o.startsWith("http")||!C?o:`${C.replace(/\/+$/,"")}/${o.replace(/^\/+/,"")}`:null}function J({products:o,languageLabels:v,defaultCurrencyCode:E,deleteProductAction:_,bulkDeleteProductsAction:M,bulkDraftProductsAction:A}){const R=K.useRouter(),[m,p]=r.useState(()=>new Set),[x,H]=r.useState(""),[j,N]=r.useState(null),[h,T]=r.useState(null),[V,I]=r.useTransition(),P=r.useMemo(()=>{const s=x.trim().toLowerCase();return s?o.filter(t=>{const i=v[String(t.language_id)]||"";return[t.title,t.sku,t.slug,t.status,i].filter(Boolean).join(" ").toLowerCase().includes(s)}):o},[v,o,x]),[$,f]=r.useState(1),[n,q]=r.useState(25);r.useEffect(()=>{f(1)},[x]);const k=P.length,g=Math.max(1,Math.ceil(k/n)),u=Math.min($,g),D=r.useMemo(()=>{const s=(u-1)*n;return P.slice(s,s+n)},[P,u,n]),W=r.useMemo(()=>o.map(s=>s.id),[o]),b=r.useMemo(()=>D.map(s=>s.id),[D]),a=r.useMemo(()=>o.filter(s=>m.has(s.id)),[o,m]).length,z=a>1,L=b.filter(s=>m.has(s)).length,S=b.length>0&&b.every(s=>m.has(s)),U=L>0&&!S;r.useEffect(()=>{const s=new Set(W);p(t=>{const i=new Set(Array.from(t).filter(c=>s.has(c)));return i.size===t.size?t:i})},[W]);const Q=s=>{p(t=>{const i=new Set(t);return s?b.forEach(c=>i.add(c)):b.forEach(c=>i.delete(c)),i})},O=(s,t)=>{p(i=>{const c=new Set(i);return t?c.add(s):c.delete(s),c})},w=(s,t,i)=>{if(a===0){N("Select at least one product first.");return}window.confirm(t)&&(N(null),T(s),I(async()=>{try{const c=await i(Array.from(m));if(!c.success){N(c.error||"Bulk action failed. Please try again."),T(null);return}p(new Set),R.refresh()}catch(c){console.error("Bulk product action failed:",c),N("Bulk action failed. Please try again.")}finally{T(null)}}))};return e.jsxDEV("div",{className:"rounded-lg border overflow-hidden dark:border-slate-700",children:[e.jsxDEV("div",{className:"flex min-h-14 flex-wrap items-center justify-between gap-3 border-b bg-muted/20 px-4 py-3",children:[e.jsxDEV("div",{className:"flex min-w-[260px] flex-1 flex-wrap items-center gap-3",children:[e.jsxDEV("div",{className:"relative w-full max-w-sm",children:[e.jsxDEV(d.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:236,columnNumber:13},this),e.jsxDEV(l.Input,{value:x,onChange:s=>H(s.target.value),placeholder:"Search products...",className:"h-9 pl-9","aria-label":"Search products"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:237,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:235,columnNumber:11},this),a>0?e.jsxDEV("span",{className:"text-sm font-medium text-foreground",children:[a," selected"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:246,columnNumber:13},this):null,j?e.jsxDEV("span",{className:"text-sm text-destructive",children:j},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:251,columnNumber:13},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:234,columnNumber:9},this),z?e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxDEV(l.Button,{variant:"outline",size:"sm",disabled:V,onClick:()=>w("Moving to draft...",`Move ${a} selected products to draft?`,A),children:[e.jsxDEV(d.Archive,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:268,columnNumber:15},this),h==="Moving to draft..."?h:"Set Draft"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:256,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"destructive",size:"sm",disabled:V,onClick:()=>w("Deleting...",`Delete ${a} selected products? This action cannot be undone.`,M),children:[e.jsxDEV(d.Trash2,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:283,columnNumber:15},this),h==="Deleting..."?h:"Delete"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:271,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:255,columnNumber:11},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:233,columnNumber:7},this),e.jsxDEV(l.Table,{children:[e.jsxDEV(l.TableHeader,{children:e.jsxDEV(l.TableRow,{children:[e.jsxDEV(l.TableHead,{className:"w-12",children:e.jsxDEV(l.Checkbox,{checked:S?!0:U?"indeterminate":!1,onCheckedChange:s=>Q(s===!0),"aria-label":"Select all products on this page"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:293,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:292,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Image"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:305,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Title"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:306,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:307,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Price"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:308,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Language"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:309,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"SEO"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:310,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Stock"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:311,columnNumber:13},this),e.jsxDEV(l.TableHead,{children:"Status"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:312,columnNumber:13},this),e.jsxDEV(l.TableHead,{className:"text-right",children:"Actions"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:313,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:291,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:290,columnNumber:9},this),e.jsxDEV(l.TableBody,{children:D.length>0?D.map(s=>{const t=G(s.product_media?.[0]?.media?.file_path||s.product_media?.[0]?.media?.object_key);return e.jsxDEV(l.TableRow,{"data-state":m.has(s.id)?"selected":void 0,children:[e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.Checkbox,{checked:m.has(s.id),onCheckedChange:i=>O(s.id,i===!0),"aria-label":`Select ${s.title}`},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:330,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:329,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:t?e.jsxDEV(F,{src:t,alt:s.title,width:40,height:40,className:"w-10 h-10 object-cover rounded"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:340,columnNumber:23},this):e.jsxDEV("div",{className:"w-10 h-10 bg-gray-200 rounded flex items-center justify-center text-xs text-gray-500",children:"No Img"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:348,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:338,columnNumber:19},this),e.jsxDEV(l.TableCell,{className:"font-medium",children:e.jsxDEV(B,{href:`/cms/products/${s.id}/edit`,className:"hover:underline",children:s.title},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:354,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:353,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:s.sku},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:358,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV("div",{className:"flex items-baseline gap-2",children:[e.jsxDEV("span",{className:s.sale_price?"font-semibold text-primary":"",children:typeof(s.sale_price??s.price)=="number"?y.formatPrice(s.sale_price??s.price??0,E):"N/A"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:361,columnNumber:23},this),s.sale_price?e.jsxDEV("span",{className:"text-sm text-muted-foreground line-through",children:y.formatPrice(s.price??0,E)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:370,columnNumber:25},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:360,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:359,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.Badge,{variant:"outline",children:v[String(s.language_id)]||"N/A"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:377,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:376,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV(l.SeoScoreBadge,{score:s.seo_score},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:382,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:381,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:s.stock},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:384,columnNumber:19},this),e.jsxDEV(l.TableCell,{children:e.jsxDEV("span",{className:`px-2 py-1 rounded text-xs ${s.status==="active"?"bg-green-100 text-green-800":s.status==="archived"?"bg-gray-100 text-gray-800":"bg-yellow-100 text-yellow-800"}`,children:s.status},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:386,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:385,columnNumber:19},this),e.jsxDEV(l.TableCell,{className:"text-right flex justify-end gap-2 items-center",children:[s.slug?e.jsxDEV(B,{href:`/product/${s.slug}`,target:"_blank",rel:"noopener noreferrer",children:e.jsxDEV(l.Button,{variant:"outline",size:"sm",children:"View Product"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:401,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:400,columnNumber:23},this):null,e.jsxDEV(B,{href:`/cms/products/${s.id}/edit`,children:e.jsxDEV(l.Button,{variant:"ghost",size:"sm",children:"Edit"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:407,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:406,columnNumber:21},this),e.jsxDEV(X.DeleteProductButton,{productName:s.title,isIcon:!0,deleteAction:()=>_(s.id)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:411,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:398,columnNumber:19},this)]},s.id,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:325,columnNumber:17},this)}):e.jsxDEV(l.TableRow,{children:e.jsxDEV(l.TableCell,{colSpan:10,className:"text-center py-10",children:o.length===0?"No products found.":"No products match your search."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:422,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:421,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:316,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:289,columnNumber:7},this),k>0&&e.jsxDEV("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 px-2 py-4 text-sm text-muted-foreground",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{children:"Rows per page:"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:432,columnNumber:13},this),e.jsxDEV(l.Select,{value:String(n),onValueChange:s=>{q(Number(s)),f(1)},children:[e.jsxDEV(l.SelectTrigger,{className:"h-8 w-[70px]",children:e.jsxDEV(l.SelectValue,{placeholder:String(n)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:441,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:440,columnNumber:15},this),e.jsxDEV(l.SelectContent,{side:"top",children:[10,25,50,100].map(s=>e.jsxDEV(l.SelectItem,{value:String(s),children:s},s,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:445,columnNumber:19},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:443,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:433,columnNumber:13},this),e.jsxDEV("span",{className:"ml-2",children:["Showing ",(u-1)*n+1," to ",Math.min(u*n,k)," of ",k," products"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:451,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:431,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{children:["Page ",u," of ",g]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:457,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"outline",size:"sm",className:"h-8 w-8 p-0",onClick:()=>f(s=>Math.max(1,s-1)),disabled:u<=1,"aria-label":"Previous page",children:e.jsxDEV(d.ChevronLeft,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:468,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:460,columnNumber:13},this),e.jsxDEV(l.Button,{variant:"outline",size:"sm",className:"h-8 w-8 p-0",onClick:()=>f(s=>Math.min(g,s+1)),disabled:u>=g,"aria-label":"Next page",children:e.jsxDEV(d.ChevronRight,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:478,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:470,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:456,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:430,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductsBulkTable.tsx",lineNumber:232,columnNumber:5},this)}exports.ProductsBulkTable=J;
@@ -29,5 +29,5 @@ interface ProductsBulkTableProps {
29
29
  bulkDeleteProductsAction: (productIds: string[]) => BulkActionResult;
30
30
  bulkDraftProductsAction: (productIds: string[]) => BulkActionResult;
31
31
  }
32
- export declare function ProductsBulkTable({ products, languageLabels, defaultCurrencyCode, deleteProductAction, bulkDeleteProductsAction, bulkDraftProductsAction, }: ProductsBulkTableProps): import("react").JSX.Element;
32
+ export declare function ProductsBulkTable({ products, languageLabels, defaultCurrencyCode, deleteProductAction, bulkDeleteProductsAction, bulkDraftProductsAction, }: ProductsBulkTableProps): import("react/jsx-runtime").JSX.Element;
33
33
  export {};