@nextblock-cms/ecom 0.13.10 → 0.13.12

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 (124) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.es.js +98 -97
  3. package/lib/CurrencyProvider.cjs.js +1 -1
  4. package/lib/CurrencyProvider.es.js +23 -23
  5. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  6. package/lib/components/AccountNavigationMenu.es.js +25 -25
  7. package/lib/components/AddToCartButton.cjs.js +1 -1
  8. package/lib/components/AddToCartButton.es.js +40 -40
  9. package/lib/components/Cart.cjs.js +1 -1
  10. package/lib/components/Cart.es.js +133 -133
  11. package/lib/components/CartDrawer.cjs.js +1 -1
  12. package/lib/components/CartDrawer.es.js +83 -83
  13. package/lib/components/CartIcon.cjs.js +1 -1
  14. package/lib/components/CartIcon.es.js +17 -17
  15. package/lib/components/Checkout.cjs.js +1 -1
  16. package/lib/components/Checkout.es.js +547 -547
  17. package/lib/components/CouponForm.cjs.js +1 -1
  18. package/lib/components/CouponForm.es.js +75 -75
  19. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  20. package/lib/components/CurrencySwitcher.es.js +16 -16
  21. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  22. package/lib/components/CustomerProfileForm.es.js +238 -238
  23. package/lib/components/FeaturedProduct.cjs.js +1 -1
  24. package/lib/components/FeaturedProduct.es.js +34 -34
  25. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  26. package/lib/components/FreemiusLicensePanel.es.js +44 -44
  27. package/lib/components/InvoiceDocument.cjs.js +1 -1
  28. package/lib/components/InvoiceDocument.es.js +141 -141
  29. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  30. package/lib/components/InvoiceViewerShell.es.js +49 -49
  31. package/lib/components/ProductCard.cjs.js +1 -1
  32. package/lib/components/ProductCard.es.js +76 -76
  33. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  34. package/lib/components/ProductDetailsLayout.es.js +308 -308
  35. package/lib/components/ProductGallery.cjs.js +1 -1
  36. package/lib/components/ProductGallery.es.js +22 -22
  37. package/lib/components/ProductGrid.cjs.js +1 -1
  38. package/lib/components/ProductGrid.es.js +9 -9
  39. package/lib/components/ShippingEstimator.cjs.js +1 -1
  40. package/lib/components/ShippingEstimator.es.js +76 -76
  41. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  42. package/lib/components/SimpleTiptapRenderer.d.ts +9 -0
  43. package/lib/components/SimpleTiptapRenderer.es.js +161 -146
  44. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  45. package/lib/components/SubscriptionSelector.es.js +77 -77
  46. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  47. package/lib/pages/cms/coupons/CouponEditorForm.es.js +108 -108
  48. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  49. package/lib/pages/cms/coupons/CouponsPage.es.js +102 -102
  50. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  51. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +21 -21
  52. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  53. package/lib/pages/cms/coupons/EditCouponPage.es.js +21 -21
  54. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  55. package/lib/pages/cms/coupons/ProductScopePicker.es.js +56 -56
  56. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  57. package/lib/pages/cms/orders/ExportReportsDialog.es.js +67 -67
  58. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  59. package/lib/pages/cms/orders/OrderDetailPage.es.js +55 -55
  60. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  61. package/lib/pages/cms/orders/OrderPrintButton.es.js +4 -4
  62. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  63. package/lib/pages/cms/orders/OrderStatusForm.es.js +28 -28
  64. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  65. package/lib/pages/cms/orders/OrdersPage.es.js +52 -52
  66. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  67. package/lib/pages/cms/payments/PaymentsClient.es.js +164 -164
  68. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  69. package/lib/pages/cms/payments/PaymentsPage.es.js +9 -9
  70. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  71. package/lib/pages/cms/products/ProductsPage.es.js +25 -25
  72. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  73. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +48 -48
  74. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  75. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +24 -24
  76. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  77. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +118 -118
  78. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  79. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +18 -18
  80. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  81. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +136 -136
  82. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  83. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +77 -77
  84. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  85. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +77 -77
  86. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  87. package/lib/pages/cms/products/components/DeleteProductButton.es.js +10 -10
  88. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  89. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +60 -60
  90. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  91. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +80 -80
  92. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  93. package/lib/pages/cms/products/components/ProductForm.es.js +493 -493
  94. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  95. package/lib/pages/cms/products/components/ProductMediaManager.es.js +50 -50
  96. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  97. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +145 -145
  98. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  99. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +60 -60
  100. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  101. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +8 -8
  102. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  103. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +8 -8
  104. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  105. package/lib/pages/cms/products/components/VariationsEditor.es.js +228 -228
  106. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  107. package/lib/pages/cms/products/inventory/InventoryPage.es.js +9 -9
  108. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  109. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +135 -135
  110. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  111. package/lib/pages/cms/products/new/NewProductPage.es.js +24 -24
  112. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  113. package/lib/pages/cms/shipping/ShippingPage.es.js +162 -162
  114. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  115. package/lib/pages/cms/shipping/components/RateForm.es.js +296 -296
  116. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  117. package/lib/pages/cms/shipping/components/ZoneForm.es.js +130 -130
  118. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  119. package/lib/pages/cms/taxes/TaxesPage.es.js +126 -126
  120. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  121. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +54 -54
  122. package/lib/product-context.cjs.js +1 -1
  123. package/lib/product-context.es.js +8 -8
  124. package/package.json +4 -4
@@ -1,217 +1,217 @@
1
- import { jsxDEV as e, Fragment as b } from "react/jsx-dev-runtime";
2
- import d from "react";
3
- const p = (s, t) => t.reduce((n, r) => {
1
+ import { jsxDEV as s, Fragment as p } from "react/jsx-dev-runtime";
2
+ import u from "react";
3
+ const f = (e, l) => l.reduce((t, r) => {
4
4
  switch (r.type) {
5
5
  case "bold":
6
- return /* @__PURE__ */ e("strong", { children: n }, void 0, !1, {
7
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
6
+ return /* @__PURE__ */ s("strong", { children: t }, void 0, !1, {
7
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
8
8
  lineNumber: 26,
9
9
  columnNumber: 16
10
10
  }, void 0);
11
11
  case "italic":
12
- return /* @__PURE__ */ e("em", { children: n }, void 0, !1, {
13
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
12
+ return /* @__PURE__ */ s("em", { children: t }, void 0, !1, {
13
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
14
14
  lineNumber: 28,
15
15
  columnNumber: 16
16
16
  }, void 0);
17
17
  case "underline":
18
18
  case "u":
19
- return /* @__PURE__ */ e("u", { children: n }, void 0, !1, {
20
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
19
+ return /* @__PURE__ */ s("u", { children: t }, void 0, !1, {
20
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
21
21
  lineNumber: 31,
22
22
  columnNumber: 16
23
23
  }, void 0);
24
24
  case "strike":
25
- return /* @__PURE__ */ e("s", { children: n }, void 0, !1, {
26
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
25
+ return /* @__PURE__ */ s("s", { children: t }, void 0, !1, {
26
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
27
27
  lineNumber: 33,
28
28
  columnNumber: 16
29
29
  }, void 0);
30
30
  case "code":
31
- return /* @__PURE__ */ e("code", { className: "bg-muted px-1.5 py-0.5 rounded text-[0.875em] font-mono", children: n }, void 0, !1, {
32
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
31
+ return /* @__PURE__ */ s("code", { className: "bg-muted px-1.5 py-0.5 rounded text-[0.875em] font-mono", children: t }, void 0, !1, {
32
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
33
33
  lineNumber: 36,
34
34
  columnNumber: 11
35
35
  }, void 0);
36
36
  case "link": {
37
- const l = r.attrs?.href || "#", i = r.attrs?.target || "_blank";
38
- return /* @__PURE__ */ e("a", { href: l, target: i, rel: "noopener noreferrer", className: "underline text-primary hover:text-primary/80", children: n }, void 0, !1, {
39
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
37
+ const n = r.attrs?.href || "#", i = r.attrs?.target || "_blank";
38
+ return /* @__PURE__ */ s("a", { href: n, target: i, rel: "noopener noreferrer", className: "underline text-primary hover:text-primary/80", children: t }, void 0, !1, {
39
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
40
40
  lineNumber: 44,
41
41
  columnNumber: 11
42
42
  }, void 0);
43
43
  }
44
44
  case "highlight": {
45
- const l = r.attrs?.color;
46
- return /* @__PURE__ */ e("mark", { style: l ? { backgroundColor: l } : {}, className: l ? void 0 : "bg-yellow-200 dark:bg-yellow-800/50", children: n }, void 0, !1, {
47
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
45
+ const n = r.attrs?.color;
46
+ return /* @__PURE__ */ s("mark", { style: n ? { backgroundColor: n } : {}, className: n ? void 0 : "bg-yellow-200 dark:bg-yellow-800/50", children: t }, void 0, !1, {
47
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
48
48
  lineNumber: 52,
49
49
  columnNumber: 16
50
50
  }, void 0);
51
51
  }
52
52
  case "subscript":
53
- return /* @__PURE__ */ e("sub", { children: n }, void 0, !1, {
54
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
53
+ return /* @__PURE__ */ s("sub", { children: t }, void 0, !1, {
54
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
55
55
  lineNumber: 55,
56
56
  columnNumber: 16
57
57
  }, void 0);
58
58
  case "superscript":
59
- return /* @__PURE__ */ e("sup", { children: n }, void 0, !1, {
60
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
59
+ return /* @__PURE__ */ s("sup", { children: t }, void 0, !1, {
60
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
61
61
  lineNumber: 57,
62
62
  columnNumber: 16
63
63
  }, void 0);
64
64
  case "textStyle": {
65
- const l = {};
66
- return r.attrs?.color && (l.color = r.attrs.color), r.attrs?.fontSize && (l.fontSize = r.attrs.fontSize), r.attrs?.fontFamily && (l.fontFamily = r.attrs.fontFamily), Object.keys(l).length > 0 ? /* @__PURE__ */ e("span", { style: l, children: n }, void 0, !1, {
67
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
65
+ const n = {};
66
+ return r.attrs?.color && (n.color = r.attrs.color), r.attrs?.fontSize && (n.fontSize = r.attrs.fontSize), r.attrs?.fontFamily && (n.fontFamily = r.attrs.fontFamily), Object.keys(n).length > 0 ? /* @__PURE__ */ s("span", { style: n, children: t }, void 0, !1, {
67
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
68
68
  lineNumber: 63,
69
69
  columnNumber: 46
70
- }, void 0) : /* @__PURE__ */ e(b, { children: n }, void 0, !1, {
71
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
70
+ }, void 0) : /* @__PURE__ */ s(p, { children: t }, void 0, !1, {
71
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
72
72
  lineNumber: 63,
73
73
  columnNumber: 83
74
74
  }, void 0);
75
75
  }
76
76
  default:
77
- return n;
77
+ return t;
78
78
  }
79
- }, s), f = ["h1", "h2", "h3", "h4", "h5", "h6"], N = (s, t, n, r) => {
80
- const l = Math.max(1, Math.min(6, s)), i = f[l - 1], o = r?.id;
81
- return d.createElement(i, { key: n, className: "font-bold my-4", id: o }, t);
82
- }, a = (s) => {
83
- const t = {}, n = {}, r = s?.colspan, l = s?.rowspan, i = s?.colwidth;
84
- return r && r > 1 && (t.colSpan = r), l && l > 1 && (t.rowSpan = l), i && Array.isArray(i) && i[0] && (n.minWidth = i[0]), Object.keys(n).length > 0 && (t.style = n), t;
85
- }, u = (s, t) => {
86
- if (s.type === "text") {
87
- const r = s.text ?? "";
88
- return /* @__PURE__ */ e(d.Fragment, { children: s.marks?.length ? p(r, s.marks) : r }, t, !1, {
89
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
79
+ }, e), N = ["h1", "h2", "h3", "h4", "h5", "h6"], x = (e, l, t, r) => {
80
+ const n = Math.max(1, Math.min(6, e)), i = N[n - 1], o = r?.id;
81
+ return u.createElement(i, { key: t, className: "font-bold my-4", id: o }, l);
82
+ }, b = (e) => {
83
+ const l = {}, t = {}, r = e?.colspan, n = e?.rowspan, i = e?.colwidth;
84
+ return r && r > 1 && (l.colSpan = r), n && n > 1 && (l.rowSpan = n), i && Array.isArray(i) && i[0] && (t.minWidth = i[0]), Object.keys(t).length > 0 && (l.style = t), l;
85
+ }, d = (e, l) => {
86
+ if (e.type === "text") {
87
+ const r = e.text ?? "";
88
+ return /* @__PURE__ */ s(u.Fragment, { children: e.marks?.length ? f(r, e.marks) : r }, l, !1, {
89
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
90
90
  lineNumber: 110,
91
91
  columnNumber: 7
92
92
  }, void 0);
93
93
  }
94
- const n = s.content?.map((r, l) => u(r, l)) ?? null;
95
- switch (s.type) {
94
+ const t = e.content?.map((r, n) => d(r, n)) ?? null;
95
+ switch (e.type) {
96
96
  // ── Document ────────────────────────────────────────────────
97
97
  case "doc":
98
- return /* @__PURE__ */ e("div", { children: n }, t, !1, {
99
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
98
+ return /* @__PURE__ */ s("div", { children: t }, l, !1, {
99
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
100
100
  lineNumber: 121,
101
101
  columnNumber: 14
102
102
  }, void 0);
103
103
  // ── Block-level text ────────────────────────────────────────
104
104
  case "paragraph": {
105
- if (!s.content?.length || s.content.every(
105
+ if (!e.content?.length || e.content.every(
106
106
  (o) => o.type === "text" && (!o.text || !o.text.trim())
107
107
  )) return null;
108
- const l = s.attrs?.textAlign, i = l ? { textAlign: l } : {};
109
- return /* @__PURE__ */ e("p", { className: "mb-4", style: Object.keys(i).length ? i : void 0, children: n }, t, !1, {
110
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
108
+ const n = e.attrs?.textAlign, i = n ? { textAlign: n } : {};
109
+ return /* @__PURE__ */ s("p", { className: "mb-4", style: Object.keys(i).length ? i : void 0, children: t }, l, !1, {
110
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
111
111
  lineNumber: 135,
112
112
  columnNumber: 14
113
113
  }, void 0);
114
114
  }
115
115
  case "heading":
116
- return N(
117
- s.attrs?.level || 1,
118
- n,
116
+ return x(
117
+ e.attrs?.level || 1,
119
118
  t,
120
- s.attrs ?? void 0
119
+ l,
120
+ e.attrs ?? void 0
121
121
  );
122
122
  // ── Lists ───────────────────────────────────────────────────
123
123
  case "bulletList":
124
- return /* @__PURE__ */ e("ul", { className: "list-disc pl-5 mb-4", children: n }, t, !1, {
125
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
124
+ return /* @__PURE__ */ s("ul", { className: "list-disc pl-5 mb-4", children: t }, l, !1, {
125
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
126
126
  lineNumber: 147,
127
127
  columnNumber: 14
128
128
  }, void 0);
129
129
  case "orderedList": {
130
- const r = s.attrs?.start ?? 1;
131
- return /* @__PURE__ */ e("ol", { className: "list-decimal pl-5 mb-4", start: r !== 1 ? r : void 0, children: n }, t, !1, {
132
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
130
+ const r = e.attrs?.start ?? 1;
131
+ return /* @__PURE__ */ s("ol", { className: "list-decimal pl-5 mb-4", start: r !== 1 ? r : void 0, children: t }, l, !1, {
132
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
133
133
  lineNumber: 150,
134
134
  columnNumber: 14
135
135
  }, void 0);
136
136
  }
137
137
  case "listItem":
138
- return /* @__PURE__ */ e("li", { children: n }, t, !1, {
139
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
138
+ return /* @__PURE__ */ s("li", { children: t }, l, !1, {
139
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
140
140
  lineNumber: 153,
141
141
  columnNumber: 14
142
142
  }, void 0);
143
143
  case "taskList":
144
- return /* @__PURE__ */ e("ul", { className: "list-none pl-0 mb-4 space-y-1", children: n }, t, !1, {
145
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
144
+ return /* @__PURE__ */ s("ul", { className: "list-none pl-0 mb-4 space-y-1", children: t }, l, !1, {
145
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
146
146
  lineNumber: 155,
147
147
  columnNumber: 14
148
148
  }, void 0);
149
149
  case "taskItem": {
150
- const r = !!s.attrs?.checked;
151
- return /* @__PURE__ */ e("li", { className: "flex items-start gap-2", children: [
152
- /* @__PURE__ */ e("input", { type: "checkbox", checked: r, readOnly: !0, className: "mt-1.5 rounded" }, void 0, !1, {
153
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
150
+ const r = !!e.attrs?.checked;
151
+ return /* @__PURE__ */ s("li", { className: "flex items-start gap-2", children: [
152
+ /* @__PURE__ */ s("input", { type: "checkbox", checked: r, readOnly: !0, className: "mt-1.5 rounded" }, void 0, !1, {
153
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
154
154
  lineNumber: 160,
155
155
  columnNumber: 11
156
156
  }, void 0),
157
- /* @__PURE__ */ e("div", { className: r ? "line-through text-muted-foreground" : "", children: n }, void 0, !1, {
158
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
157
+ /* @__PURE__ */ s("div", { className: r ? "line-through text-muted-foreground" : "", children: t }, void 0, !1, {
158
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
159
159
  lineNumber: 161,
160
160
  columnNumber: 11
161
161
  }, void 0)
162
- ] }, t, !0, {
163
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
162
+ ] }, l, !0, {
163
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
164
164
  lineNumber: 159,
165
165
  columnNumber: 9
166
166
  }, void 0);
167
167
  }
168
168
  // ── Quotes & code ───────────────────────────────────────────
169
169
  case "blockquote":
170
- return /* @__PURE__ */ e("blockquote", { className: "border-l-4 border-border pl-4 italic my-4", children: n }, t, !1, {
171
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
170
+ return /* @__PURE__ */ s("blockquote", { className: "border-l-4 border-border pl-4 italic my-4", children: t }, l, !1, {
171
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
172
172
  lineNumber: 168,
173
173
  columnNumber: 14
174
174
  }, void 0);
175
175
  case "codeBlock": {
176
- const r = s.attrs?.language;
177
- return /* @__PURE__ */ e("pre", { className: "bg-muted rounded-lg p-4 mb-4 overflow-x-auto", "data-language": r || void 0, children: /* @__PURE__ */ e("code", { className: "text-sm font-mono", children: n }, void 0, !1, {
178
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
176
+ const r = e.attrs?.language;
177
+ return /* @__PURE__ */ s("pre", { className: "bg-muted rounded-lg p-4 mb-4 overflow-x-auto", "data-language": r || void 0, children: /* @__PURE__ */ s("code", { className: "text-sm font-mono", children: t }, void 0, !1, {
178
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
179
179
  lineNumber: 173,
180
180
  columnNumber: 11
181
- }, void 0) }, t, !1, {
182
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
181
+ }, void 0) }, l, !1, {
182
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
183
183
  lineNumber: 172,
184
184
  columnNumber: 9
185
185
  }, void 0);
186
186
  }
187
187
  // ── Inline / void ───────────────────────────────────────────
188
188
  case "horizontalRule":
189
- return /* @__PURE__ */ e("hr", { className: "my-6 border-border" }, t, !1, {
190
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
189
+ return /* @__PURE__ */ s("hr", { className: "my-6 border-border" }, l, !1, {
190
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
191
191
  lineNumber: 180,
192
192
  columnNumber: 14
193
193
  }, void 0);
194
194
  case "hardBreak":
195
- return /* @__PURE__ */ e("br", {}, t, !1, {
196
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
195
+ return /* @__PURE__ */ s("br", {}, l, !1, {
196
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
197
197
  lineNumber: 182,
198
198
  columnNumber: 14
199
199
  }, void 0);
200
200
  case "image": {
201
- const r = s.attrs?.src, l = s.attrs?.alt || "", i = s.attrs?.title, o = s.attrs?.width, c = s.attrs?.height, m = {};
202
- return o && (m.width = typeof o == "number" ? `${o}px` : o), c && (m.height = typeof c == "number" ? `${c}px` : c), /* @__PURE__ */ e(
201
+ const r = e.attrs?.src, n = e.attrs?.alt || "", i = e.attrs?.title, o = e.attrs?.width, c = e.attrs?.height, m = {};
202
+ return o && (m.width = typeof o == "number" ? `${o}px` : o), c && (m.height = typeof c == "number" ? `${c}px` : c), /* @__PURE__ */ s(
203
203
  "img",
204
204
  {
205
205
  src: r,
206
- alt: l,
206
+ alt: n,
207
207
  title: i,
208
208
  style: Object.keys(m).length ? m : void 0,
209
209
  className: "max-w-full h-auto rounded my-4"
210
210
  },
211
- t,
211
+ l,
212
212
  !1,
213
213
  {
214
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
214
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
215
215
  lineNumber: 193,
216
216
  columnNumber: 9
217
217
  },
@@ -220,54 +220,54 @@ const p = (s, t) => t.reduce((n, r) => {
220
220
  }
221
221
  // ── Table ───────────────────────────────────────────────────
222
222
  case "table":
223
- return /* @__PURE__ */ e("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ e("table", { className: "w-full border-collapse border border-gray-300 dark:border-gray-700", style: { minWidth: 500 }, children: /* @__PURE__ */ e("tbody", { children: n }, void 0, !1, {
224
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
223
+ return /* @__PURE__ */ s("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ s("table", { className: "w-full border-collapse border border-gray-300 dark:border-gray-700", style: { minWidth: 500 }, children: /* @__PURE__ */ s("tbody", { children: t }, void 0, !1, {
224
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
225
225
  lineNumber: 209,
226
226
  columnNumber: 13
227
227
  }, void 0) }, void 0, !1, {
228
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
228
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
229
229
  lineNumber: 208,
230
230
  columnNumber: 11
231
- }, void 0) }, t, !1, {
232
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
231
+ }, void 0) }, l, !1, {
232
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
233
233
  lineNumber: 207,
234
234
  columnNumber: 9
235
235
  }, void 0);
236
236
  case "tableRow":
237
- return /* @__PURE__ */ e("tr", { className: "border-b border-gray-300 dark:border-gray-700", children: n }, t, !1, {
238
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
237
+ return /* @__PURE__ */ s("tr", { className: "border-b border-gray-300 dark:border-gray-700", children: t }, l, !1, {
238
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
239
239
  lineNumber: 214,
240
240
  columnNumber: 14
241
241
  }, void 0);
242
242
  case "tableHeader":
243
- return /* @__PURE__ */ e(
243
+ return /* @__PURE__ */ s(
244
244
  "th",
245
245
  {
246
- ...a(s.attrs ?? void 0),
246
+ ...b(e.attrs ?? void 0),
247
247
  className: "bg-gray-100 dark:bg-gray-800 font-bold p-3 text-left border border-gray-300 dark:border-gray-700",
248
- children: n
248
+ children: t
249
249
  },
250
- t,
250
+ l,
251
251
  !1,
252
252
  {
253
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
253
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
254
254
  lineNumber: 217,
255
255
  columnNumber: 9
256
256
  },
257
257
  void 0
258
258
  );
259
259
  case "tableCell":
260
- return /* @__PURE__ */ e(
260
+ return /* @__PURE__ */ s(
261
261
  "td",
262
262
  {
263
- ...a(s.attrs ?? void 0),
263
+ ...b(e.attrs ?? void 0),
264
264
  className: "p-3 border border-gray-300 dark:border-gray-700",
265
- children: n
265
+ children: t
266
266
  },
267
- t,
267
+ l,
268
268
  !1,
269
269
  {
270
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
270
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
271
271
  lineNumber: 227,
272
272
  columnNumber: 9
273
273
  },
@@ -275,106 +275,121 @@ const p = (s, t) => t.reduce((n, r) => {
275
275
  );
276
276
  // ── Details / collapsible ───────────────────────────────────
277
277
  case "details":
278
- return /* @__PURE__ */ e("details", { className: "my-4 border rounded-lg overflow-hidden", children: n }, t, !1, {
279
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
278
+ return /* @__PURE__ */ s("details", { className: "my-4 border rounded-lg overflow-hidden", children: t }, l, !1, {
279
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
280
280
  lineNumber: 238,
281
281
  columnNumber: 14
282
282
  }, void 0);
283
283
  case "detailsSummary":
284
- return /* @__PURE__ */ e("summary", { className: "cursor-pointer p-3 font-semibold bg-muted/30 hover:bg-muted/50", children: n }, t, !1, {
285
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
284
+ return /* @__PURE__ */ s("summary", { className: "cursor-pointer p-3 font-semibold bg-muted/30 hover:bg-muted/50", children: t }, l, !1, {
285
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
286
286
  lineNumber: 240,
287
287
  columnNumber: 14
288
288
  }, void 0);
289
289
  case "detailsContent":
290
- return /* @__PURE__ */ e("div", { className: "p-3 border-t", children: n }, t, !1, {
291
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
290
+ return /* @__PURE__ */ s("div", { className: "p-3 border-t", children: t }, l, !1, {
291
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
292
292
  lineNumber: 242,
293
293
  columnNumber: 14
294
294
  }, void 0);
295
295
  // ── Embeds ──────────────────────────────────────────────────
296
296
  case "youtube": {
297
- const r = s.attrs?.src, l = s.attrs?.width || 640, i = s.attrs?.height || 480;
298
- return /* @__PURE__ */ e("div", { className: "relative my-4 overflow-hidden rounded-lg", style: { aspectRatio: `${l}/${i}`, maxWidth: l }, children: /* @__PURE__ */ e(
297
+ const r = a(e.attrs?.src), n = e.attrs?.width || 640, i = e.attrs?.height || 480;
298
+ return /* @__PURE__ */ s("div", { className: "relative my-4 overflow-hidden rounded-lg", style: { aspectRatio: `${n}/${i}`, maxWidth: n }, children: /* @__PURE__ */ s(
299
299
  "iframe",
300
300
  {
301
301
  src: r,
302
302
  allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
303
303
  allowFullScreen: !0,
304
+ loading: "lazy",
304
305
  className: "absolute inset-0 w-full h-full"
305
306
  },
306
307
  void 0,
307
308
  !1,
308
309
  {
309
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
310
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
310
311
  lineNumber: 251,
311
312
  columnNumber: 11
312
313
  },
313
314
  void 0
314
- ) }, t, !1, {
315
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
315
+ ) }, l, !1, {
316
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
316
317
  lineNumber: 250,
317
318
  columnNumber: 9
318
319
  }, void 0);
319
320
  }
320
321
  case "iframe": {
321
- const r = s.attrs?.src;
322
- return /* @__PURE__ */ e("div", { className: "my-4 overflow-hidden rounded-lg", style: { aspectRatio: "16/9" }, children: /* @__PURE__ */ e("iframe", { src: r, allowFullScreen: !0, className: "w-full h-full border-0" }, void 0, !1, {
323
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
324
- lineNumber: 264,
322
+ const r = a(e.attrs?.src);
323
+ return /* @__PURE__ */ s("div", { className: "my-4 overflow-hidden rounded-lg", style: { aspectRatio: "16/9" }, children: /* @__PURE__ */ s("iframe", { src: r, allowFullScreen: !0, loading: "lazy", className: "w-full h-full border-0" }, void 0, !1, {
324
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
325
+ lineNumber: 265,
325
326
  columnNumber: 11
326
- }, void 0) }, t, !1, {
327
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
328
- lineNumber: 263,
327
+ }, void 0) }, l, !1, {
328
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
329
+ lineNumber: 264,
329
330
  columnNumber: 9
330
331
  }, void 0);
331
332
  }
332
333
  // ── Mention ─────────────────────────────────────────────────
333
334
  case "mention": {
334
- const r = s.attrs?.label || s.attrs?.id || "";
335
- return /* @__PURE__ */ e("span", { className: "text-primary font-medium", children: [
335
+ const r = e.attrs?.label || e.attrs?.id || "";
336
+ return /* @__PURE__ */ s("span", { className: "text-primary font-medium", children: [
336
337
  "@",
337
338
  r
338
- ] }, t, !0, {
339
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
340
- lineNumber: 272,
339
+ ] }, l, !0, {
340
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
341
+ lineNumber: 273,
341
342
  columnNumber: 14
342
343
  }, void 0);
343
344
  }
344
345
  // ── Fallback ────────────────────────────────────────────────
345
346
  default:
346
- return /* @__PURE__ */ e("div", { children: n }, t, !1, {
347
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
348
- lineNumber: 278,
347
+ return /* @__PURE__ */ s("div", { children: t }, l, !1, {
348
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
349
+ lineNumber: 279,
349
350
  columnNumber: 14
350
351
  }, void 0);
351
352
  }
352
- }, k = ({ content: s, className: t }) => {
353
- if (!s) return null;
354
- if (typeof s == "string") {
355
- if (s.trim().startsWith("{") || s.trim().startsWith("["))
353
+ }, a = (e) => e?.replace(
354
+ /(?:https?:)?\/\/(?:www\.|m\.|music\.)?youtube\.com\/embed\//gi,
355
+ "https://www.youtube-nocookie.com/embed/"
356
+ ), h = ({ content: e, className: l }) => {
357
+ if (!e) return null;
358
+ if (typeof e == "string") {
359
+ if (e.trim().startsWith("{") || e.trim().startsWith("["))
356
360
  try {
357
- const r = JSON.parse(s);
358
- return /* @__PURE__ */ e(k, { content: r, className: t }, void 0, !1, {
359
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
360
- lineNumber: 292,
361
+ const r = JSON.parse(e);
362
+ return /* @__PURE__ */ s(h, { content: r, className: l }, void 0, !1, {
363
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
364
+ lineNumber: 307,
361
365
  columnNumber: 16
362
366
  }, void 0);
363
367
  } catch {
364
368
  }
365
- return /* @__PURE__ */ e("div", { className: t, dangerouslySetInnerHTML: { __html: s } }, void 0, !1, {
366
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
367
- lineNumber: 298,
368
- columnNumber: 12
369
- }, void 0);
369
+ return /* @__PURE__ */ s(
370
+ "div",
371
+ {
372
+ className: l,
373
+ dangerouslySetInnerHTML: { __html: a(e) ?? e }
374
+ },
375
+ void 0,
376
+ !1,
377
+ {
378
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
379
+ lineNumber: 314,
380
+ columnNumber: 7
381
+ },
382
+ void 0
383
+ );
370
384
  }
371
- const n = s;
372
- return !n.content || !Array.isArray(n.content) ? null : /* @__PURE__ */ e("div", { className: t, children: n.content.map((r, l) => u(r, l)) }, void 0, !1, {
373
- fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
374
- lineNumber: 306,
385
+ const t = e;
386
+ return !t.content || !Array.isArray(t.content) ? null : /* @__PURE__ */ s("div", { className: l, children: t.content.map((r, n) => d(r, n)) }, void 0, !1, {
387
+ fileName: "D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SimpleTiptapRenderer.tsx",
388
+ lineNumber: 326,
375
389
  columnNumber: 5
376
390
  }, void 0);
377
391
  };
378
392
  export {
379
- k as SimpleTiptapRenderer
393
+ h as SimpleTiptapRenderer,
394
+ a as toNoCookieEmbedSrc
380
395
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-dev-runtime"),p=require("react"),P=require("@nextblock-cms/ui/button"),k=require("@nextblock-cms/ui/Skeleton"),T=require("../use-cart.cjs.js"),R=require("lucide-react"),j=require("sonner"),$=require("../pages/cms/products/actions.cjs.js"),l=require("@nextblock-cms/utils"),L=require("../CurrencyProvider.cjs.js"),x=require("../currency.cjs.js"),F=require("../trials.cjs.js"),I=({product:e})=>{const N=T.useCart(s=>s),{t}=l.useTranslations(),{activeCurrencyCode:c,currencies:a,defaultCurrency:o}=L.useCurrency(),[v,D]=p.useState([]),[U,E]=p.useState(!0),[i,u]=p.useState("annual");if(p.useEffect(()=>{async function s(){try{if(!e.id)return;const m=await $.getPublicFreemiusPricing(e.id);D(m)}catch(m){console.error("Failed to load pricing:",m)}finally{E(!1)}}s()},[e.id]),!N)return r.jsxDEV(k.Skeleton,{className:"h-14 w-full"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:50,columnNumber:12},void 0);const{addItem:V}=N,d=v[0],n=d?.pricing?.[0],q=()=>{let s=e.price,m=e.freemius_plan_id;n&&(i==="monthly"&&n.monthly_price!=null&&(s=l.majorUnitAmountToMinor(n.monthly_price,o.code)),i==="annual"&&n.annual_price!=null&&(s=l.majorUnitAmountToMinor(n.annual_price,o.code)),i==="lifetime"&&n.lifetime_price!=null&&(s=l.majorUnitAmountToMinor(n.lifetime_price,o.code)));const h=a.reduce((S,C)=>(S[C.code]=x.convertMinorUnitAmount({amount:s,fromCurrencyCode:o.code,toCurrencyCode:C.code,currencies:a,applyRounding:!0}),S),{}),M=h[c]??s;d&&d.id&&(m=d.id);const{success:w,error:A}=V({id:e.id,product_id:e.id,title:e.title,price:M,prices:h,image_url:e.image_url,slug:e.slug,sku:e.sku,language_id:e.language_id,translation_group_id:e.translation_group_id,product_type:"digital",payment_provider:"freemius",provider:"freemius",billing_cycle:i,freemius_product_id:e.freemius_product_id,freemius_plan_id:m,trial_period_days:e.trial_period_days??0,trial_requires_payment_method:e.trial_requires_payment_method??!1,is_taxable:e.is_taxable,currency_code:c});w?j.toast.success(t("ecommerce.added_to_cart_success",{item:e.title})):j.toast.error(A||t("ecommerce.added_to_cart_error"))};if(U)return r.jsxDEV(k.Skeleton,{className:"h-32 w-full"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:123,columnNumber:13},void 0);if(!d||!n)return r.jsxDEV("div",{className:"p-4 border border-dashed rounded-lg text-center text-muted-foreground",children:t("ecommerce.pricing_unavailable")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:128,columnNumber:9},void 0);const _=n.monthly_price!=null,g=n.annual_price!=null,y=n.lifetime_price!=null;i==="annual"&&!g&&(_?u("monthly"):y&&u("lifetime"));const b=F.getTrialSummary(e);let f=e.price;return i==="monthly"&&n.monthly_price!=null&&(f=x.convertMinorUnitAmount({amount:l.majorUnitAmountToMinor(n.monthly_price,o.code),fromCurrencyCode:o.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),i==="annual"&&n.annual_price!=null&&(f=x.convertMinorUnitAmount({amount:l.majorUnitAmountToMinor(n.annual_price,o.code),fromCurrencyCode:o.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),i==="lifetime"&&n.lifetime_price!=null&&(f=x.convertMinorUnitAmount({amount:l.majorUnitAmountToMinor(n.lifetime_price,o.code),fromCurrencyCode:o.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),r.jsxDEV("div",{className:"flex flex-col gap-4",children:[r.jsxDEV("div",{className:"flex bg-secondary/35 p-1 rounded-lg w-full max-w-sm mx-auto shadow-inner",children:[_&&r.jsxDEV("button",{onClick:()=>u("monthly"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${i==="monthly"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.monthly")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:181,columnNumber:13},void 0),g&&r.jsxDEV("button",{onClick:()=>u("annual"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${i==="annual"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.annual")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:193,columnNumber:13},void 0),y&&r.jsxDEV("button",{onClick:()=>u("lifetime"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${i==="lifetime"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.lifetime")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:205,columnNumber:13},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:179,columnNumber:7},void 0),r.jsxDEV("div",{className:"text-center",children:[r.jsxDEV("span",{className:"text-3xl font-extrabold text-foreground",children:l.formatPrice(f,c)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:219,columnNumber:11},void 0),i!=="lifetime"&&r.jsxDEV("span",{className:"text-muted-foreground text-sm ml-1.5",children:["/ ",t(i==="annual"?"ecommerce.year":"ecommerce.month")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:223,columnNumber:15},void 0),b&&r.jsxDEV("div",{className:"mt-1 text-xs font-medium text-emerald-600 dark:text-emerald-400",children:[b.label,r.jsxDEV("span",{className:"mx-2 text-muted-foreground/50",children:"|"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:228,columnNumber:15},void 0),r.jsxDEV("span",{className:"text-muted-foreground",children:b.paymentRequirementLabel},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:229,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:226,columnNumber:13},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:218,columnNumber:7},void 0),r.jsxDEV(P.Button,{onClick:q,className:"w-full h-12 text-md font-bold shadow-md transition-all hover:shadow-lg active:scale-[0.98]",children:[r.jsxDEV(R.ShoppingCart,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:237,columnNumber:9},void 0),b?.label?`Start ${b.label}`:t("ecommerce.get_license")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:236,columnNumber:7},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:177,columnNumber:5},void 0)};exports.SubscriptionSelector=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-dev-runtime"),x=require("react"),P=require("@nextblock-cms/ui/button"),D=require("@nextblock-cms/ui/Skeleton"),T=require("../use-cart.cjs.js"),U=require("lucide-react"),C=require("sonner"),R=require("../pages/cms/products/actions.cjs.js"),s=require("@nextblock-cms/utils"),$=require("../CurrencyProvider.cjs.js"),p=require("../currency.cjs.js"),L=require("../trials.cjs.js"),F=({product:e})=>{const N=T.useCart(l=>l),{t}=s.useTranslations(),{activeCurrencyCode:c,currencies:a,defaultCurrency:r}=$.useCurrency(),[k,j]=x.useState([]),[E,V]=x.useState(!0),[o,u]=x.useState("annual");if(x.useEffect(()=>{async function l(){try{if(!e.id)return;const m=await R.getPublicFreemiusPricing(e.id);j(m)}catch(m){console.error("Failed to load pricing:",m)}finally{V(!1)}}l()},[e.id]),!N)return i.jsxDEV(D.Skeleton,{className:"h-14 w-full"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:50,columnNumber:12},void 0);const{addItem:W}=N,d=k[0],n=d?.pricing?.[0],q=()=>{let l=e.price,m=e.freemius_plan_id;n&&(o==="monthly"&&n.monthly_price!=null&&(l=s.majorUnitAmountToMinor(n.monthly_price,r.code)),o==="annual"&&n.annual_price!=null&&(l=s.majorUnitAmountToMinor(n.annual_price,r.code)),o==="lifetime"&&n.lifetime_price!=null&&(l=s.majorUnitAmountToMinor(n.lifetime_price,r.code)));const h=a.reduce((S,v)=>(S[v.code]=p.convertMinorUnitAmount({amount:l,fromCurrencyCode:r.code,toCurrencyCode:v.code,currencies:a,applyRounding:!0}),S),{}),M=h[c]??l;d&&d.id&&(m=d.id);const{success:w,error:A}=W({id:e.id,product_id:e.id,title:e.title,price:M,prices:h,image_url:e.image_url,slug:e.slug,sku:e.sku,language_id:e.language_id,translation_group_id:e.translation_group_id,product_type:"digital",payment_provider:"freemius",provider:"freemius",billing_cycle:o,freemius_product_id:e.freemius_product_id,freemius_plan_id:m,trial_period_days:e.trial_period_days??0,trial_requires_payment_method:e.trial_requires_payment_method??!1,is_taxable:e.is_taxable,currency_code:c});w?C.toast.success(t("ecommerce.added_to_cart_success",{item:e.title})):C.toast.error(A||t("ecommerce.added_to_cart_error"))};if(E)return i.jsxDEV(D.Skeleton,{className:"h-32 w-full"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:123,columnNumber:13},void 0);if(!d||!n)return i.jsxDEV("div",{className:"p-4 border border-dashed rounded-lg text-center text-muted-foreground",children:t("ecommerce.pricing_unavailable")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:128,columnNumber:9},void 0);const _=n.monthly_price!=null,g=n.annual_price!=null,y=n.lifetime_price!=null;o==="annual"&&!g&&(_?u("monthly"):y&&u("lifetime"));const b=L.getTrialSummary(e);let f=e.price;return o==="monthly"&&n.monthly_price!=null&&(f=p.convertMinorUnitAmount({amount:s.majorUnitAmountToMinor(n.monthly_price,r.code),fromCurrencyCode:r.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),o==="annual"&&n.annual_price!=null&&(f=p.convertMinorUnitAmount({amount:s.majorUnitAmountToMinor(n.annual_price,r.code),fromCurrencyCode:r.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),o==="lifetime"&&n.lifetime_price!=null&&(f=p.convertMinorUnitAmount({amount:s.majorUnitAmountToMinor(n.lifetime_price,r.code),fromCurrencyCode:r.code,toCurrencyCode:c,currencies:a,applyRounding:!0})),i.jsxDEV("div",{className:"flex flex-col gap-4",children:[i.jsxDEV("div",{className:"flex bg-secondary/35 p-1 rounded-lg w-full max-w-sm mx-auto shadow-inner",children:[_&&i.jsxDEV("button",{onClick:()=>u("monthly"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${o==="monthly"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.monthly")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:181,columnNumber:13},void 0),g&&i.jsxDEV("button",{onClick:()=>u("annual"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${o==="annual"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.annual")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:193,columnNumber:13},void 0),y&&i.jsxDEV("button",{onClick:()=>u("lifetime"),className:`flex-1 py-1.5 text-xs font-semibold rounded-md transition-all ${o==="lifetime"?"bg-background shadow-sm text-foreground":"text-muted-foreground hover:text-foreground"}`,children:t("ecommerce.lifetime")},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:205,columnNumber:13},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:179,columnNumber:7},void 0),i.jsxDEV("div",{className:"text-center",children:[i.jsxDEV("span",{className:"text-3xl font-extrabold text-foreground",children:s.formatPrice(f,c)},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:219,columnNumber:11},void 0),o!=="lifetime"&&i.jsxDEV("span",{className:"text-muted-foreground text-sm ml-1.5",children:["/ ",t(o==="annual"?"ecommerce.year":"ecommerce.month")]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:223,columnNumber:15},void 0),b&&i.jsxDEV("div",{className:"mt-1 text-xs font-medium text-emerald-600 dark:text-emerald-400",children:[b.label,i.jsxDEV("span",{className:"mx-2 text-muted-foreground/50",children:"|"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:228,columnNumber:15},void 0),i.jsxDEV("span",{className:"text-muted-foreground",children:b.paymentRequirementLabel},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:229,columnNumber:15},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:226,columnNumber:13},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:218,columnNumber:7},void 0),i.jsxDEV(P.Button,{onClick:q,className:"w-full h-12 text-md font-bold shadow-md transition-all hover:shadow-lg active:scale-[0.98]",children:[i.jsxDEV(U.ShoppingCart,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:237,columnNumber:9},void 0),b?.label?`Start ${b.label}`:t("ecommerce.get_license")]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:236,columnNumber:7},void 0)]},void 0,!0,{fileName:"D:/Websites/nextblock-sandbox/libs/ecommerce/src/lib/components/SubscriptionSelector.tsx",lineNumber:177,columnNumber:5},void 0)};exports.SubscriptionSelector=F;