@nextblock-cms/ecom 0.16.2 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),p=require("@nextblock-cms/ui"),g=require("next/link"),x=require("./actions.cjs.js"),P=require("./components/ProductsBulkTable.cjs.js"),f=require("./components/SyncFreemiusButton.cjs.js"),t=require("./server-actions.cjs.js"),o=require("@nextblock-cms/db/server");async function N({searchParams:c,languageFilterNode:i,transferControlsNode:u}){const l=o.getServiceRoleSupabaseClient(),[n,{data:r}]=await Promise.all([o.getActiveLanguagesServerSide(),l.from("currencies").select("code, is_default").eq("is_active",!0).order("is_default",{ascending:!1}).order("code",{ascending:!0})]),d=c?.lang?parseInt(c.lang,10):void 0,{data:a}=await x.getProducts({languageId:d}),m=Object.fromEntries(n.map(s=>[String(s.id),s.code.toUpperCase()])),b=r?.find(s=>s.is_default)?.code||r?.[0]?.code||"USD";return e.jsxDEV("div",{className:"p-8 space-y-6",children:[e.jsxDEV("div",{className:"flex justify-between items-center",children:[e.jsxDEV("h1",{className:"text-3xl font-bold",children:"Products"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:45,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap items-center gap-4",children:[e.jsxDEV("div",{className:"h-10 w-[1px] bg-slate-200 dark:bg-slate-800 mx-2 hidden sm:block"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:47,columnNumber:11},this),u,i,e.jsxDEV(f.SyncFreemiusButton,{title:"Sync Full Store"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:50,columnNumber:11},this),e.jsxDEV(g,{href:"/cms/products/new",children:e.jsxDEV(p.Button,{children:"New Product"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:52,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:46,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:44,columnNumber:7},this),e.jsxDEV(P.ProductsBulkTable,{products:a||[],languageLabels:m,defaultCurrencyCode:b,deleteProductAction:t.deleteProductAction,bulkDeleteProductsAction:t.bulkDeleteProductsAction,bulkDraftProductsAction:t.bulkDraftProductsAction},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:57,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:43,columnNumber:5},this)}exports.ProductsPage=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-dev-runtime"),h=require("@nextblock-cms/ui"),S=require("next/link"),j=require("./actions.cjs.js"),_=require("./components/ProductsBulkTable.cjs.js"),y=require("./components/SyncFreemiusButton.cjs.js"),o=require("./server-actions.cjs.js"),d=require("@nextblock-cms/db/server"),a=require("@nextblock-cms/utils/seo");async function q({searchParams:r,languageFilterNode:m,transferControlsNode:b}){const i=d.getServiceRoleSupabaseClient(),[p,{data:u}]=await Promise.all([d.getActiveLanguagesServerSide(),i.from("currencies").select("code, is_default").eq("is_active",!0).order("is_default",{ascending:!1}).order("code",{ascending:!0})]),g=r?.lang?parseInt(r.lang,10):void 0,{data:f}=await j.getProducts({languageId:g}),l=f||[],n=l.map(e=>e.id),{data:P}=n.length>0?await i.from("blocks").select("id, product_id, block_type, content, order").in("product_id",n).order("order",{ascending:!0}):{data:[]},c=new Map;for(const e of P||[]){if(!e.product_id)continue;const s=c.get(e.product_id)||[];s.push(e),c.set(e.product_id,s)}const x=l.map(e=>{const s=c.get(e.id)||[],k=a.buildPageSeoDocument(s,{documentTitle:e.title,documentType:"product"}),v=a.auditSeo({document:k,metaTitle:e.meta_title??void 0,metaDescription:e.meta_description??void 0,scope:"page"});return{...e,seo_score:v.score}}),N=Object.fromEntries(p.map(e=>[String(e.id),e.code.toUpperCase()])),D=u?.find(e=>e.is_default)?.code||u?.[0]?.code||"USD";return t.jsxDEV("div",{className:"p-8 space-y-6",children:[t.jsxDEV("div",{className:"flex justify-between items-center",children:[t.jsxDEV("h1",{className:"text-3xl font-bold",children:"Products"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:83,columnNumber:9},this),t.jsxDEV("div",{className:"flex flex-wrap items-center gap-4",children:[t.jsxDEV("div",{className:"h-10 w-[1px] bg-slate-200 dark:bg-slate-800 mx-2 hidden sm:block"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:85,columnNumber:11},this),b,m,t.jsxDEV(y.SyncFreemiusButton,{title:"Sync Full Store"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:88,columnNumber:11},this),t.jsxDEV(S,{href:"/cms/products/new",children:t.jsxDEV(h.Button,{children:"New Product"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:90,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:89,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:82,columnNumber:7},this),t.jsxDEV(_.ProductsBulkTable,{products:x,languageLabels:N,defaultCurrencyCode:D,deleteProductAction:o.deleteProductAction,bulkDeleteProductsAction:o.bulkDeleteProductsAction,bulkDraftProductsAction:o.bulkDraftProductsAction},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:95,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",lineNumber:81,columnNumber:5},this)}exports.ProductsPage=q;
@@ -1,86 +1,107 @@
1
- import { jsxDEV as e } from "react/jsx-dev-runtime";
2
- import { Button as n } from "@nextblock-cms/ui";
3
- import b from "next/link";
4
- import { getProducts as p } from "./actions.es.js";
5
- import { ProductsBulkTable as f } from "./components/ProductsBulkTable.es.js";
6
- import { SyncFreemiusButton as g } from "./components/SyncFreemiusButton.es.js";
7
- import { bulkDraftProductsAction as N, bulkDeleteProductsAction as x, deleteProductAction as P } from "./server-actions.es.js";
8
- import { getServiceRoleSupabaseClient as h, getActiveLanguagesServerSide as v } from "@nextblock-cms/db/server";
9
- async function C({
10
- searchParams: t,
11
- languageFilterNode: o,
12
- transferControlsNode: r
1
+ import { jsxDEV as t } from "react/jsx-dev-runtime";
2
+ import { Button as h } from "@nextblock-cms/ui";
3
+ import k from "next/link";
4
+ import { getProducts as v } from "./actions.es.js";
5
+ import { ProductsBulkTable as D } from "./components/ProductsBulkTable.es.js";
6
+ import { SyncFreemiusButton as _ } from "./components/SyncFreemiusButton.es.js";
7
+ import { bulkDraftProductsAction as S, bulkDeleteProductsAction as w, deleteProductAction as W } from "./server-actions.es.js";
8
+ import { getServiceRoleSupabaseClient as y, getActiveLanguagesServerSide as I } from "@nextblock-cms/db/server";
9
+ import { buildPageSeoDocument as L, auditSeo as A } from "@nextblock-cms/utils/seo";
10
+ async function M({
11
+ searchParams: c,
12
+ languageFilterNode: n,
13
+ transferControlsNode: u
13
14
  }) {
14
- const i = h(), [l, { data: c }] = await Promise.all([
15
- v(),
16
- i.from("currencies").select("code, is_default").eq("is_active", !0).order("is_default", { ascending: !1 }).order("code", { ascending: !0 })
17
- ]), m = t?.lang ? parseInt(t.lang, 10) : void 0, { data: u } = await p({ languageId: m }), a = Object.fromEntries(
18
- l.map((s) => [String(s.id), s.code.toUpperCase()])
19
- ), d = c?.find((s) => s.is_default)?.code || c?.[0]?.code || "USD";
20
- return /* @__PURE__ */ e("div", { className: "p-8 space-y-6", children: [
21
- /* @__PURE__ */ e("div", { className: "flex justify-between items-center", children: [
22
- /* @__PURE__ */ e("h1", { className: "text-3xl font-bold", children: "Products" }, void 0, !1, {
15
+ const r = y(), [a, { data: i }] = await Promise.all([
16
+ I(),
17
+ r.from("currencies").select("code, is_default").eq("is_active", !0).order("is_default", { ascending: !1 }).order("code", { ascending: !0 })
18
+ ]), m = c?.lang ? parseInt(c.lang, 10) : void 0, { data: b } = await v({ languageId: m }), l = b || [], d = l.map((e) => e.id), { data: p } = d.length > 0 ? await r.from("blocks").select("id, product_id, block_type, content, order").in("product_id", d).order("order", { ascending: !0 }) : { data: [] }, o = /* @__PURE__ */ new Map();
19
+ for (const e of p || []) {
20
+ if (!e.product_id) continue;
21
+ const s = o.get(e.product_id) || [];
22
+ s.push(e), o.set(e.product_id, s);
23
+ }
24
+ const f = l.map((e) => {
25
+ const s = o.get(e.id) || [], P = L(s, {
26
+ documentTitle: e.title,
27
+ documentType: "product"
28
+ }), x = A({
29
+ document: P,
30
+ metaTitle: e.meta_title ?? void 0,
31
+ metaDescription: e.meta_description ?? void 0,
32
+ scope: "page"
33
+ });
34
+ return {
35
+ ...e,
36
+ seo_score: x.score
37
+ };
38
+ }), g = Object.fromEntries(
39
+ a.map((e) => [String(e.id), e.code.toUpperCase()])
40
+ ), N = i?.find((e) => e.is_default)?.code || i?.[0]?.code || "USD";
41
+ return /* @__PURE__ */ t("div", { className: "p-8 space-y-6", children: [
42
+ /* @__PURE__ */ t("div", { className: "flex justify-between items-center", children: [
43
+ /* @__PURE__ */ t("h1", { className: "text-3xl font-bold", children: "Products" }, void 0, !1, {
23
44
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
24
- lineNumber: 45,
45
+ lineNumber: 83,
25
46
  columnNumber: 9
26
47
  }, this),
27
- /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center gap-4", children: [
28
- /* @__PURE__ */ e("div", { className: "h-10 w-[1px] bg-slate-200 dark:bg-slate-800 mx-2 hidden sm:block" }, void 0, !1, {
48
+ /* @__PURE__ */ t("div", { className: "flex flex-wrap items-center gap-4", children: [
49
+ /* @__PURE__ */ t("div", { className: "h-10 w-[1px] bg-slate-200 dark:bg-slate-800 mx-2 hidden sm:block" }, void 0, !1, {
29
50
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
30
- lineNumber: 47,
51
+ lineNumber: 85,
31
52
  columnNumber: 11
32
53
  }, this),
33
- r,
34
- o,
35
- /* @__PURE__ */ e(g, { title: "Sync Full Store" }, void 0, !1, {
54
+ u,
55
+ n,
56
+ /* @__PURE__ */ t(_, { title: "Sync Full Store" }, void 0, !1, {
36
57
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
37
- lineNumber: 50,
58
+ lineNumber: 88,
38
59
  columnNumber: 11
39
60
  }, this),
40
- /* @__PURE__ */ e(b, { href: "/cms/products/new", children: /* @__PURE__ */ e(n, { children: "New Product" }, void 0, !1, {
61
+ /* @__PURE__ */ t(k, { href: "/cms/products/new", children: /* @__PURE__ */ t(h, { children: "New Product" }, void 0, !1, {
41
62
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
42
- lineNumber: 52,
63
+ lineNumber: 90,
43
64
  columnNumber: 13
44
65
  }, this) }, void 0, !1, {
45
66
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
46
- lineNumber: 51,
67
+ lineNumber: 89,
47
68
  columnNumber: 11
48
69
  }, this)
49
70
  ] }, void 0, !0, {
50
71
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
51
- lineNumber: 46,
72
+ lineNumber: 84,
52
73
  columnNumber: 9
53
74
  }, this)
54
75
  ] }, void 0, !0, {
55
76
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
56
- lineNumber: 44,
77
+ lineNumber: 82,
57
78
  columnNumber: 7
58
79
  }, this),
59
- /* @__PURE__ */ e(
60
- f,
80
+ /* @__PURE__ */ t(
81
+ D,
61
82
  {
62
- products: u || [],
63
- languageLabels: a,
64
- defaultCurrencyCode: d,
65
- deleteProductAction: P,
66
- bulkDeleteProductsAction: x,
67
- bulkDraftProductsAction: N
83
+ products: f,
84
+ languageLabels: g,
85
+ defaultCurrencyCode: N,
86
+ deleteProductAction: W,
87
+ bulkDeleteProductsAction: w,
88
+ bulkDraftProductsAction: S
68
89
  },
69
90
  void 0,
70
91
  !1,
71
92
  {
72
93
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
73
- lineNumber: 57,
94
+ lineNumber: 95,
74
95
  columnNumber: 7
75
96
  },
76
97
  this
77
98
  )
78
99
  ] }, void 0, !0, {
79
100
  fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/ProductsPage.tsx",
80
- lineNumber: 43,
101
+ lineNumber: 81,
81
102
  columnNumber: 5
82
103
  }, this);
83
104
  }
84
105
  export {
85
- C as ProductsPage
106
+ M as ProductsPage
86
107
  };
@@ -7,6 +7,8 @@ export declare function getProducts(options?: {
7
7
  data: never[] | {
8
8
  id: string;
9
9
  title: string;
10
+ meta_title: string | null;
11
+ meta_description: string | null;
10
12
  average_rating: number;
11
13
  total_reviews: number;
12
14
  sku: string;
@@ -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: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: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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:129,columnNumber:15},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:126,columnNumber:11},this),g]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:125,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:135,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:123,columnNumber:5},this)}function Qe(s,t,g){const p=t?Number.parseInt(t,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 je(s,t,g,p,F){const j=(p.find(v=>v.is_default)??p[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||{}}))||[]},p),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:p,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),d=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(()=>d.find(o=>o.is_default)??d[0],[d]),T=l.useMemo(()=>O.getStoreManagedPriceCurrencyCodes(d),[d]),te=Ke.useForm({resolver:ze.zodResolver(Le.productSchema),defaultValues:je(s,w,p,d,j)}),{register:n,handleSubmit:J,setValue:c,reset:re,watch:u,setError:X,formState:{errors:b,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=u(),ne=te.formState.isDirty,ue=W.title,de=W.meta_title,ae=W.meta_description;l.useEffect(()=>{oe?.({title:ue,meta_title:de,meta_description:ae})},[ue,de,ae,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 pe=u("title"),C=u("product_type"),x=C==="digital"?"freemius":C==="physical"?"stripe":void 0,D=C==="physical",be=C==="digital",xe=x?I[x]:!1,Ne=x?E[x].hasKeys:!1,Me=!!u("freemius_product_id"),fe=Number(u("trial_period_days")||0),he=!!u("trial_requires_payment_method"),Ie=u("variants")||[],y=u("price"),S=u("sale_price"),_=u("prices")||{},V=u("sale_prices")||{},P=(Ie?.length||0)>0,qe=u("language_id"),Te=p.find(o=>o.id===qe)?.code||p.find(o=>o.is_default)?.code||p[0]?.code,A=l.useMemo(()=>O.resolveEditorCurrencyPriceMaps({currencies:d,prices:_,salePrices:V,fallbackPrice:y,fallbackSalePrice:S}),[y,S,d,_,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(pe);c("slug",o,{shouldValidate:!0})}},[pe,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,p,d,j)),ge(Ee(s?.product_media)),ve(new Set),H(!!s?.variants?.length)},[p,d,s,re,w,j]);const Re=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)}),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(!be){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})},[be,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 a={..._,[o]:i};c("prices",a,{shouldDirty:!0,shouldValidate:!0}),o===m?.code&&c("price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,_,c]),_e=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]),Pe=l.useCallback(()=>{if(!m)return;const o=new Set(T),i=_[m.code]??y??0,a=V[m.code]??S??null,N=d.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:d,applyRounding:!0});return k[f.code]=U.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=Ve.convertMinorUnitAmount({amount:U.majorUnitAmountToMinor(a,m.code),fromCurrencyCode:m.code,toCurrencyCode:f.code,currencies:d,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})},[d,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)),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=O.sanitizeProductFormValuesForStoreManagedCurrencies(a,d);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 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.",X("slug",{type:"manual",message:a})):(N.includes("products_sku_key")||N.includes("sku"))&&(a="This SKU is already in use.",X("sku",{type:"manual",message:a}))}t?Z(a):alert(a)}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-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:826,columnNumber:15},this),b.product_type&&e.jsxDEV(R.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:828,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:843,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:847,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:845,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:833,columnNumber:15},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:832,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:856,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:869,columnNumber:21},this),"Ready"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:873,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:882,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:853,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:905,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:907,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:916,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:900,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:924,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:925,columnNumber:32},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:929,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:930,columnNumber:31},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:934,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:935,columnNumber:30},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:939,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:937,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:945,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:949,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:953,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:951,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:942,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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: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:965,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:978,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:976,columnNumber:17},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:984,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:995,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:981,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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:d,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: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:1019,columnNumber:21},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1003,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:1032,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:1035,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:1038,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1044,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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:u("sku")||"",basePrice:y||0,basePrices:_,baseSalePrice:typeof S=="number"?S:null,baseSalePrices:V,currencies:d,availableVariantImages:Oe,initialVariationAttributes:s?.variation_attributes,initialVariants:Ae,onChange:Ue},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1057,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1056,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1082,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1086,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1084,columnNumber:17},this),Me?e.jsxDEV(He.SyncFreemiusPricingButton,{productId:u("freemius_product_id"),hasOpenDraft:Se},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1089,columnNumber:19},this):null]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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(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:1100,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1104,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1112,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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:d,prices:A.prices,salePrices:A.salePrices,managedCurrencyCodes:T,onPriceChange:De,onSalePriceChange:_e,onAutoFill:Pe,readOnly:!0,trailing:e.jsxDEV(ye.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:1127,columnNumber:23},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1139,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1115,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1096,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1147,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1077,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1159,columnNumber:15},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1157,columnNumber:13},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1156,columnNumber:11},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1170,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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-production/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-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1178,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1174,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:822,columnNumber:7},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/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): import("react/jsx-runtime").JSX.Element;
64
70
  export {};