@nextblock-cms/ecom 0.13.4 → 0.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.es.js +31 -27
  3. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  4. package/lib/components/AccountNavigationMenu.es.js +53 -26
  5. package/lib/components/AddToCartButton.cjs.js +1 -1
  6. package/lib/components/AddToCartButton.es.js +49 -25
  7. package/lib/components/Cart.cjs.js +1 -1
  8. package/lib/components/Cart.es.js +367 -115
  9. package/lib/components/CartDrawer.cjs.js +1 -1
  10. package/lib/components/CartDrawer.es.js +272 -88
  11. package/lib/components/CartIcon.cjs.js +1 -1
  12. package/lib/components/CartIcon.es.js +44 -16
  13. package/lib/components/Checkout.cjs.js +1 -1
  14. package/lib/components/Checkout.es.js +1601 -694
  15. package/lib/components/CouponForm.cjs.js +1 -1
  16. package/lib/components/CouponForm.es.js +160 -96
  17. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  18. package/lib/components/CurrencySwitcher.es.js +32 -12
  19. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  20. package/lib/components/CustomerProfileForm.es.js +666 -250
  21. package/lib/components/FeaturedProduct.cjs.js +1 -1
  22. package/lib/components/FeaturedProduct.es.js +126 -42
  23. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  24. package/lib/components/FreemiusLicensePanel.es.js +125 -45
  25. package/lib/components/InvoiceDocument.cjs.js +1 -1
  26. package/lib/components/InvoiceDocument.es.js +485 -146
  27. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  28. package/lib/components/InvoiceViewerShell.es.js +142 -54
  29. package/lib/components/ProductCard.cjs.js +1 -1
  30. package/lib/components/ProductCard.es.js +224 -81
  31. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  32. package/lib/components/ProductDetailsLayout.es.js +629 -275
  33. package/lib/components/ProductGallery.cjs.js +1 -1
  34. package/lib/components/ProductGallery.es.js +64 -21
  35. package/lib/components/ProductGrid.cjs.js +1 -1
  36. package/lib/components/ProductGrid.es.js +28 -12
  37. package/lib/components/ShippingEstimator.cjs.js +1 -1
  38. package/lib/components/ShippingEstimator.es.js +226 -90
  39. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  40. package/lib/components/SimpleTiptapRenderer.es.js +286 -93
  41. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  42. package/lib/components/SubscriptionSelector.es.js +168 -92
  43. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  44. package/lib/pages/cms/coupons/CouponEditorForm.es.js +370 -110
  45. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  46. package/lib/pages/cms/coupons/CouponsPage.es.js +368 -116
  47. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  48. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +61 -25
  49. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  50. package/lib/pages/cms/coupons/EditCouponPage.es.js +71 -35
  51. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  52. package/lib/pages/cms/coupons/ProductScopePicker.es.js +167 -72
  53. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  54. package/lib/pages/cms/orders/ExportReportsDialog.es.js +247 -87
  55. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  56. package/lib/pages/cms/orders/OrderDetailPage.es.js +283 -95
  57. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  58. package/lib/pages/cms/orders/OrderPrintButton.es.js +21 -9
  59. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  60. package/lib/pages/cms/orders/OrderStatusForm.es.js +106 -46
  61. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  62. package/lib/pages/cms/orders/OrdersPage.es.js +257 -78
  63. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  64. package/lib/pages/cms/payments/PaymentsClient.es.js +551 -155
  65. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  66. package/lib/pages/cms/payments/PaymentsPage.es.js +24 -16
  67. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  68. package/lib/pages/cms/products/ProductsPage.es.js +77 -37
  69. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  70. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +176 -96
  71. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  72. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +85 -41
  73. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  74. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +455 -192
  75. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  76. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +72 -28
  77. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  78. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +490 -183
  79. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  80. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +175 -67
  81. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  82. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +211 -100
  83. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  84. package/lib/pages/cms/products/components/DeleteProductButton.es.js +45 -25
  85. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  86. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +202 -58
  87. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  88. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +234 -88
  89. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  90. package/lib/pages/cms/products/components/ProductForm.es.js +1199 -551
  91. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  92. package/lib/pages/cms/products/components/ProductMediaManager.es.js +154 -63
  93. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  94. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +391 -144
  95. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  96. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +203 -87
  97. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  98. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +30 -18
  99. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  100. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +35 -23
  101. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  102. package/lib/pages/cms/products/components/VariationsEditor.es.js +492 -261
  103. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  104. package/lib/pages/cms/products/inventory/InventoryPage.es.js +33 -13
  105. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  106. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +365 -145
  107. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  108. package/lib/pages/cms/products/new/NewProductPage.es.js +46 -34
  109. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  110. package/lib/pages/cms/shipping/ShippingPage.es.js +507 -155
  111. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  112. package/lib/pages/cms/shipping/components/RateForm.es.js +717 -334
  113. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  114. package/lib/pages/cms/shipping/components/ZoneForm.es.js +392 -158
  115. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  116. package/lib/pages/cms/taxes/TaxesPage.es.js +448 -120
  117. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  118. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +159 -55
  119. package/lib/product-context.cjs.js +1 -1
  120. package/lib/product-context.es.js +14 -10
  121. package/package.json +4 -4
@@ -1,160 +1,306 @@
1
1
  'use client';
2
- import { jsxs as a, jsx as r } from "react/jsx-runtime";
3
- import { useState as c, useEffect as P, useMemo as u } from "react";
4
- import { X as $, ChevronsUpDown as O, Search as Q, Loader2 as T, Check as q } from "lucide-react";
5
- import { cn as A } from "@nextblock-cms/utils";
6
- import { Badge as B, Popover as R, PopoverTrigger as z, Button as w, PopoverContent as D, Input as E, Checkbox as F } from "@nextblock-cms/ui";
7
- import { createCategoryAction as M } from "../server-actions.es.js";
8
- import { toast as h } from "sonner";
9
- function W({
2
+ import { jsxDEV as s } from "react/jsx-dev-runtime";
3
+ import { useState as i, useEffect as D, useMemo as u } from "react";
4
+ import { X as w, ChevronsUpDown as U, Search as L, Loader2 as $, Check as O } from "lucide-react";
5
+ import { cn as Q } from "@nextblock-cms/utils";
6
+ import { Badge as T, Popover as q, PopoverTrigger as A, Button as C, PopoverContent as B, Input as E, Checkbox as R } from "@nextblock-cms/ui";
7
+ import { createCategoryAction as z } from "../server-actions.es.js";
8
+ import { toast as d } from "sonner";
9
+ function K({
10
10
  categories: m = [],
11
11
  selectedIds: o = [],
12
- onChange: d,
13
- placeholder: N = "Select categories..."
12
+ onChange: a,
13
+ placeholder: k = "Select categories..."
14
14
  }) {
15
- const [f, C] = c(!1), [l, p] = c(""), [n, g] = c(m), [x, b] = c(!1);
16
- P(() => {
15
+ const [b, y] = i(!1), [n, p] = i(""), [t, g] = i(m), [f, N] = i(!1);
16
+ D(() => {
17
17
  g(m);
18
18
  }, [m]);
19
- const y = u(() => n.filter((e) => o.includes(e.id)), [n, o]), v = u(() => {
20
- if (!l) return n;
21
- const e = l.toLowerCase();
22
- return n.filter(
23
- (t) => t.name.toLowerCase().includes(e) || t.slug.toLowerCase().includes(e)
19
+ const x = u(() => t.filter((e) => o.includes(e.id)), [t, o]), h = u(() => {
20
+ if (!n) return t;
21
+ const e = n.toLowerCase();
22
+ return t.filter(
23
+ (r) => r.name.toLowerCase().includes(e) || r.slug.toLowerCase().includes(e)
24
24
  );
25
- }, [n, l]), s = l.trim(), k = u(() => {
26
- if (!s) return !1;
27
- const e = s.toLowerCase();
28
- return !n.some((t) => t.name.toLowerCase() === e);
29
- }, [n, s]), L = async () => {
30
- if (s) {
31
- b(!0);
25
+ }, [t, n]), c = n.trim(), v = u(() => {
26
+ if (!c) return !1;
27
+ const e = c.toLowerCase();
28
+ return !t.some((r) => r.name.toLowerCase() === e);
29
+ }, [t, c]), S = async () => {
30
+ if (c) {
31
+ N(!0);
32
32
  try {
33
- const e = await M({ name: s });
33
+ const e = await z({ name: c });
34
34
  if (e.success && e.category) {
35
- const t = {
35
+ const r = {
36
36
  id: e.category.id,
37
37
  name: e.category.name,
38
38
  slug: e.category.slug
39
39
  };
40
- g((i) => [...i, t]), d([...o, t.id]), p(""), h.success(`Category "${t.name}" created successfully.`);
40
+ g((l) => [...l, r]), a([...o, r.id]), p(""), d.success(`Category "${r.name}" created successfully.`);
41
41
  } else
42
- h.error(e.error || "Failed to create category.");
42
+ d.error(e.error || "Failed to create category.");
43
43
  } catch (e) {
44
- h.error(e.message || "An error occurred while creating category.");
44
+ d.error(e.message || "An error occurred while creating category.");
45
45
  } finally {
46
- b(!1);
46
+ N(!1);
47
47
  }
48
48
  }
49
49
  }, j = (e) => {
50
- const t = o.includes(e) ? o.filter((i) => i !== e) : [...o, e];
51
- d(t);
52
- }, S = (e, t) => {
53
- t.stopPropagation(), d(o.filter((i) => i !== e));
50
+ const r = o.includes(e) ? o.filter((l) => l !== e) : [...o, e];
51
+ a(r);
52
+ }, P = (e, r) => {
53
+ r.stopPropagation(), a(o.filter((l) => l !== e));
54
54
  };
55
- return /* @__PURE__ */ a("div", { className: "space-y-2", children: [
56
- /* @__PURE__ */ r("div", { className: "flex flex-wrap gap-1.5 min-h-[32px] p-1 border rounded-md bg-background focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2", children: y.length === 0 ? /* @__PURE__ */ r("span", { className: "text-xs text-muted-foreground self-center px-2 py-1 select-none", children: "No categories selected." }) : y.map((e) => /* @__PURE__ */ a(
57
- B,
55
+ return /* @__PURE__ */ s("div", { className: "space-y-2", children: [
56
+ /* @__PURE__ */ s("div", { className: "flex flex-wrap gap-1.5 min-h-[32px] p-1 border rounded-md bg-background focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2", children: x.length === 0 ? /* @__PURE__ */ s("span", { className: "text-xs text-muted-foreground self-center px-2 py-1 select-none", children: "No categories selected." }, void 0, !1, {
57
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
58
+ lineNumber: 108,
59
+ columnNumber: 11
60
+ }, this) : x.map((e) => /* @__PURE__ */ s(
61
+ T,
58
62
  {
59
63
  variant: "secondary",
60
64
  className: "pl-2 pr-1.5 py-0.5 text-xs flex items-center gap-1 bg-amber-500/10 text-amber-800 dark:text-amber-300 border border-amber-500/20 rounded-full",
61
65
  children: [
62
66
  e.name,
63
- /* @__PURE__ */ r(
67
+ /* @__PURE__ */ s(
64
68
  "button",
65
69
  {
66
70
  type: "button",
67
- onClick: (t) => S(e.id, t),
71
+ onClick: (r) => P(e.id, r),
68
72
  className: "rounded-full p-0.5 text-muted-foreground hover:bg-amber-500/20 hover:text-amber-950 dark:hover:text-amber-50 transition-colors cursor-pointer",
69
73
  "aria-label": `Remove ${e.name}`,
70
- children: /* @__PURE__ */ r($, { className: "h-3 w-3" })
71
- }
74
+ children: /* @__PURE__ */ s(w, { className: "h-3 w-3" }, void 0, !1, {
75
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
76
+ lineNumber: 125,
77
+ columnNumber: 17
78
+ }, this)
79
+ },
80
+ void 0,
81
+ !1,
82
+ {
83
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
84
+ lineNumber: 119,
85
+ columnNumber: 15
86
+ },
87
+ this
72
88
  )
73
89
  ]
74
90
  },
75
- e.id
76
- )) }),
77
- /* @__PURE__ */ a(R, { open: f, onOpenChange: C, children: [
78
- /* @__PURE__ */ r(z, { asChild: !0, children: /* @__PURE__ */ a(
79
- w,
91
+ e.id,
92
+ !0,
93
+ {
94
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
95
+ lineNumber: 113,
96
+ columnNumber: 13
97
+ },
98
+ this
99
+ )) }, void 0, !1, {
100
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
101
+ lineNumber: 106,
102
+ columnNumber: 7
103
+ }, this),
104
+ /* @__PURE__ */ s(q, { open: b, onOpenChange: y, children: [
105
+ /* @__PURE__ */ s(A, { asChild: !0, children: /* @__PURE__ */ s(
106
+ C,
80
107
  {
81
108
  variant: "outline",
82
109
  role: "combobox",
83
- "aria-expanded": f,
110
+ "aria-expanded": b,
84
111
  className: "w-full justify-between h-8 text-xs font-normal",
85
112
  children: [
86
- /* @__PURE__ */ r("span", { className: "truncate", children: o.length > 0 ? `${o.length} categor${o.length === 1 ? "y" : "ies"} selected` : N }),
87
- /* @__PURE__ */ r(O, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
113
+ /* @__PURE__ */ s("span", { className: "truncate", children: o.length > 0 ? `${o.length} categor${o.length === 1 ? "y" : "ies"} selected` : k }, void 0, !1, {
114
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
115
+ lineNumber: 140,
116
+ columnNumber: 13
117
+ }, this),
118
+ /* @__PURE__ */ s(U, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }, void 0, !1, {
119
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
120
+ lineNumber: 145,
121
+ columnNumber: 13
122
+ }, this)
88
123
  ]
89
- }
90
- ) }),
91
- /* @__PURE__ */ a(D, { className: "w-[--radix-popover-trigger-width] p-0", align: "start", children: [
92
- /* @__PURE__ */ a("div", { className: "flex items-center border-b px-3", children: [
93
- /* @__PURE__ */ r(Q, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
94
- /* @__PURE__ */ r(
124
+ },
125
+ void 0,
126
+ !0,
127
+ {
128
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
129
+ lineNumber: 134,
130
+ columnNumber: 11
131
+ },
132
+ this
133
+ ) }, void 0, !1, {
134
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
135
+ lineNumber: 133,
136
+ columnNumber: 9
137
+ }, this),
138
+ /* @__PURE__ */ s(B, { className: "w-[--radix-popover-trigger-width] p-0", align: "start", children: [
139
+ /* @__PURE__ */ s("div", { className: "flex items-center border-b px-3", children: [
140
+ /* @__PURE__ */ s(L, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }, void 0, !1, {
141
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
142
+ lineNumber: 150,
143
+ columnNumber: 13
144
+ }, this),
145
+ /* @__PURE__ */ s(
95
146
  E,
96
147
  {
97
148
  className: "flex h-9 w-full rounded-md bg-transparent py-2 text-xs outline-none border-0 focus-visible:ring-0 focus-visible:ring-offset-0",
98
149
  placeholder: "Search categories...",
99
- value: l,
150
+ value: n,
100
151
  onChange: (e) => p(e.target.value)
101
- }
152
+ },
153
+ void 0,
154
+ !1,
155
+ {
156
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
157
+ lineNumber: 151,
158
+ columnNumber: 13
159
+ },
160
+ this
102
161
  )
103
- ] }),
104
- k && /* @__PURE__ */ r("div", { className: "border-b border-border/50 p-1", children: /* @__PURE__ */ a(
105
- w,
162
+ ] }, void 0, !0, {
163
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
164
+ lineNumber: 149,
165
+ columnNumber: 11
166
+ }, this),
167
+ v && /* @__PURE__ */ s("div", { className: "border-b border-border/50 p-1", children: /* @__PURE__ */ s(
168
+ C,
106
169
  {
107
170
  type: "button",
108
171
  variant: "ghost",
109
172
  size: "sm",
110
173
  className: "w-full justify-start text-xs h-8 text-amber-600 dark:text-amber-400 hover:text-amber-700 hover:bg-amber-500/10 cursor-pointer",
111
- onClick: L,
112
- disabled: x,
174
+ onClick: S,
175
+ disabled: f,
113
176
  children: [
114
- x ? /* @__PURE__ */ r(T, { className: "mr-2 h-3 w-3 animate-spin" }) : /* @__PURE__ */ r("span", { className: "font-bold mr-1.5", children: "+" }),
177
+ f ? /* @__PURE__ */ s($, { className: "mr-2 h-3 w-3 animate-spin" }, void 0, !1, {
178
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
179
+ lineNumber: 169,
180
+ columnNumber: 19
181
+ }, this) : /* @__PURE__ */ s("span", { className: "font-bold mr-1.5", children: "+" }, void 0, !1, {
182
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
183
+ lineNumber: 171,
184
+ columnNumber: 19
185
+ }, this),
115
186
  'Create category "',
116
- s,
187
+ c,
117
188
  '"'
118
189
  ]
119
- }
120
- ) }),
121
- /* @__PURE__ */ r("div", { className: "max-h-60 overflow-y-auto p-1", children: v.length === 0 ? /* @__PURE__ */ r("p", { className: "py-4 text-center text-xs text-muted-foreground", children: "No categories found." }) : /* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: v.map((e) => {
122
- const t = o.includes(e.id);
123
- return /* @__PURE__ */ a(
190
+ },
191
+ void 0,
192
+ !0,
193
+ {
194
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
195
+ lineNumber: 160,
196
+ columnNumber: 15
197
+ },
198
+ this
199
+ ) }, void 0, !1, {
200
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
201
+ lineNumber: 159,
202
+ columnNumber: 13
203
+ }, this),
204
+ /* @__PURE__ */ s("div", { className: "max-h-60 overflow-y-auto p-1", children: h.length === 0 ? /* @__PURE__ */ s("p", { className: "py-4 text-center text-xs text-muted-foreground", children: "No categories found." }, void 0, !1, {
205
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
206
+ lineNumber: 179,
207
+ columnNumber: 15
208
+ }, this) : /* @__PURE__ */ s("div", { className: "flex flex-col gap-0.5", children: h.map((e) => {
209
+ const r = o.includes(e.id);
210
+ return /* @__PURE__ */ s(
124
211
  "div",
125
212
  {
126
213
  onClick: () => j(e.id),
127
- className: A(
214
+ className: Q(
128
215
  "relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-xs outline-none hover:bg-accent hover:text-accent-foreground text-left transition-colors",
129
- t && "bg-accent/40 font-medium"
216
+ r && "bg-accent/40 font-medium"
130
217
  ),
131
218
  children: [
132
- /* @__PURE__ */ r("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center pointer-events-none", children: /* @__PURE__ */ r(
133
- F,
219
+ /* @__PURE__ */ s("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center pointer-events-none", children: /* @__PURE__ */ s(
220
+ R,
134
221
  {
135
- checked: t,
222
+ checked: r,
136
223
  tabIndex: -1,
137
224
  "aria-label": `Toggle ${e.name}`,
138
225
  className: "h-3.5 w-3.5"
139
- }
140
- ) }),
141
- /* @__PURE__ */ a("span", { className: "flex flex-col", children: [
142
- /* @__PURE__ */ r("span", { children: e.name }),
143
- /* @__PURE__ */ a("span", { className: "font-mono text-[9px] text-muted-foreground leading-none", children: [
226
+ },
227
+ void 0,
228
+ !1,
229
+ {
230
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
231
+ lineNumber: 196,
232
+ columnNumber: 25
233
+ },
234
+ this
235
+ ) }, void 0, !1, {
236
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
237
+ lineNumber: 195,
238
+ columnNumber: 23
239
+ }, this),
240
+ /* @__PURE__ */ s("span", { className: "flex flex-col", children: [
241
+ /* @__PURE__ */ s("span", { children: e.name }, void 0, !1, {
242
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
243
+ lineNumber: 204,
244
+ columnNumber: 25
245
+ }, this),
246
+ /* @__PURE__ */ s("span", { className: "font-mono text-[9px] text-muted-foreground leading-none", children: [
144
247
  "/",
145
248
  e.slug
146
- ] })
147
- ] }),
148
- t && /* @__PURE__ */ r("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ r(q, { className: "h-3.5 w-3.5 text-primary" }) })
249
+ ] }, void 0, !0, {
250
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
251
+ lineNumber: 205,
252
+ columnNumber: 25
253
+ }, this)
254
+ ] }, void 0, !0, {
255
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
256
+ lineNumber: 203,
257
+ columnNumber: 23
258
+ }, this),
259
+ r && /* @__PURE__ */ s("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ s(O, { className: "h-3.5 w-3.5 text-primary" }, void 0, !1, {
260
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
261
+ lineNumber: 211,
262
+ columnNumber: 27
263
+ }, this) }, void 0, !1, {
264
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
265
+ lineNumber: 210,
266
+ columnNumber: 25
267
+ }, this)
149
268
  ]
150
269
  },
151
- e.id
270
+ e.id,
271
+ !0,
272
+ {
273
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
274
+ lineNumber: 187,
275
+ columnNumber: 21
276
+ },
277
+ this
152
278
  );
153
- }) }) })
154
- ] })
155
- ] })
156
- ] });
279
+ }) }, void 0, !1, {
280
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
281
+ lineNumber: 183,
282
+ columnNumber: 15
283
+ }, this) }, void 0, !1, {
284
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
285
+ lineNumber: 177,
286
+ columnNumber: 11
287
+ }, this)
288
+ ] }, void 0, !0, {
289
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
290
+ lineNumber: 148,
291
+ columnNumber: 9
292
+ }, this)
293
+ ] }, void 0, !0, {
294
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
295
+ lineNumber: 132,
296
+ columnNumber: 7
297
+ }, this)
298
+ ] }, void 0, !0, {
299
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductCategorySelector.tsx",
300
+ lineNumber: 105,
301
+ columnNumber: 5
302
+ }, this);
157
303
  }
158
304
  export {
159
- W as ProductCategorySelector
305
+ K as ProductCategorySelector
160
306
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),Ee=require("@hookform/resolvers/zod"),L=require("lucide-react"),r=require("@nextblock-cms/ui"),Oe=require("../../../../product-schema.cjs.js"),ze=require("react-hook-form"),Le=require("./ProductMediaManager.cjs.js"),Ke=require("./SyncFreemiusPricingButton.cjs.js"),$e=require("./VariationsEditor.cjs.js"),je=require("./CurrencyPriceFields.cjs.js"),ve=require("./SaleScheduleFields.cjs.js"),He=require("./ProductCategorySelector.cjs.js"),H=require("../product-price-sync.cjs.js"),Je=require("../../../../types.cjs.js"),Ne=require("../../../../currency.cjs.js"),K=require("@nextblock-cms/utils");function $({title:s,description:a,action:y,children:h,hideHeader:P}){return e.jsxs("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[!P&&e.jsxs("div",{className:"flex items-start justify-between gap-4 flex-wrap border-b border-muted/50 pb-2 mb-1",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h2",{className:"text-sm font-bold tracking-tight",children:s}),a?e.jsx("p",{className:"text-[11px] text-muted-foreground leading-none",children:a}):null]}),y]}),e.jsx("div",{className:P?"":"pt-1",children:h})]})}function Xe(s,a,y){const h=a?Number.parseInt(a,10):void 0;return s?.language_id||(Number.isFinite(h)?h:void 0)||y.find(P=>P.is_default)?.id||y[0]?.id||1}function Se(s,a,y,h,P){const k=(h.find(b=>b.is_default)??h[0])?.code||"USD",V=s?.prices&&Object.keys(s.prices).length>0?s.prices:{[k]:typeof s?.price=="number"?s.price/100:0},A=s?.sale_prices&&Object.keys(s.sale_prices).length>0?s.sale_prices:typeof s?.sale_price=="number"?{[k]:s.sale_price/100}:{},q=s?.product_type||"",F=s?.payment_provider||(s?.product_type?Je.derivePaymentProviderFromProductType(s.product_type):"stripe");return{...H.sanitizeProductFormValuesForStoreManagedCurrencies({product_type:q||"physical",payment_provider:F,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:V,sale_price:typeof s?.sale_price=="number"?s.sale_price/100:null,sale_prices:A,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:Xe(s,a,y),translation_group_id:s?.translation_group_id||P||void 0,product_media:s?.product_media?.map(b=>({media_id:b.media_id}))||[],category_ids:s?.category_ids||[],variation_attributes:s?.variation_attributes||[],variants:s?.variants?.map(b=>({...b,prices:b.prices||{},sale_prices:b.sale_prices||{}}))||[]},h),product_type:q,payment_provider:F}}function Pe(s){return s?s.map(a=>({id:a.id||a.media_id,media_id:a.media_id,file_path:a.media?.file_path||a.media?.object_key||"",alt:a.media?.alt_text||"",sort_order:a.sort_order??0})).sort((a,y)=>a.sort_order-y.sort_order):[]}function Ye(s){return s.map(a=>({media_id:a.media_id}))}function Qe(s){return s.map(a=>({media_id:a.media_id,file_path:a.file_path,alt:a.alt}))}const We=s=>s.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"");function Ze({initialData:s,isEdit:a=!1,mediaPickerNode:y,availableLanguagesProp:h,globalAttributesProp:P,currenciesProp:J,translationGroupId:k,targetLanguageId:V,freemiusDashboardNode:A,enabledProviders:q,configStatus:F,createAction:X,updateAction:b,availableCategoriesProp:we=[],hasOpenDraft:Ce=!1}){const[T,R]=l.useState(!1),[Y,Q]=l.useState(()=>!!s?.variants?.length),u=l.useMemo(()=>J.filter(t=>t.is_active!==!1).sort((t,d)=>t.is_default!==d.is_default?t.is_default?-1:1:t.code.localeCompare(d.code)),[J]),n=l.useMemo(()=>u.find(t=>t.is_default)??u[0],[u]),U=l.useMemo(()=>H.getStoreManagedPriceCurrencyCodes(u),[u]),ae=ze.useForm({resolver:Ee.zodResolver(Oe.productSchema),defaultValues:Se(s,V,h,u,k)}),{register:o,handleSubmit:W,setValue:i,reset:ie,watch:c,setError:B,formState:{errors:g,dirtyFields:de}}=ae,le=l.useRef(!0),Z=l.useRef(null),[ke,E]=l.useState(!1),[ce,O]=l.useState(null),[ne,Fe]=l.useState(null),G=c(),oe=ae.formState.isDirty;l.useEffect(()=>{if(!a)return;if(le.current){le.current=!1,Z.current=JSON.stringify(G);return}if(!oe)return;const t=JSON.stringify(G);if(t===Z.current)return;const d=setTimeout(()=>{T||(Z.current=t,W(be)())},400);return()=>clearTimeout(d)},[G,a,oe,T,W]);const ue=c("title"),I=c("product_type"),x=I==="digital"?"freemius":I==="physical"?"stripe":void 0,j=I==="physical",pe=I==="digital",D=x?q[x]:!1,ee=x?F[x].hasKeys:!1,Me=!!c("freemius_product_id"),me=Number(c("trial_period_days")||0),xe=!!c("trial_requires_payment_method"),Ve=c("variants")||[],w=c("price"),M=c("sale_price"),v=c("prices")||{},C=c("sale_prices")||{},N=(Ve?.length||0)>0,Ie=c("language_id"),Ae=h.find(t=>t.id===Ie)?.code||h.find(t=>t.is_default)?.code||h[0]?.code,z=l.useMemo(()=>H.resolveEditorCurrencyPriceMaps({currencies:u,prices:v,salePrices:C,fallbackPrice:w,fallbackSalePrice:M}),[w,M,u,v,C]),qe=l.useMemo(()=>s?.variants?.map(t=>({...t,prices:t.prices||{},sale_prices:t.sale_prices||{}})),[s?.variants]);l.useEffect(()=>{if(de.title&&!a){const t=We(ue);i("slug",t,{shouldValidate:!0})}},[ue,de.title,i,a]);const[se,he]=l.useState(()=>Pe(s?.product_media)),[te,ge]=l.useState(new Set);l.useEffect(()=>{ie(Se(s,V,h,u,k)),he(Pe(s?.product_media)),ge(new Set),Q(!!s?.variants?.length)},[h,u,s,ie,V,k]);const Te=t=>{const d=new Set(t.map(m=>m.id)),p=se.filter(m=>!d.has(m.id)),f=new Set(te);p.forEach(m=>{m.media_id&&f.add(m.media_id)}),ge(f),he(t),i("product_media",Ye(t),{shouldDirty:!0}),i("explicitly_removed_media_ids",Array.from(f),{shouldDirty:!0})};l.useEffect(()=>{i("explicitly_removed_media_ids",Array.from(te))},[te,i]),l.useEffect(()=>{N&&Q(!0)},[N]),l.useEffect(()=>{o("is_taxable"),o("price"),o("sale_price"),o("payment_provider"),o("trial_requires_payment_method")},[o]),l.useEffect(()=>{if(!pe){i("trial_period_days",0,{shouldDirty:!1,shouldValidate:!0}),i("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0});return}me<=0&&i("trial_requires_payment_method",!1,{shouldDirty:!1,shouldValidate:!0})},[pe,i,me]),l.useEffect(()=>{x&&i("payment_provider",x,{shouldDirty:!1,shouldValidate:!0})},[x,i]),l.useEffect(()=>{n&&v[n.code]===void 0&&i("prices",{...v,[n.code]:w||0},{shouldDirty:!1})},[w,n,v,i]);const fe=l.useCallback((t,d)=>{const p={...v,[t]:d};i("prices",p,{shouldDirty:!0,shouldValidate:!0}),t===n?.code&&i("price",d,{shouldDirty:!0,shouldValidate:!0})},[n?.code,v,i]),_e=l.useCallback((t,d)=>{const p={...C,[t]:d};i("sale_prices",p,{shouldDirty:!0,shouldValidate:!0}),t===n?.code&&i("sale_price",d,{shouldDirty:!0,shouldValidate:!0})},[n?.code,C,i]),ye=l.useCallback(()=>{if(!n)return;const t=new Set(U),d=v[n.code]??w??0,p=C[n.code]??M??null,f=u.reduce((S,_)=>{if(_.code!==n.code&&t.has(_.code))return S;const re=Ne.convertMinorUnitAmount({amount:K.majorUnitAmountToMinor(d,n.code),fromCurrencyCode:n.code,toCurrencyCode:_.code,currencies:u,applyRounding:!0});return S[_.code]=K.minorUnitAmountToMajor(re,_.code),S},{}),m=u.reduce((S,_)=>{if(_.code!==n.code&&t.has(_.code))return S;if(typeof p!="number")return(_.code===n.code||!t.has(_.code))&&(S[_.code]=null),S;const re=Ne.convertMinorUnitAmount({amount:K.majorUnitAmountToMinor(p,n.code),fromCurrencyCode:n.code,toCurrencyCode:_.code,currencies:u,applyRounding:!0});return S[_.code]=K.minorUnitAmountToMajor(re,_.code),S},{});i("prices",f,{shouldDirty:!0,shouldValidate:!0}),i("sale_prices",m,{shouldDirty:!0,shouldValidate:!0}),i("price",f[n.code]??d,{shouldDirty:!0,shouldValidate:!0}),i("sale_price",m[n.code]??null,{shouldDirty:!0,shouldValidate:!0})},[u,n,v,C,i,U,w,M]),Re=l.useCallback(({variationAttributes:t,variants:d})=>{i("variation_attributes",t,{shouldDirty:!0}),i("variants",d,{shouldDirty:!0,shouldValidate:!0})},[i]),be=async t=>{R(!0),E(!0),O(null);try{if(!x){const m="Select whether this product is physical or digital before saving.";B("product_type",{type:"manual",message:m}),a?O(m):alert(m),R(!1),E(!1);return}if(t.status==="active"&&(!D||!ee)){const m=`${x==="stripe"?"Stripe":"Freemius"} must be enabled and fully configured before this product can be published.`;B("product_type",{type:"manual",message:m}),a?O(m):alert(m),R(!1),E(!1);return}const d=j?0:Math.max(0,Number(t.trial_period_days||0)),p={...t,product_type:t.product_type,payment_provider:x,freemius_product_id:j?"":t.freemius_product_id,freemius_plan_id:j?"":t.freemius_plan_id,trial_period_days:d,trial_requires_payment_method:!j&&d>0?t.trial_requires_payment_method:!1,upc:j?t.upc:null,is_taxable:j?t.is_taxable:!1,variation_attributes:j?t.variation_attributes:[],variants:j?t.variants:[]},f=H.sanitizeProductFormValuesForStoreManagedCurrencies(p,u);if(a&&b)await b(f),Fe(new Date);else if(X)await X(f);else throw new Error("Product form action is not configured.")}catch(d){if(console.error(d),d.message==="NEXT_REDIRECT")return;let p=d.message||"An error occurred while saving.";if(d.code==="23505"){const f=d.message?.toLowerCase()||"";f.includes("products_slug_key")||f.includes("slug")?(p="This slug is already in use. Please choose another one.",B("slug",{type:"manual",message:p})):(f.includes("products_sku_key")||f.includes("sku"))&&(p="This SKU is already in use.",B("sku",{type:"manual",message:p}))}a?O(p):alert(p)}finally{R(!1),E(!1)}},Ue=N?"bg-muted/60 text-muted-foreground opacity-70":"",Be=Qe(se);return e.jsxs("form",{onSubmit:W(be),className:"space-y-2.5 pb-4",children:[e.jsx("input",{type:"hidden",...o("translation_group_id")}),e.jsx("input",{type:"hidden",...o("payment_provider")}),e.jsxs("div",{className:"space-y-2.5 w-full",children:[e.jsxs("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.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("div",{className:"flex h-9 items-center gap-2",children:[e.jsx("span",{className:"text-sm font-bold whitespace-nowrap leading-none pt-0.5",children:"Product Type"}),g.product_type&&e.jsx(L.AlertCircle,{className:"h-4 w-4 text-destructive"})]}),e.jsx("div",{className:"flex h-9 items-center",children:e.jsxs(r.Select,{onValueChange:t=>i("product_type",t,{shouldDirty:!0,shouldValidate:!0}),value:I||void 0,children:[e.jsx(r.SelectTrigger,{className:"w-[160px] h-9 text-xs",children:e.jsx(r.SelectValue,{placeholder:"Select Type"})}),e.jsxs(r.SelectContent,{children:[e.jsx(r.SelectItem,{value:"physical",children:"Physical Product"}),e.jsx(r.SelectItem,{value:"digital",children:"Digital Product"})]})]})})]}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("div",{className:"flex h-9 items-center gap-3",children:[e.jsx("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider leading-none",children:"Payment Provider"}),e.jsx(r.Badge,{variant:"outline",className:"text-xs py-1 font-bold bg-muted/30 leading-none",children:x?x==="stripe"?"Stripe":"Freemius":"—"})]}),x&&e.jsx("div",{className:"flex h-9 items-center gap-2",children:D&&ee?e.jsxs("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.jsx(L.CheckCircle2,{className:"h-3 w-3"}),"Ready"]}):e.jsxs("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.jsx(L.AlertCircle,{className:"h-3 w-3"}),D?"Keys Missing":"Disabled"]})}),!ee&&x&&F[x].missing.length>0&&e.jsxs("div",{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",children:[e.jsx(L.Info,{className:"h-3 w-3"}),"Missing: ",F[x].missing.join(", ")]})]})]}),e.jsxs($,{title:"Product Information",hideHeader:!0,children:[a&&e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground pb-2 border-b border-border/40 mb-2.5",children:[e.jsx("span",{className:"font-semibold text-[11px] uppercase tracking-wider text-muted-foreground/80",children:"Product Settings"}),e.jsx("div",{className:"flex items-center gap-1.5 min-h-[16px]",children:ke?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative flex h-2 w-2",children:[e.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-amber-500"})]}),e.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Autosaving settings..."})]}):ce?e.jsxs("span",{className:"text-red-500 font-medium",children:["Error saving settings: ",ce]}):ne?e.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 font-medium",children:["Settings autosaved at ",ne.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})]}):e.jsx("span",{className:"text-muted-foreground/60",children:"Settings autosave in draft mode"})})]}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-2.5",children:[e.jsxs("div",{className:"col-span-2 space-y-1",children:[e.jsx(r.Label,{htmlFor:"title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Title"}),e.jsx(r.Input,{id:"title",placeholder:"Product title",...o("title"),className:"h-8 text-sm"}),g.title&&e.jsx("p",{className:"text-destructive text-[11px] leading-none",children:g.title.message})]}),e.jsxs("div",{className:"col-span-2 space-y-1",children:[e.jsx(r.Label,{htmlFor:"slug",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Slug"}),e.jsx(r.Input,{id:"slug",placeholder:"product-slug",...o("slug"),className:"h-8 text-sm"}),g.slug&&e.jsx("p",{className:"text-destructive text-[11px] leading-none",children:g.slug.message})]}),e.jsxs("div",{className:"col-span-1 space-y-1",children:[e.jsx(r.Label,{htmlFor:"sku",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"SKU"}),e.jsx(r.Input,{id:"sku",placeholder:"SKU",...o("sku"),className:"h-8 text-sm font-mono"}),g.sku&&e.jsx("p",{className:"text-destructive text-[11px] leading-none",children:g.sku.message})]}),e.jsxs("div",{className:"col-span-1 space-y-1",children:[e.jsx(r.Label,{htmlFor:"upc_ean",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"UPC / EAN"}),e.jsx(r.Input,{id:"upc_ean",placeholder:"000000000",...o("upc"),className:"h-8 text-sm font-mono",readOnly:N})]})]}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-12 gap-2.5 mt-2",children:[e.jsxs("div",{className:`${a?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsx(r.Label,{htmlFor:"meta_title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Title"}),e.jsx(r.Input,{id:"meta_title",...o("meta_title"),placeholder:"SEO page title (50-60 chars)",className:"h-8 text-sm"})]}),e.jsxs("div",{className:"lg:col-span-4 col-span-2 space-y-1",children:[e.jsx(r.Label,{htmlFor:"meta_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Description"}),e.jsx(r.Input,{id:"meta_description",...o("meta_description"),placeholder:"SEO description (150-160 chars)",className:"h-8 text-sm"})]}),e.jsxs("div",{className:`${a?"lg:col-span-3":"lg:col-span-4"} col-span-2 space-y-1`,children:[e.jsx(r.Label,{htmlFor:"custom_canonical",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Canonical URL (optional)"}),e.jsx(r.Input,{id:"custom_canonical",...o("custom_canonical"),placeholder:"Blank = self-referencing. Absolute https://… URL or /relative path to override.",className:"h-8 text-sm"})]}),a&&e.jsxs("div",{className:"lg:col-span-2 col-span-2 space-y-1",children:[e.jsx(r.Label,{htmlFor:"status",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Status"}),e.jsxs(r.Select,{onValueChange:t=>i("status",t,{shouldDirty:!0}),value:c("status"),children:[e.jsx(r.SelectTrigger,{className:"h-8 text-xs",children:e.jsx(r.SelectValue,{placeholder:"Status"})}),e.jsxs(r.SelectContent,{children:[e.jsx(r.SelectItem,{value:"draft",children:"Draft"}),e.jsx(r.SelectItem,{value:"active",children:"Active"}),e.jsx(r.SelectItem,{value:"archived",children:"Archived"})]})]})]})]})]}),e.jsx($,{title:"Product Categories",description:"Assign this product to one or more categories.",children:e.jsx(He.ProductCategorySelector,{categories:we,selectedIds:c("category_ids")||[],onChange:t=>i("category_ids",t,{shouldDirty:!0,shouldValidate:!0})})}),e.jsxs("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[j&&e.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap border-b border-muted/50 pb-2",children:[e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h2",{className:"text-sm font-bold tracking-tight",children:"Pricing & Inventory"}),e.jsx("p",{className:"text-[11px] text-muted-foreground leading-none",children:"Manage simple or variant pricing."})]})}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 bg-muted/40 rounded-md px-2.5 py-1.5",children:[e.jsx("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Stock"}),e.jsx(r.Input,{id:"stock",type:"number",min:"0",...o("stock",{valueAsNumber:!0}),placeholder:"0",readOnly:N,className:`${Ue} h-8 w-20 text-sm text-center font-mono bg-background`})]}),N?e.jsx(r.Badge,{variant:"secondary",className:"text-[11px] py-0 px-2 h-5",children:"Variant pricing"}):null]})]}),j?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"w-full",children:[e.jsx(je.CurrencyPriceFields,{idPrefix:"product",currencies:u,prices:z.prices,salePrices:z.salePrices,managedCurrencyCodes:U,onPriceChange:fe,onSalePriceChange:_e,onAutoFill:ye,readOnly:N,helperText:N?"Parent prices stay as a fallback, but active variants define the live shopper price.":void 0,trailing:e.jsx(ve.SaleScheduleFields,{idPrefix:"product",startAt:c("sale_start_at"),endAt:c("sale_end_at"),onChange:(t,d)=>i(t,d,{shouldDirty:!0,shouldValidate:!0}),error:g.sale_end_at?.message,bare:!0})}),g.price&&e.jsx("p",{className:"text-destructive text-sm mt-1",children:g.price.message}),g.sale_price&&e.jsx("p",{className:"text-destructive text-sm mt-1",children:g.sale_price.message}),g.stock&&e.jsx("p",{className:"text-destructive text-[10px] font-medium leading-none mt-1",children:g.stock.message})]}),e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded border border-dashed p-2.5 bg-muted/5",children:[e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:N?"Variations Active":"Variations"}),e.jsx(r.Button,{type:"button",variant:Y?"outline":"default",onClick:()=>Q(t=>!t),size:"sm",className:"h-7 text-xs px-3",children:Y?"Hide":"Manage"})]}),Y&&e.jsx("div",{className:"border-t pt-3",children:e.jsx($e.VariationsEditor,{globalAttributes:P,currentLanguageCode:Ae,baseSku:c("sku")||"",basePrice:w||0,basePrices:v,baseSalePrice:typeof M=="number"?M:null,baseSalePrices:C,currencies:u,availableVariantImages:Be,initialVariationAttributes:s?.variation_attributes,initialVariants:qe,onChange:Re})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-end gap-4 w-full",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx(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"}),e.jsx(r.Input,{id:"freemius_product_id",...o("freemius_product_id"),className:"h-9"})]}),e.jsxs("div",{className:"flex-1",children:[e.jsx(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"}),e.jsx(r.Input,{id:"freemius_plan_id",...o("freemius_plan_id"),className:"h-9"})]}),Me?e.jsx(Ke.SyncFreemiusPricingButton,{productId:c("freemius_product_id"),hasOpenDraft:Ce}):null]}),e.jsxs("div",{className:"bg-muted/10 border rounded-md overflow-hidden",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-6 bg-muted/20 border-b p-2.5 px-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Free Trial"}),e.jsxs(r.Badge,{variant:"outline",className:"font-mono text-xs shadow-sm bg-background",children:[String(c("trial_period_days")||0)," Days"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-wider text-muted-foreground",children:"Card Required"}),e.jsx(r.Badge,{variant:xe?"default":"secondary",className:"text-xs shadow-sm",children:xe?"Yes":"No"})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:"Managed in Freemius dashboard"}),e.jsx("input",{type:"hidden",...o("trial_period_days",{valueAsNumber:!0})})]}),e.jsxs("div",{className:"w-full p-4 pt-3 space-y-2",children:[e.jsx(je.CurrencyPriceFields,{idPrefix:"product",currencies:u,prices:z.prices,salePrices:z.salePrices,managedCurrencyCodes:U,onPriceChange:fe,onSalePriceChange:_e,onAutoFill:ye,readOnly:!0,trailing:e.jsx(ve.SaleScheduleFields,{idPrefix:"product",startAt:c("sale_start_at"),endAt:c("sale_end_at"),onChange:(t,d)=>i(t,d,{shouldDirty:!0,shouldValidate:!0}),error:g.sale_end_at?.message,bare:!0})}),e.jsx("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."})]})]})]}),A&&e.jsx("div",{className:"pt-2 border-t",children:A})]})]}),e.jsx($,{title:"Product Description",hideHeader:!0,children:e.jsx("div",{className:"space-y-2",children:e.jsxs("div",{className:"space-y-1",children:[e.jsx(r.Label,{htmlFor:"short_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Short Description"}),e.jsx(r.Input,{id:"short_description",...o("short_description"),placeholder:"Brief summary for product cards...",className:"h-8 text-sm"})]})})}),e.jsxs($,{title:"Media Gallery",description:"Drag to reorder. First image is the hero.",children:[e.jsx(Le.ProductMediaManager,{initialMedia:se,onUpdate:Te,mediaPickerNode:y}),e.jsx("input",{type:"hidden",...o("product_media")})]}),!a&&e.jsxs("div",{className:"rounded-lg border bg-card p-3 px-4 shadow-sm flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Status"}),e.jsxs(r.Select,{onValueChange:t=>i("status",t),value:c("status"),children:[e.jsx(r.SelectTrigger,{className:"h-8 w-[110px] text-sm",children:e.jsx(r.SelectValue,{placeholder:"Status"})}),e.jsxs(r.SelectContent,{children:[e.jsx(r.SelectItem,{value:"draft",children:"Draft"}),e.jsx(r.SelectItem,{value:"active",children:"Active"}),e.jsx(r.SelectItem,{value:"archived",children:"Archived"})]})]})]}),e.jsx(r.Button,{disabled:T,type:"submit",size:"sm",className:"h-8 text-sm px-5",children:T?"Saving...":"Save Changes"})]})]})]})}exports.ProductForm=Ze;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),n=require("react"),Re=require("@hookform/resolvers/zod"),z=require("lucide-react"),o=require("@nextblock-cms/ui"),Be=require("../../../../product-schema.cjs.js"),Oe=require("react-hook-form"),ze=require("./ProductMediaManager.cjs.js"),Le=require("./SyncFreemiusPricingButton.cjs.js"),Ke=require("./VariationsEditor.cjs.js"),je=require("./CurrencyPriceFields.cjs.js"),ve=require("./SaleScheduleFields.cjs.js"),$e=require("./ProductCategorySelector.cjs.js"),$=require("../product-price-sync.cjs.js"),He=require("../../../../types.cjs.js"),De=require("../../../../currency.cjs.js"),L=require("@nextblock-cms/utils");function K({title:s,description:t,action:g,children:x,hideHeader:_}){return e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[!_&&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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:121,columnNumber:13},this),t?e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:t},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:123,columnNumber:15},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:120,columnNumber:11},this),g]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:119,columnNumber:9},this),e.jsxDEV("div",{className:_?"":"pt-1",children:x},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:129,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:117,columnNumber:5},this)}function Je(s,t,g){const x=t?Number.parseInt(t,10):void 0;return s?.language_id||(Number.isFinite(x)?x:void 0)||g.find(_=>_.is_default)?.id||g[0]?.id||1}function Pe(s,t,g,x,_){const V=(x.find(k=>k.is_default)??x[0])?.code||"USD",E=s?.prices&&Object.keys(s.prices).length>0?s.prices:{[V]:typeof s?.price=="number"?s.price/100:0},w=s?.sale_prices&&Object.keys(s.sale_prices).length>0?s.sale_prices:typeof s?.sale_price=="number"?{[V]:s.sale_price/100}:{},M=s?.product_type||"",y=s?.payment_provider||(s?.product_type?He.derivePaymentProviderFromProductType(s.product_type):"stripe");return{...$.sanitizeProductFormValuesForStoreManagedCurrencies({product_type:M||"physical",payment_provider:y,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:E,sale_price:typeof s?.sale_price=="number"?s.sale_price/100:null,sale_prices:w,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:Je(s,t,g),translation_group_id:s?.translation_group_id||_||void 0,product_media:s?.product_media?.map(k=>({media_id:k.media_id}))||[],category_ids:s?.category_ids||[],variation_attributes:s?.variation_attributes||[],variants:s?.variants?.map(k=>({...k,prices:k.prices||{},sale_prices:k.sale_prices||{}}))||[]},x),product_type:M,payment_provider:y}}function _e(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 Xe(s){return s.map(t=>({media_id:t.media_id}))}function Ye(s){return s.map(t=>({media_id:t.media_id,file_path:t.file_path,alt:t.alt}))}const Qe=s=>s.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"");function We({initialData:s,isEdit:t=!1,mediaPickerNode:g,availableLanguagesProp:x,globalAttributesProp:_,currenciesProp:H,translationGroupId:V,targetLanguageId:E,freemiusDashboardNode:w,enabledProviders:M,configStatus:y,createAction:J,updateAction:k,availableCategoriesProp:Ce=[],hasOpenDraft:Fe=!1}){const[I,A]=n.useState(!1),[X,Y]=n.useState(()=>!!s?.variants?.length),a=n.useMemo(()=>H.filter(r=>r.is_active!==!1).sort((r,i)=>r.is_default!==i.is_default?r.is_default?-1:1:r.code.localeCompare(i.code)),[H]),m=n.useMemo(()=>a.find(r=>r.is_default)??a[0],[a]),q=n.useMemo(()=>$.getStoreManagedPriceCurrencyCodes(a),[a]),te=Oe.useForm({resolver:Re.zodResolver(Be.productSchema),defaultValues:Pe(s,E,x,a,V)}),{register:d,handleSubmit:Q,setValue:c,reset:ce,watch:l,setError:T,formState:{errors:N,dirtyFields:ie}}=te,ne=n.useRef(!0),W=n.useRef(null),[Ve,R]=n.useState(!1),[le,B]=n.useState(null),[me,ye]=n.useState(null),Z=l(),de=te.formState.isDirty;n.useEffect(()=>{if(!t)return;if(ne.current){ne.current=!1,W.current=JSON.stringify(Z);return}if(!de)return;const r=JSON.stringify(Z);if(r===W.current)return;const i=setTimeout(()=>{I||(W.current=r,Q(ke)())},400);return()=>clearTimeout(i)},[Z,t,de,I,Q]);const ae=l("title"),S=l("product_type"),b=S==="digital"?"freemius":S==="physical"?"stripe":void 0,j=S==="physical",ue=S==="digital",G=b?M[b]:!1,ee=b?y[b].hasKeys:!1,Ue=!!l("freemius_product_id"),pe=Number(l("trial_period_days")||0),be=!!l("trial_requires_payment_method"),Ee=l("variants")||[],C=l("price"),U=l("sale_price"),v=l("prices")||{},F=l("sale_prices")||{},D=(Ee?.length||0)>0,Se=l("language_id"),we=x.find(r=>r.id===Se)?.code||x.find(r=>r.is_default)?.code||x[0]?.code,O=n.useMemo(()=>$.resolveEditorCurrencyPriceMaps({currencies:a,prices:v,salePrices:F,fallbackPrice:C,fallbackSalePrice:U}),[C,U,a,v,F]),Me=n.useMemo(()=>s?.variants?.map(r=>({...r,prices:r.prices||{},sale_prices:r.sale_prices||{}})),[s?.variants]);n.useEffect(()=>{if(ie.title&&!t){const r=Qe(ae);c("slug",r,{shouldValidate:!0})}},[ae,ie.title,c,t]);const[se,xe]=n.useState(()=>_e(s?.product_media)),[re,Ne]=n.useState(new Set);n.useEffect(()=>{ce(Pe(s,E,x,a,V)),xe(_e(s?.product_media)),Ne(new Set),Y(!!s?.variants?.length)},[x,a,s,ce,E,V]);const Ie=r=>{const i=new Set(r.map(p=>p.id)),u=se.filter(p=>!i.has(p.id)),f=new Set(re);u.forEach(p=>{p.media_id&&f.add(p.media_id)}),Ne(f),xe(r),c("product_media",Xe(r),{shouldDirty:!0}),c("explicitly_removed_media_ids",Array.from(f),{shouldDirty:!0})};n.useEffect(()=>{c("explicitly_removed_media_ids",Array.from(re))},[re,c]),n.useEffect(()=>{D&&Y(!0)},[D]),n.useEffect(()=>{d("is_taxable"),d("price"),d("sale_price"),d("payment_provider"),d("trial_requires_payment_method")},[d]),n.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]),n.useEffect(()=>{b&&c("payment_provider",b,{shouldDirty:!1,shouldValidate:!0})},[b,c]),n.useEffect(()=>{m&&v[m.code]===void 0&&c("prices",{...v,[m.code]:C||0},{shouldDirty:!1})},[C,m,v,c]);const fe=n.useCallback((r,i)=>{const u={...v,[r]:i};c("prices",u,{shouldDirty:!0,shouldValidate:!0}),r===m?.code&&c("price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,v,c]),he=n.useCallback((r,i)=>{const u={...F,[r]:i};c("sale_prices",u,{shouldDirty:!0,shouldValidate:!0}),r===m?.code&&c("sale_price",i,{shouldDirty:!0,shouldValidate:!0})},[m?.code,F,c]),ge=n.useCallback(()=>{if(!m)return;const r=new Set(q),i=v[m.code]??C??0,u=F[m.code]??U??null,f=a.reduce((P,h)=>{if(h.code!==m.code&&r.has(h.code))return P;const oe=De.convertMinorUnitAmount({amount:L.majorUnitAmountToMinor(i,m.code),fromCurrencyCode:m.code,toCurrencyCode:h.code,currencies:a,applyRounding:!0});return P[h.code]=L.minorUnitAmountToMajor(oe,h.code),P},{}),p=a.reduce((P,h)=>{if(h.code!==m.code&&r.has(h.code))return P;if(typeof u!="number")return(h.code===m.code||!r.has(h.code))&&(P[h.code]=null),P;const oe=De.convertMinorUnitAmount({amount:L.majorUnitAmountToMinor(u,m.code),fromCurrencyCode:m.code,toCurrencyCode:h.code,currencies:a,applyRounding:!0});return P[h.code]=L.minorUnitAmountToMajor(oe,h.code),P},{});c("prices",f,{shouldDirty:!0,shouldValidate:!0}),c("sale_prices",p,{shouldDirty:!0,shouldValidate:!0}),c("price",f[m.code]??i,{shouldDirty:!0,shouldValidate:!0}),c("sale_price",p[m.code]??null,{shouldDirty:!0,shouldValidate:!0})},[a,m,v,F,c,q,C,U]),Ae=n.useCallback(({variationAttributes:r,variants:i})=>{c("variation_attributes",r,{shouldDirty:!0}),c("variants",i,{shouldDirty:!0,shouldValidate:!0})},[c]),ke=async r=>{A(!0),R(!0),B(null);try{if(!b){const p="Select whether this product is physical or digital before saving.";T("product_type",{type:"manual",message:p}),t?B(p):alert(p),A(!1),R(!1);return}if(r.status==="active"&&(!G||!ee)){const p=`${b==="stripe"?"Stripe":"Freemius"} must be enabled and fully configured before this product can be published.`;T("product_type",{type:"manual",message:p}),t?B(p):alert(p),A(!1),R(!1);return}const i=j?0:Math.max(0,Number(r.trial_period_days||0)),u={...r,product_type:r.product_type,payment_provider:b,freemius_product_id:j?"":r.freemius_product_id,freemius_plan_id:j?"":r.freemius_plan_id,trial_period_days:i,trial_requires_payment_method:!j&&i>0?r.trial_requires_payment_method:!1,upc:j?r.upc:null,is_taxable:j?r.is_taxable:!1,variation_attributes:j?r.variation_attributes:[],variants:j?r.variants:[]},f=$.sanitizeProductFormValuesForStoreManagedCurrencies(u,a);if(t&&k)await k(f),ye(new Date);else if(J)await J(f);else throw new Error("Product form action is not configured.")}catch(i){if(console.error(i),i.message==="NEXT_REDIRECT")return;let u=i.message||"An error occurred while saving.";if(i.code==="23505"){const f=i.message?.toLowerCase()||"";f.includes("products_slug_key")||f.includes("slug")?(u="This slug is already in use. Please choose another one.",T("slug",{type:"manual",message:u})):(f.includes("products_sku_key")||f.includes("sku"))&&(u="This SKU is already in use.",T("sku",{type:"manual",message:u}))}t?B(u):alert(u)}finally{A(!1),R(!1)}},qe=D?"bg-muted/60 text-muted-foreground opacity-70":"",Te=Ye(se);return e.jsxDEV("form",{onSubmit:Q(ke),className:"space-y-2.5 pb-4",children:[e.jsxDEV("input",{type:"hidden",...d("translation_group_id")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:811,columnNumber:7},this),e.jsxDEV("input",{type:"hidden",...d("payment_provider")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:812,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:818,columnNumber:15},this),N.product_type&&e.jsxDEV(z.AlertCircle,{className:"h-4 w-4 text-destructive"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:820,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:817,columnNumber:13},this),e.jsxDEV("div",{className:"flex h-9 items-center",children:e.jsxDEV(o.Select,{onValueChange:r=>c("product_type",r,{shouldDirty:!0,shouldValidate:!0}),value:S||void 0,children:[e.jsxDEV(o.SelectTrigger,{className:"w-[160px] h-9 text-xs",children:e.jsxDEV(o.SelectValue,{placeholder:"Select Type"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:835,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:834,columnNumber:17},this),e.jsxDEV(o.SelectContent,{children:[e.jsxDEV(o.SelectItem,{value:"physical",children:"Physical Product"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:838,columnNumber:19},this),e.jsxDEV(o.SelectItem,{value:"digital",children:"Digital Product"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:839,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:837,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:825,columnNumber:15},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:824,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:816,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:847,columnNumber:15},this),e.jsxDEV(o.Badge,{variant:"outline",className:"text-xs py-1 font-bold bg-muted/30 leading-none",children:b?b==="stripe"?"Stripe":"Freemius":"—"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:848,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:846,columnNumber:13},this),b&&e.jsxDEV("div",{className:"flex h-9 items-center gap-2",children:G&&ee?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(z.CheckCircle2,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:861,columnNumber:21},this),"Ready"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:860,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(z.AlertCircle,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:866,columnNumber:21},this),G?"Keys Missing":"Disabled"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:865,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:858,columnNumber:15},this),!ee&&b&&y[b].missing.length>0&&e.jsxDEV("div",{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",children:[e.jsxDEV(z.Info,{className:"h-3 w-3"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:875,columnNumber:17},this),"Missing: ",y[b].missing.join(", ")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:874,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:845,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:815,columnNumber:9},this),e.jsxDEV(K,{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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:888,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 min-h-[16px]",children:Ve?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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:893,columnNumber:23},this),e.jsxDEV("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-amber-500"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:894,columnNumber:23},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:892,columnNumber:21},this),e.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Autosaving settings..."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:896,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:891,columnNumber:19},this):le?e.jsxDEV("span",{className:"text-red-500 font-medium",children:["Error saving settings: ",le]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:899,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:901,columnNumber:19},this):e.jsxDEV("span",{className:"text-muted-foreground/60",children:"Settings autosave in draft mode"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:905,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:889,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:887,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(o.Label,{htmlFor:"title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Title"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:912,columnNumber:15},this),e.jsxDEV(o.Input,{id:"title",placeholder:"Product title",...d("title"),className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:913,columnNumber:15},this),N.title&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:N.title.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:914,columnNumber:32},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:911,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-2 space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"slug",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Slug"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:917,columnNumber:15},this),e.jsxDEV(o.Input,{id:"slug",placeholder:"product-slug",...d("slug"),className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:918,columnNumber:15},this),N.slug&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:N.slug.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:919,columnNumber:31},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:916,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"sku",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"SKU"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:922,columnNumber:15},this),e.jsxDEV(o.Input,{id:"sku",placeholder:"SKU",...d("sku"),className:"h-8 text-sm font-mono"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:923,columnNumber:15},this),N.sku&&e.jsxDEV("p",{className:"text-destructive text-[11px] leading-none",children:N.sku.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:924,columnNumber:30},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:921,columnNumber:13},this),e.jsxDEV("div",{className:"col-span-1 space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"upc_ean",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"UPC / EAN"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:927,columnNumber:15},this),e.jsxDEV(o.Input,{id:"upc_ean",placeholder:"000000000",...d("upc"),className:"h-8 text-sm font-mono",readOnly:D},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:928,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:926,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:910,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(o.Label,{htmlFor:"meta_title",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Title"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:933,columnNumber:15},this),e.jsxDEV(o.Input,{id:"meta_title",...d("meta_title"),placeholder:"SEO page title (50-60 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:934,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:932,columnNumber:13},this),e.jsxDEV("div",{className:"lg:col-span-4 col-span-2 space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"meta_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Meta Description"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:937,columnNumber:15},this),e.jsxDEV(o.Input,{id:"meta_description",...d("meta_description"),placeholder:"SEO description (150-160 chars)",className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:938,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:936,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(o.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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:941,columnNumber:15},this),e.jsxDEV(o.Input,{id:"custom_canonical",...d("custom_canonical"),placeholder:"Blank = self-referencing. Absolute https://… URL or /relative path to override.",className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:942,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:940,columnNumber:13},this),t&&e.jsxDEV("div",{className:"lg:col-span-2 col-span-2 space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"status",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Status"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:946,columnNumber:17},this),e.jsxDEV(o.Select,{onValueChange:r=>c("status",r,{shouldDirty:!0}),value:l("status"),children:[e.jsxDEV(o.SelectTrigger,{className:"h-8 text-xs",children:e.jsxDEV(o.SelectValue,{placeholder:"Status"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:949,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:948,columnNumber:19},this),e.jsxDEV(o.SelectContent,{children:[e.jsxDEV(o.SelectItem,{value:"draft",children:"Draft"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:952,columnNumber:21},this),e.jsxDEV(o.SelectItem,{value:"active",children:"Active"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:953,columnNumber:21},this),e.jsxDEV(o.SelectItem,{value:"archived",children:"Archived"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:954,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:951,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:947,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:945,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:931,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:882,columnNumber:9},this),e.jsxDEV(K,{title:"Product Categories",description:"Assign this product to one or more categories.",children:e.jsxDEV($e.ProductCategorySelector,{categories:Ce,selectedIds:l("category_ids")||[],onChange:r=>c("category_ids",r,{shouldDirty:!0,shouldValidate:!0})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:966,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:962,columnNumber:9},this),e.jsxDEV("section",{className:"rounded-lg border bg-card p-3 shadow-sm space-y-3",children:[j&&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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:978,columnNumber:19},this),e.jsxDEV("p",{className:"text-[11px] text-muted-foreground leading-none",children:"Manage simple or variant pricing."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:979,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:977,columnNumber:17},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:976,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:984,columnNumber:21},this),e.jsxDEV(o.Input,{id:"stock",type:"number",min:"0",...d("stock",{valueAsNumber:!0}),placeholder:"0",readOnly:D,className:`${qe} h-8 w-20 text-sm text-center font-mono bg-background`},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:985,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:983,columnNumber:19},this),D?e.jsxDEV(o.Badge,{variant:"secondary",className:"text-[11px] py-0 px-2 h-5",children:"Variant pricing"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:996,columnNumber:19},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:982,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:975,columnNumber:13},this),j?e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{className:"w-full",children:[e.jsxDEV(je.CurrencyPriceFields,{idPrefix:"product",currencies:a,prices:O.prices,salePrices:O.salePrices,managedCurrencyCodes:q,onPriceChange:fe,onSalePriceChange:he,onAutoFill:ge,readOnly:D,helperText:D?"Parent prices stay as a fallback, but active variants define the live shopper price.":void 0,trailing:e.jsxDEV(ve.SaleScheduleFields,{idPrefix:"product",startAt:l("sale_start_at"),endAt:l("sale_end_at"),onChange:(r,i)=>c(r,i,{shouldDirty:!0,shouldValidate:!0}),error:N.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1020,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1004,columnNumber:17},this),N.price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:N.price.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1033,columnNumber:19},this),N.sale_price&&e.jsxDEV("p",{className:"text-destructive text-sm mt-1",children:N.sale_price.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1036,columnNumber:19},this),N.stock&&e.jsxDEV("p",{className:"text-destructive text-[10px] font-medium leading-none mt-1",children:N.stock.message},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1039,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1003,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:D?"Variations Active":"Variations"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1044,columnNumber:17},this),e.jsxDEV(o.Button,{type:"button",variant:X?"outline":"default",onClick:()=>Y(r=>!r),size:"sm",className:"h-7 text-xs px-3",children:X?"Hide":"Manage"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1045,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1043,columnNumber:15},this),X&&e.jsxDEV("div",{className:"border-t pt-3",children:e.jsxDEV(Ke.VariationsEditor,{globalAttributes:_,currentLanguageCode:we,baseSku:l("sku")||"",basePrice:C||0,basePrices:v,baseSalePrice:typeof U=="number"?U:null,baseSalePrices:F,currencies:a,availableVariantImages:Te,initialVariationAttributes:s?.variation_attributes,initialVariants:Me,onChange:Ae},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1058,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1057,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1002,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(o.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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1082,columnNumber:19},this),e.jsxDEV(o.Input,{id:"freemius_product_id",...d("freemius_product_id"),className:"h-9"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1083,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1081,columnNumber:17},this),e.jsxDEV("div",{className:"flex-1",children:[e.jsxDEV(o.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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1086,columnNumber:19},this),e.jsxDEV(o.Input,{id:"freemius_plan_id",...d("freemius_plan_id"),className:"h-9"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1087,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1085,columnNumber:17},this),Ue?e.jsxDEV(Le.SyncFreemiusPricingButton,{productId:l("freemius_product_id"),hasOpenDraft:Fe},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1090,columnNumber:19},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1080,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1100,columnNumber:21},this),e.jsxDEV(o.Badge,{variant:"outline",className:"font-mono text-xs shadow-sm bg-background",children:[String(l("trial_period_days")||0)," Days"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1101,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1099,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1104,columnNumber:21},this),e.jsxDEV(o.Badge,{variant:be?"default":"secondary",className:"text-xs shadow-sm",children:be?"Yes":"No"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1105,columnNumber:21},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1103,columnNumber:19},this),e.jsxDEV("span",{className:"text-[10px] text-muted-foreground ml-auto",children:"Managed in Freemius dashboard"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1109,columnNumber:19},this),e.jsxDEV("input",{type:"hidden",...d("trial_period_days",{valueAsNumber:!0})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1113,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1098,columnNumber:17},this),e.jsxDEV("div",{className:"w-full p-4 pt-3 space-y-2",children:[e.jsxDEV(je.CurrencyPriceFields,{idPrefix:"product",currencies:a,prices:O.prices,salePrices:O.salePrices,managedCurrencyCodes:q,onPriceChange:fe,onSalePriceChange:he,onAutoFill:ge,readOnly:!0,trailing:e.jsxDEV(ve.SaleScheduleFields,{idPrefix:"product",startAt:l("sale_start_at"),endAt:l("sale_end_at"),onChange:(r,i)=>c(r,i,{shouldDirty:!0,shouldValidate:!0}),error:N.sale_end_at?.message,bare:!0},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1128,columnNumber:23},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1117,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:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1140,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1116,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1097,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1079,columnNumber:15},this),w&&e.jsxDEV("div",{className:"pt-2 border-t",children:w},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1148,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1078,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:973,columnNumber:9},this),e.jsxDEV(K,{title:"Product Description",hideHeader:!0,children:e.jsxDEV("div",{className:"space-y-2",children:e.jsxDEV("div",{className:"space-y-1",children:[e.jsxDEV(o.Label,{htmlFor:"short_description",className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Short Description"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1159,columnNumber:15},this),e.jsxDEV(o.Input,{id:"short_description",...d("short_description"),placeholder:"Brief summary for product cards...",className:"h-8 text-sm"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1160,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1158,columnNumber:13},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1157,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1156,columnNumber:9},this),e.jsxDEV(K,{title:"Media Gallery",description:"Drag to reorder. First image is the hero.",children:[e.jsxDEV(ze.ProductMediaManager,{initialMedia:se,onUpdate:Ie,mediaPickerNode:g},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1166,columnNumber:11},this),e.jsxDEV("input",{type:"hidden",...d("product_media")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1171,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1165,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("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-xs uppercase font-bold text-muted-foreground tracking-wider leading-none",children:"Status"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1177,columnNumber:15},this),e.jsxDEV(o.Select,{onValueChange:r=>c("status",r),value:l("status"),children:[e.jsxDEV(o.SelectTrigger,{className:"h-8 w-[110px] text-sm",children:e.jsxDEV(o.SelectValue,{placeholder:"Status"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1180,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1179,columnNumber:17},this),e.jsxDEV(o.SelectContent,{children:[e.jsxDEV(o.SelectItem,{value:"draft",children:"Draft"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1183,columnNumber:19},this),e.jsxDEV(o.SelectItem,{value:"active",children:"Active"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1184,columnNumber:19},this),e.jsxDEV(o.SelectItem,{value:"archived",children:"Archived"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1185,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1182,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1178,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1176,columnNumber:13},this),e.jsxDEV(o.Button,{disabled:I,type:"submit",size:"sm",className:"h-8 text-sm px-5",children:I?"Saving...":"Save Changes"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1189,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:1175,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:814,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/ProductForm.tsx",lineNumber:809,columnNumber:5},this)}exports.ProductForm=We;