@nextblock-cms/ecom 0.17.3 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.d.ts +1 -1
  3. package/lib/CurrencyProvider.es.js +5 -5
  4. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  5. package/lib/PaymentReadinessProvider.d.ts +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +7 -7
  7. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  8. package/lib/components/AccountNavigationMenu.d.ts +1 -1
  9. package/lib/components/AccountNavigationMenu.es.js +23 -23
  10. package/lib/components/AddToCartButton.cjs.js +1 -1
  11. package/lib/components/AddToCartButton.d.ts +1 -1
  12. package/lib/components/AddToCartButton.es.js +29 -29
  13. package/lib/components/Cart.cjs.js +1 -1
  14. package/lib/components/Cart.d.ts +1 -1
  15. package/lib/components/Cart.es.js +129 -129
  16. package/lib/components/CartDrawer.cjs.js +1 -1
  17. package/lib/components/CartDrawer.d.ts +1 -1
  18. package/lib/components/CartDrawer.es.js +85 -85
  19. package/lib/components/CartIcon.cjs.js +1 -1
  20. package/lib/components/CartIcon.d.ts +1 -1
  21. package/lib/components/CartIcon.es.js +17 -17
  22. package/lib/components/Checkout.cjs.js +1 -1
  23. package/lib/components/Checkout.d.ts +1 -1
  24. package/lib/components/Checkout.es.js +561 -561
  25. package/lib/components/CouponForm.cjs.js +1 -1
  26. package/lib/components/CouponForm.d.ts +1 -1
  27. package/lib/components/CouponForm.es.js +62 -62
  28. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  29. package/lib/components/CurrencySwitcher.d.ts +1 -1
  30. package/lib/components/CurrencySwitcher.es.js +12 -12
  31. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  32. package/lib/components/CustomerProfileForm.d.ts +1 -1
  33. package/lib/components/CustomerProfileForm.es.js +238 -238
  34. package/lib/components/FeaturedProduct.cjs.js +1 -1
  35. package/lib/components/FeaturedProduct.d.ts +1 -1
  36. package/lib/components/FeaturedProduct.es.js +39 -39
  37. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  38. package/lib/components/FreemiusLicensePanel.d.ts +1 -1
  39. package/lib/components/FreemiusLicensePanel.es.js +46 -46
  40. package/lib/components/InvoiceDocument.cjs.js +1 -1
  41. package/lib/components/InvoiceDocument.d.ts +1 -2
  42. package/lib/components/InvoiceDocument.es.js +144 -144
  43. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  44. package/lib/components/InvoiceViewerShell.d.ts +1 -1
  45. package/lib/components/InvoiceViewerShell.es.js +47 -47
  46. package/lib/components/ProductCard.cjs.js +1 -1
  47. package/lib/components/ProductCard.d.ts +1 -1
  48. package/lib/components/ProductCard.es.js +84 -84
  49. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  50. package/lib/components/ProductDetailsLayout.es.js +201 -201
  51. package/lib/components/ProductGallery.cjs.js +1 -1
  52. package/lib/components/ProductGallery.d.ts +1 -1
  53. package/lib/components/ProductGallery.es.js +21 -21
  54. package/lib/components/ProductGrid.cjs.js +1 -1
  55. package/lib/components/ProductGrid.d.ts +1 -1
  56. package/lib/components/ProductGrid.es.js +10 -10
  57. package/lib/components/ShippingEstimator.cjs.js +1 -1
  58. package/lib/components/ShippingEstimator.d.ts +1 -1
  59. package/lib/components/ShippingEstimator.es.js +71 -71
  60. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  61. package/lib/components/SimpleTiptapRenderer.es.js +133 -133
  62. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  63. package/lib/components/SubscriptionSelector.d.ts +1 -2
  64. package/lib/components/SubscriptionSelector.es.js +74 -74
  65. package/lib/components/media/MediaPickerDialog.d.ts +1 -2
  66. package/lib/components/media/MediaUploadForm.d.ts +1 -2
  67. package/lib/components/media/UploadFolderContext.d.ts +1 -1
  68. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  69. package/lib/pages/cms/coupons/CouponEditorForm.d.ts +1 -1
  70. package/lib/pages/cms/coupons/CouponEditorForm.es.js +96 -96
  71. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  72. package/lib/pages/cms/coupons/CouponsPage.d.ts +1 -1
  73. package/lib/pages/cms/coupons/CouponsPage.es.js +83 -83
  74. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  75. package/lib/pages/cms/coupons/CreateCouponDialog.d.ts +1 -1
  76. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +22 -22
  77. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  78. package/lib/pages/cms/coupons/EditCouponPage.d.ts +1 -1
  79. package/lib/pages/cms/coupons/EditCouponPage.es.js +25 -25
  80. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  81. package/lib/pages/cms/coupons/ProductScopePicker.d.ts +1 -1
  82. package/lib/pages/cms/coupons/ProductScopePicker.es.js +48 -48
  83. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  84. package/lib/pages/cms/orders/ExportReportsDialog.d.ts +1 -2
  85. package/lib/pages/cms/orders/ExportReportsDialog.es.js +73 -73
  86. package/lib/pages/cms/orders/MarkPaidButton.d.ts +1 -1
  87. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  88. package/lib/pages/cms/orders/OrderDetailPage.d.ts +1 -1
  89. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -95
  90. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  91. package/lib/pages/cms/orders/OrderPrintButton.d.ts +1 -1
  92. package/lib/pages/cms/orders/OrderPrintButton.es.js +2 -2
  93. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  94. package/lib/pages/cms/orders/OrderStatusForm.d.ts +1 -1
  95. package/lib/pages/cms/orders/OrderStatusForm.es.js +33 -33
  96. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  97. package/lib/pages/cms/orders/OrdersPage.d.ts +1 -1
  98. package/lib/pages/cms/orders/OrdersPage.es.js +68 -68
  99. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  100. package/lib/pages/cms/payments/PaymentsClient.d.ts +1 -1
  101. package/lib/pages/cms/payments/PaymentsClient.es.js +120 -120
  102. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  103. package/lib/pages/cms/payments/PaymentsPage.d.ts +1 -1
  104. package/lib/pages/cms/payments/PaymentsPage.es.js +5 -5
  105. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  106. package/lib/pages/cms/products/ProductsPage.d.ts +1 -1
  107. package/lib/pages/cms/products/ProductsPage.es.js +32 -32
  108. package/lib/pages/cms/products/[id]/edit/EditProductPage.d.ts +1 -1
  109. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  110. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +38 -38
  111. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  112. package/lib/pages/cms/products/attributes/AttributeManagementPage.d.ts +1 -1
  113. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +32 -32
  114. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  115. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  116. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +173 -173
  117. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  118. package/lib/pages/cms/products/categories/CategoryManagementPage.d.ts +1 -1
  119. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +16 -16
  120. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  121. package/lib/pages/cms/products/categories/components/CategoryManager.d.ts +1 -2
  122. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +102 -102
  123. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  124. package/lib/pages/cms/products/components/CopyProductFromLanguage.d.ts +1 -2
  125. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +45 -45
  126. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  127. package/lib/pages/cms/products/components/CurrencyPriceFields.d.ts +1 -1
  128. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +45 -45
  129. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  130. package/lib/pages/cms/products/components/DeleteProductButton.d.ts +1 -1
  131. package/lib/pages/cms/products/components/DeleteProductButton.es.js +14 -14
  132. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  133. package/lib/pages/cms/products/components/FreemiusPricingDashboard.d.ts +1 -1
  134. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +45 -45
  135. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  136. package/lib/pages/cms/products/components/ProductCategorySelector.d.ts +1 -2
  137. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +84 -84
  138. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  139. package/lib/pages/cms/products/components/ProductForm.d.ts +1 -1
  140. package/lib/pages/cms/products/components/ProductForm.es.js +224 -224
  141. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  142. package/lib/pages/cms/products/components/ProductMediaManager.d.ts +1 -1
  143. package/lib/pages/cms/products/components/ProductMediaManager.es.js +42 -42
  144. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  145. package/lib/pages/cms/products/components/ProductsBulkTable.d.ts +1 -1
  146. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +133 -133
  147. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  148. package/lib/pages/cms/products/components/SaleScheduleFields.d.ts +1 -1
  149. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +43 -43
  150. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  151. package/lib/pages/cms/products/components/SyncFreemiusButton.d.ts +1 -1
  152. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +9 -9
  153. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  154. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.d.ts +1 -1
  155. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +15 -15
  156. package/lib/pages/cms/products/components/SyncProductForm.d.ts +1 -1
  157. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  158. package/lib/pages/cms/products/components/VariationsEditor.d.ts +1 -1
  159. package/lib/pages/cms/products/components/VariationsEditor.es.js +104 -104
  160. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  161. package/lib/pages/cms/products/inventory/InventoryPage.d.ts +1 -1
  162. package/lib/pages/cms/products/inventory/InventoryPage.es.js +10 -10
  163. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  164. package/lib/pages/cms/products/inventory/InventoryTableClient.d.ts +1 -1
  165. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +139 -139
  166. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  167. package/lib/pages/cms/products/new/NewProductPage.d.ts +1 -1
  168. package/lib/pages/cms/products/new/NewProductPage.es.js +19 -19
  169. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  170. package/lib/pages/cms/shipping/ShippingPage.d.ts +1 -2
  171. package/lib/pages/cms/shipping/ShippingPage.es.js +123 -123
  172. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  173. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  174. package/lib/pages/cms/shipping/components/RateForm.es.js +217 -217
  175. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  176. package/lib/pages/cms/shipping/components/ZoneForm.d.ts +1 -2
  177. package/lib/pages/cms/shipping/components/ZoneForm.es.js +98 -98
  178. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  179. package/lib/pages/cms/taxes/TaxesPage.d.ts +1 -1
  180. package/lib/pages/cms/taxes/TaxesPage.es.js +120 -120
  181. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  182. package/lib/pages/cms/taxes/components/TaxRateForm.d.ts +1 -1
  183. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +34 -34
  184. package/lib/product-context.cjs.js +1 -1
  185. package/lib/product-context.es.js +3 -3
  186. package/package.json +4 -4
@@ -1,88 +1,88 @@
1
1
  import { jsxDEV as e } from "react/jsx-dev-runtime";
2
- import m from "next/link";
3
- import { ArrowLeft as o } from "lucide-react";
4
- import { Button as n } from "@nextblock-cms/ui";
5
- import { getActiveLanguagesServerSide as c } from "@nextblock-cms/db/server";
6
- import { getGlobalProductAttributes as l } from "../actions.es.js";
7
- import { updateProductAttributeTranslationsAction as b, reorderProductAttributeTermsAction as u, deleteProductAttributeTermAction as d, createProductAttributeTermAction as g, deleteProductAttributeAction as p, createProductAttributeAction as x } from "../server-actions.es.js";
8
- import { AttributeManager as f } from "./components/AttributeManager.es.js";
2
+ import o from "next/link";
3
+ import { ArrowLeft as c } from "lucide-react";
4
+ import { Button as m } from "@nextblock-cms/ui";
5
+ import { getActiveLanguagesServerSide as n } from "@nextblock-cms/db/server";
6
+ import { getGlobalProductAttributes as u } from "../actions.es.js";
7
+ import { updateProductAttributeTranslationsAction as l, reorderProductAttributeTermsAction as b, deleteProductAttributeTermAction as d, createProductAttributeTermAction as p, deleteProductAttributeAction as g, createProductAttributeAction as f } from "../server-actions.es.js";
8
+ import { AttributeManager as A } from "./components/AttributeManager.es.js";
9
9
  async function W() {
10
- const [r, i] = await Promise.all([
11
- l(),
12
- c()
13
- ]), a = (r || []).map((t) => ({
10
+ const [i, s] = await Promise.all([
11
+ u(),
12
+ n()
13
+ ]), a = (i || []).map((t) => ({
14
14
  id: t.id,
15
15
  name: t.name,
16
16
  name_translations: t.name_translations || {},
17
17
  slug: t.slug,
18
- terms: (t.product_attribute_terms || []).map((s) => ({
19
- ...s,
20
- value_translations: s.value_translations || {}
18
+ terms: (t.product_attribute_terms || []).map((r) => ({
19
+ ...r,
20
+ value_translations: r.value_translations || {}
21
21
  }))
22
22
  }));
23
23
  return /* @__PURE__ */ e("div", { className: "space-y-8 w-full max-w-[1200px] mx-auto px-6 py-8", children: [
24
24
  /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center justify-between gap-4", children: /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: [
25
- /* @__PURE__ */ e(n, { variant: "outline", size: "icon", asChild: !0, children: /* @__PURE__ */ e(m, { href: "/cms/products", children: /* @__PURE__ */ e(o, { className: "h-4 w-4" }, void 0, !1, {
26
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
25
+ /* @__PURE__ */ e(m, { variant: "outline", size: "icon", asChild: !0, children: /* @__PURE__ */ e(o, { href: "/cms/products", children: /* @__PURE__ */ e(c, { className: "h-4 w-4" }, void 0, !1, {
26
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
27
27
  lineNumber: 39,
28
28
  columnNumber: 15
29
29
  }, this) }, void 0, !1, {
30
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
30
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
31
31
  lineNumber: 38,
32
32
  columnNumber: 13
33
33
  }, this) }, void 0, !1, {
34
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
34
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
35
35
  lineNumber: 37,
36
36
  columnNumber: 11
37
37
  }, this),
38
38
  /* @__PURE__ */ e("div", { children: [
39
39
  /* @__PURE__ */ e("h1", { className: "text-2xl font-bold", children: "Global Attribute Management" }, void 0, !1, {
40
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
40
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
41
41
  lineNumber: 43,
42
42
  columnNumber: 13
43
43
  }, this),
44
44
  /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "Define reusable attributes and terms for variation-based physical products." }, void 0, !1, {
45
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
45
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
46
46
  lineNumber: 44,
47
47
  columnNumber: 13
48
48
  }, this)
49
49
  ] }, void 0, !0, {
50
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
50
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
51
51
  lineNumber: 42,
52
52
  columnNumber: 11
53
53
  }, this)
54
54
  ] }, void 0, !0, {
55
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
55
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
56
56
  lineNumber: 36,
57
57
  columnNumber: 9
58
58
  }, this) }, void 0, !1, {
59
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
59
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
60
60
  lineNumber: 35,
61
61
  columnNumber: 7
62
62
  }, this),
63
63
  /* @__PURE__ */ e(
64
- f,
64
+ A,
65
65
  {
66
66
  attributes: a,
67
- createAttributeAction: x,
68
- deleteAttributeAction: p,
69
- createTermAction: g,
67
+ createAttributeAction: f,
68
+ deleteAttributeAction: g,
69
+ createTermAction: p,
70
70
  deleteTermAction: d,
71
- reorderTermsAction: u,
72
- updateTranslationsAction: b,
73
- languages: i
71
+ reorderTermsAction: b,
72
+ updateTranslationsAction: l,
73
+ languages: s
74
74
  },
75
75
  void 0,
76
76
  !1,
77
77
  {
78
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
78
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
79
79
  lineNumber: 51,
80
80
  columnNumber: 7
81
81
  },
82
82
  this
83
83
  )
84
84
  ] }, void 0, !0, {
85
- fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
85
+ fileName: "D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/AttributeManagementPage.tsx",
86
86
  lineNumber: 34,
87
87
  columnNumber: 5
88
88
  }, this);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),c=require("react"),U=require("next/navigation"),i=require("@nextblock-cms/ui"),l=require("lucide-react");function G({attributes:m,languages:y,createAttributeAction:w,deleteAttributeAction:T,createTermAction:S,deleteTermAction:I,reorderTermsAction:$,updateTranslationsAction:C}){const a=U.useRouter(),[b,N]=c.useState(""),[g,h]=c.useState(null),[F,f]=c.useState(null),[v,D]=c.useState(null),[A,j]=c.useState(null),[u,k]=c.useState({}),[M,B]=c.useState(()=>m.reduce((e,t)=>(e[t.id]=t.name_translations||{},e),{})),[E,P]=c.useState(()=>m.reduce((e,t)=>{for(const r of t.terms)e[r.id]=r.value_translations||{};return e},{})),d=y.filter(e=>!e.is_default),q=async e=>{e.preventDefault();const t=await w({name:b});if(!t.success){alert(t.error||"Failed to create attribute.");return}N(""),a.refresh()},z=async(e,t)=>{e.preventDefault(),h(t);const r=await S({attributeId:t,value:u[t]||""});if(h(null),!r.success){alert(r.error||"Failed to create term.");return}k(n=>({...n,[t]:""})),a.refresh()},L=async e=>{if(!window.confirm("Delete this attribute and all of its terms?"))return;const r=await T(e);if(!r.success){alert(r.error||"Failed to delete attribute.");return}a.refresh()},R=async e=>{f(e);const t=await I(e);if(f(null),!t.success){alert(t.error||"Failed to delete term.");return}a.refresh()},V=async(e,t,r)=>{const n=e.terms.findIndex(p=>p.id===t),o=n+r;if(n===-1||o<0||o>=e.terms.length)return;const x=[...e.terms],[O]=x.splice(n,1);x.splice(o,0,O),D(e.id);const W=await $({attributeId:e.id,orderedTermIds:x.map(p=>p.id)});if(D(null),!W.success){alert(W.error||"Failed to reorder terms.");return}a.refresh()},_=async e=>{j(e.id);const t=await C({attributeId:e.id,nameTranslations:M[e.id]||{},termTranslations:e.terms.map(r=>({termId:r.id,valueTranslations:E[r.id]||{}}))});if(j(null),!t.success){alert(t.error||"Failed to save translations.");return}a.refresh()};return s.jsxDEV("div",{className:"space-y-6",children:[s.jsxDEV("form",{onSubmit:q,className:"rounded-lg border bg-card p-6 shadow-sm",children:s.jsxDEV("div",{className:"flex flex-wrap items-end gap-4",children:[s.jsxDEV("div",{className:"flex-1 min-w-[220px] space-y-2",children:[s.jsxDEV(i.Label,{htmlFor:"attribute-name",children:"New Attribute"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:186,columnNumber:13},this),s.jsxDEV(i.Input,{id:"attribute-name",value:b,onChange:e=>N(e.target.value),placeholder:"Material, Size, Color..."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:187,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:185,columnNumber:11},this),s.jsxDEV(i.Button,{type:"submit",disabled:!b.trim(),children:[s.jsxDEV(l.Plus,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:195,columnNumber:13},this),"Create Attribute"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:194,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:184,columnNumber:9},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:183,columnNumber:7},this),m.length===0?s.jsxDEV("div",{className:"rounded-lg border border-dashed p-6 text-sm text-muted-foreground",children:"No global attributes have been created yet."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:202,columnNumber:9},this):s.jsxDEV("div",{className:"grid gap-6",children:m.map(e=>s.jsxDEV("div",{className:"rounded-lg border bg-card p-6 shadow-sm",children:[s.jsxDEV("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[s.jsxDEV("div",{children:[s.jsxDEV("h2",{className:"text-lg font-semibold",children:e.name},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:211,columnNumber:19},this),s.jsxDEV("p",{className:"text-sm text-muted-foreground",children:e.slug},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:212,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:210,columnNumber:17},this),s.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>L(e.id),className:"text-muted-foreground hover:text-destructive",children:s.jsxDEV(l.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:221,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:214,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:209,columnNumber:15},this),s.jsxDEV("div",{className:"mt-4 space-y-2",children:e.terms.map((t,r)=>s.jsxDEV("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-lg border bg-muted/20 px-3 py-2",children:[s.jsxDEV("div",{className:"flex items-center gap-2",children:[s.jsxDEV(i.Badge,{variant:"secondary",className:"py-1.5",children:t.value},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:232,columnNumber:23},this),s.jsxDEV("span",{className:"text-xs text-muted-foreground",children:["Position ",r+1]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:235,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:231,columnNumber:21},this),s.jsxDEV("div",{className:"flex items-center gap-1",children:[s.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>V(e,t.id,-1),disabled:r===0||v===e.id,children:s.jsxDEV(l.ChevronUp,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:246,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:238,columnNumber:23},this),s.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>V(e,t.id,1),disabled:r===e.terms.length-1||v===e.id,children:s.jsxDEV(l.ChevronDown,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:259,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:248,columnNumber:23},this),s.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>R(t.id),className:"h-8 w-8 text-muted-foreground hover:text-destructive",disabled:F===t.id,children:s.jsxDEV(l.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:269,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:261,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:237,columnNumber:21},this)]},t.id,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:227,columnNumber:19},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:225,columnNumber:15},this),s.jsxDEV("form",{onSubmit:t=>z(t,e.id),className:"mt-6 flex flex-wrap items-end gap-3",children:[s.jsxDEV("div",{className:"flex-1 min-w-[220px] space-y-2",children:[s.jsxDEV(i.Label,{htmlFor:`term-input-${e.id}`,children:"Add Term"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:281,columnNumber:19},this),s.jsxDEV(i.Input,{id:`term-input-${e.id}`,value:u[e.id]||"",onChange:t=>k(r=>({...r,[e.id]:t.target.value})),placeholder:`Add a term for ${e.name}`},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:282,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:280,columnNumber:17},this),s.jsxDEV(i.Button,{type:"submit",variant:"outline",disabled:!u[e.id]?.trim()||g===e.id,children:[s.jsxDEV(l.Plus,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:299,columnNumber:19},this),g===e.id?"Saving...":"Add Term"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:294,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:276,columnNumber:15},this),d.length>0&&s.jsxDEV("div",{className:"mt-6 border-t pt-6 space-y-4",children:[s.jsxDEV("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsxDEV("div",{children:[s.jsxDEV("h3",{className:"font-medium",children:"Translations"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:308,columnNumber:23},this),s.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Translate the attribute label and each term for every active site language."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:309,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:307,columnNumber:21},this),s.jsxDEV(i.Button,{type:"button",variant:"outline",onClick:()=>_(e),disabled:A===e.id,children:A===e.id?"Saving...":"Save Translations"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:313,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:306,columnNumber:19},this),s.jsxDEV("div",{className:"grid gap-4 md:grid-cols-2",children:d.map(t=>s.jsxDEV("div",{className:"space-y-2",children:[s.jsxDEV(i.Label,{htmlFor:`attribute-translation-${e.id}-${t.code}`,children:["Attribute Name (",t.name,")"]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:326,columnNumber:25},this),s.jsxDEV(i.Input,{id:`attribute-translation-${e.id}-${t.code}`,value:M[e.id]?.[t.code]||"",onChange:r=>B(n=>({...n,[e.id]:{...n[e.id]||{},[t.code]:r.target.value}})),placeholder:e.name},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:329,columnNumber:25},this)]},`${e.id}-${t.code}`,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:325,columnNumber:23},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:323,columnNumber:19},this),s.jsxDEV("div",{className:"space-y-3",children:e.terms.map(t=>s.jsxDEV("div",{className:"rounded-lg border p-4 space-y-3",children:[s.jsxDEV("div",{children:[s.jsxDEV("p",{className:"font-medium",children:t.value},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:351,columnNumber:27},this),s.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Translate this term for each language."},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:352,columnNumber:27},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:350,columnNumber:25},this),s.jsxDEV("div",{className:"grid gap-4 md:grid-cols-2",children:d.map(r=>s.jsxDEV("div",{className:"space-y-2",children:[s.jsxDEV(i.Label,{htmlFor:`term-translation-${t.id}-${r.code}`,children:r.name},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:357,columnNumber:31},this),s.jsxDEV(i.Input,{id:`term-translation-${t.id}-${r.code}`,value:E[t.id]?.[r.code]||"",onChange:n=>P(o=>({...o,[t.id]:{...o[t.id]||{},[r.code]:n.target.value}})),placeholder:t.value},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:360,columnNumber:31},this)]},`${t.id}-${r.code}`,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:356,columnNumber:29},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:354,columnNumber:25},this)]},`translations-${t.id}`,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:349,columnNumber:23},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:347,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:305,columnNumber:17},this)]},e.id,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:208,columnNumber:13},this))},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:206,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:182,columnNumber:5},this)}exports.AttributeManager=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-dev-runtime"),o=require("react"),U=require("next/navigation"),i=require("@nextblock-cms/ui"),a=require("lucide-react");function G({attributes:m,languages:y,createAttributeAction:w,deleteAttributeAction:T,createTermAction:S,deleteTermAction:I,reorderTermsAction:$,updateTranslationsAction:C}){const n=U.useRouter(),[u,x]=o.useState(""),[g,h]=o.useState(null),[F,f]=o.useState(null),[v,D]=o.useState(null),[A,j]=o.useState(null),[b,k]=o.useState({}),[M,B]=o.useState(()=>m.reduce((e,s)=>(e[s.id]=s.name_translations||{},e),{})),[E,P]=o.useState(()=>m.reduce((e,s)=>{for(const r of s.terms)e[r.id]=r.value_translations||{};return e},{})),d=y.filter(e=>!e.is_default),q=async e=>{e.preventDefault();const s=await w({name:u});if(!s.success){alert(s.error||"Failed to create attribute.");return}x(""),n.refresh()},z=async(e,s)=>{e.preventDefault(),h(s);const r=await S({attributeId:s,value:b[s]||""});if(h(null),!r.success){alert(r.error||"Failed to create term.");return}k(c=>({...c,[s]:""})),n.refresh()},L=async e=>{if(!window.confirm("Delete this attribute and all of its terms?"))return;const r=await T(e);if(!r.success){alert(r.error||"Failed to delete attribute.");return}n.refresh()},R=async e=>{f(e);const s=await I(e);if(f(null),!s.success){alert(s.error||"Failed to delete term.");return}n.refresh()},V=async(e,s,r)=>{const c=e.terms.findIndex(N=>N.id===s),l=c+r;if(c===-1||l<0||l>=e.terms.length)return;const p=[...e.terms],[O]=p.splice(c,1);p.splice(l,0,O),D(e.id);const W=await $({attributeId:e.id,orderedTermIds:p.map(N=>N.id)});if(D(null),!W.success){alert(W.error||"Failed to reorder terms.");return}n.refresh()},_=async e=>{j(e.id);const s=await C({attributeId:e.id,nameTranslations:M[e.id]||{},termTranslations:e.terms.map(r=>({termId:r.id,valueTranslations:E[r.id]||{}}))});if(j(null),!s.success){alert(s.error||"Failed to save translations.");return}n.refresh()};return t.jsxDEV("div",{className:"space-y-6",children:[t.jsxDEV("form",{onSubmit:q,className:"rounded-lg border bg-card p-6 shadow-sm",children:t.jsxDEV("div",{className:"flex flex-wrap items-end gap-4",children:[t.jsxDEV("div",{className:"flex-1 min-w-[220px] space-y-2",children:[t.jsxDEV(i.Label,{htmlFor:"attribute-name",children:"New Attribute"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:186,columnNumber:13},this),t.jsxDEV(i.Input,{id:"attribute-name",value:u,onChange:e=>x(e.target.value),placeholder:"Material, Size, Color..."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:187,columnNumber:13},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:185,columnNumber:11},this),t.jsxDEV(i.Button,{type:"submit",disabled:!u.trim(),children:[t.jsxDEV(a.Plus,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:195,columnNumber:13},this),"Create Attribute"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:194,columnNumber:11},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:184,columnNumber:9},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:183,columnNumber:7},this),m.length===0?t.jsxDEV("div",{className:"rounded-lg border border-dashed p-6 text-sm text-muted-foreground",children:"No global attributes have been created yet."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:202,columnNumber:9},this):t.jsxDEV("div",{className:"grid gap-6",children:m.map(e=>t.jsxDEV("div",{className:"rounded-lg border bg-card p-6 shadow-sm",children:[t.jsxDEV("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[t.jsxDEV("div",{children:[t.jsxDEV("h2",{className:"text-lg font-semibold",children:e.name},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:211,columnNumber:19},this),t.jsxDEV("p",{className:"text-sm text-muted-foreground",children:e.slug},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:212,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:210,columnNumber:17},this),t.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>L(e.id),className:"text-muted-foreground hover:text-destructive",children:t.jsxDEV(a.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:221,columnNumber:19},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:214,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:209,columnNumber:15},this),t.jsxDEV("div",{className:"mt-4 space-y-2",children:e.terms.map((s,r)=>t.jsxDEV("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-lg border bg-muted/20 px-3 py-2",children:[t.jsxDEV("div",{className:"flex items-center gap-2",children:[t.jsxDEV(i.Badge,{variant:"secondary",className:"py-1.5",children:s.value},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:232,columnNumber:23},this),t.jsxDEV("span",{className:"text-xs text-muted-foreground",children:["Position ",r+1]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:235,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:231,columnNumber:21},this),t.jsxDEV("div",{className:"flex items-center gap-1",children:[t.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>V(e,s.id,-1),disabled:r===0||v===e.id,children:t.jsxDEV(a.ChevronUp,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:246,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:238,columnNumber:23},this),t.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>V(e,s.id,1),disabled:r===e.terms.length-1||v===e.id,children:t.jsxDEV(a.ChevronDown,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:259,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:248,columnNumber:23},this),t.jsxDEV(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>R(s.id),className:"h-8 w-8 text-muted-foreground hover:text-destructive",disabled:F===s.id,children:t.jsxDEV(a.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:269,columnNumber:25},this)},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:261,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:237,columnNumber:21},this)]},s.id,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:227,columnNumber:19},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:225,columnNumber:15},this),t.jsxDEV("form",{onSubmit:s=>z(s,e.id),className:"mt-6 flex flex-wrap items-end gap-3",children:[t.jsxDEV("div",{className:"flex-1 min-w-[220px] space-y-2",children:[t.jsxDEV(i.Label,{htmlFor:`term-input-${e.id}`,children:"Add Term"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:281,columnNumber:19},this),t.jsxDEV(i.Input,{id:`term-input-${e.id}`,value:b[e.id]||"",onChange:s=>k(r=>({...r,[e.id]:s.target.value})),placeholder:`Add a term for ${e.name}`},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:282,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:280,columnNumber:17},this),t.jsxDEV(i.Button,{type:"submit",variant:"outline",disabled:!b[e.id]?.trim()||g===e.id,children:[t.jsxDEV(a.Plus,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:299,columnNumber:19},this),g===e.id?"Saving...":"Add Term"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:294,columnNumber:17},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:276,columnNumber:15},this),d.length>0&&t.jsxDEV("div",{className:"mt-6 border-t pt-6 space-y-4",children:[t.jsxDEV("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[t.jsxDEV("div",{children:[t.jsxDEV("h3",{className:"font-medium",children:"Translations"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:308,columnNumber:23},this),t.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Translate the attribute label and each term for every active site language."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:309,columnNumber:23},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:307,columnNumber:21},this),t.jsxDEV(i.Button,{type:"button",variant:"outline",onClick:()=>_(e),disabled:A===e.id,children:A===e.id?"Saving...":"Save Translations"},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:313,columnNumber:21},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:306,columnNumber:19},this),t.jsxDEV("div",{className:"grid gap-4 md:grid-cols-2",children:d.map(s=>t.jsxDEV("div",{className:"space-y-2",children:[t.jsxDEV(i.Label,{htmlFor:`attribute-translation-${e.id}-${s.code}`,children:["Attribute Name (",s.name,")"]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:326,columnNumber:25},this),t.jsxDEV(i.Input,{id:`attribute-translation-${e.id}-${s.code}`,value:M[e.id]?.[s.code]||"",onChange:r=>B(c=>({...c,[e.id]:{...c[e.id]||{},[s.code]:r.target.value}})),placeholder:e.name},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:329,columnNumber:25},this)]},`${e.id}-${s.code}`,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:325,columnNumber:23},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:323,columnNumber:19},this),t.jsxDEV("div",{className:"space-y-3",children:e.terms.map(s=>t.jsxDEV("div",{className:"rounded-lg border p-4 space-y-3",children:[t.jsxDEV("div",{children:[t.jsxDEV("p",{className:"font-medium",children:s.value},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:351,columnNumber:27},this),t.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Translate this term for each language."},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:352,columnNumber:27},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:350,columnNumber:25},this),t.jsxDEV("div",{className:"grid gap-4 md:grid-cols-2",children:d.map(r=>t.jsxDEV("div",{className:"space-y-2",children:[t.jsxDEV(i.Label,{htmlFor:`term-translation-${s.id}-${r.code}`,children:r.name},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:357,columnNumber:31},this),t.jsxDEV(i.Input,{id:`term-translation-${s.id}-${r.code}`,value:E[s.id]?.[r.code]||"",onChange:c=>P(l=>({...l,[s.id]:{...l[s.id]||{},[r.code]:c.target.value}})),placeholder:s.value},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:360,columnNumber:31},this)]},`${s.id}-${r.code}`,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:356,columnNumber:29},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:354,columnNumber:25},this)]},`translations-${s.id}`,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:349,columnNumber:23},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:347,columnNumber:19},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:305,columnNumber:17},this)]},e.id,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:208,columnNumber:13},this))},void 0,!1,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:206,columnNumber:9},this)]},void 0,!0,{fileName:"D:/Websites/nextblock-production/libs/ecommerce/src/lib/pages/cms/products/attributes/components/AttributeManager.tsx",lineNumber:182,columnNumber:5},this)}exports.AttributeManager=G;
@@ -46,5 +46,5 @@ interface AttributeManagerProps {
46
46
  error?: string;
47
47
  }>;
48
48
  }
49
- export declare function AttributeManager({ attributes, languages, createAttributeAction, deleteAttributeAction, createTermAction, deleteTermAction, reorderTermsAction, updateTranslationsAction, }: AttributeManagerProps): import("react").JSX.Element;
49
+ export declare function AttributeManager({ attributes, languages, createAttributeAction, deleteAttributeAction, createTermAction, deleteTermAction, reorderTermsAction, updateTranslationsAction, }: AttributeManagerProps): import("react/jsx-runtime").JSX.Element;
50
50
  export {};