@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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-dev-runtime"),n=require("react"),h=require("@nextblock-cms/utils"),f=require("./currency.cjs.js"),v=require("./currency-store.cjs.js"),p=require("./currency-constants.cjs.js"),b=n.createContext(null);function S(o){return f.sortCurrencies(o.filter(r=>r.is_active!==!1))}function q(o){const{currencies:r,storedCurrencyCode:C,hasHydrated:y,initialCurrencyCode:t,locale:l}=o,u=new Set(r.map(a=>h.normalizeCurrencyCode(a.code))),d=f.getDefaultCurrency(r),s=t?h.normalizeCurrencyCode(t):null,e=C?h.normalizeCurrencyCode(C):null;if(y&&e&&u.has(e))return e;if(s&&u.has(s))return s;const i=f.inferCurrencyCodeFromLocale(l,r);return u.has(i)?i:d.code}function z({children:o,initialCurrencies:r,initialCurrencyCode:C,locale:y}){const[t,l]=n.useState(()=>S(r)),u=v.useCurrencyPreferenceStore(c=>c.activeCurrencyCode),d=v.useCurrencyPreferenceStore(c=>c.hasHydrated),s=v.useCurrencyPreferenceStore(c=>c.setActiveCurrencyCode);n.useEffect(()=>{v.useCurrencyPreferenceStore.persist.rehydrate()},[]),n.useEffect(()=>{r.length>0&&l(S(r))},[r]),n.useEffect(()=>{if(r.length>0)return;async function c(){const{fetchActiveCurrenciesFromRest:m}=await Promise.resolve().then(()=>require("./currency-rest-client.cjs.js")),x=await m();x.length>0&&l(S(x.map(P=>f.normalizeCurrencyRecord(P))))}c()},[r.length]);const e=n.useMemo(()=>q({currencies:t,storedCurrencyCode:u,hasHydrated:d,initialCurrencyCode:C,locale:y}),[t,u,d,C,y]);n.useEffect(()=>{e&&u!==e&&s(e)},[e,s,u]),n.useEffect(()=>{!e||typeof document>"u"||(document.cookie=`${p.CURRENCY_COOKIE_NAME}=${e}; Path=/; Max-Age=31536000; SameSite=Lax`)},[e]);const i=n.useMemo(()=>f.getDefaultCurrency(t),[t]),a=n.useMemo(()=>t.find(c=>c.code===e)??i,[t,i,e]),g=n.useMemo(()=>({currencies:t,defaultCurrency:i,activeCurrency:a,activeCurrencyCode:a.code,isHydrated:d,setActiveCurrencyCode:c=>{const m=h.normalizeCurrencyCode(c);t.some(P=>P.code===m)&&s(m)}}),[a,t,i,d,s]);return E.jsxDEV(b.Provider,{value:g,children:o},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/CurrencyProvider.tsx",lineNumber:192,columnNumber:5},this)}function M(){const o=n.useContext(b);if(!o)throw new Error("useCurrency must be used inside a CurrencyProvider");return o}exports.CurrencyProvider=z;exports.useCurrency=M;
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { createContext as E, useState as
|
|
2
|
+
import { jsxDEV as A } from "react/jsx-dev-runtime";
|
|
3
|
+
import { createContext as E, useState as w, useEffect as a, useMemo as l, useContext as N } from "react";
|
|
4
4
|
import { normalizeCurrencyCode as h } from "@nextblock-cms/utils";
|
|
5
|
-
import { getDefaultCurrency as
|
|
5
|
+
import { getDefaultCurrency as P, sortCurrencies as z, normalizeCurrencyRecord as H, inferCurrencyCodeFromLocale as R } from "./currency.es.js";
|
|
6
6
|
import { useCurrencyPreferenceStore as v } from "./currency-store.es.js";
|
|
7
|
-
import { CURRENCY_COOKIE_NAME as
|
|
8
|
-
const
|
|
7
|
+
import { CURRENCY_COOKIE_NAME as k } from "./currency-constants.es.js";
|
|
8
|
+
const S = E(null);
|
|
9
9
|
function g(n) {
|
|
10
|
-
return
|
|
10
|
+
return z(
|
|
11
11
|
n.filter((r) => r.is_active !== !1)
|
|
12
12
|
);
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const { currencies: r, storedCurrencyCode: i, hasHydrated: f, initialCurrencyCode: t, locale:
|
|
14
|
+
function D(n) {
|
|
15
|
+
const { currencies: r, storedCurrencyCode: i, hasHydrated: f, initialCurrencyCode: t, locale: m } = n, c = new Set(
|
|
16
16
|
r.map((C) => h(C.code))
|
|
17
|
-
), d =
|
|
17
|
+
), d = P(r), s = t ? h(t) : null, e = i ? h(i) : null;
|
|
18
18
|
if (f && e && c.has(e))
|
|
19
19
|
return e;
|
|
20
20
|
if (s && c.has(s))
|
|
21
21
|
return s;
|
|
22
|
-
const u =
|
|
22
|
+
const u = R(m, r);
|
|
23
23
|
return c.has(u) ? u : d.code;
|
|
24
24
|
}
|
|
25
|
-
function
|
|
25
|
+
function U({
|
|
26
26
|
children: n,
|
|
27
27
|
initialCurrencies: r,
|
|
28
28
|
initialCurrencyCode: i,
|
|
29
29
|
locale: f
|
|
30
30
|
}) {
|
|
31
|
-
const [t,
|
|
31
|
+
const [t, m] = w(
|
|
32
32
|
() => g(r)
|
|
33
33
|
), c = v(
|
|
34
34
|
(o) => o.activeCurrencyCode
|
|
@@ -38,20 +38,20 @@ function D({
|
|
|
38
38
|
a(() => {
|
|
39
39
|
v.persist.rehydrate();
|
|
40
40
|
}, []), a(() => {
|
|
41
|
-
r.length > 0 &&
|
|
41
|
+
r.length > 0 && m(g(r));
|
|
42
42
|
}, [r]), a(() => {
|
|
43
43
|
if (r.length > 0)
|
|
44
44
|
return;
|
|
45
45
|
async function o() {
|
|
46
|
-
const { fetchActiveCurrenciesFromRest:
|
|
47
|
-
p.length > 0 &&
|
|
48
|
-
g(p.map((x) =>
|
|
46
|
+
const { fetchActiveCurrenciesFromRest: y } = await import("./currency-rest-client.es.js"), p = await y();
|
|
47
|
+
p.length > 0 && m(
|
|
48
|
+
g(p.map((x) => H(x)))
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
51
|
o();
|
|
52
52
|
}, [r.length]);
|
|
53
53
|
const e = l(
|
|
54
|
-
() =>
|
|
54
|
+
() => D({
|
|
55
55
|
currencies: t,
|
|
56
56
|
storedCurrencyCode: c,
|
|
57
57
|
hasHydrated: d,
|
|
@@ -63,15 +63,15 @@ function D({
|
|
|
63
63
|
a(() => {
|
|
64
64
|
e && c !== e && s(e);
|
|
65
65
|
}, [e, s, c]), a(() => {
|
|
66
|
-
!e || typeof document > "u" || (document.cookie = `${
|
|
66
|
+
!e || typeof document > "u" || (document.cookie = `${k}=${e}; Path=/; Max-Age=31536000; SameSite=Lax`);
|
|
67
67
|
}, [e]);
|
|
68
68
|
const u = l(
|
|
69
|
-
() =>
|
|
69
|
+
() => P(t),
|
|
70
70
|
[t]
|
|
71
71
|
), C = l(
|
|
72
72
|
() => t.find((o) => o.code === e) ?? u,
|
|
73
73
|
[t, u, e]
|
|
74
|
-
),
|
|
74
|
+
), b = l(
|
|
75
75
|
() => ({
|
|
76
76
|
currencies: t,
|
|
77
77
|
defaultCurrency: u,
|
|
@@ -79,21 +79,25 @@ function D({
|
|
|
79
79
|
activeCurrencyCode: C.code,
|
|
80
80
|
isHydrated: d,
|
|
81
81
|
setActiveCurrencyCode: (o) => {
|
|
82
|
-
const
|
|
83
|
-
t.some((x) => x.code ===
|
|
82
|
+
const y = h(o);
|
|
83
|
+
t.some((x) => x.code === y) && s(y);
|
|
84
84
|
}
|
|
85
85
|
}),
|
|
86
86
|
[C, t, u, d, s]
|
|
87
87
|
);
|
|
88
|
-
return /* @__PURE__ */
|
|
88
|
+
return /* @__PURE__ */ A(S.Provider, { value: b, children: n }, void 0, !1, {
|
|
89
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/CurrencyProvider.tsx",
|
|
90
|
+
lineNumber: 192,
|
|
91
|
+
columnNumber: 5
|
|
92
|
+
}, this);
|
|
89
93
|
}
|
|
90
|
-
function
|
|
91
|
-
const n =
|
|
94
|
+
function V() {
|
|
95
|
+
const n = N(S);
|
|
92
96
|
if (!n)
|
|
93
97
|
throw new Error("useCurrency must be used inside a CurrencyProvider");
|
|
94
98
|
return n;
|
|
95
99
|
}
|
|
96
100
|
export {
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
U as CurrencyProvider,
|
|
102
|
+
V as useCurrency
|
|
99
103
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),b=require("next/link"),d=require("next/navigation"),a=require("lucide-react"),o=require("@nextblock-cms/utils");function u(n,r,c){const t=n(r);return t===r?c:t}function N(n){return n==="password"?a.KeyRound:a.Package2}function f({links:n,title:r,className:c}){const t=d.usePathname(),{t:i}=o.useTranslations();return n.length?s.jsxDEV("div",{className:o.cn("w-full space-y-3",c),children:[s.jsxDEV("div",{className:"text-sm font-medium text-muted-foreground uppercase tracking-wider",children:r||u(i,"account_navigation","Account")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:55,columnNumber:7},this),s.jsxDEV("div",{className:"space-y-2",children:n.map(e=>{const l=N(e.icon),m=t===e.href||t.startsWith(`${e.href}/`);return s.jsxDEV(b,{href:e.href,className:o.cn("flex items-center gap-3 rounded-xl border px-3 py-2.5 text-sm font-medium transition-colors",m?"border-slate-900 bg-slate-900 text-white":"border-border bg-background hover:bg-muted/40"),children:[s.jsxDEV(l,{className:"h-4 w-4 shrink-0"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:76,columnNumber:15},this),s.jsxDEV("span",{children:u(i,e.labelKey,e.fallbackLabel)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:77,columnNumber:15},this)]},e.href,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:66,columnNumber:13},this)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:59,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",lineNumber:54,columnNumber:5},this):null}exports.AccountNavigationMenu=f;
|
|
@@ -1,43 +1,70 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { usePathname as
|
|
5
|
-
import { KeyRound as
|
|
6
|
-
import { useTranslations as
|
|
7
|
-
function
|
|
8
|
-
const t =
|
|
9
|
-
return t ===
|
|
2
|
+
import { jsxDEV as s } from "react/jsx-dev-runtime";
|
|
3
|
+
import u from "next/link";
|
|
4
|
+
import { usePathname as b } from "next/navigation";
|
|
5
|
+
import { KeyRound as d, Package2 as f } from "lucide-react";
|
|
6
|
+
import { useTranslations as N, cn as i } from "@nextblock-cms/utils";
|
|
7
|
+
function a(n, o, r) {
|
|
8
|
+
const t = n(o);
|
|
9
|
+
return t === o ? r : t;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
return
|
|
11
|
+
function p(n) {
|
|
12
|
+
return n === "password" ? d : f;
|
|
13
13
|
}
|
|
14
14
|
function A({
|
|
15
|
-
links:
|
|
16
|
-
title:
|
|
17
|
-
className:
|
|
15
|
+
links: n,
|
|
16
|
+
title: o,
|
|
17
|
+
className: r
|
|
18
18
|
}) {
|
|
19
|
-
const t =
|
|
20
|
-
return
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
const t = b(), { t: c } = N();
|
|
20
|
+
return n.length ? /* @__PURE__ */ s("div", { className: i("w-full space-y-3", r), children: [
|
|
21
|
+
/* @__PURE__ */ s("div", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wider", children: o || a(c, "account_navigation", "Account") }, void 0, !1, {
|
|
22
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
23
|
+
lineNumber: 55,
|
|
24
|
+
columnNumber: 7
|
|
25
|
+
}, this),
|
|
26
|
+
/* @__PURE__ */ s("div", { className: "space-y-2", children: n.map((e) => {
|
|
27
|
+
const m = p(e.icon), l = t === e.href || t.startsWith(`${e.href}/`);
|
|
28
|
+
return /* @__PURE__ */ s(
|
|
29
|
+
u,
|
|
26
30
|
{
|
|
27
31
|
href: e.href,
|
|
28
32
|
className: i(
|
|
29
33
|
"flex items-center gap-3 rounded-xl border px-3 py-2.5 text-sm font-medium transition-colors",
|
|
30
|
-
|
|
34
|
+
l ? "border-slate-900 bg-slate-900 text-white" : "border-border bg-background hover:bg-muted/40"
|
|
31
35
|
),
|
|
32
36
|
children: [
|
|
33
|
-
/* @__PURE__ */
|
|
34
|
-
|
|
37
|
+
/* @__PURE__ */ s(m, { className: "h-4 w-4 shrink-0" }, void 0, !1, {
|
|
38
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
39
|
+
lineNumber: 76,
|
|
40
|
+
columnNumber: 15
|
|
41
|
+
}, this),
|
|
42
|
+
/* @__PURE__ */ s("span", { children: a(c, e.labelKey, e.fallbackLabel) }, void 0, !1, {
|
|
43
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
44
|
+
lineNumber: 77,
|
|
45
|
+
columnNumber: 15
|
|
46
|
+
}, this)
|
|
35
47
|
]
|
|
36
48
|
},
|
|
37
|
-
e.href
|
|
49
|
+
e.href,
|
|
50
|
+
!0,
|
|
51
|
+
{
|
|
52
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
53
|
+
lineNumber: 66,
|
|
54
|
+
columnNumber: 13
|
|
55
|
+
},
|
|
56
|
+
this
|
|
38
57
|
);
|
|
39
|
-
}) }
|
|
40
|
-
|
|
58
|
+
}) }, void 0, !1, {
|
|
59
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
60
|
+
lineNumber: 59,
|
|
61
|
+
columnNumber: 7
|
|
62
|
+
}, this)
|
|
63
|
+
] }, void 0, !0, {
|
|
64
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AccountNavigationMenu.tsx",
|
|
65
|
+
lineNumber: 54,
|
|
66
|
+
columnNumber: 5
|
|
67
|
+
}, this) : null;
|
|
41
68
|
}
|
|
42
69
|
export {
|
|
43
70
|
A as AccountNavigationMenu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),n=require("@nextblock-cms/ui/button"),o=require("lucide-react"),l=require("sonner"),C=require("next/link"),v=require("../use-cart.cjs.js"),p=require("@nextblock-cms/utils"),c=require("../types.cjs.js"),x=require("../CurrencyProvider.cjs.js"),k=({product:e,className:t,quantity:d})=>{const a=v.useCart(r=>r),{t:i}=p.useTranslations(),{activeCurrencyCode:m}=x.useCurrency();if(!!e.has_variants&&!e.variant_id&&!c.isDigitalProduct(e))return s.jsxDEV(n.Button,{asChild:!0,className:t,children:s.jsxDEV(C,{href:`/product/${e.slug}`,children:"Select Options"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:32,columnNumber:9},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:31,columnNumber:7},void 0);if(!a)return s.jsxDEV(n.Button,{disabled:!0,className:t,children:[s.jsxDEV(o.ShoppingCart,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:40,columnNumber:9},void 0),i("ecommerce.add_to_cart")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:39,columnNumber:7},void 0);const{addItem:u}=a,_=()=>{const r=c.getProductPaymentProvider(e)??"stripe",{success:b,error:f}=u({id:e.variant_id||e.id,product_id:e.id,title:e.title,price:e.price,prices:e.prices,sale_price:e.sale_price,sale_prices:e.sale_prices,is_taxable:e.is_taxable,image_url:e.image_url,slug:e.slug,sku:e.sku,stock:e.stock,language_id:e.language_id,translation_group_id:e.translation_group_id,product_type:e.product_type,payment_provider:e.payment_provider??r,provider:r,freemius_product_id:e.freemius_product_id,freemius_plan_id:e.freemius_plan_id,trial_period_days:e.trial_period_days??0,trial_requires_payment_method:e.trial_requires_payment_method??!1,has_variants:e.has_variants,variant_id:e.variant_id,variant_label:e.variant_label,selected_options:e.selected_options,currency_code:m,quantity:d});b?l.toast.success(i("ecommerce.added_to_cart_success",{item:e.title})):l.toast.error(f||i("ecommerce.added_to_cart_error"))};return s.jsxDEV(n.Button,{onClick:_,className:t,children:[s.jsxDEV(o.ShoppingCart,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:90,columnNumber:7},void 0),i("ecommerce.add_to_cart")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",lineNumber:89,columnNumber:5},void 0)};exports.AddToCartButton=k;
|
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { Button as
|
|
4
|
-
import { ShoppingCart as
|
|
2
|
+
import { jsxDEV as r } from "react/jsx-dev-runtime";
|
|
3
|
+
import { Button as n } from "@nextblock-cms/ui/button";
|
|
4
|
+
import { ShoppingCart as a } from "lucide-react";
|
|
5
5
|
import { toast as l } from "sonner";
|
|
6
|
-
import
|
|
7
|
-
import { useCart as
|
|
8
|
-
import { useTranslations as
|
|
9
|
-
import { isDigitalProduct as
|
|
10
|
-
import { useCurrency as
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
if (!!e.has_variants && !e.variant_id && !
|
|
14
|
-
return /* @__PURE__ */
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
import b from "next/link";
|
|
7
|
+
import { useCart as f } from "../use-cart.es.js";
|
|
8
|
+
import { useTranslations as p } from "@nextblock-cms/utils";
|
|
9
|
+
import { isDigitalProduct as C, getProductPaymentProvider as v } from "../types.es.js";
|
|
10
|
+
import { useCurrency as k } from "../CurrencyProvider.es.js";
|
|
11
|
+
const q = ({ product: e, className: t, quantity: m }) => {
|
|
12
|
+
const o = f((s) => s), { t: i } = p(), { activeCurrencyCode: d } = k();
|
|
13
|
+
if (!!e.has_variants && !e.variant_id && !C(e))
|
|
14
|
+
return /* @__PURE__ */ r(n, { asChild: !0, className: t, children: /* @__PURE__ */ r(b, { href: `/product/${e.slug}`, children: "Select Options" }, void 0, !1, {
|
|
15
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
16
|
+
lineNumber: 32,
|
|
17
|
+
columnNumber: 9
|
|
18
|
+
}, void 0) }, void 0, !1, {
|
|
19
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
20
|
+
lineNumber: 31,
|
|
21
|
+
columnNumber: 7
|
|
22
|
+
}, void 0);
|
|
23
|
+
if (!o)
|
|
24
|
+
return /* @__PURE__ */ r(n, { disabled: !0, className: t, children: [
|
|
25
|
+
/* @__PURE__ */ r(a, { className: "mr-2 h-4 w-4" }, void 0, !1, {
|
|
26
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
27
|
+
lineNumber: 40,
|
|
28
|
+
columnNumber: 9
|
|
29
|
+
}, void 0),
|
|
18
30
|
i("ecommerce.add_to_cart")
|
|
19
|
-
] }
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
] }, void 0, !0, {
|
|
32
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
33
|
+
lineNumber: 39,
|
|
34
|
+
columnNumber: 7
|
|
35
|
+
}, void 0);
|
|
36
|
+
const { addItem: c } = o;
|
|
37
|
+
return /* @__PURE__ */ r(n, { onClick: () => {
|
|
38
|
+
const s = v(e) ?? "stripe", { success: _, error: u } = c({
|
|
23
39
|
id: e.variant_id || e.id,
|
|
24
40
|
product_id: e.id,
|
|
25
41
|
title: e.title,
|
|
@@ -35,8 +51,8 @@ const V = ({ product: e, className: t, quantity: m }) => {
|
|
|
35
51
|
language_id: e.language_id,
|
|
36
52
|
translation_group_id: e.translation_group_id,
|
|
37
53
|
product_type: e.product_type,
|
|
38
|
-
payment_provider: e.payment_provider ??
|
|
39
|
-
provider:
|
|
54
|
+
payment_provider: e.payment_provider ?? s,
|
|
55
|
+
provider: s,
|
|
40
56
|
freemius_product_id: e.freemius_product_id,
|
|
41
57
|
// include just in case it wasn't intercepted
|
|
42
58
|
freemius_plan_id: e.freemius_plan_id,
|
|
@@ -49,12 +65,20 @@ const V = ({ product: e, className: t, quantity: m }) => {
|
|
|
49
65
|
currency_code: d,
|
|
50
66
|
quantity: m
|
|
51
67
|
});
|
|
52
|
-
|
|
68
|
+
_ ? l.success(i("ecommerce.added_to_cart_success", { item: e.title })) : l.error(u || i("ecommerce.added_to_cart_error"));
|
|
53
69
|
}, className: t, children: [
|
|
54
|
-
/* @__PURE__ */ a
|
|
70
|
+
/* @__PURE__ */ r(a, { className: "mr-2 h-4 w-4" }, void 0, !1, {
|
|
71
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
72
|
+
lineNumber: 90,
|
|
73
|
+
columnNumber: 7
|
|
74
|
+
}, void 0),
|
|
55
75
|
i("ecommerce.add_to_cart")
|
|
56
|
-
] }
|
|
76
|
+
] }, void 0, !0, {
|
|
77
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/AddToCartButton.tsx",
|
|
78
|
+
lineNumber: 89,
|
|
79
|
+
columnNumber: 5
|
|
80
|
+
}, void 0);
|
|
57
81
|
};
|
|
58
82
|
export {
|
|
59
|
-
|
|
83
|
+
q as AddToCartButton
|
|
60
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),C=require("react"),_=require("@nextblock-cms/ui/badge"),n=require("@nextblock-cms/ui/button"),r=require("@nextblock-cms/ui/table"),h=require("lucide-react"),j=require("../cart-store.cjs.js"),q=require("../use-cart.cjs.js"),o=require("../types.cjs.js"),T=require("next/navigation"),d=require("@nextblock-cms/utils"),w=require("./ShippingEstimator.cjs.js"),k=require("../CurrencyProvider.cjs.js"),S=require("../trials.cjs.js"),P=require("./CouponForm.cjs.js"),B=()=>{const g=T.useRouter(),u=q.useCart(s=>s),b=j.useCartSubtotal(),{t}=d.useTranslations(),{activeCurrencyCode:l,currencies:m}=k.useCurrency(),i=u?.items??[],f=C.useMemo(()=>i.reduce((s,a)=>{if(o.isDigitalItem(a))return s;const c=j.getCartItemActivePrice(a,{currencyCode:l,currencies:m});return s+(c.sale_price??c.price)*a.quantity},0),[l,m,i]);if(!u)return null;const{updateQuantity:p,removeItem:N}=u,v=s=>i.reduce((a,c)=>o.isDigitalItem(c)||c.sku!==s?a:a+c.quantity,0),y=()=>{g.push("/checkout")};return i.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-12",children:[e.jsx("h2",{className:"text-2xl font-bold",children:t("ecommerce.cart_empty")}),e.jsx("p",{className:"text-muted-foreground",children:t("ecommerce.cart_empty_description")}),e.jsx(n.Button,{asChild:!0,children:e.jsx("a",{href:"/shop",children:t("ecommerce.continue_shopping")})})]}):e.jsxs("div",{className:"container mx-auto py-12",children:[e.jsx("h1",{className:"mb-8 text-3xl font-bold",children:t("ecommerce.shopping_cart")}),e.jsxs("div",{className:"grid gap-12 lg:grid-cols-12 lg:items-start",children:[e.jsx("div",{className:"lg:col-span-8",children:e.jsx("div",{className:"rounded-lg border overflow-hidden",children:e.jsxs(r.Table,{children:[e.jsx(r.TableHeader,{children:e.jsxs(r.TableRow,{children:[e.jsx(r.TableHead,{children:t("ecommerce.product")}),e.jsx(r.TableHead,{children:t("ecommerce.quantity")}),e.jsx(r.TableHead,{className:"text-right",children:t("ecommerce.price")}),e.jsx(r.TableHead,{className:"text-right",children:t("ecommerce.total")}),e.jsx(r.TableHead,{className:"w-[50px]"})]})}),e.jsx(r.TableBody,{children:i.map(s=>{const a=v(s.sku),c=j.getCartItemActivePrice(s,{currencyCode:l,currencies:m}),x=S.getTrialSummary(s);return e.jsxs(r.TableRow,{children:[e.jsx(r.TableCell,{children:e.jsxs("div",{className:"flex items-center gap-4",children:[s.image_url?e.jsx("div",{className:"h-16 w-16 overflow-hidden rounded border bg-neutral-100",children:e.jsx("img",{src:s.image_url,alt:s.title,className:"h-full w-full object-cover"})}):e.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded bg-secondary",children:e.jsx("span",{className:"text-[10px] text-muted-foreground",children:t("ecommerce.no_image")})}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:s.title}),s.variant_label&&e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:s.variant_label}),o.isDigitalItem(s)&&s.billing_cycle&&e.jsxs("div",{className:"mt-1 text-xs capitalize text-muted-foreground",children:[s.billing_cycle," Subscription"]}),x&&e.jsxs("div",{className:"mt-1 text-xs font-medium text-emerald-700",children:[x.label," - ",x.paymentRequirementLabel]})]})]})}),e.jsx(r.TableCell,{children:o.isDigitalItem(s)?e.jsx(_.Badge,{variant:"secondary",className:"font-normal text-xs",children:"1 (License)"}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(n.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>p(s.id,s.quantity-1),children:e.jsx(h.Minus,{className:"h-4 w-4"})}),e.jsx("span",{className:"w-8 text-center",children:s.quantity}),e.jsx(n.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>p(s.id,s.quantity+1),disabled:typeof s.stock=="number"&&a>=s.stock,children:e.jsx(h.Plus,{className:"h-4 w-4"})})]})}),e.jsx(r.TableCell,{className:"text-right",children:e.jsxs("div",{className:"flex flex-col items-end",children:[e.jsx("span",{className:"font-medium",children:d.formatPrice(c.sale_price??c.price,l)}),c.sale_price&&e.jsx("span",{className:"text-xs text-muted-foreground line-through",children:d.formatPrice(c.price,l)})]})}),e.jsx(r.TableCell,{className:"text-right font-medium",children:d.formatPrice((c.sale_price??c.price)*s.quantity,l)}),e.jsx(r.TableCell,{children:e.jsx(n.Button,{variant:"ghost",size:"icon",onClick:()=>N(s.id),className:"text-muted-foreground hover:text-destructive",children:e.jsx(h.Trash2,{className:"h-4 w-4"})})})]},s.id)})})]})})}),e.jsx("div",{className:"lg:col-span-4",children:e.jsxs("div",{className:"rounded-lg border bg-card p-6 shadow-sm",children:[e.jsx("h2",{className:"mb-4 text-lg font-semibold",children:t("ecommerce.order_summary")}),e.jsxs("div",{className:"flex justify-between border-b pb-4",children:[e.jsx("span",{children:t("ecommerce.subtotal")}),e.jsx("span",{className:"font-medium",children:d.formatPrice(b,l)})]}),e.jsxs("div",{className:"mt-4 flex flex-col gap-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t("ecommerce.shipping_taxes_calculated")}),i.some(s=>!o.isDigitalItem(s))&&e.jsx(w.ShippingEstimator,{physicalSubtotal:f}),e.jsx(P.CouponForm,{items:i,currencyCode:l,compact:!0}),e.jsx(n.Button,{className:"w-full mt-4",size:"lg",onClick:y,children:t("ecommerce.proceed_to_checkout")})]})]})})]})]})};exports.Cart=B;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),h=require("react"),E=require("@nextblock-cms/ui/badge"),t=require("@nextblock-cms/ui/button"),n=require("@nextblock-cms/ui/table"),x=require("lucide-react"),N=require("../cart-store.cjs.js"),U=require("../use-cart.cjs.js"),m=require("../types.cjs.js"),V=require("next/navigation"),d=require("@nextblock-cms/utils"),g=require("./ShippingEstimator.cjs.js"),y=require("../CurrencyProvider.cjs.js"),_=require("../trials.cjs.js"),q=require("./CouponForm.cjs.js"),T=()=>{const p=V.useRouter(),a=U.useCart(s=>s),C=N.useCartSubtotal(),{t:r}=d.useTranslations(),{activeCurrencyCode:l,currencies:u}=y.useCurrency(),o=a?.items??[],k=h.useMemo(()=>o.reduce((s,c)=>{if(m.isDigitalItem(c))return s;const i=N.getCartItemActivePrice(c,{currencyCode:l,currencies:u});return s+(i.sale_price??i.price)*c.quantity},0),[l,u,o]);if(!a)return null;const{updateQuantity:f,removeItem:j}=a,D=s=>o.reduce((c,i)=>m.isDigitalItem(i)||i.sku!==s?c:c+i.quantity,0),v=()=>{p.push("/checkout")};return o.length===0?e.jsxDEV("div",{className:"flex flex-col items-center justify-center space-y-4 py-12",children:[e.jsxDEV("h2",{className:"text-2xl font-bold",children:r("ecommerce.cart_empty")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:69,columnNumber:9},void 0),e.jsxDEV("p",{className:"text-muted-foreground",children:r("ecommerce.cart_empty_description")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:70,columnNumber:9},void 0),e.jsxDEV(t.Button,{asChild:!0,children:e.jsxDEV("a",{href:"/shop",children:r("ecommerce.continue_shopping")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:72,columnNumber:11},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:71,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:68,columnNumber:7},void 0):e.jsxDEV("div",{className:"container mx-auto py-12",children:[e.jsxDEV("h1",{className:"mb-8 text-3xl font-bold",children:r("ecommerce.shopping_cart")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:80,columnNumber:7},void 0),e.jsxDEV("div",{className:"grid gap-12 lg:grid-cols-12 lg:items-start",children:[e.jsxDEV("div",{className:"lg:col-span-8",children:e.jsxDEV("div",{className:"rounded-lg border overflow-hidden",children:e.jsxDEV(n.Table,{children:[e.jsxDEV(n.TableHeader,{children:e.jsxDEV(n.TableRow,{children:[e.jsxDEV(n.TableHead,{children:r("ecommerce.product")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:88,columnNumber:19},void 0),e.jsxDEV(n.TableHead,{children:r("ecommerce.quantity")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:89,columnNumber:19},void 0),e.jsxDEV(n.TableHead,{className:"text-right",children:r("ecommerce.price")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:90,columnNumber:19},void 0),e.jsxDEV(n.TableHead,{className:"text-right",children:r("ecommerce.total")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:91,columnNumber:19},void 0),e.jsxDEV(n.TableHead,{className:"w-[50px]"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:92,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:87,columnNumber:17},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:86,columnNumber:15},void 0),e.jsxDEV(n.TableBody,{children:o.map(s=>{const c=D(s.sku),i=N.getCartItemActivePrice(s,{currencyCode:l,currencies:u}),b=_.getTrialSummary(s);return e.jsxDEV(n.TableRow,{children:[e.jsxDEV(n.TableCell,{children:e.jsxDEV("div",{className:"flex items-center gap-4",children:[s.image_url?e.jsxDEV("div",{className:"h-16 w-16 overflow-hidden rounded border bg-neutral-100",children:e.jsxDEV("img",{src:s.image_url,alt:s.title,className:"h-full w-full object-cover"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:110,columnNumber:31},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:109,columnNumber:29},void 0):e.jsxDEV("div",{className:"flex h-16 w-16 items-center justify-center rounded bg-secondary",children:e.jsxDEV("span",{className:"text-[10px] text-muted-foreground",children:r("ecommerce.no_image")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:118,columnNumber:31},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:117,columnNumber:29},void 0),e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"font-medium",children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:124,columnNumber:29},void 0),s.variant_label&&e.jsxDEV("div",{className:"mt-1 text-xs text-muted-foreground",children:s.variant_label},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:126,columnNumber:31},void 0),m.isDigitalItem(s)&&s.billing_cycle&&e.jsxDEV("div",{className:"mt-1 text-xs capitalize text-muted-foreground",children:[s.billing_cycle," Subscription"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:131,columnNumber:31},void 0),b&&e.jsxDEV("div",{className:"mt-1 text-xs font-medium text-emerald-700",children:[b.label," - ",b.paymentRequirementLabel]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:136,columnNumber:31},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:123,columnNumber:27},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:107,columnNumber:25},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:106,columnNumber:23},void 0),e.jsxDEV(n.TableCell,{children:m.isDigitalItem(s)?e.jsxDEV(E.Badge,{variant:"secondary",className:"font-normal text-xs",children:"1 (License)"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:145,columnNumber:27},void 0):e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(t.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>f(s.id,s.quantity-1),children:e.jsxDEV(x.Minus,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:156,columnNumber:31},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:150,columnNumber:29},void 0),e.jsxDEV("span",{className:"w-8 text-center",children:s.quantity},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:158,columnNumber:29},void 0),e.jsxDEV(t.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>f(s.id,s.quantity+1),disabled:typeof s.stock=="number"&&c>=s.stock,children:e.jsxDEV(x.Plus,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:169,columnNumber:31},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:159,columnNumber:29},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:149,columnNumber:27},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:143,columnNumber:23},void 0),e.jsxDEV(n.TableCell,{className:"text-right",children:e.jsxDEV("div",{className:"flex flex-col items-end",children:[e.jsxDEV("span",{className:"font-medium",children:d.formatPrice(i.sale_price??i.price,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:176,columnNumber:27},void 0),i.sale_price&&e.jsxDEV("span",{className:"text-xs text-muted-foreground line-through",children:d.formatPrice(i.price,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:180,columnNumber:29},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:175,columnNumber:25},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:174,columnNumber:23},void 0),e.jsxDEV(n.TableCell,{className:"text-right font-medium",children:d.formatPrice((i.sale_price??i.price)*s.quantity,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:186,columnNumber:23},void 0),e.jsxDEV(n.TableCell,{children:e.jsxDEV(t.Button,{variant:"ghost",size:"icon",onClick:()=>j(s.id),className:"text-muted-foreground hover:text-destructive",children:e.jsxDEV(x.Trash2,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:199,columnNumber:27},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:193,columnNumber:25},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:192,columnNumber:23},void 0)]},s.id,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:105,columnNumber:21},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:95,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:85,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:84,columnNumber:11},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:83,columnNumber:9},void 0),e.jsxDEV("div",{className:"lg:col-span-4",children:e.jsxDEV("div",{className:"rounded-lg border bg-card p-6 shadow-sm",children:[e.jsxDEV("h2",{className:"mb-4 text-lg font-semibold",children:r("ecommerce.order_summary")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:212,columnNumber:17},void 0),e.jsxDEV("div",{className:"flex justify-between border-b pb-4",children:[e.jsxDEV("span",{children:r("ecommerce.subtotal")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:214,columnNumber:21},void 0),e.jsxDEV("span",{className:"font-medium",children:d.formatPrice(C,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:215,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:213,columnNumber:17},void 0),e.jsxDEV("div",{className:"mt-4 flex flex-col gap-4",children:[e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:r("ecommerce.shipping_taxes_calculated")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:218,columnNumber:21},void 0),o.some(s=>!m.isDigitalItem(s))&&e.jsxDEV(g.ShippingEstimator,{physicalSubtotal:k},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:223,columnNumber:25},void 0),e.jsxDEV(q.CouponForm,{items:o,currencyCode:l,compact:!0},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:226,columnNumber:21},void 0),e.jsxDEV(t.Button,{className:"w-full mt-4",size:"lg",onClick:v,children:r("ecommerce.proceed_to_checkout")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:232,columnNumber:21},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:217,columnNumber:18},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:211,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:210,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:82,columnNumber:7},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/components/Cart.tsx",lineNumber:79,columnNumber:5},void 0)};exports.Cart=T;
|