@nextblock-cms/ecom 0.13.4 → 0.13.6
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.
- package/lib/CurrencyProvider.cjs.js +1 -1
- package/lib/CurrencyProvider.es.js +31 -27
- package/lib/components/AccountNavigationMenu.cjs.js +1 -1
- package/lib/components/AccountNavigationMenu.es.js +53 -26
- package/lib/components/AddToCartButton.cjs.js +1 -1
- package/lib/components/AddToCartButton.es.js +49 -25
- package/lib/components/Cart.cjs.js +1 -1
- package/lib/components/Cart.es.js +367 -115
- package/lib/components/CartDrawer.cjs.js +1 -1
- package/lib/components/CartDrawer.es.js +272 -88
- package/lib/components/CartIcon.cjs.js +1 -1
- package/lib/components/CartIcon.es.js +44 -16
- package/lib/components/Checkout.cjs.js +1 -1
- package/lib/components/Checkout.es.js +1601 -694
- package/lib/components/CouponForm.cjs.js +1 -1
- package/lib/components/CouponForm.es.js +160 -96
- package/lib/components/CurrencySwitcher.cjs.js +1 -1
- package/lib/components/CurrencySwitcher.es.js +32 -12
- package/lib/components/CustomerProfileForm.cjs.js +1 -1
- package/lib/components/CustomerProfileForm.es.js +666 -250
- package/lib/components/FeaturedProduct.cjs.js +1 -1
- package/lib/components/FeaturedProduct.es.js +126 -42
- package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
- package/lib/components/FreemiusLicensePanel.es.js +125 -45
- package/lib/components/InvoiceDocument.cjs.js +1 -1
- package/lib/components/InvoiceDocument.es.js +485 -146
- package/lib/components/InvoiceViewerShell.cjs.js +2 -2
- package/lib/components/InvoiceViewerShell.es.js +142 -54
- package/lib/components/ProductCard.cjs.js +1 -1
- package/lib/components/ProductCard.es.js +224 -81
- package/lib/components/ProductDetailsLayout.cjs.js +1 -1
- package/lib/components/ProductDetailsLayout.es.js +629 -275
- package/lib/components/ProductGallery.cjs.js +1 -1
- package/lib/components/ProductGallery.es.js +64 -21
- package/lib/components/ProductGrid.cjs.js +1 -1
- package/lib/components/ProductGrid.es.js +28 -12
- package/lib/components/ShippingEstimator.cjs.js +1 -1
- package/lib/components/ShippingEstimator.es.js +226 -90
- package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
- package/lib/components/SimpleTiptapRenderer.es.js +286 -93
- package/lib/components/SubscriptionSelector.cjs.js +1 -1
- package/lib/components/SubscriptionSelector.es.js +168 -92
- package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.es.js +370 -110
- package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
- package/lib/pages/cms/coupons/CouponsPage.es.js +368 -116
- package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
- package/lib/pages/cms/coupons/CreateCouponDialog.es.js +61 -25
- package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
- package/lib/pages/cms/coupons/EditCouponPage.es.js +71 -35
- package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
- package/lib/pages/cms/coupons/ProductScopePicker.es.js +167 -72
- package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
- package/lib/pages/cms/orders/ExportReportsDialog.es.js +247 -87
- package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.es.js +283 -95
- package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderPrintButton.es.js +21 -9
- package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderStatusForm.es.js +106 -46
- package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrdersPage.es.js +257 -78
- package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsClient.es.js +551 -155
- package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsPage.es.js +24 -16
- package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
- package/lib/pages/cms/products/ProductsPage.es.js +77 -37
- package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +176 -96
- package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +85 -41
- package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +455 -192
- package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +72 -28
- package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
- package/lib/pages/cms/products/categories/components/CategoryManager.es.js +490 -183
- package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
- package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +175 -67
- package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +211 -100
- package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/DeleteProductButton.es.js +45 -25
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +202 -58
- package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductCategorySelector.es.js +234 -88
- package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductForm.es.js +1199 -551
- package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductMediaManager.es.js +154 -63
- package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductsBulkTable.es.js +391 -144
- package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/SaleScheduleFields.es.js +203 -87
- package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +30 -18
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +35 -23
- package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.es.js +492 -261
- package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
- package/lib/pages/cms/products/inventory/InventoryPage.es.js +33 -13
- package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
- package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +365 -145
- package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/new/NewProductPage.es.js +46 -34
- package/lib/pages/cms/products/server-actions.cjs.js +1 -1
- package/lib/pages/cms/products/server-actions.es.js +163 -139
- package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
- package/lib/pages/cms/shipping/ShippingPage.es.js +507 -155
- package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/RateForm.es.js +717 -334
- package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/ZoneForm.es.js +392 -158
- package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
- package/lib/pages/cms/taxes/TaxesPage.es.js +448 -120
- package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
- package/lib/pages/cms/taxes/components/TaxRateForm.es.js +159 -55
- package/lib/product-context.cjs.js +1 -1
- package/lib/product-context.es.js +14 -10
- package/package.json +4 -4
|
@@ -1,149 +1,260 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { useState as
|
|
4
|
-
import { Label as
|
|
2
|
+
import { jsxDEV as s } from "react/jsx-dev-runtime";
|
|
3
|
+
import { useState as g, useEffect as y } from "react";
|
|
4
|
+
import { Label as k, Input as v } from "@nextblock-cms/ui";
|
|
5
5
|
import { getCurrencyMinorUnitFactor as F } from "@nextblock-cms/utils";
|
|
6
|
-
import { normalizeCurrencyRecord as
|
|
7
|
-
function
|
|
8
|
-
return F(
|
|
6
|
+
import { normalizeCurrencyRecord as D } from "../../../../currency.es.js";
|
|
7
|
+
function j(r) {
|
|
8
|
+
return F(r) === 1 ? 0 : 2;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
return
|
|
10
|
+
function C(r, n) {
|
|
11
|
+
return r == null || Number.isNaN(r) ? "" : r.toFixed(n);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
id:
|
|
15
|
-
currencyCode:
|
|
16
|
-
value:
|
|
17
|
-
disabled:
|
|
18
|
-
placeholder:
|
|
19
|
-
className:
|
|
13
|
+
function h({
|
|
14
|
+
id: r,
|
|
15
|
+
currencyCode: n,
|
|
16
|
+
value: t,
|
|
17
|
+
disabled: p,
|
|
18
|
+
placeholder: b,
|
|
19
|
+
className: f,
|
|
20
20
|
allowEmpty: N = !1,
|
|
21
|
-
onValueChange:
|
|
21
|
+
onValueChange: d
|
|
22
22
|
}) {
|
|
23
|
-
const
|
|
24
|
-
return
|
|
25
|
-
|
|
26
|
-
}, [
|
|
27
|
-
|
|
23
|
+
const i = j(n), [a, u] = g(!1), [x, o] = g(() => C(t, i));
|
|
24
|
+
return y(() => {
|
|
25
|
+
a || o(C(t, i));
|
|
26
|
+
}, [t, i, a]), /* @__PURE__ */ s(
|
|
27
|
+
v,
|
|
28
28
|
{
|
|
29
|
-
id:
|
|
29
|
+
id: r,
|
|
30
30
|
type: "text",
|
|
31
31
|
inputMode: "decimal",
|
|
32
|
-
value:
|
|
33
|
-
disabled:
|
|
34
|
-
placeholder:
|
|
35
|
-
className:
|
|
36
|
-
onFocus: () =>
|
|
32
|
+
value: x,
|
|
33
|
+
disabled: p,
|
|
34
|
+
placeholder: b,
|
|
35
|
+
className: f,
|
|
36
|
+
onFocus: () => u(!0),
|
|
37
37
|
onChange: (e) => {
|
|
38
|
-
let
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
|
|
38
|
+
let c = e.target.value.replace(/[^0-9.]/g, "");
|
|
39
|
+
const l = c.indexOf(".");
|
|
40
|
+
if (l !== -1 && (c = c.slice(0, l + 1) + c.slice(l + 1).replace(/\./g, "")), o(c), c === "" || c === ".") {
|
|
41
|
+
d(N ? null : 0);
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
const
|
|
45
|
-
Number.isNaN(
|
|
44
|
+
const m = Number(c);
|
|
45
|
+
Number.isNaN(m) || d(m);
|
|
46
46
|
},
|
|
47
47
|
onBlur: () => {
|
|
48
|
-
if (
|
|
49
|
-
const e = Number(
|
|
50
|
-
e !==
|
|
48
|
+
if (u(!1), t != null && !Number.isNaN(t)) {
|
|
49
|
+
const e = Number(t.toFixed(i));
|
|
50
|
+
e !== t && d(e);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
|
+
void 0,
|
|
55
|
+
!1,
|
|
56
|
+
{
|
|
57
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
58
|
+
lineNumber: 67,
|
|
59
|
+
columnNumber: 5
|
|
60
|
+
},
|
|
61
|
+
this
|
|
54
62
|
);
|
|
55
63
|
}
|
|
56
|
-
function
|
|
57
|
-
idPrefix:
|
|
58
|
-
currencies:
|
|
59
|
-
prices:
|
|
60
|
-
salePrices:
|
|
61
|
-
managedCurrencyCodes:
|
|
62
|
-
onPriceChange:
|
|
64
|
+
function M({
|
|
65
|
+
idPrefix: r = "currency",
|
|
66
|
+
currencies: n,
|
|
67
|
+
prices: t,
|
|
68
|
+
salePrices: p,
|
|
69
|
+
managedCurrencyCodes: b = [],
|
|
70
|
+
onPriceChange: f,
|
|
63
71
|
onSalePriceChange: N,
|
|
64
|
-
readOnly:
|
|
65
|
-
helperText:
|
|
66
|
-
trailing:
|
|
72
|
+
readOnly: d = !1,
|
|
73
|
+
helperText: i,
|
|
74
|
+
trailing: a
|
|
67
75
|
}) {
|
|
68
|
-
const
|
|
69
|
-
return
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
76
|
+
const u = n.find((o) => o.is_default) ?? n[0], x = new Set(b);
|
|
77
|
+
return u ? /* @__PURE__ */ s("div", { className: "flex flex-col gap-2", children: [
|
|
78
|
+
i && /* @__PURE__ */ s("p", { className: "text-xs text-muted-foreground bg-muted/20 p-2 rounded-md border", children: i }, void 0, !1, {
|
|
79
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
80
|
+
lineNumber: 147,
|
|
81
|
+
columnNumber: 9
|
|
82
|
+
}, this),
|
|
83
|
+
/* @__PURE__ */ s("div", { className: "divide-y divide-muted/50", children: n.map((o) => {
|
|
84
|
+
const e = D(o), c = e.is_default !== !0 && x.has(e.code), l = d || c;
|
|
85
|
+
return /* @__PURE__ */ s(
|
|
74
86
|
"div",
|
|
75
87
|
{
|
|
76
88
|
className: "flex flex-wrap items-stretch gap-4 py-3 first:pt-0 last:pb-0",
|
|
77
89
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
90
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-2 w-[160px] shrink-0 self-stretch border-r border-border/50 pr-4", children: [
|
|
91
|
+
/* @__PURE__ */ s("span", { className: "text-sm font-black tracking-tighter text-foreground", children: e.code }, void 0, !1, {
|
|
92
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
93
|
+
lineNumber: 164,
|
|
94
|
+
columnNumber: 17
|
|
95
|
+
}, this),
|
|
96
|
+
/* @__PURE__ */ s("span", { className: "text-[11px] text-muted-foreground font-medium", children: e.symbol }, void 0, !1, {
|
|
97
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
98
|
+
lineNumber: 165,
|
|
99
|
+
columnNumber: 17
|
|
100
|
+
}, this),
|
|
101
|
+
e.is_default ? /* @__PURE__ */ s("span", { className: "text-[9px] uppercase font-bold bg-primary/10 text-primary px-1.5 py-0.5 rounded tracking-widest leading-none", children: "Default" }, void 0, !1, {
|
|
102
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
103
|
+
lineNumber: 167,
|
|
104
|
+
columnNumber: 19
|
|
105
|
+
}, this) : c ? /* @__PURE__ */ s("span", { className: "text-[9px] uppercase font-bold bg-muted text-muted-foreground px-1.5 py-0.5 rounded tracking-widest leading-none", children: "Auto" }, void 0, !1, {
|
|
106
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
107
|
+
lineNumber: 169,
|
|
108
|
+
columnNumber: 19
|
|
109
|
+
}, this) : null,
|
|
110
|
+
!e.is_default && /* @__PURE__ */ s("span", { className: "text-[9px] text-muted-foreground/80 font-medium tracking-wide leading-none ml-auto", children: [
|
|
83
111
|
"x",
|
|
84
112
|
e.exchange_rate
|
|
85
|
-
] }
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
113
|
+
] }, void 0, !0, {
|
|
114
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
115
|
+
lineNumber: 172,
|
|
116
|
+
columnNumber: 19
|
|
117
|
+
}, this)
|
|
118
|
+
] }, void 0, !0, {
|
|
119
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
120
|
+
lineNumber: 163,
|
|
121
|
+
columnNumber: 13
|
|
122
|
+
}, this),
|
|
123
|
+
/* @__PURE__ */ s("div", { className: "grid flex-1 grid-cols-2 items-end gap-3 sm:grid-cols-4", children: [
|
|
124
|
+
/* @__PURE__ */ s("div", { className: "min-w-0 space-y-1", children: [
|
|
125
|
+
/* @__PURE__ */ s(
|
|
126
|
+
k,
|
|
91
127
|
{
|
|
92
|
-
htmlFor: `${
|
|
128
|
+
htmlFor: `${r}-price-${e.code}`,
|
|
93
129
|
className: "block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",
|
|
94
130
|
children: "Price"
|
|
95
|
-
}
|
|
131
|
+
},
|
|
132
|
+
void 0,
|
|
133
|
+
!1,
|
|
134
|
+
{
|
|
135
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
136
|
+
lineNumber: 182,
|
|
137
|
+
columnNumber: 17
|
|
138
|
+
},
|
|
139
|
+
this
|
|
96
140
|
),
|
|
97
|
-
/* @__PURE__ */
|
|
98
|
-
/* @__PURE__ */
|
|
99
|
-
|
|
100
|
-
|
|
141
|
+
/* @__PURE__ */ s("div", { className: "relative", children: [
|
|
142
|
+
/* @__PURE__ */ s("span", { className: "absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none", children: e.symbol }, void 0, !1, {
|
|
143
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
144
|
+
lineNumber: 189,
|
|
145
|
+
columnNumber: 19
|
|
146
|
+
}, this),
|
|
147
|
+
/* @__PURE__ */ s(
|
|
148
|
+
h,
|
|
101
149
|
{
|
|
102
|
-
id: `${
|
|
150
|
+
id: `${r}-price-${e.code}`,
|
|
103
151
|
currencyCode: e.code,
|
|
104
|
-
value:
|
|
105
|
-
disabled:
|
|
152
|
+
value: t[e.code],
|
|
153
|
+
disabled: l,
|
|
106
154
|
className: "h-8 w-full text-sm pl-6",
|
|
107
|
-
onValueChange: (
|
|
108
|
-
}
|
|
155
|
+
onValueChange: (m) => f(e.code, m ?? 0)
|
|
156
|
+
},
|
|
157
|
+
void 0,
|
|
158
|
+
!1,
|
|
159
|
+
{
|
|
160
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
161
|
+
lineNumber: 192,
|
|
162
|
+
columnNumber: 19
|
|
163
|
+
},
|
|
164
|
+
this
|
|
109
165
|
)
|
|
110
|
-
] }
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
166
|
+
] }, void 0, !0, {
|
|
167
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
168
|
+
lineNumber: 188,
|
|
169
|
+
columnNumber: 17
|
|
170
|
+
}, this)
|
|
171
|
+
] }, void 0, !0, {
|
|
172
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
173
|
+
lineNumber: 181,
|
|
174
|
+
columnNumber: 15
|
|
175
|
+
}, this),
|
|
176
|
+
/* @__PURE__ */ s("div", { className: "min-w-0 space-y-1", children: [
|
|
177
|
+
/* @__PURE__ */ s(
|
|
178
|
+
k,
|
|
115
179
|
{
|
|
116
|
-
htmlFor: `${
|
|
180
|
+
htmlFor: `${r}-sale-price-${e.code}`,
|
|
117
181
|
className: "block text-[10px] uppercase font-bold text-muted-foreground tracking-widest",
|
|
118
182
|
children: "Sale"
|
|
119
|
-
}
|
|
183
|
+
},
|
|
184
|
+
void 0,
|
|
185
|
+
!1,
|
|
186
|
+
{
|
|
187
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
188
|
+
lineNumber: 207,
|
|
189
|
+
columnNumber: 17
|
|
190
|
+
},
|
|
191
|
+
this
|
|
120
192
|
),
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
/* @__PURE__ */
|
|
123
|
-
|
|
124
|
-
|
|
193
|
+
/* @__PURE__ */ s("div", { className: "relative", children: [
|
|
194
|
+
/* @__PURE__ */ s("span", { className: "absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-muted-foreground font-bold pointer-events-none", children: e.symbol }, void 0, !1, {
|
|
195
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
196
|
+
lineNumber: 214,
|
|
197
|
+
columnNumber: 19
|
|
198
|
+
}, this),
|
|
199
|
+
/* @__PURE__ */ s(
|
|
200
|
+
h,
|
|
125
201
|
{
|
|
126
|
-
id: `${
|
|
202
|
+
id: `${r}-sale-price-${e.code}`,
|
|
127
203
|
currencyCode: e.code,
|
|
128
|
-
value:
|
|
129
|
-
disabled:
|
|
130
|
-
placeholder:
|
|
204
|
+
value: p[e.code],
|
|
205
|
+
disabled: l,
|
|
206
|
+
placeholder: c ? "Auto" : "—",
|
|
131
207
|
allowEmpty: !0,
|
|
132
208
|
className: "h-8 w-full text-sm pl-6",
|
|
133
|
-
onValueChange: (
|
|
134
|
-
}
|
|
209
|
+
onValueChange: (m) => N(e.code, m)
|
|
210
|
+
},
|
|
211
|
+
void 0,
|
|
212
|
+
!1,
|
|
213
|
+
{
|
|
214
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
215
|
+
lineNumber: 217,
|
|
216
|
+
columnNumber: 19
|
|
217
|
+
},
|
|
218
|
+
this
|
|
135
219
|
)
|
|
136
|
-
] }
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
220
|
+
] }, void 0, !0, {
|
|
221
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
222
|
+
lineNumber: 213,
|
|
223
|
+
columnNumber: 17
|
|
224
|
+
}, this)
|
|
225
|
+
] }, void 0, !0, {
|
|
226
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
227
|
+
lineNumber: 206,
|
|
228
|
+
columnNumber: 15
|
|
229
|
+
}, this),
|
|
230
|
+
a && e.is_default ? a : null
|
|
231
|
+
] }, void 0, !0, {
|
|
232
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
233
|
+
lineNumber: 179,
|
|
234
|
+
columnNumber: 13
|
|
235
|
+
}, this)
|
|
140
236
|
]
|
|
141
237
|
},
|
|
142
|
-
e.code
|
|
238
|
+
e.code,
|
|
239
|
+
!0,
|
|
240
|
+
{
|
|
241
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
242
|
+
lineNumber: 158,
|
|
243
|
+
columnNumber: 11
|
|
244
|
+
},
|
|
245
|
+
this
|
|
143
246
|
);
|
|
144
|
-
}) }
|
|
145
|
-
|
|
247
|
+
}) }, void 0, !1, {
|
|
248
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
249
|
+
lineNumber: 149,
|
|
250
|
+
columnNumber: 7
|
|
251
|
+
}, this)
|
|
252
|
+
] }, void 0, !0, {
|
|
253
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/CurrencyPriceFields.tsx",
|
|
254
|
+
lineNumber: 145,
|
|
255
|
+
columnNumber: 5
|
|
256
|
+
}, this) : null;
|
|
146
257
|
}
|
|
147
258
|
export {
|
|
148
|
-
|
|
259
|
+
M as CurrencyPriceFields
|
|
149
260
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-dev-runtime"),c=require("@nextblock-cms/ui"),b=require("react"),p=require("lucide-react"),D=require("next/navigation");function f({productName:l,isIcon:u=!1,className:o,redirectTo:s,deleteAction:a}){const[e,d]=b.useTransition(),r=D.useRouter(),n=async i=>{i.preventDefault(),i.stopPropagation(),window.confirm(`Are you sure you want to delete "${l}"? This action cannot be undone.`)&&d(async()=>{try{await a(),s?r.push(s):r.refresh()}catch(m){console.error("Failed to delete product:",m),alert("Failed to delete product. Please try again.")}})};return u?t.jsxDEV(c.Button,{variant:"ghost",size:"icon",onClick:n,disabled:e,className:`text-red-500 hover:text-red-600 hover:bg-red-50 ${o}`,title:"Delete Product",children:t.jsxDEV(p.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",lineNumber:57,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",lineNumber:49,columnNumber:7},this):t.jsxDEV(c.Button,{variant:"destructive",onClick:n,disabled:e,className:o,type:"button",children:e?"Deleting...":"Delete Product"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",lineNumber:63,columnNumber:5},this)}exports.DeleteProductButton=f;
|
|
@@ -1,48 +1,68 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { Button as
|
|
2
|
+
import { jsxDEV as t } from "react/jsx-dev-runtime";
|
|
3
|
+
import { Button as c } from "@nextblock-cms/ui";
|
|
4
4
|
import { useTransition as p } from "react";
|
|
5
|
-
import { Trash2 as
|
|
6
|
-
import { useRouter as
|
|
7
|
-
function
|
|
5
|
+
import { Trash2 as b } from "lucide-react";
|
|
6
|
+
import { useRouter as f } from "next/navigation";
|
|
7
|
+
function v({
|
|
8
8
|
productName: l,
|
|
9
|
-
isIcon:
|
|
10
|
-
className:
|
|
11
|
-
redirectTo:
|
|
12
|
-
deleteAction:
|
|
9
|
+
isIcon: a = !1,
|
|
10
|
+
className: o,
|
|
11
|
+
redirectTo: r,
|
|
12
|
+
deleteAction: u
|
|
13
13
|
}) {
|
|
14
|
-
const [e,
|
|
15
|
-
|
|
14
|
+
const [e, d] = p(), s = f(), n = async (i) => {
|
|
15
|
+
i.preventDefault(), i.stopPropagation(), window.confirm(`Are you sure you want to delete "${l}"? This action cannot be undone.`) && d(async () => {
|
|
16
16
|
try {
|
|
17
|
-
await
|
|
18
|
-
} catch (
|
|
19
|
-
console.error("Failed to delete product:",
|
|
17
|
+
await u(), r ? s.push(r) : s.refresh();
|
|
18
|
+
} catch (m) {
|
|
19
|
+
console.error("Failed to delete product:", m), alert("Failed to delete product. Please try again.");
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
-
return
|
|
24
|
-
|
|
23
|
+
return a ? /* @__PURE__ */ t(
|
|
24
|
+
c,
|
|
25
25
|
{
|
|
26
26
|
variant: "ghost",
|
|
27
27
|
size: "icon",
|
|
28
|
-
onClick:
|
|
28
|
+
onClick: n,
|
|
29
29
|
disabled: e,
|
|
30
|
-
className: `text-red-500 hover:text-red-600 hover:bg-red-50 ${
|
|
30
|
+
className: `text-red-500 hover:text-red-600 hover:bg-red-50 ${o}`,
|
|
31
31
|
title: "Delete Product",
|
|
32
|
-
children: /* @__PURE__ */ t(
|
|
33
|
-
|
|
32
|
+
children: /* @__PURE__ */ t(b, { className: "h-4 w-4" }, void 0, !1, {
|
|
33
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",
|
|
34
|
+
lineNumber: 57,
|
|
35
|
+
columnNumber: 9
|
|
36
|
+
}, this)
|
|
37
|
+
},
|
|
38
|
+
void 0,
|
|
39
|
+
!1,
|
|
40
|
+
{
|
|
41
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",
|
|
42
|
+
lineNumber: 49,
|
|
43
|
+
columnNumber: 7
|
|
44
|
+
},
|
|
45
|
+
this
|
|
34
46
|
) : /* @__PURE__ */ t(
|
|
35
|
-
|
|
47
|
+
c,
|
|
36
48
|
{
|
|
37
49
|
variant: "destructive",
|
|
38
|
-
onClick:
|
|
50
|
+
onClick: n,
|
|
39
51
|
disabled: e,
|
|
40
|
-
className:
|
|
52
|
+
className: o,
|
|
41
53
|
type: "button",
|
|
42
54
|
children: e ? "Deleting..." : "Delete Product"
|
|
43
|
-
}
|
|
55
|
+
},
|
|
56
|
+
void 0,
|
|
57
|
+
!1,
|
|
58
|
+
{
|
|
59
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/DeleteProductButton.tsx",
|
|
60
|
+
lineNumber: 63,
|
|
61
|
+
columnNumber: 5
|
|
62
|
+
},
|
|
63
|
+
this
|
|
44
64
|
);
|
|
45
65
|
}
|
|
46
66
|
export {
|
|
47
|
-
|
|
67
|
+
v as DeleteProductButton
|
|
48
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),b=require("react"),s=require("@nextblock-cms/ui"),t=require("sonner"),u=require("../actions.cjs.js");function p({plans:r}){return e.jsxDEV("div",{className:"w-full",children:r&&r.length>0?e.jsxDEV("div",{className:"space-y-8",children:r.map(i=>e.jsxDEV("div",{className:"w-full",children:[r.length>1&&e.jsxDEV("h3",{className:"font-semibold text-lg text-slate-700 dark:text-slate-300 border-b pb-2 mb-4 mt-6",children:i.title||i.name},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:41,columnNumber:17},this),e.jsxDEV("div",{className:`${r.length>1?"rounded-lg border":"rounded-b-lg border-x border-b"} overflow-x-auto dark:border-slate-700 bg-card`,children:e.jsxDEV(s.Table,{children:[e.jsxDEV(s.TableHeader,{children:e.jsxDEV(s.TableRow,{children:[e.jsxDEV(s.TableHead,{children:"Licenses"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:49,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"API Monthly"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:50,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"Override Monthly"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:51,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"API Annual"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:52,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"Override Annual"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:53,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"API Lifetime"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:54,columnNumber:23},this),e.jsxDEV(s.TableHead,{children:"Override Lifetime"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:55,columnNumber:23},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:48,columnNumber:21},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:47,columnNumber:19},this),e.jsxDEV(s.TableBody,{children:i.freemius_pricing&&i.freemius_pricing.length>0?i.freemius_pricing.map(o=>e.jsxDEV(h,{pricing:o},o.id,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:61,columnNumber:25},this)):e.jsxDEV(s.TableRow,{children:e.jsxDEV(s.TableCell,{colSpan:7,className:"text-center text-slate-500 py-4",children:"No pricing configurations found for this plan."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:65,columnNumber:25},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:64,columnNumber:23},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:58,columnNumber:19},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:46,columnNumber:17},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:45,columnNumber:15},this)]},i.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:39,columnNumber:13},this))},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:37,columnNumber:9},this):e.jsxDEV("div",{className:"text-center py-10 bg-slate-50 dark:bg-slate-800/50 rounded border border-dashed border-slate-300 dark:border-slate-700",children:[e.jsxDEV("p",{className:"text-slate-500",children:"No Freemius plans synchronized yet."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:78,columnNumber:11},this),e.jsxDEV("p",{className:"text-xs mt-2 text-slate-400",children:"Click the full synchronization button to import from Freemius."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:79,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:77,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:35,columnNumber:5},this)}function h({pricing:r}){const[i,o]=b.useTransition(),l=(c,n)=>{const m=n===""?null:parseFloat(n);n!==""&&Number.isNaN(m)||o(async()=>{const{success:a,error:d}=await u.updateFreemiusOverride(r.id,{[c]:m});a?t.toast.success("Pricing override saved"):t.toast.error(d||"Failed to update pricing")})};return e.jsxDEV(s.TableRow,{children:[e.jsxDEV(s.TableCell,{className:"font-medium",children:r.license_quota||"Unlimited"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:106,columnNumber:7},this),e.jsxDEV(s.TableCell,{className:"text-slate-500",children:r.api_monthly_price?`$${r.api_monthly_price}`:"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:109,columnNumber:7},this),e.jsxDEV(s.TableCell,{children:e.jsxDEV(s.Input,{type:"number",step:"0.01",placeholder:"Override...",defaultValue:r.override_monthly_price||"",onBlur:c=>{c.target.value!==(r.override_monthly_price?.toString()||"")&&l("override_monthly_price",c.target.value)},className:"w-24 h-8",disabled:i},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:113,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:112,columnNumber:7},this),e.jsxDEV(s.TableCell,{className:"text-slate-500",children:r.api_annual_price?`$${r.api_annual_price}`:"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:129,columnNumber:7},this),e.jsxDEV(s.TableCell,{children:e.jsxDEV(s.Input,{type:"number",step:"0.01",placeholder:"Override...",defaultValue:r.override_annual_price||"",onBlur:c=>{c.target.value!==(r.override_annual_price?.toString()||"")&&l("override_annual_price",c.target.value)},className:"w-24 h-8",disabled:i},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:133,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:132,columnNumber:7},this),e.jsxDEV(s.TableCell,{className:"text-slate-500",children:r.api_lifetime_price?`$${r.api_lifetime_price}`:"-"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:149,columnNumber:7},this),e.jsxDEV(s.TableCell,{children:e.jsxDEV(s.Input,{type:"number",step:"0.01",placeholder:"Override...",defaultValue:r.override_lifetime_price||"",onBlur:c=>{c.target.value!==(r.override_lifetime_price?.toString()||"")&&l("override_lifetime_price",c.target.value)},className:"w-24 h-8",disabled:i},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:153,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:152,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/products/components/FreemiusPricingDashboard.tsx",lineNumber:105,columnNumber:5},this)}exports.FreemiusPricingDashboard=p;
|