@nextblock-cms/ecom 0.19.0 → 0.19.3

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 (161) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.es.js +26 -25
  3. package/lib/CurrencyProvider.cjs.js +1 -1
  4. package/lib/CurrencyProvider.es.js +41 -45
  5. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +15 -19
  7. package/lib/cart-store.cjs.js +1 -1
  8. package/lib/cart-store.d.ts +4 -0
  9. package/lib/cart-store.es.js +77 -69
  10. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  11. package/lib/components/AccountNavigationMenu.es.js +44 -62
  12. package/lib/components/AddToCartButton.cjs.js +1 -1
  13. package/lib/components/AddToCartButton.es.js +50 -78
  14. package/lib/components/Cart.cjs.js +1 -1
  15. package/lib/components/Cart.d.ts +1 -1
  16. package/lib/components/Cart.es.js +158 -377
  17. package/lib/components/CartDrawer.cjs.js +1 -1
  18. package/lib/components/CartDrawer.es.js +143 -297
  19. package/lib/components/CartIcon.cjs.js +1 -1
  20. package/lib/components/CartIcon.es.js +21 -47
  21. package/lib/components/Checkout.cjs.js +1 -1
  22. package/lib/components/Checkout.d.ts +1 -1
  23. package/lib/components/Checkout.es.js +839 -1627
  24. package/lib/components/CouponForm.cjs.js +1 -1
  25. package/lib/components/CouponForm.es.js +104 -155
  26. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  27. package/lib/components/CurrencySwitcher.es.js +14 -33
  28. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  29. package/lib/components/CustomerProfileForm.d.ts +1 -1
  30. package/lib/components/CustomerProfileForm.es.js +264 -672
  31. package/lib/components/FeaturedProduct.cjs.js +1 -1
  32. package/lib/components/FeaturedProduct.es.js +54 -126
  33. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  34. package/lib/components/FreemiusLicensePanel.es.js +45 -125
  35. package/lib/components/InvoiceDocument.cjs.js +1 -1
  36. package/lib/components/InvoiceDocument.es.js +148 -487
  37. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  38. package/lib/components/InvoiceViewerShell.d.ts +4 -1
  39. package/lib/components/InvoiceViewerShell.es.js +59 -142
  40. package/lib/components/ProductCard.cjs.js +1 -1
  41. package/lib/components/ProductCard.d.ts +3 -1
  42. package/lib/components/ProductCard.es.js +128 -242
  43. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  44. package/lib/components/ProductDetailsLayout.es.js +315 -657
  45. package/lib/components/ProductGallery.cjs.js +1 -1
  46. package/lib/components/ProductGallery.d.ts +2 -0
  47. package/lib/components/ProductGallery.es.js +37 -66
  48. package/lib/components/ProductGrid.cjs.js +1 -1
  49. package/lib/components/ProductGrid.es.js +23 -32
  50. package/lib/components/ShippingEstimator.cjs.js +1 -1
  51. package/lib/components/ShippingEstimator.es.js +124 -231
  52. package/lib/components/ShortDescription.cjs.js +1 -0
  53. package/lib/components/ShortDescription.d.ts +19 -0
  54. package/lib/components/ShortDescription.es.js +18 -0
  55. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  56. package/lib/components/SimpleTiptapRenderer.es.js +111 -294
  57. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  58. package/lib/components/SubscriptionSelector.es.js +120 -181
  59. package/lib/components/media/MediaPickerDialog.d.ts +1 -1
  60. package/lib/components/media/MediaUploadForm.d.ts +1 -1
  61. package/lib/invoice.cjs.js +1 -1
  62. package/lib/invoice.d.ts +1 -1
  63. package/lib/invoice.es.js +6 -5
  64. package/lib/order-inventory.d.ts +1 -1
  65. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  66. package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
  67. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  68. package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
  69. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  70. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
  71. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  72. package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
  73. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  74. package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
  75. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  76. package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
  77. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  78. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
  79. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  80. package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
  81. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  82. package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
  83. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  84. package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
  85. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  86. package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
  87. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  88. package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
  89. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  90. package/lib/pages/cms/products/ProductsPage.es.js +47 -87
  91. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  92. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
  93. package/lib/pages/cms/products/actions.d.ts +20 -20
  94. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  95. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
  96. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  97. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  98. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
  99. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  100. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
  101. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  102. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
  103. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  104. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
  105. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  106. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
  107. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  108. package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
  109. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  110. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
  111. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  112. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
  113. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  114. package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
  115. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  116. package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
  117. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  118. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
  119. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  120. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
  121. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  122. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
  123. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  124. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
  125. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  126. package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
  127. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  128. package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
  129. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  130. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
  131. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  132. package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
  133. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  134. package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
  135. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  136. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  137. package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
  138. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  139. package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
  140. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  141. package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
  142. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  143. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
  144. package/lib/product-actions.d.ts +31 -31
  145. package/lib/product-context.cjs.js +1 -1
  146. package/lib/product-context.es.js +10 -14
  147. package/lib/shared-inventory.d.ts +1 -1
  148. package/lib/states.cjs.js +1 -1
  149. package/lib/states.d.ts +2 -0
  150. package/lib/states.es.js +63 -29
  151. package/lib/trials.cjs.js +1 -1
  152. package/lib/trials.d.ts +10 -3
  153. package/lib/trials.es.js +28 -21
  154. package/lib/types.d.ts +2 -0
  155. package/lib/use-price-formatter.cjs.js +1 -0
  156. package/lib/use-price-formatter.d.ts +11 -0
  157. package/lib/use-price-formatter.es.js +13 -0
  158. package/lib/variation-utils.cjs.js +1 -1
  159. package/lib/variation-utils.d.ts +10 -0
  160. package/lib/variation-utils.es.js +139 -123
  161. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),r=require("react"),s=require("@nextblock-cms/ui"),h=require("../actions.cjs.js"),F=require("next/navigation"),p=require("lucide-react");function R({productId:l,currentLanguageId:f,translationGroupId:a,allSiteLanguages:N}){const[m,g]=r.useState(!1),[t,D]=r.useState(null),[b,k]=r.useState([]),[x,C]=r.useState(!1),[c,n]=r.useState(null),[u,y]=r.useTransition(),j=F.useRouter();r.useEffect(()=>{m&&a&&(async()=>{C(!0);try{const d=(await h.getProductTranslations(a)).filter(L=>L.id!==l);k(d)}catch(i){console.error("Error fetching translations:",i)}finally{C(!1)}})()},[m,a,l]);const v=async()=>{if(!t){n({type:"error",text:"Please select a source version to copy from."});return}n(null),y(async()=>{const o=await h.copyProductFromLanguageAction(l,t);o.success?(n({type:"success",text:"Content copied successfully. The page will now refresh."}),setTimeout(()=>{g(!1),j.refresh()},1500)):n({type:"error",text:o.error||"Failed to copy content."})})},P=N.find(o=>o.id===f);return e.jsxDEV(s.Dialog,{open:m,onOpenChange:g,children:[e.jsxDEV(s.DialogTrigger,{asChild:!0,children:e.jsxDEV(s.Button,{variant:"outline",title:"Copy content from another language",children:[e.jsxDEV(p.Copy,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:108,columnNumber:13},this),"Copy Content..."]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:107,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:106,columnNumber:9},this),e.jsxDEV(s.DialogContent,{children:[e.jsxDEV(s.DialogHeader,{children:[e.jsxDEV(s.DialogTitle,{children:"Copy Content from Another Language"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:114,columnNumber:13},this),e.jsxDEV(s.DialogDescription,{children:["Select a source version to copy from. This will replace the title, description, and media of the current product (",P?.name,"). This action cannot be undone."]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:115,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:113,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-4 py-4",children:[e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV(s.Label,{htmlFor:"sourceProduct",children:"Select Source Version"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:122,columnNumber:17},this),e.jsxDEV(s.Select,{onValueChange:o=>D(o),disabled:u||x,value:t||void 0,children:[e.jsxDEV(s.SelectTrigger,{id:"sourceProduct",children:e.jsxDEV(s.SelectValue,{placeholder:x?"Loading versions...":"Select a version..."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:129,columnNumber:25},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:128,columnNumber:21},this),e.jsxDEV(s.SelectContent,{children:b.length>0?b.map(o=>{const i=N.find(d=>d.id===o.language_id);return e.jsxDEV(s.SelectItem,{value:o.id,children:[o.title," (",i?.name||"Unknown Language",")"]},o.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:136,columnNumber:37},this)}):e.jsxDEV(s.SelectItem,{value:"none",disabled:!0,children:"No other versions available"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:142,columnNumber:29},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:131,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:123,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:121,columnNumber:14},this),c&&e.jsxDEV("div",{className:`p-3 rounded-md text-sm flex items-center gap-2 ${c.type==="success"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,children:[c.type==="success"?e.jsxDEV(p.CheckCircle2,{className:"h-5 w-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:157,columnNumber:21},this):e.jsxDEV(p.AlertCircle,{className:"h-5 w-5"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:159,columnNumber:21},this),c.text]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:149,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:120,columnNumber:11},this),e.jsxDEV(s.DialogFooter,{children:[e.jsxDEV(s.DialogClose,{asChild:!0,children:e.jsxDEV(s.Button,{variant:"outline",children:"Cancel"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:168,columnNumber:15},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:167,columnNumber:13},this),e.jsxDEV(s.Button,{onClick:v,disabled:u||!t||t==="none",children:u?"Copying...":"Copy Content & Replace"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:170,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:112,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",lineNumber:105,columnNumber:7},this)}exports.CopyProductFromLanguage=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),t=require("@nextblock-cms/ui"),j=require("../actions.cjs.js"),L=require("next/navigation"),h=require("lucide-react");function k({productId:i,currentLanguageId:C,translationGroupId:l,allSiteLanguages:x}){const[d,p]=n.useState(!1),[r,S]=n.useState(null),[y,v]=n.useState([]),[m,f]=n.useState(!1),[o,c]=n.useState(null),[u,b]=n.useTransition(),P=L.useRouter();n.useEffect(()=>{d&&l&&(async()=>{f(!0);try{const g=(await j.getProductTranslations(l)).filter(D=>D.id!==i);v(g)}catch(a){console.error("Error fetching translations:",a)}finally{f(!1)}})()},[d,l,i]);const T=async()=>{if(!r){c({type:"error",text:"Please select a source version to copy from."});return}c(null),b(async()=>{const s=await j.copyProductFromLanguageAction(i,r);s.success?(c({type:"success",text:"Content copied successfully. The page will now refresh."}),setTimeout(()=>{p(!1),P.refresh()},1500)):c({type:"error",text:s.error||"Failed to copy content."})})},w=x.find(s=>s.id===C);return e.jsxs(t.Dialog,{open:d,onOpenChange:p,children:[e.jsx(t.DialogTrigger,{asChild:!0,children:e.jsxs(t.Button,{variant:"outline",title:"Copy content from another language",children:[e.jsx(h.Copy,{className:"h-4 w-4 mr-2"}),"Copy Content..."]})}),e.jsxs(t.DialogContent,{children:[e.jsxs(t.DialogHeader,{children:[e.jsx(t.DialogTitle,{children:"Copy Content from Another Language"}),e.jsxs(t.DialogDescription,{children:["Select a source version to copy from. This will replace the title, description, and media of the current product (",w?.name,"). This action cannot be undone."]})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(t.Label,{htmlFor:"sourceProduct",children:"Select Source Version"}),e.jsxs(t.Select,{onValueChange:s=>S(s),disabled:u||m,value:r||void 0,children:[e.jsx(t.SelectTrigger,{id:"sourceProduct",children:e.jsx(t.SelectValue,{placeholder:m?"Loading versions...":"Select a version..."})}),e.jsx(t.SelectContent,{children:y.length>0?y.map(s=>{const a=x.find(g=>g.id===s.language_id);return e.jsxs(t.SelectItem,{value:s.id,children:[s.title," (",a?.name||"Unknown Language",")"]},s.id)}):e.jsx(t.SelectItem,{value:"none",disabled:!0,children:"No other versions available"})})]})]}),o&&e.jsxs("div",{className:`p-3 rounded-md text-sm flex items-center gap-2 ${o.type==="success"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,children:[o.type==="success"?e.jsx(h.CheckCircle2,{className:"h-5 w-5"}):e.jsx(h.AlertCircle,{className:"h-5 w-5"}),o.text]})]}),e.jsxs(t.DialogFooter,{children:[e.jsx(t.DialogClose,{asChild:!0,children:e.jsx(t.Button,{variant:"outline",children:"Cancel"})}),e.jsx(t.Button,{onClick:T,disabled:u||!r||r==="none",children:u?"Copying...":"Copy Content & Replace"})]})]})]})}exports.CopyProductFromLanguage=k;
@@ -1,222 +1,114 @@
1
1
  'use client';
2
- import { jsxDEV as e } from "react/jsx-dev-runtime";
3
- import { useState as r, useTransition as F, useEffect as R } from "react";
4
- import { Dialog as j, DialogTrigger as B, Button as d, DialogContent as H, DialogHeader as U, DialogTitle as S, DialogDescription as T, Label as w, Select as A, SelectTrigger as V, SelectValue as E, SelectContent as M, SelectItem as h, DialogFooter as O, DialogClose as I } from "@nextblock-cms/ui";
5
- import { getProductTranslations as _, copyProductFromLanguageAction as $ } from "../actions.es.js";
6
- import { useRouter as q } from "next/navigation";
7
- import { Copy as z, CheckCircle2 as J, AlertCircle as K } from "lucide-react";
8
- function ee({
2
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
3
+ import { useState as o, useTransition as k, useEffect as N } from "react";
4
+ import { Dialog as F, DialogTrigger as A, Button as h, DialogContent as M, DialogHeader as O, DialogTitle as V, DialogDescription as j, Label as E, Select as R, SelectTrigger as B, SelectValue as H, SelectContent as I, SelectItem as S, DialogFooter as U, DialogClose as _ } from "@nextblock-cms/ui";
5
+ import { getProductTranslations as $, copyProductFromLanguageAction as q } from "../actions.es.js";
6
+ import { useRouter as z } from "next/navigation";
7
+ import { Copy as J, CheckCircle2 as K, AlertCircle as Q } from "lucide-react";
8
+ function te({
9
9
  productId: i,
10
- currentLanguageId: f,
10
+ currentLanguageId: v,
11
11
  translationGroupId: l,
12
12
  allSiteLanguages: p
13
13
  }) {
14
- const [m, N] = r(!1), [o, x] = r(null), [g, k] = r([]), [b, C] = r(!1), [c, t] = r(null), [a, y] = F(), v = q();
15
- R(() => {
16
- m && l && (async () => {
14
+ const [d, m] = o(!1), [n, x] = o(null), [f, b] = o([]), [y, C] = o(!1), [s, c] = o(null), [u, T] = k(), w = z();
15
+ N(() => {
16
+ d && l && (async () => {
17
17
  C(!0);
18
18
  try {
19
- const u = (await _(l)).filter((L) => L.id !== i);
20
- k(u);
21
- } catch (n) {
22
- console.error("Error fetching translations:", n);
19
+ const g = (await $(l)).filter((L) => L.id !== i);
20
+ b(g);
21
+ } catch (a) {
22
+ console.error("Error fetching translations:", a);
23
23
  } finally {
24
24
  C(!1);
25
25
  }
26
26
  })();
27
- }, [m, l, i]);
27
+ }, [d, l, i]);
28
28
  const D = async () => {
29
- if (!o) {
30
- t({
29
+ if (!n) {
30
+ c({
31
31
  type: "error",
32
32
  text: "Please select a source version to copy from."
33
33
  });
34
34
  return;
35
35
  }
36
- t(null), y(async () => {
37
- const s = await $(i, o);
38
- s.success ? (t({
36
+ c(null), T(async () => {
37
+ const t = await q(i, n);
38
+ t.success ? (c({
39
39
  type: "success",
40
40
  text: "Content copied successfully. The page will now refresh."
41
41
  }), setTimeout(() => {
42
- N(!1), v.refresh();
43
- }, 1500)) : t({
42
+ m(!1), w.refresh();
43
+ }, 1500)) : c({
44
44
  type: "error",
45
- text: s.error || "Failed to copy content."
45
+ text: t.error || "Failed to copy content."
46
46
  });
47
47
  });
48
- }, P = p.find((s) => s.id === f);
49
- return /* @__PURE__ */ e(j, { open: m, onOpenChange: N, children: [
50
- /* @__PURE__ */ e(B, { asChild: !0, children: /* @__PURE__ */ e(d, { variant: "outline", title: "Copy content from another language", children: [
51
- /* @__PURE__ */ e(z, { className: "h-4 w-4 mr-2" }, void 0, !1, {
52
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
53
- lineNumber: 108,
54
- columnNumber: 13
55
- }, this),
48
+ }, P = p.find((t) => t.id === v);
49
+ return /* @__PURE__ */ r(F, { open: d, onOpenChange: m, children: [
50
+ /* @__PURE__ */ e(A, { asChild: !0, children: /* @__PURE__ */ r(h, { variant: "outline", title: "Copy content from another language", children: [
51
+ /* @__PURE__ */ e(J, { className: "h-4 w-4 mr-2" }),
56
52
  "Copy Content..."
57
- ] }, void 0, !0, {
58
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
59
- lineNumber: 107,
60
- columnNumber: 11
61
- }, this) }, void 0, !1, {
62
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
63
- lineNumber: 106,
64
- columnNumber: 9
65
- }, this),
66
- /* @__PURE__ */ e(H, { children: [
67
- /* @__PURE__ */ e(U, { children: [
68
- /* @__PURE__ */ e(S, { children: "Copy Content from Another Language" }, void 0, !1, {
69
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
70
- lineNumber: 114,
71
- columnNumber: 13
72
- }, this),
73
- /* @__PURE__ */ e(T, { children: [
53
+ ] }) }),
54
+ /* @__PURE__ */ r(M, { children: [
55
+ /* @__PURE__ */ r(O, { children: [
56
+ /* @__PURE__ */ e(V, { children: "Copy Content from Another Language" }),
57
+ /* @__PURE__ */ r(j, { children: [
74
58
  "Select a source version to copy from. This will replace the title, description, and media of the current product (",
75
59
  P?.name,
76
60
  "). This action cannot be undone."
77
- ] }, void 0, !0, {
78
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
79
- lineNumber: 115,
80
- columnNumber: 13
81
- }, this)
82
- ] }, void 0, !0, {
83
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
84
- lineNumber: 113,
85
- columnNumber: 11
86
- }, this),
87
- /* @__PURE__ */ e("div", { className: "space-y-4 py-4", children: [
88
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
89
- /* @__PURE__ */ e(w, { htmlFor: "sourceProduct", children: "Select Source Version" }, void 0, !1, {
90
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
91
- lineNumber: 122,
92
- columnNumber: 17
93
- }, this),
94
- /* @__PURE__ */ e(
95
- A,
61
+ ] })
62
+ ] }),
63
+ /* @__PURE__ */ r("div", { className: "space-y-4 py-4", children: [
64
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
65
+ /* @__PURE__ */ e(E, { htmlFor: "sourceProduct", children: "Select Source Version" }),
66
+ /* @__PURE__ */ r(
67
+ R,
96
68
  {
97
- onValueChange: (s) => x(s),
98
- disabled: a || b,
99
- value: o || void 0,
69
+ onValueChange: (t) => x(t),
70
+ disabled: u || y,
71
+ value: n || void 0,
100
72
  children: [
101
- /* @__PURE__ */ e(V, { id: "sourceProduct", children: /* @__PURE__ */ e(E, { placeholder: b ? "Loading versions..." : "Select a version..." }, void 0, !1, {
102
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
103
- lineNumber: 129,
104
- columnNumber: 25
105
- }, this) }, void 0, !1, {
106
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
107
- lineNumber: 128,
108
- columnNumber: 21
109
- }, this),
110
- /* @__PURE__ */ e(M, { children: g.length > 0 ? g.map((s) => {
111
- const n = p.find((u) => u.id === s.language_id);
112
- return /* @__PURE__ */ e(h, { value: s.id, children: [
113
- s.title,
73
+ /* @__PURE__ */ e(B, { id: "sourceProduct", children: /* @__PURE__ */ e(H, { placeholder: y ? "Loading versions..." : "Select a version..." }) }),
74
+ /* @__PURE__ */ e(I, { children: f.length > 0 ? f.map((t) => {
75
+ const a = p.find((g) => g.id === t.language_id);
76
+ return /* @__PURE__ */ r(S, { value: t.id, children: [
77
+ t.title,
114
78
  " (",
115
- n?.name || "Unknown Language",
79
+ a?.name || "Unknown Language",
116
80
  ")"
117
- ] }, s.id, !0, {
118
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
119
- lineNumber: 136,
120
- columnNumber: 37
121
- }, this);
122
- }) : /* @__PURE__ */ e(h, { value: "none", disabled: !0, children: "No other versions available" }, void 0, !1, {
123
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
124
- lineNumber: 142,
125
- columnNumber: 29
126
- }, this) }, void 0, !1, {
127
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
128
- lineNumber: 131,
129
- columnNumber: 21
130
- }, this)
81
+ ] }, t.id);
82
+ }) : /* @__PURE__ */ e(S, { value: "none", disabled: !0, children: "No other versions available" }) })
131
83
  ]
132
- },
133
- void 0,
134
- !0,
135
- {
136
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
137
- lineNumber: 123,
138
- columnNumber: 17
139
- },
140
- this
84
+ }
141
85
  )
142
- ] }, void 0, !0, {
143
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
144
- lineNumber: 121,
145
- columnNumber: 14
146
- }, this),
147
- c && /* @__PURE__ */ e(
86
+ ] }),
87
+ s && /* @__PURE__ */ r(
148
88
  "div",
149
89
  {
150
- className: `p-3 rounded-md text-sm flex items-center gap-2 ${c.type === "success" ? "bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400" : "bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,
90
+ className: `p-3 rounded-md text-sm flex items-center gap-2 ${s.type === "success" ? "bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400" : "bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"}`,
151
91
  children: [
152
- c.type === "success" ? /* @__PURE__ */ e(J, { className: "h-5 w-5" }, void 0, !1, {
153
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
154
- lineNumber: 157,
155
- columnNumber: 21
156
- }, this) : /* @__PURE__ */ e(K, { className: "h-5 w-5" }, void 0, !1, {
157
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
158
- lineNumber: 159,
159
- columnNumber: 21
160
- }, this),
161
- c.text
92
+ s.type === "success" ? /* @__PURE__ */ e(K, { className: "h-5 w-5" }) : /* @__PURE__ */ e(Q, { className: "h-5 w-5" }),
93
+ s.text
162
94
  ]
163
- },
164
- void 0,
165
- !0,
166
- {
167
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
168
- lineNumber: 149,
169
- columnNumber: 17
170
- },
171
- this
95
+ }
172
96
  )
173
- ] }, void 0, !0, {
174
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
175
- lineNumber: 120,
176
- columnNumber: 11
177
- }, this),
178
- /* @__PURE__ */ e(O, { children: [
179
- /* @__PURE__ */ e(I, { asChild: !0, children: /* @__PURE__ */ e(d, { variant: "outline", children: "Cancel" }, void 0, !1, {
180
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
181
- lineNumber: 168,
182
- columnNumber: 15
183
- }, this) }, void 0, !1, {
184
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
185
- lineNumber: 167,
186
- columnNumber: 13
187
- }, this),
97
+ ] }),
98
+ /* @__PURE__ */ r(U, { children: [
99
+ /* @__PURE__ */ e(_, { asChild: !0, children: /* @__PURE__ */ e(h, { variant: "outline", children: "Cancel" }) }),
188
100
  /* @__PURE__ */ e(
189
- d,
101
+ h,
190
102
  {
191
103
  onClick: D,
192
- disabled: a || !o || o === "none",
193
- children: a ? "Copying..." : "Copy Content & Replace"
194
- },
195
- void 0,
196
- !1,
197
- {
198
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
199
- lineNumber: 170,
200
- columnNumber: 13
201
- },
202
- this
104
+ disabled: u || !n || n === "none",
105
+ children: u ? "Copying..." : "Copy Content & Replace"
106
+ }
203
107
  )
204
- ] }, void 0, !0, {
205
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
206
- lineNumber: 166,
207
- columnNumber: 11
208
- }, this)
209
- ] }, void 0, !0, {
210
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
211
- lineNumber: 112,
212
- columnNumber: 9
213
- }, this)
214
- ] }, void 0, !0, {
215
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CopyProductFromLanguage.tsx",
216
- lineNumber: 105,
217
- columnNumber: 7
218
- }, this);
108
+ ] })
109
+ ] })
110
+ ] });
219
111
  }
220
112
  export {
221
- ee as CopyProductFromLanguage
113
+ te as CopyProductFromLanguage
222
114
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),g=require("react"),C=require("@nextblock-cms/ui"),h=require("@nextblock-cms/utils"),D=require("../../../../currency.cjs.js");function j(r){return h.getCurrencyMinorUnitFactor(r)===1?0:2}function k(r,i){return r==null||Number.isNaN(r)?"":r.toFixed(i)}function y({id:r,currencyCode:i,value:t,disabled:p,placeholder:N,className:b,allowEmpty:x=!1,onValueChange:d}){const n=j(i),[u,a]=g.useState(!1),[f,o]=g.useState(()=>k(t,n));return g.useEffect(()=>{u||o(k(t,n))},[t,n,u]),s.jsxDEV(C.Input,{id:r,type:"text",inputMode:"decimal",value:f,disabled:p,placeholder:N,className:b,onFocus:()=>a(!0),onChange:e=>{let c=e.target.value.replace(/[^0-9.]/g,"");const l=c.indexOf(".");if(l!==-1&&(c=c.slice(0,l+1)+c.slice(l+1).replace(/\./g,"")),o(c),c===""||c==="."){d(x?null:0);return}const m=Number(c);Number.isNaN(m)||d(m)},onBlur:()=>{if(a(!1),t!=null&&!Number.isNaN(t)){const e=Number(t.toFixed(n));e!==t&&d(e)}}},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:67,columnNumber:5},this)}function v({idPrefix:r="currency",currencies:i,prices:t,salePrices:p,managedCurrencyCodes:N=[],onPriceChange:b,onSalePriceChange:x,readOnly:d=!1,helperText:n,trailing:u}){const a=i.find(o=>o.is_default)??i[0],f=new Set(N);return a?s.jsxDEV("div",{className:"flex flex-col gap-2",children:[n&&s.jsxDEV("p",{className:"text-xs text-muted-foreground bg-muted/20 p-2 rounded-md border",children:n},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:147,columnNumber:9},this),s.jsxDEV("div",{className:"divide-y divide-muted/50",children:i.map(o=>{const e=D.normalizeCurrencyRecord(o),c=e.is_default!==!0&&f.has(e.code),l=d||c;return s.jsxDEV("div",{className:"flex flex-wrap items-stretch gap-4 py-3 first:pt-0 last:pb-0",children:[s.jsxDEV("div",{className:"flex items-center gap-2 w-[160px] shrink-0 self-stretch border-r border-border/50 pr-4",children:[s.jsxDEV("span",{className:"text-sm font-black tracking-tighter text-foreground",children:e.code},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:164,columnNumber:17},this),s.jsxDEV("span",{className:"text-[11px] text-muted-foreground font-medium",children:e.symbol},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:165,columnNumber:17},this),e.is_default?s.jsxDEV("span",{className:"text-[9px] uppercase font-bold bg-primary/10 text-primary px-1.5 py-0.5 rounded tracking-widest leading-none",children:"Default"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:167,columnNumber:19},this):c?s.jsxDEV("span",{className:"text-[9px] uppercase font-bold bg-muted text-muted-foreground px-1.5 py-0.5 rounded tracking-widest leading-none",children:"Auto"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:169,columnNumber:19},this):null,!e.is_default&&s.jsxDEV("span",{className:"text-[9px] text-muted-foreground/80 font-medium tracking-wide leading-none ml-auto",children:["x",e.exchange_rate]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:172,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:163,columnNumber:13},this),s.jsxDEV("div",{className:"grid flex-1 grid-cols-2 items-end gap-3 sm:grid-cols-4",children:[s.jsxDEV("div",{className:"min-w-0 space-y-1",children:[s.jsxDEV(C.Label,{htmlFor:`${r}-price-${e.code}`,className:"block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",children:"Price"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:182,columnNumber:17},this),s.jsxDEV("div",{className:"relative",children:[s.jsxDEV("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none",children:e.symbol},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:189,columnNumber:19},this),s.jsxDEV(y,{id:`${r}-price-${e.code}`,currencyCode:e.code,value:t[e.code],disabled:l,className:"h-8 w-full text-sm pl-6",onValueChange:m=>b(e.code,m??0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:192,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:188,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:181,columnNumber:15},this),s.jsxDEV("div",{className:"min-w-0 space-y-1",children:[s.jsxDEV(C.Label,{htmlFor:`${r}-sale-price-${e.code}`,className:"block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",children:"Sale"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:207,columnNumber:17},this),s.jsxDEV("div",{className:"relative",children:[s.jsxDEV("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none",children:e.symbol},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:214,columnNumber:19},this),s.jsxDEV(y,{id:`${r}-sale-price-${e.code}`,currencyCode:e.code,value:p[e.code],disabled:l,placeholder:c?"Auto":"—",allowEmpty:!0,className:"h-8 w-full text-sm pl-6",onValueChange:m=>x(e.code,m)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:217,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:213,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:206,columnNumber:15},this),u&&e.is_default?u:null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:179,columnNumber:13},this)]},e.code,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:158,columnNumber:11},this)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:149,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",lineNumber:145,columnNumber:5},this):null}exports.CurrencyPriceFields=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),N=require("react"),y=require("@nextblock-cms/ui"),w=require("@nextblock-cms/utils"),v=require("../../../../currency.cjs.js");function C(s){return w.getCurrencyMinorUnitFactor(s)===1?0:2}function h(s,d){return s==null||Number.isNaN(s)?"":s.toFixed(d)}function j({id:s,currencyCode:d,value:n,disabled:x,placeholder:p,className:f,allowEmpty:g=!1,onValueChange:i}){const c=C(d),[u,m]=N.useState(!1),[b,l]=N.useState(()=>h(n,c));return N.useEffect(()=>{u||l(h(n,c))},[n,c,u]),t.jsx(y.Input,{id:s,type:"text",inputMode:"decimal",value:b,disabled:x,placeholder:p,className:f,onFocus:()=>m(!0),onChange:e=>{let r=e.target.value.replace(/[^0-9.]/g,"");const o=r.indexOf(".");if(o!==-1&&(r=r.slice(0,o+1)+r.slice(o+1).replace(/\./g,"")),l(r),r===""||r==="."){i(g?null:0);return}const a=Number(r);Number.isNaN(a)||i(a)},onBlur:()=>{if(m(!1),n!=null&&!Number.isNaN(n)){const e=Number(n.toFixed(c));e!==n&&i(e)}}})}function k({idPrefix:s="currency",currencies:d,prices:n,salePrices:x,managedCurrencyCodes:p=[],onPriceChange:f,onSalePriceChange:g,readOnly:i=!1,helperText:c,trailing:u}){const m=d.find(l=>l.is_default)??d[0],b=new Set(p);return m?t.jsxs("div",{className:"flex flex-col gap-2",children:[c&&t.jsx("p",{className:"text-xs text-muted-foreground bg-muted/20 p-2 rounded-md border",children:c}),t.jsx("div",{className:"divide-y divide-muted/50",children:d.map(l=>{const e=v.normalizeCurrencyRecord(l),r=e.is_default!==!0&&b.has(e.code),o=i||r;return t.jsxs("div",{className:"flex flex-wrap items-stretch gap-4 py-3 first:pt-0 last:pb-0",children:[t.jsxs("div",{className:"flex items-center gap-2 w-[160px] shrink-0 self-stretch border-r border-border/50 pr-4",children:[t.jsx("span",{className:"text-sm font-black tracking-tighter text-foreground",children:e.code}),t.jsx("span",{className:"text-[11px] text-muted-foreground font-medium",children:e.symbol}),e.is_default?t.jsx("span",{className:"text-[9px] uppercase font-bold bg-primary/10 text-primary px-1.5 py-0.5 rounded tracking-widest leading-none",children:"Default"}):r?t.jsx("span",{className:"text-[9px] uppercase font-bold bg-muted text-muted-foreground px-1.5 py-0.5 rounded tracking-widest leading-none",children:"Auto"}):null,!e.is_default&&t.jsxs("span",{className:"text-[9px] text-muted-foreground/80 font-medium tracking-wide leading-none ml-auto",children:["x",e.exchange_rate]})]}),t.jsxs("div",{className:"grid flex-1 grid-cols-2 items-end gap-3 sm:grid-cols-4",children:[t.jsxs("div",{className:"min-w-0 space-y-1",children:[t.jsx(y.Label,{htmlFor:`${s}-price-${e.code}`,className:"block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",children:"Price"}),t.jsxs("div",{className:"relative",children:[t.jsx("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none",children:e.symbol}),t.jsx(j,{id:`${s}-price-${e.code}`,currencyCode:e.code,value:n[e.code],disabled:o,className:"h-8 w-full text-sm pl-6",onValueChange:a=>f(e.code,a??0)})]})]}),t.jsxs("div",{className:"min-w-0 space-y-1",children:[t.jsx(y.Label,{htmlFor:`${s}-sale-price-${e.code}`,className:"block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",children:"Sale"}),t.jsxs("div",{className:"relative",children:[t.jsx("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none",children:e.symbol}),t.jsx(j,{id:`${s}-sale-price-${e.code}`,currencyCode:e.code,value:x[e.code],disabled:o,placeholder:r?"Auto":"—",allowEmpty:!0,className:"h-8 w-full text-sm pl-6",onValueChange:a=>g(e.code,a)})]})]}),u&&e.is_default?u:null]})]},e.code)})})]}):null}exports.CurrencyPriceFields=k;