@nextblock-cms/ecom 0.16.3 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.d.ts +1 -1
  3. package/lib/CurrencyProvider.es.js +5 -5
  4. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  5. package/lib/PaymentReadinessProvider.d.ts +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +7 -7
  7. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  8. package/lib/components/AccountNavigationMenu.d.ts +1 -1
  9. package/lib/components/AccountNavigationMenu.es.js +23 -23
  10. package/lib/components/AddToCartButton.cjs.js +1 -1
  11. package/lib/components/AddToCartButton.d.ts +1 -1
  12. package/lib/components/AddToCartButton.es.js +29 -29
  13. package/lib/components/Cart.cjs.js +1 -1
  14. package/lib/components/Cart.d.ts +1 -1
  15. package/lib/components/Cart.es.js +129 -129
  16. package/lib/components/CartDrawer.cjs.js +1 -1
  17. package/lib/components/CartDrawer.d.ts +1 -1
  18. package/lib/components/CartDrawer.es.js +85 -85
  19. package/lib/components/CartIcon.cjs.js +1 -1
  20. package/lib/components/CartIcon.d.ts +1 -1
  21. package/lib/components/CartIcon.es.js +17 -17
  22. package/lib/components/Checkout.cjs.js +1 -1
  23. package/lib/components/Checkout.d.ts +1 -1
  24. package/lib/components/Checkout.es.js +561 -561
  25. package/lib/components/CouponForm.cjs.js +1 -1
  26. package/lib/components/CouponForm.d.ts +1 -1
  27. package/lib/components/CouponForm.es.js +62 -62
  28. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  29. package/lib/components/CurrencySwitcher.d.ts +1 -1
  30. package/lib/components/CurrencySwitcher.es.js +12 -12
  31. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  32. package/lib/components/CustomerProfileForm.d.ts +1 -1
  33. package/lib/components/CustomerProfileForm.es.js +238 -238
  34. package/lib/components/FeaturedProduct.cjs.js +1 -1
  35. package/lib/components/FeaturedProduct.d.ts +1 -1
  36. package/lib/components/FeaturedProduct.es.js +39 -39
  37. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  38. package/lib/components/FreemiusLicensePanel.d.ts +1 -1
  39. package/lib/components/FreemiusLicensePanel.es.js +46 -46
  40. package/lib/components/InvoiceDocument.cjs.js +1 -1
  41. package/lib/components/InvoiceDocument.d.ts +2 -1
  42. package/lib/components/InvoiceDocument.es.js +144 -144
  43. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  44. package/lib/components/InvoiceViewerShell.d.ts +1 -1
  45. package/lib/components/InvoiceViewerShell.es.js +47 -47
  46. package/lib/components/ProductCard.cjs.js +1 -1
  47. package/lib/components/ProductCard.d.ts +1 -1
  48. package/lib/components/ProductCard.es.js +84 -84
  49. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  50. package/lib/components/ProductDetailsLayout.es.js +201 -201
  51. package/lib/components/ProductGallery.cjs.js +1 -1
  52. package/lib/components/ProductGallery.d.ts +1 -1
  53. package/lib/components/ProductGallery.es.js +21 -21
  54. package/lib/components/ProductGrid.cjs.js +1 -1
  55. package/lib/components/ProductGrid.d.ts +1 -1
  56. package/lib/components/ProductGrid.es.js +10 -10
  57. package/lib/components/ShippingEstimator.cjs.js +1 -1
  58. package/lib/components/ShippingEstimator.d.ts +1 -1
  59. package/lib/components/ShippingEstimator.es.js +71 -71
  60. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  61. package/lib/components/SimpleTiptapRenderer.es.js +133 -133
  62. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  63. package/lib/components/SubscriptionSelector.d.ts +2 -1
  64. package/lib/components/SubscriptionSelector.es.js +74 -74
  65. package/lib/components/media/MediaPickerDialog.d.ts +2 -1
  66. package/lib/components/media/MediaUploadForm.d.ts +2 -1
  67. package/lib/components/media/UploadFolderContext.d.ts +1 -1
  68. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  69. package/lib/pages/cms/coupons/CouponEditorForm.d.ts +1 -1
  70. package/lib/pages/cms/coupons/CouponEditorForm.es.js +96 -96
  71. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  72. package/lib/pages/cms/coupons/CouponsPage.d.ts +1 -1
  73. package/lib/pages/cms/coupons/CouponsPage.es.js +83 -83
  74. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  75. package/lib/pages/cms/coupons/CreateCouponDialog.d.ts +1 -1
  76. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +22 -22
  77. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  78. package/lib/pages/cms/coupons/EditCouponPage.d.ts +1 -1
  79. package/lib/pages/cms/coupons/EditCouponPage.es.js +25 -25
  80. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  81. package/lib/pages/cms/coupons/ProductScopePicker.d.ts +1 -1
  82. package/lib/pages/cms/coupons/ProductScopePicker.es.js +48 -48
  83. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  84. package/lib/pages/cms/orders/ExportReportsDialog.d.ts +2 -1
  85. package/lib/pages/cms/orders/ExportReportsDialog.es.js +73 -73
  86. package/lib/pages/cms/orders/MarkPaidButton.d.ts +1 -1
  87. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  88. package/lib/pages/cms/orders/OrderDetailPage.d.ts +1 -1
  89. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -95
  90. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  91. package/lib/pages/cms/orders/OrderPrintButton.d.ts +1 -1
  92. package/lib/pages/cms/orders/OrderPrintButton.es.js +2 -2
  93. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  94. package/lib/pages/cms/orders/OrderStatusForm.d.ts +1 -1
  95. package/lib/pages/cms/orders/OrderStatusForm.es.js +33 -33
  96. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  97. package/lib/pages/cms/orders/OrdersPage.d.ts +1 -1
  98. package/lib/pages/cms/orders/OrdersPage.es.js +68 -68
  99. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  100. package/lib/pages/cms/payments/PaymentsClient.d.ts +1 -1
  101. package/lib/pages/cms/payments/PaymentsClient.es.js +120 -120
  102. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  103. package/lib/pages/cms/payments/PaymentsPage.d.ts +1 -1
  104. package/lib/pages/cms/payments/PaymentsPage.es.js +5 -5
  105. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  106. package/lib/pages/cms/products/ProductsPage.d.ts +1 -1
  107. package/lib/pages/cms/products/ProductsPage.es.js +75 -54
  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/actions.d.ts +2 -0
  112. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  113. package/lib/pages/cms/products/attributes/AttributeManagementPage.d.ts +1 -1
  114. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +32 -32
  115. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  116. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  117. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +173 -173
  118. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  119. package/lib/pages/cms/products/categories/CategoryManagementPage.d.ts +1 -1
  120. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +16 -16
  121. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  122. package/lib/pages/cms/products/categories/components/CategoryManager.d.ts +2 -1
  123. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +102 -102
  124. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  125. package/lib/pages/cms/products/components/CopyProductFromLanguage.d.ts +2 -1
  126. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +45 -45
  127. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  128. package/lib/pages/cms/products/components/CurrencyPriceFields.d.ts +1 -1
  129. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +45 -45
  130. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  131. package/lib/pages/cms/products/components/DeleteProductButton.d.ts +1 -1
  132. package/lib/pages/cms/products/components/DeleteProductButton.es.js +14 -14
  133. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  134. package/lib/pages/cms/products/components/FreemiusPricingDashboard.d.ts +1 -1
  135. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +45 -45
  136. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  137. package/lib/pages/cms/products/components/ProductCategorySelector.d.ts +2 -1
  138. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +84 -84
  139. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  140. package/lib/pages/cms/products/components/ProductForm.d.ts +7 -1
  141. package/lib/pages/cms/products/components/ProductForm.es.js +520 -513
  142. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  143. package/lib/pages/cms/products/components/ProductMediaManager.d.ts +1 -1
  144. package/lib/pages/cms/products/components/ProductMediaManager.es.js +42 -42
  145. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  146. package/lib/pages/cms/products/components/ProductsBulkTable.d.ts +2 -1
  147. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +402 -250
  148. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  149. package/lib/pages/cms/products/components/SaleScheduleFields.d.ts +1 -1
  150. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +43 -43
  151. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  152. package/lib/pages/cms/products/components/SyncFreemiusButton.d.ts +1 -1
  153. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +9 -9
  154. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  155. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.d.ts +1 -1
  156. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +15 -15
  157. package/lib/pages/cms/products/components/SyncProductForm.d.ts +1 -1
  158. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  159. package/lib/pages/cms/products/components/VariationsEditor.d.ts +1 -1
  160. package/lib/pages/cms/products/components/VariationsEditor.es.js +104 -104
  161. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  162. package/lib/pages/cms/products/inventory/InventoryPage.d.ts +1 -1
  163. package/lib/pages/cms/products/inventory/InventoryPage.es.js +10 -10
  164. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  165. package/lib/pages/cms/products/inventory/InventoryTableClient.d.ts +1 -1
  166. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +139 -139
  167. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  168. package/lib/pages/cms/products/new/NewProductPage.d.ts +1 -1
  169. package/lib/pages/cms/products/new/NewProductPage.es.js +19 -19
  170. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  171. package/lib/pages/cms/shipping/ShippingPage.d.ts +2 -1
  172. package/lib/pages/cms/shipping/ShippingPage.es.js +123 -123
  173. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  174. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  175. package/lib/pages/cms/shipping/components/RateForm.es.js +217 -217
  176. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  177. package/lib/pages/cms/shipping/components/ZoneForm.d.ts +2 -1
  178. package/lib/pages/cms/shipping/components/ZoneForm.es.js +98 -98
  179. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  180. package/lib/pages/cms/taxes/TaxesPage.d.ts +1 -1
  181. package/lib/pages/cms/taxes/TaxesPage.es.js +120 -120
  182. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  183. package/lib/pages/cms/taxes/components/TaxRateForm.d.ts +1 -1
  184. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +34 -34
  185. package/lib/product-actions.cjs.js +3 -3
  186. package/lib/product-actions.d.ts +2 -0
  187. package/lib/product-actions.es.js +1 -1
  188. package/lib/product-context.cjs.js +1 -1
  189. package/lib/product-context.es.js +3 -3
  190. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),l=require("react"),Re=require("@hookform/resolvers/zod"),T=require("lucide-react"),t=require("@nextblock-cms/ui"),Ue=require("../../../../product-schema.cjs.js"),Be=require("react-hook-form"),Oe=require("./ProductMediaManager.cjs.js"),ze=require("./SyncFreemiusPricingButton.cjs.js"),Le=require("./VariationsEditor.cjs.js"),De=require("./CurrencyPriceFields.cjs.js"),_e=require("./SaleScheduleFields.cjs.js"),Ke=require("./ProductCategorySelector.cjs.js"),B=require("../product-price-sync.cjs.js"),$e=require("../../../../types.cjs.js"),Pe=require("../../../../currency.cjs.js"),R=require("@nextblock-cms/utils");function U({title:s,description:r,action:g,children:p,hideHeader:F}){return e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[!F&&e.jsxDEV("div",{className:"flex items-start justify-between gap-4 flex-wrap border-b border-muted/50 pb-2 mb-1",children:[e.jsxDEV("div",{className:"space-y-0.5",children:[e.jsxDEV("h2",{className:"text-sm font-bold tracking-tight",children:s},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:121,columnNumber:13},this),r?e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:r},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:123,columnNumber:15},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:120,columnNumber:11},this),g]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:119,columnNumber:9},this),e.jsxDEV("div",{className:F?"":"pt-1",children:p},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:129,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:117,columnNumber:5},this)}function He(s,r,g){const p=r?Number.parseInt(r,10):void 0;return s?.language_id||(Number.isFinite(p)?p:void 0)||g.find(F=>F.is_default)?.id||g[0]?.id||1}function ke(s,r,g,p,F){const j=(p.find(v=>v.is_default)??p[0])?.code||"USD",S=s?.prices&&Object.keys(s.prices).length>0?s.prices:{[j]:typeof s?.price=="number"?s.price/100:0},C=s?.sale_prices&&Object.keys(s.sale_prices).length>0?s.sale_prices:typeof s?.sale_price=="number"?{[j]:s.sale_price/100}:{},M=s?.product_type||"",E=s?.payment_provider||(s?.product_type?$e.derivePaymentProviderFromProductType(s.product_type):"stripe");return{...B.sanitizeProductFormValuesForStoreManagedCurrencies({product_type:M||"physical",payment_provider:E,title:s?.title||"",slug:s?.slug||"",sku:s?.sku||"",upc:s?.upc||"",is_taxable:s?.is_taxable??!0,price:typeof s?.price=="number"?s.price/100:0,prices:S,sale_price:typeof s?.sale_price=="number"?s.sale_price/100:null,sale_prices:C,stock:s?.stock||0,meta_title:s?.meta_title||"",meta_description:s?.meta_description||"",custom_canonical:s?.custom_canonical||"",short_description:s?.short_description||"",description_json:s?.description_json||{type:"doc",content:[{type:"paragraph"}]},freemius_product_id:s?.freemius_product_id||"",freemius_plan_id:s?.freemius_plan_id||"",trial_period_days:s?.trial_period_days??0,trial_requires_payment_method:s?.trial_requires_payment_method??!1,status:s?.status||"draft",language_id:He(s,r,g),translation_group_id:s?.translation_group_id||F||void 0,product_media:s?.product_media?.map(v=>({media_id:v.media_id}))||[],category_ids:s?.category_ids||[],variation_attributes:s?.variation_attributes||[],variants:s?.variants?.map(v=>({...v,prices:v.prices||{},sale_prices:v.sale_prices||{}}))||[]},p),product_type:M,payment_provider:E}}function Fe(s){return s?s.map(r=>({id:r.id||r.media_id,media_id:r.media_id,file_path:r.media?.file_path||r.media?.object_key||"",alt:r.media?.alt_text||"",sort_order:r.sort_order??0})).sort((r,g)=>r.sort_order-g.sort_order):[]}function Je(s){return s.map(r=>({media_id:r.media_id}))}function Xe(s){return s.map(r=>({media_id:r.media_id,file_path:r.file_path,alt:r.alt}))}const Ye=s=>s.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"");function Qe({initialData:s,isEdit:r=!1,mediaPickerNode:g,availableLanguagesProp:p,globalAttributesProp:F,currenciesProp:O,translationGroupId:j,targetLanguageId:S,freemiusDashboardNode:C,enabledProviders:M,configStatus:E,createAction:z,updateAction:v,availableCategoriesProp:ye=[],hasOpenDraft:Ve=!1}){const[I,L]=l.useState(!1),[K,$]=l.useState(()=>!!s?.variants?.length),d=l.useMemo(()=>O.filter(o=>o.is_active!==!1).sort((o,i)=>o.is_default!==i.is_default?o.is_default?-1:1:o.code.localeCompare(i.code)),[O]),m=l.useMemo(()=>d.find(o=>o.is_default)??d[0],[d]),q=l.useMemo(()=>B.getStoreManagedPriceCurrencyCodes(d),[d]),oe=Be.useForm({resolver:Re.zodResolver(Ue.productSchema),defaultValues:ke(s,S,p,d,j)}),{register:n,handleSubmit:H,setValue:c,reset:re,watch:u,setError:J,formState:{errors:b,dirtyFields:te}}=oe,ce=l.useRef(!0),X=l.useRef(null),[je,Y]=l.useState(!1),[ie,Q]=l.useState(null),[le,Ee]=l.useState(null),Z=u(),me=oe.formState.isDirty;l.useEffect(()=>{if(!r)return;if(ce.current){ce.current=!1,X.current=JSON.stringify(Z);return}if(!me)return;const o=JSON.stringify(Z);if(o===X.current)return;const i=setTimeout(()=>{I||(X.current=o,H(ve)())},400);return()=>clearTimeout(i)},[Z,r,me,I,H]);const ne=u("title"),w=u("product_type"),x=w==="digital"?"freemius":w==="physical"?"stripe":void 0,D=w==="physical",ue=w==="digital",de=x?M[x]:!1,ae=x?E[x].hasKeys:!1,We=!!u("freemius_product_id"),pe=Number(u("trial_period_days")||0),be=!!u("trial_requires_payment_method"),Se=u("variants")||[],y=u("price"),W=u("sale_price"),_=u("prices")||{},V=u("sale_prices")||{},P=(Se?.length||0)>0,we=u("language_id"),Ce=p.find(o=>o.id===we)?.code||p.find(o=>o.is_default)?.code||p[0]?.code,A=l.useMemo(()=>B.resolveEditorCurrencyPriceMaps({currencies:d,prices:_,salePrices:V,fallbackPrice:y,fallbackSalePrice:W}),[y,W,d,_,V]),Me=l.useMemo(()=>s?.variants?.map(o=>({...o,prices:o.prices||{},sale_prices:o.sale_prices||{}})),[s?.variants]);l.useEffect(()=>{if(te.title&&!r){const o=Ye(ne);c("slug",o,{shouldValidate:!0})}},[ne,te.title,c,r]);const[G,xe]=l.useState(()=>Fe(s?.product_media)),[ee,Ne]=l.useState(new Set);l.useEffect(()=>{re(ke(s,S,p,d,j)),xe(Fe(s?.product_media)),Ne(new Set),$(!!s?.variants?.length)},[p,d,s,re,S,j]);const Ie=o=>{const i=new Set(o.map(h=>h.id)),a=G.filter(h=>!i.has(h.id)),N=new Set(ee);a.forEach(h=>{h.media_id&&N.add(h.media_id)}),Ne(N),xe(o),c("product_media",Je(o),{shouldDirty:!0}),c("explicitly_removed_media_ids",Array.from(N),{shouldDirty:!0})};l.useEffect(()=>{c("explicitly_removed_media_ids",Array.from(ee))},[ee,c]),l.useEffect(()=>{P&&$(!0)},[P]),l.useEffect(()=>{n("is_taxable"),n("price"),n("sale_price"),n("payment_provider"),n("trial_requires_payment_method")},[n]),l.useEffect(()=>{if(!ue){c("trial_period_days",0,{shouldDirty:!1,shouldValidate:!0}),c("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0});return}pe<=0&&c("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0})},[ue,c,pe]),l.useEffect(()=>{x&&c("payment_provider",x,{shouldDirty:!1,shouldValidate:!0})},[x,c]),l.useEffect(()=>{m&&_[m.code]===void 0&&c("prices",{..._,[m.code]:y||0},{shouldDirty:!1})},[y,m,_,c]);const fe=l.useCallback((o,i)=>{const a={..._,[o]:i};c("prices",a,{shouldDirty:!0,shouldValidate:!0}),o===m?.code&&c("price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,_,c]),he=l.useCallback((o,i)=>{const a={...V,[o]:i};c("sale_prices",a,{shouldDirty:!0,shouldValidate:!0}),o===m?.code&&c("sale_price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,V,c]),ge=l.useCallback(()=>{if(!m)return;const o=new Set(q),i=_[m.code]??y??0,a=V[m.code]??W??null,N=d.reduce((k,f)=>{if(f.code!==m.code&&o.has(f.code))return k;const se=Pe.convertMinorUnitAmount({amount:R.majorUnitAmountToMinor(i,m.code),fromCurrencyCode:m.code,toCurrencyCode:f.code,currencies:d,applyRounding:!0});return k[f.code]=R.minorUnitAmountToMajor(se,f.code),k},{}),h=d.reduce((k,f)=>{if(f.code!==m.code&&o.has(f.code))return k;if(typeof a!="number")return(f.code===m.code||!o.has(f.code))&&(k[f.code]=null),k;const se=Pe.convertMinorUnitAmount({amount:R.majorUnitAmountToMinor(a,m.code),fromCurrencyCode:m.code,toCurrencyCode:f.code,currencies:d,applyRounding:!0});return k[f.code]=R.minorUnitAmountToMajor(se,f.code),k},{});c("prices",N,{shouldDirty:!0,shouldValidate:!0}),c("sale_prices",h,{shouldDirty:!0,shouldValidate:!0}),c("price",N[m.code]??i,{shouldDirty:!0,shouldValidate:!0}),c("sale_price",h[m.code]??null,{shouldDirty:!0,shouldValidate:!0})},[d,m,_,V,c,q,y,W]),qe=l.useCallback(({variationAttributes:o,variants:i})=>{c("variation_attributes",o,{shouldDirty:!0}),c("variants",i,{shouldDirty:!0,shouldValidate:!0})},[c]),ve=async o=>{L(!0),Y(!0),Q(null);try{if(!x){const h="Select whether this product is physical or digital before saving.";J("product_type",{type:"manual",message:h}),r?Q(h):alert(h),L(!1),Y(!1);return}const i=D?0:Math.max(0,Number(o.trial_period_days||0)),a={...o,product_type:o.product_type,payment_provider:x,freemius_product_id:D?"":o.freemius_product_id,freemius_plan_id:D?"":o.freemius_plan_id,trial_period_days:i,trial_requires_payment_method:!D&&i>0?o.trial_requires_payment_method:!1,upc:D?o.upc:null,is_taxable:D?o.is_taxable:!1,variation_attributes:D?o.variation_attributes:[],variants:D?o.variants:[]},N=B.sanitizeProductFormValuesForStoreManagedCurrencies(a,d);if(r&&v)await v(N),Ee(new Date);else if(z)await z(N);else throw new Error("Product form action is not configured.")}catch(i){if(console.error(i),i.message==="NEXT_REDIRECT")return;let a=i.message||"An error occurred while saving.";if(i.code==="23505"){const N=i.message?.toLowerCase()||"";N.includes("products_slug_key")||N.includes("slug")?(a="This slug is already in use. Please choose another one.",J("slug",{type:"manual",message:a})):(N.includes("products_sku_key")||N.includes("sku"))&&(a="This SKU is already in use.",J("sku",{type:"manual",message:a}))}r?Q(a):alert(a)}finally{L(!1),Y(!1)}},Ae=P?"bg-muted/60 text-muted-foreground opacity-70":"",Te=Xe(G);return e.jsxDEV("form",{onSubmit:H(ve),className:"space-y-2.5 pb-4",children:[e.jsxDEV("input",{type:"hidden",...n("translation_group_id")},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:800,columnNumber:7},this),e.jsxDEV("input",{type:"hidden",...n("payment_provider")},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:801,columnNumber:7},this),e.jsxDEV("div",{className:"space-y-2.5 w-full",children:[e.jsxDEV("div",{className:"rounded-lg border bg-card p-2.5 px-4 shadow-sm flex items-center justify-between gap-3 flex-wrap",children:[e.jsxDEV("div",{className:"flex items-center gap-6",children:[e.jsxDEV("div",{className:"flex h-9 items-center gap-2",children:[e.jsxDEV("span",{className:"text-sm font-bold whitespace-nowrap leading-none pt-0.5",children:"Product Type"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:807,columnNumber:15},this),b.product_type&&e.jsxDEV(T.AlertCircle,{className:"h-4 w-4 text-destructive"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:809,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:806,columnNumber:13},this),e.jsxDEV("div",{className:"flex h-9 items-center",children:e.jsxDEV(t.Select,{onValueChange:o=>c("product_type",o,{shouldDirty:!0,shouldValidate:!0}),value:w||void 0,children:[e.jsxDEV(t.SelectTrigger,{className:"w-[160px] h-9 text-xs",children:e.jsxDEV(t.SelectValue,{placeholder:"Select Type"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:824,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:823,columnNumber:17},this),e.jsxDEV(t.SelectContent,{children:[e.jsxDEV(t.SelectItem,{value:"physical",children:"Physical Product"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:827,columnNumber:19},this),e.jsxDEV(t.SelectItem,{value:"digital",children:"Digital Product"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:828,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:826,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:814,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:813,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:805,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-6",children:[e.jsxDEV("div",{className:"flex h-9 items-center gap-3",children:[e.jsxDEV("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider leading-none",children:"Payment Provider"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:836,columnNumber:15},this),e.jsxDEV(t.Badge,{variant:"outline",className:"text-xs py-1 font-bold bg-muted/30 leading-none",children:x?x==="stripe"?"Stripe":"Freemius":"—"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:837,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:835,columnNumber:13},this),x&&e.jsxDEV("div",{className:"flex h-9 items-center gap-2",children:de&&ae?e.jsxDEV("span",{className:"flex items-center gap-1.5 text-emerald-600 text-[10px] font-bold bg-emerald-50 px-2 py-1 rounded-full border border-emerald-100 uppercase leading-none",children:[e.jsxDEV(T.CheckCircle2,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:850,columnNumber:21},this),"Ready"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:849,columnNumber:19},this):e.jsxDEV("span",{className:"flex items-center gap-1.5 text-amber-600 text-[10px] font-bold bg-amber-50 px-2 py-1 rounded-full border border-amber-100 uppercase leading-none",children:[e.jsxDEV(T.AlertCircle,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:855,columnNumber:21},this),de?"Keys Missing":"Disabled"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:854,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:847,columnNumber:15},this),!ae&&x&&E[x].missing.length>0&&e.jsxDEV("a",{href:"/cms/payments",className:"hidden xl:flex h-9 items-center gap-1 text-[10px] text-muted-foreground bg-muted/50 px-2 py-1 rounded border border-dashed leading-none hover:text-foreground hover:border-solid",children:[e.jsxDEV(T.Info,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:867,columnNumber:17},this),"Missing: ",E[x].missing.join(", ")," — set up payments"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:863,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:834,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:804,columnNumber:9},this),e.jsxDEV(U,{title:"Product Information",hideHeader:!0,children:[r&&e.jsxDEV("div",{className:"flex items-center justify-between text-xs text-muted-foreground pb-2 border-b border-border/40 mb-2.5",children:[e.jsxDEV("span",{className:"font-semibold text-[11px] uppercase tracking-wider text-muted-foreground/80",children:"Product Settings"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:880,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 min-h-[16px]",children:je?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"relative flex h-2 w-2",children:[e.jsxDEV("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:885,columnNumber:23},this),e.jsxDEV("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-amber-500"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:886,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:884,columnNumber:21},this),e.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Autosaving settings..."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:888,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:883,columnNumber:19},this):ie?e.jsxDEV("span",{className:"text-red-500 font-medium",children:["Error saving settings: ",ie]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:891,columnNumber:19},this):le?e.jsxDEV("span",{className:"text-emerald-600 dark:text-emerald-400 font-medium",children:["Settings autosaved at ",le.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:893,columnNumber:19},this):e.jsxDEV("span",{className:"text-muted-foreground/60",children:"Settings autosave in draft mode"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:897,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:881,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:879,columnNumber:13},this),e.jsxDEV("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-2.5",children:[e.jsxDEV("div",{className:"col-span-2 space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Title"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:904,columnNumber:15},this),e.jsxDEV(t.Input,{id:"title",placeholder:"Product title",...n("title"),className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:905,columnNumber:15},this),b.title&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:b.title.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:906,columnNumber:32},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:903,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-2 space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"slug",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Slug"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:909,columnNumber:15},this),e.jsxDEV(t.Input,{id:"slug",placeholder:"product-slug",...n("slug"),className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:910,columnNumber:15},this),b.slug&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:b.slug.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:911,columnNumber:31},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:908,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"sku",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:914,columnNumber:15},this),e.jsxDEV(t.Input,{id:"sku",placeholder:"SKU",...n("sku"),className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:915,columnNumber:15},this),b.sku&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:b.sku.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:916,columnNumber:30},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:913,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"upc_ean",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"UPC / EAN"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:919,columnNumber:15},this),e.jsxDEV(t.Input,{id:"upc_ean",placeholder:"000000000",...n("upc"),className:"h-8 text-sm font-mono",readOnly:P},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:920,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:918,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:902,columnNumber:11},this),e.jsxDEV("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-12 gap-2.5 mt-2",children:[e.jsxDEV("div",{className:`${r?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsxDEV(t.Label,{htmlFor:"meta_title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Title"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:925,columnNumber:15},this),e.jsxDEV(t.Input,{id:"meta_title",...n("meta_title"),placeholder:"SEO page title (50-60 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:926,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:924,columnNumber:13},this),e.jsxDEV("div",{className:"lg:col-span-4 col-span-2 space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"meta_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Description"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:929,columnNumber:15},this),e.jsxDEV(t.Input,{id:"meta_description",...n("meta_description"),placeholder:"SEO description (150-160 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:930,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:928,columnNumber:13},this),e.jsxDEV("div",{className:`${r?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsxDEV(t.Label,{htmlFor:"custom_canonical",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Canonical URL (optional)"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:933,columnNumber:15},this),e.jsxDEV(t.Input,{id:"custom_canonical",...n("custom_canonical"),placeholder:"Blank = self-referencing. Absolute https://… URL or /relative path to override.",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:934,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:932,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:923,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:874,columnNumber:9},this),e.jsxDEV(U,{title:"Product Categories",description:"Assign this product to one or more categories.",children:e.jsxDEV(Ke.ProductCategorySelector,{categories:ye,selectedIds:u("category_ids")||[],onChange:o=>c("category_ids",o,{shouldDirty:!0,shouldValidate:!0})},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:946,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:942,columnNumber:9},this),e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[D&&e.jsxDEV("div",{className:"flex items-center justify-between gap-4 flex-wrap border-b border-muted/50 pb-2",children:[e.jsxDEV("div",{className:"flex items-center gap-4",children:e.jsxDEV("div",{className:"space-y-0.5",children:[e.jsxDEV("h2",{className:"text-sm font-bold tracking-tight",children:"Pricing & Inventory"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:958,columnNumber:19},this),e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:"Manage simple or variant pricing."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:959,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:957,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:956,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2 bg-muted/40 rounded-md px-2.5 py-1.5",children:[e.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Stock"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:964,columnNumber:21},this),e.jsxDEV(t.Input,{id:"stock",type:"number",min:"0",...n("stock",{valueAsNumber:!0}),placeholder:"0",readOnly:P,className:`${Ae} h-8 w-20 text-sm text-center font-mono bg-background`},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:965,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:963,columnNumber:19},this),P?e.jsxDEV(t.Badge,{variant:"secondary",className:"text-[11px] py-0 px-2 h-5",children:"Variant pricing"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:976,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:962,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:955,columnNumber:13},this),D?e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{className:"w-full",children:[e.jsxDEV(De.CurrencyPriceFields,{idPrefix:"product",currencies:d,prices:A.prices,salePrices:A.salePrices,managedCurrencyCodes:q,onPriceChange:fe,onSalePriceChange:he,onAutoFill:ge,readOnly:P,helperText:P?"Parent prices stay as a fallback, but active variants define the live shopper price.":void 0,trailing:e.jsxDEV(_e.SaleScheduleFields,{idPrefix:"product",startAt:u("sale_start_at"),endAt:u("sale_end_at"),onChange:(o,i)=>c(o,i,{shouldDirty:!0,shouldValidate:!0}),error:b.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1e3,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:984,columnNumber:17},this),b.price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:b.price.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1013,columnNumber:19},this),b.sale_price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:b.sale_price.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1016,columnNumber:19},this),b.stock&&e.jsxDEV("p",{className:"text-destructive text-[10px] font-medium leading-none mt-1",children:b.stock.message},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1019,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:983,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center justify-between gap-3 rounded border border-dashed p-2.5 bg-muted/5",children:[e.jsxDEV("span",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:P?"Variations Active":"Variations"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1024,columnNumber:17},this),e.jsxDEV(t.Button,{type:"button",variant:K?"outline":"default",onClick:()=>$(o=>!o),size:"sm",className:"h-7 text-xs px-3",children:K?"Hide":"Manage"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1025,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1023,columnNumber:15},this),K&&e.jsxDEV("div",{className:"border-t pt-3",children:e.jsxDEV(Le.VariationsEditor,{globalAttributes:F,currentLanguageCode:Ce,baseSku:u("sku")||"",basePrice:y||0,basePrices:_,baseSalePrice:typeof W=="number"?W:null,baseSalePrices:V,currencies:d,availableVariantImages:Te,initialVariationAttributes:s?.variation_attributes,initialVariants:Me,onChange:qe},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1038,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1037,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:982,columnNumber:13},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-end gap-4 w-full",children:[e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(t.Label,{htmlFor:"freemius_product_id",className:"text-[11px] uppercase tracking-wider text-muted-foreground font-bold mb-1.5 block",children:"Freemius Product ID"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1062,columnNumber:19},this),e.jsxDEV(t.Input,{id:"freemius_product_id",...n("freemius_product_id"),className:"h-9"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1063,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1061,columnNumber:17},this),e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(t.Label,{htmlFor:"freemius_plan_id",className:"text-[11px] uppercase tracking-wider text-muted-foreground font-bold mb-1.5 block",children:"Freemius Plan ID"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1066,columnNumber:19},this),e.jsxDEV(t.Input,{id:"freemius_plan_id",...n("freemius_plan_id"),className:"h-9"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1067,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1065,columnNumber:17},this),We?e.jsxDEV(ze.SyncFreemiusPricingButton,{productId:u("freemius_product_id"),hasOpenDraft:Ve},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1070,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1060,columnNumber:15},this),e.jsxDEV("div",{className:"bg-muted/10 border rounded-md overflow-hidden",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-6 bg-muted/20 border-b p-2.5 px-4",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Free Trial"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1080,columnNumber:21},this),e.jsxDEV(t.Badge,{variant:"outline",className:"font-mono text-xs shadow-sm bg-background",children:[String(u("trial_period_days")||0)," Days"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1081,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1079,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Card Required"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1084,columnNumber:21},this),e.jsxDEV(t.Badge,{variant:be?"default":"secondary",className:"text-xs shadow-sm",children:be?"Yes":"No"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1085,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1083,columnNumber:19},this),e.jsxDEV("span",{className:"text-[10px] text-muted-foreground ml-auto",children:"Managed in Freemius dashboard"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1089,columnNumber:19},this),e.jsxDEV("input",{type:"hidden",...n("trial_period_days",{valueAsNumber:!0})},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1093,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1078,columnNumber:17},this),e.jsxDEV("div",{className:"w-full p-4 pt-3 space-y-2",children:[e.jsxDEV(De.CurrencyPriceFields,{idPrefix:"product",currencies:d,prices:A.prices,salePrices:A.salePrices,managedCurrencyCodes:q,onPriceChange:fe,onSalePriceChange:he,onAutoFill:ge,readOnly:!0,trailing:e.jsxDEV(_e.SaleScheduleFields,{idPrefix:"product",startAt:u("sale_start_at"),endAt:u("sale_end_at"),onChange:(o,i)=>c(o,i,{shouldDirty:!0,shouldValidate:!0}),error:b.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1108,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1097,columnNumber:19},this),e.jsxDEV("p",{className:"text-[10px] leading-snug text-muted-foreground",children:"Scheduling a sale on a Freemius product generates a time-bounded Freemius coupon so the discount is enforced at Freemius checkout."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1120,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1096,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1077,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1059,columnNumber:15},this),C&&e.jsxDEV("div",{className:"pt-2 border-t",children:C},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1128,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1058,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:953,columnNumber:9},this),e.jsxDEV(U,{title:"Product Description",hideHeader:!0,children:e.jsxDEV("div",{className:"space-y-2",children:e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV(t.Label,{htmlFor:"short_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Short Description"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1139,columnNumber:15},this),e.jsxDEV(t.Input,{id:"short_description",...n("short_description"),placeholder:"Brief summary for product cards...",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1140,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1138,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1137,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1136,columnNumber:9},this),e.jsxDEV(U,{title:"Media Gallery",description:"Drag to reorder. First image is the hero.",children:[e.jsxDEV(Oe.ProductMediaManager,{initialMedia:G,onUpdate:Ie,mediaPickerNode:g},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1146,columnNumber:11},this),e.jsxDEV("input",{type:"hidden",...n("product_media")},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1151,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1145,columnNumber:9},this),!r&&e.jsxDEV("div",{className:"rounded-lg border bg-card p-3 px-4 shadow-sm flex items-center justify-between gap-3 flex-wrap",children:[e.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"New products start as a draft. Publish it from the top bar once it's ready."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1156,columnNumber:13},this),e.jsxDEV(t.Button,{disabled:I,type:"submit",size:"sm",className:"h-8 text-sm px-5",children:I?"Saving...":"Save Changes"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1159,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1155,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:803,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:798,columnNumber:5},this)}exports.ProductForm=Qe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),l=require("react"),ze=require("@hookform/resolvers/zod"),R=require("lucide-react"),r=require("@nextblock-cms/ui"),Le=require("../../../../product-schema.cjs.js"),Ke=require("react-hook-form"),$e=require("./ProductMediaManager.cjs.js"),He=require("./SyncFreemiusPricingButton.cjs.js"),Je=require("./VariationsEditor.cjs.js"),Fe=require("./CurrencyPriceFields.cjs.js"),ye=require("./SaleScheduleFields.cjs.js"),Xe=require("./ProductCategorySelector.cjs.js"),O=require("../product-price-sync.cjs.js"),Ye=require("../../../../types.cjs.js"),Ve=require("../../../../currency.cjs.js"),U=require("@nextblock-cms/utils");function B({title:s,description:t,action:g,children:b,hideHeader:F}){return e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[!F&&e.jsxDEV("div",{className:"flex items-start justify-between gap-4 flex-wrap border-b border-muted/50 pb-2 mb-1",children:[e.jsxDEV("div",{className:"space-y-0.5",children:[e.jsxDEV("h2",{className:"text-sm font-bold tracking-tight",children:s},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:127,columnNumber:13},this),t?e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:t},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:129,columnNumber:15},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:126,columnNumber:11},this),g]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:125,columnNumber:9},this),e.jsxDEV("div",{className:F?"":"pt-1",children:b},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:123,columnNumber:5},this)}function Qe(s,t,g){const b=t?Number.parseInt(t,10):void 0;return s?.language_id||(Number.isFinite(b)?b:void 0)||g.find(F=>F.is_default)?.id||g[0]?.id||1}function je(s,t,g,b,F){const j=(b.find(v=>v.is_default)??b[0])?.code||"USD",w=s?.prices&&Object.keys(s.prices).length>0?s.prices:{[j]:typeof s?.price=="number"?s.price/100:0},M=s?.sale_prices&&Object.keys(s.sale_prices).length>0?s.sale_prices:typeof s?.sale_price=="number"?{[j]:s.sale_price/100}:{},I=s?.product_type||"",E=s?.payment_provider||(s?.product_type?Ye.derivePaymentProviderFromProductType(s.product_type):"stripe");return{...O.sanitizeProductFormValuesForStoreManagedCurrencies({product_type:I||"physical",payment_provider:E,title:s?.title||"",slug:s?.slug||"",sku:s?.sku||"",upc:s?.upc||"",is_taxable:s?.is_taxable??!0,price:typeof s?.price=="number"?s.price/100:0,prices:w,sale_price:typeof s?.sale_price=="number"?s.sale_price/100:null,sale_prices:M,stock:s?.stock||0,meta_title:s?.meta_title||"",meta_description:s?.meta_description||"",custom_canonical:s?.custom_canonical||"",short_description:s?.short_description||"",description_json:s?.description_json||{type:"doc",content:[{type:"paragraph"}]},freemius_product_id:s?.freemius_product_id||"",freemius_plan_id:s?.freemius_plan_id||"",trial_period_days:s?.trial_period_days??0,trial_requires_payment_method:s?.trial_requires_payment_method??!1,status:s?.status||"draft",language_id:Qe(s,t,g),translation_group_id:s?.translation_group_id||F||void 0,product_media:s?.product_media?.map(v=>({media_id:v.media_id}))||[],category_ids:s?.category_ids||[],variation_attributes:s?.variation_attributes||[],variants:s?.variants?.map(v=>({...v,prices:v.prices||{},sale_prices:v.sale_prices||{}}))||[]},b),product_type:I,payment_provider:E}}function Ee(s){return s?s.map(t=>({id:t.id||t.media_id,media_id:t.media_id,file_path:t.media?.file_path||t.media?.object_key||"",alt:t.media?.alt_text||"",sort_order:t.sort_order??0})).sort((t,g)=>t.sort_order-g.sort_order):[]}function Ze(s){return s.map(t=>({media_id:t.media_id}))}function Ge(s){return s.map(t=>({media_id:t.media_id,file_path:t.file_path,alt:t.alt}))}const es=s=>s.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"");function ss({initialData:s,isEdit:t=!1,mediaPickerNode:g,availableLanguagesProp:b,globalAttributesProp:F,currenciesProp:z,translationGroupId:j,targetLanguageId:w,freemiusDashboardNode:M,enabledProviders:I,configStatus:E,createAction:L,updateAction:v,availableCategoriesProp:We=[],hasOpenDraft:Se=!1,onSeoChange:oe}){const[q,K]=l.useState(!1),[$,H]=l.useState(()=>!!s?.variants?.length),a=l.useMemo(()=>z.filter(o=>o.is_active!==!1).sort((o,i)=>o.is_default!==i.is_default?o.is_default?-1:1:o.code.localeCompare(i.code)),[z]),m=l.useMemo(()=>a.find(o=>o.is_default)??a[0],[a]),T=l.useMemo(()=>O.getStoreManagedPriceCurrencyCodes(a),[a]),te=Ke.useForm({resolver:ze.zodResolver(Le.productSchema),defaultValues:je(s,w,b,a,j)}),{register:n,handleSubmit:J,setValue:c,reset:re,watch:d,setError:X,formState:{errors:p,dirtyFields:ce}}=te,ie=l.useRef(!0),Y=l.useRef(null),[we,Q]=l.useState(!1),[le,Z]=l.useState(null),[me,Ce]=l.useState(null),W=d(),ne=te.formState.isDirty,de=W.title,ae=W.meta_title,ue=W.meta_description;l.useEffect(()=>{oe?.({title:de,meta_title:ae,meta_description:ue})},[de,ae,ue,oe]),l.useEffect(()=>{if(!t)return;if(ie.current){ie.current=!1,Y.current=JSON.stringify(W);return}if(!ne)return;const o=JSON.stringify(W);if(o===Y.current)return;const i=setTimeout(()=>{q||(Y.current=o,J(ke)())},400);return()=>clearTimeout(i)},[W,t,ne,q,J]);const be=d("title"),C=d("product_type"),x=C==="digital"?"freemius":C==="physical"?"stripe":void 0,D=C==="physical",pe=C==="digital",xe=x?I[x]:!1,Ne=x?E[x].hasKeys:!1,Me=!!d("freemius_product_id"),fe=Number(d("trial_period_days")||0),he=!!d("trial_requires_payment_method"),Ie=d("variants")||[],y=d("price"),S=d("sale_price"),_=d("prices")||{},V=d("sale_prices")||{},P=(Ie?.length||0)>0,qe=d("language_id"),Te=b.find(o=>o.id===qe)?.code||b.find(o=>o.is_default)?.code||b[0]?.code,A=l.useMemo(()=>O.resolveEditorCurrencyPriceMaps({currencies:a,prices:_,salePrices:V,fallbackPrice:y,fallbackSalePrice:S}),[y,S,a,_,V]),Ae=l.useMemo(()=>s?.variants?.map(o=>({...o,prices:o.prices||{},sale_prices:o.sale_prices||{}})),[s?.variants]);l.useEffect(()=>{if(ce.title&&!t){const o=es(be);c("slug",o,{shouldValidate:!0})}},[be,ce.title,c,t]);const[G,ge]=l.useState(()=>Ee(s?.product_media)),[ee,ve]=l.useState(new Set);l.useEffect(()=>{re(je(s,w,b,a,j)),ge(Ee(s?.product_media)),ve(new Set),H(!!s?.variants?.length)},[b,a,s,re,w,j]);const Re=o=>{const i=new Set(o.map(h=>h.id)),u=G.filter(h=>!i.has(h.id)),N=new Set(ee);u.forEach(h=>{h.media_id&&N.add(h.media_id)}),ve(N),ge(o),c("product_media",Ze(o),{shouldDirty:!0}),c("explicitly_removed_media_ids",Array.from(N),{shouldDirty:!0})};l.useEffect(()=>{c("explicitly_removed_media_ids",Array.from(ee))},[ee,c]),l.useEffect(()=>{P&&H(!0)},[P]),l.useEffect(()=>{n("is_taxable"),n("price"),n("sale_price"),n("payment_provider"),n("trial_requires_payment_method")},[n]),l.useEffect(()=>{if(!pe){c("trial_period_days",0,{shouldDirty:!1,shouldValidate:!0}),c("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0});return}fe<=0&&c("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0})},[pe,c,fe]),l.useEffect(()=>{x&&c("payment_provider",x,{shouldDirty:!1,shouldValidate:!0})},[x,c]),l.useEffect(()=>{m&&_[m.code]===void 0&&c("prices",{..._,[m.code]:y||0},{shouldDirty:!1})},[y,m,_,c]);const De=l.useCallback((o,i)=>{const u={..._,[o]:i};c("prices",u,{shouldDirty:!0,shouldValidate:!0}),o===m?.code&&c("price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,_,c]),_e=l.useCallback((o,i)=>{const u={...V,[o]:i};c("sale_prices",u,{shouldDirty:!0,shouldValidate:!0}),o===m?.code&&c("sale_price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,V,c]),Pe=l.useCallback(()=>{if(!m)return;const o=new Set(T),i=_[m.code]??y??0,u=V[m.code]??S??null,N=a.reduce((k,f)=>{if(f.code!==m.code&&o.has(f.code))return k;const se=Ve.convertMinorUnitAmount({amount:U.majorUnitAmountToMinor(i,m.code),fromCurrencyCode:m.code,toCurrencyCode:f.code,currencies:a,applyRounding:!0});return k[f.code]=U.minorUnitAmountToMajor(se,f.code),k},{}),h=a.reduce((k,f)=>{if(f.code!==m.code&&o.has(f.code))return k;if(typeof u!="number")return(f.code===m.code||!o.has(f.code))&&(k[f.code]=null),k;const se=Ve.convertMinorUnitAmount({amount:U.majorUnitAmountToMinor(u,m.code),fromCurrencyCode:m.code,toCurrencyCode:f.code,currencies:a,applyRounding:!0});return k[f.code]=U.minorUnitAmountToMajor(se,f.code),k},{});c("prices",N,{shouldDirty:!0,shouldValidate:!0}),c("sale_prices",h,{shouldDirty:!0,shouldValidate:!0}),c("price",N[m.code]??i,{shouldDirty:!0,shouldValidate:!0}),c("sale_price",h[m.code]??null,{shouldDirty:!0,shouldValidate:!0})},[a,m,_,V,c,T,y,S]),Ue=l.useCallback(({variationAttributes:o,variants:i})=>{c("variation_attributes",o,{shouldDirty:!0}),c("variants",i,{shouldDirty:!0,shouldValidate:!0})},[c]),ke=async o=>{K(!0),Q(!0),Z(null);try{if(!x){const h="Select whether this product is physical or digital before saving.";X("product_type",{type:"manual",message:h}),t?Z(h):alert(h),K(!1),Q(!1);return}const i=D?0:Math.max(0,Number(o.trial_period_days||0)),u={...o,product_type:o.product_type,payment_provider:x,freemius_product_id:D?"":o.freemius_product_id,freemius_plan_id:D?"":o.freemius_plan_id,trial_period_days:i,trial_requires_payment_method:!D&&i>0?o.trial_requires_payment_method:!1,upc:D?o.upc:null,is_taxable:D?o.is_taxable:!1,variation_attributes:D?o.variation_attributes:[],variants:D?o.variants:[]},N=O.sanitizeProductFormValuesForStoreManagedCurrencies(u,a);if(t&&v)await v(N),Ce(new Date);else if(L)await L(N);else throw new Error("Product form action is not configured.")}catch(i){if(console.error(i),i.message==="NEXT_REDIRECT")return;let u=i.message||"An error occurred while saving.";if(i.code==="23505"){const N=i.message?.toLowerCase()||"";N.includes("products_slug_key")||N.includes("slug")?(u="This slug is already in use. Please choose another one.",X("slug",{type:"manual",message:u})):(N.includes("products_sku_key")||N.includes("sku"))&&(u="This SKU is already in use.",X("sku",{type:"manual",message:u}))}t?Z(u):alert(u)}finally{K(!1),Q(!1)}},Be=P?"bg-muted/60 text-muted-foreground opacity-70":"",Oe=Ge(G);return e.jsxDEV("form",{onSubmit:J(ke),className:"space-y-2.5 pb-4",children:[e.jsxDEV("input",{type:"hidden",...n("translation_group_id")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:819,columnNumber:7},this),e.jsxDEV("input",{type:"hidden",...n("payment_provider")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:820,columnNumber:7},this),e.jsxDEV("div",{className:"space-y-2.5 w-full",children:[e.jsxDEV("div",{className:"rounded-lg border bg-card p-2.5 px-4 shadow-sm flex items-center justify-between gap-3 flex-wrap",children:[e.jsxDEV("div",{className:"flex items-center gap-6",children:[e.jsxDEV("div",{className:"flex h-9 items-center gap-2",children:[e.jsxDEV("span",{className:"text-sm font-bold whitespace-nowrap leading-none pt-0.5",children:"Product Type"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:826,columnNumber:15},this),p.product_type&&e.jsxDEV(R.AlertCircle,{className:"h-4 w-4 text-destructive"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:828,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:825,columnNumber:13},this),e.jsxDEV("div",{className:"flex h-9 items-center",children:e.jsxDEV(r.Select,{onValueChange:o=>c("product_type",o,{shouldDirty:!0,shouldValidate:!0}),value:C||void 0,children:[e.jsxDEV(r.SelectTrigger,{className:"w-[160px] h-9 text-xs",children:e.jsxDEV(r.SelectValue,{placeholder:"Select Type"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:843,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:842,columnNumber:17},this),e.jsxDEV(r.SelectContent,{children:[e.jsxDEV(r.SelectItem,{value:"physical",children:"Physical Product"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:846,columnNumber:19},this),e.jsxDEV(r.SelectItem,{value:"digital",children:"Digital Product"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:847,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:845,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:833,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:832,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:824,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-6",children:[e.jsxDEV("div",{className:"flex h-9 items-center gap-3",children:[e.jsxDEV("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider leading-none",children:"Payment Provider"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:855,columnNumber:15},this),e.jsxDEV(r.Badge,{variant:"outline",className:"text-xs py-1 font-bold bg-muted/30 leading-none",children:x?x==="stripe"?"Stripe":"Freemius":"—"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:856,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:854,columnNumber:13},this),x&&e.jsxDEV("div",{className:"flex h-9 items-center gap-2",children:xe&&Ne?e.jsxDEV("span",{className:"flex items-center gap-1.5 text-emerald-600 text-[10px] font-bold bg-emerald-50 px-2 py-1 rounded-full border border-emerald-100 uppercase leading-none",children:[e.jsxDEV(R.CheckCircle2,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:869,columnNumber:21},this),"Ready"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:868,columnNumber:19},this):e.jsxDEV("span",{className:"flex items-center gap-1.5 text-amber-600 text-[10px] font-bold bg-amber-50 px-2 py-1 rounded-full border border-amber-100 uppercase leading-none",children:[e.jsxDEV(R.AlertCircle,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:874,columnNumber:21},this),xe?"Keys Missing":"Disabled"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:873,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:866,columnNumber:15},this),!Ne&&x&&E[x].missing.length>0&&e.jsxDEV("a",{href:"/cms/payments",className:"hidden xl:flex h-9 items-center gap-1 text-[10px] text-muted-foreground bg-muted/50 px-2 py-1 rounded border border-dashed leading-none hover:text-foreground hover:border-solid",children:[e.jsxDEV(R.Info,{className:"h-3 w-3"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:886,columnNumber:17},this),"Missing: ",E[x].missing.join(", ")," — set up payments"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:882,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:853,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:823,columnNumber:9},this),e.jsxDEV(B,{title:"Product Information",hideHeader:!0,children:[t&&e.jsxDEV("div",{className:"flex items-center justify-between text-xs text-muted-foreground pb-2 border-b border-border/40 mb-2.5",children:[e.jsxDEV("span",{className:"font-semibold text-[11px] uppercase tracking-wider text-muted-foreground/80",children:"Product Settings"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:899,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 min-h-[16px]",children:we?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"relative flex h-2 w-2",children:[e.jsxDEV("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:904,columnNumber:23},this),e.jsxDEV("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-amber-500"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:905,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:903,columnNumber:21},this),e.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Autosaving settings..."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:907,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:902,columnNumber:19},this):le?e.jsxDEV("span",{className:"text-red-500 font-medium",children:["Error saving settings: ",le]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:910,columnNumber:19},this):me?e.jsxDEV("span",{className:"text-emerald-600 dark:text-emerald-400 font-medium",children:["Settings autosaved at ",me.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:912,columnNumber:19},this):e.jsxDEV("span",{className:"text-muted-foreground/60",children:"Settings autosave in draft mode"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:916,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:900,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:898,columnNumber:13},this),e.jsxDEV("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-2.5",children:[e.jsxDEV("div",{className:"col-span-2 space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Title"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:923,columnNumber:15},this),e.jsxDEV(r.Input,{id:"title",placeholder:"Product title",...n("title"),className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:924,columnNumber:15},this),p.title&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:p.title.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:925,columnNumber:32},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:922,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-2 space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"slug",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Slug"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:928,columnNumber:15},this),e.jsxDEV(r.Input,{id:"slug",placeholder:"product-slug",...n("slug"),className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:929,columnNumber:15},this),p.slug&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:p.slug.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:930,columnNumber:31},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:927,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"sku",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"SKU"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:933,columnNumber:15},this),e.jsxDEV(r.Input,{id:"sku",placeholder:"SKU",...n("sku"),className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:934,columnNumber:15},this),p.sku&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:p.sku.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:935,columnNumber:30},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:932,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"upc_ean",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"UPC / EAN"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:938,columnNumber:15},this),e.jsxDEV(r.Input,{id:"upc_ean",placeholder:"000000000",...n("upc"),className:"h-8 text-sm font-mono",readOnly:P},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:939,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:937,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:921,columnNumber:11},this),e.jsxDEV("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-12 gap-2.5 mt-2",children:[e.jsxDEV("div",{className:`${t?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsxDEV(r.Label,{htmlFor:"meta_title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Title"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:944,columnNumber:15},this),e.jsxDEV(r.Input,{id:"meta_title",...n("meta_title"),placeholder:"SEO page title (50-60 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:945,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:943,columnNumber:13},this),e.jsxDEV("div",{className:"lg:col-span-4 col-span-2 space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"meta_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Description"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:948,columnNumber:15},this),e.jsxDEV(r.Input,{id:"meta_description",...n("meta_description"),placeholder:"SEO description (150-160 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:949,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:947,columnNumber:13},this),e.jsxDEV("div",{className:`${t?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsxDEV(r.Label,{htmlFor:"custom_canonical",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Canonical URL (optional)"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:952,columnNumber:15},this),e.jsxDEV(r.Input,{id:"custom_canonical",...n("custom_canonical"),placeholder:"Blank = self-referencing. Absolute https://… URL or /relative path to override.",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:953,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:951,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:942,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:893,columnNumber:9},this),e.jsxDEV(B,{title:"Product Categories",description:"Assign this product to one or more categories.",children:e.jsxDEV(Xe.ProductCategorySelector,{categories:We,selectedIds:d("category_ids")||[],onChange:o=>c("category_ids",o,{shouldDirty:!0,shouldValidate:!0})},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:965,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:961,columnNumber:9},this),e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[D&&e.jsxDEV("div",{className:"flex items-center justify-between gap-4 flex-wrap border-b border-muted/50 pb-2",children:[e.jsxDEV("div",{className:"flex items-center gap-4",children:e.jsxDEV("div",{className:"space-y-0.5",children:[e.jsxDEV("h2",{className:"text-sm font-bold tracking-tight",children:"Pricing & Inventory"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:977,columnNumber:19},this),e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:"Manage simple or variant pricing."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:978,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:976,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:975,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2 bg-muted/40 rounded-md px-2.5 py-1.5",children:[e.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Stock"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:983,columnNumber:21},this),e.jsxDEV(r.Input,{id:"stock",type:"number",min:"0",...n("stock",{valueAsNumber:!0}),placeholder:"0",readOnly:P,className:`${Be} h-8 w-20 text-sm text-center font-mono bg-background`},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:984,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:982,columnNumber:19},this),P?e.jsxDEV(r.Badge,{variant:"secondary",className:"text-[11px] py-0 px-2 h-5",children:"Variant pricing"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:995,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:981,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:974,columnNumber:13},this),D?e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{className:"w-full",children:[e.jsxDEV(Fe.CurrencyPriceFields,{idPrefix:"product",currencies:a,prices:A.prices,salePrices:A.salePrices,managedCurrencyCodes:T,onPriceChange:De,onSalePriceChange:_e,onAutoFill:Pe,readOnly:P,helperText:P?"Parent prices stay as a fallback, but active variants define the live shopper price.":void 0,trailing:e.jsxDEV(ye.SaleScheduleFields,{idPrefix:"product",startAt:d("sale_start_at"),endAt:d("sale_end_at"),onChange:(o,i)=>c(o,i,{shouldDirty:!0,shouldValidate:!0}),error:p.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1019,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1003,columnNumber:17},this),p.price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:p.price.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1032,columnNumber:19},this),p.sale_price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:p.sale_price.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1035,columnNumber:19},this),p.stock&&e.jsxDEV("p",{className:"text-destructive text-[10px] font-medium leading-none mt-1",children:p.stock.message},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1038,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1002,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center justify-between gap-3 rounded border border-dashed p-2.5 bg-muted/5",children:[e.jsxDEV("span",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:P?"Variations Active":"Variations"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1043,columnNumber:17},this),e.jsxDEV(r.Button,{type:"button",variant:$?"outline":"default",onClick:()=>H(o=>!o),size:"sm",className:"h-7 text-xs px-3",children:$?"Hide":"Manage"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1044,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1042,columnNumber:15},this),$&&e.jsxDEV("div",{className:"border-t pt-3",children:e.jsxDEV(Je.VariationsEditor,{globalAttributes:F,currentLanguageCode:Te,baseSku:d("sku")||"",basePrice:y||0,basePrices:_,baseSalePrice:typeof S=="number"?S:null,baseSalePrices:V,currencies:a,availableVariantImages:Oe,initialVariationAttributes:s?.variation_attributes,initialVariants:Ae,onChange:Ue},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1057,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1056,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1001,columnNumber:13},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{className:"flex items-end gap-4 w-full",children:[e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(r.Label,{htmlFor:"freemius_product_id",className:"text-[11px] uppercase tracking-wider text-muted-foreground font-bold mb-1.5 block",children:"Freemius Product ID"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1081,columnNumber:19},this),e.jsxDEV(r.Input,{id:"freemius_product_id",...n("freemius_product_id"),className:"h-9"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1082,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1080,columnNumber:17},this),e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(r.Label,{htmlFor:"freemius_plan_id",className:"text-[11px] uppercase tracking-wider text-muted-foreground font-bold mb-1.5 block",children:"Freemius Plan ID"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1085,columnNumber:19},this),e.jsxDEV(r.Input,{id:"freemius_plan_id",...n("freemius_plan_id"),className:"h-9"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1086,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1084,columnNumber:17},this),Me?e.jsxDEV(He.SyncFreemiusPricingButton,{productId:d("freemius_product_id"),hasOpenDraft:Se},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1089,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1079,columnNumber:15},this),e.jsxDEV("div",{className:"bg-muted/10 border rounded-md overflow-hidden",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-6 bg-muted/20 border-b p-2.5 px-4",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Free Trial"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1099,columnNumber:21},this),e.jsxDEV(r.Badge,{variant:"outline",className:"font-mono text-xs shadow-sm bg-background",children:[String(d("trial_period_days")||0)," Days"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1100,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1098,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Card Required"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1103,columnNumber:21},this),e.jsxDEV(r.Badge,{variant:he?"default":"secondary",className:"text-xs shadow-sm",children:he?"Yes":"No"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1104,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1102,columnNumber:19},this),e.jsxDEV("span",{className:"text-[10px] text-muted-foreground ml-auto",children:"Managed in Freemius dashboard"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1108,columnNumber:19},this),e.jsxDEV("input",{type:"hidden",...n("trial_period_days",{valueAsNumber:!0})},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1112,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1097,columnNumber:17},this),e.jsxDEV("div",{className:"w-full p-4 pt-3 space-y-2",children:[e.jsxDEV(Fe.CurrencyPriceFields,{idPrefix:"product",currencies:a,prices:A.prices,salePrices:A.salePrices,managedCurrencyCodes:T,onPriceChange:De,onSalePriceChange:_e,onAutoFill:Pe,readOnly:!0,trailing:e.jsxDEV(ye.SaleScheduleFields,{idPrefix:"product",startAt:d("sale_start_at"),endAt:d("sale_end_at"),onChange:(o,i)=>c(o,i,{shouldDirty:!0,shouldValidate:!0}),error:p.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1127,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1116,columnNumber:19},this),e.jsxDEV("p",{className:"text-[10px] leading-snug text-muted-foreground",children:"Scheduling a sale on a Freemius product generates a time-bounded Freemius coupon so the discount is enforced at Freemius checkout."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1139,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1115,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1096,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1078,columnNumber:15},this),M&&e.jsxDEV("div",{className:"pt-2 border-t",children:M},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1147,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1077,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:972,columnNumber:9},this),e.jsxDEV(B,{title:"Product Description",hideHeader:!0,children:e.jsxDEV("div",{className:"space-y-2",children:e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV(r.Label,{htmlFor:"short_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Short Description"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1158,columnNumber:15},this),e.jsxDEV(r.Input,{id:"short_description",...n("short_description"),placeholder:"Brief summary for product cards...",className:"h-8 text-sm"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1159,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1157,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1156,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1155,columnNumber:9},this),e.jsxDEV(B,{title:"Media Gallery",description:"Drag to reorder. First image is the hero.",children:[e.jsxDEV($e.ProductMediaManager,{initialMedia:G,onUpdate:Re,mediaPickerNode:g},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1165,columnNumber:11},this),e.jsxDEV("input",{type:"hidden",...n("product_media")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1170,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1164,columnNumber:9},this),!t&&e.jsxDEV("div",{className:"rounded-lg border bg-card p-3 px-4 shadow-sm flex items-center justify-between gap-3 flex-wrap",children:[e.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"New products start as a draft. Publish it from the top bar once it's ready."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1175,columnNumber:13},this),e.jsxDEV(r.Button,{disabled:q,type:"submit",size:"sm",className:"h-8 text-sm px-5",children:q?"Saving...":"Save Changes"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1178,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1174,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:822,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:817,columnNumber:5},this)}exports.ProductForm=ss;
@@ -59,6 +59,12 @@ interface ProductFormProps {
59
59
  }>;
60
60
  /** Whether an unpublished draft is currently open for this product (drives the Freemius sync warning). */
61
61
  hasOpenDraft?: boolean;
62
+ /** Live notification for title or SEO metadata changes in the form. */
63
+ onSeoChange?: (values: {
64
+ title?: string | null;
65
+ meta_title?: string | null;
66
+ meta_description?: string | null;
67
+ }) => void;
62
68
  }
63
- export declare function ProductForm({ initialData, isEdit, mediaPickerNode, availableLanguagesProp, globalAttributesProp, currenciesProp, translationGroupId, targetLanguageId, freemiusDashboardNode, enabledProviders, configStatus, createAction, updateAction, availableCategoriesProp, hasOpenDraft }: ProductFormProps): import("react/jsx-runtime").JSX.Element;
69
+ export declare function ProductForm({ initialData, isEdit, mediaPickerNode, availableLanguagesProp, globalAttributesProp, currenciesProp, translationGroupId, targetLanguageId, freemiusDashboardNode, enabledProviders, configStatus, createAction, updateAction, availableCategoriesProp, hasOpenDraft, onSeoChange, }: ProductFormProps): React.JSX.Element;
64
70
  export {};