@nextblock-cms/ecom 0.18.8 → 0.19.2
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/index.cjs.js +1 -1
- package/index.es.js +26 -25
- package/lib/CurrencyProvider.cjs.js +1 -1
- package/lib/CurrencyProvider.es.js +41 -45
- package/lib/PaymentReadinessProvider.cjs.js +1 -1
- package/lib/PaymentReadinessProvider.es.js +15 -19
- package/lib/cart-store.cjs.js +1 -1
- package/lib/cart-store.d.ts +4 -0
- package/lib/cart-store.es.js +77 -69
- package/lib/components/AccountNavigationMenu.cjs.js +1 -1
- package/lib/components/AccountNavigationMenu.es.js +44 -62
- package/lib/components/AddToCartButton.cjs.js +1 -1
- package/lib/components/AddToCartButton.es.js +50 -78
- package/lib/components/Cart.cjs.js +1 -1
- package/lib/components/Cart.es.js +154 -381
- package/lib/components/CartDrawer.cjs.js +1 -1
- package/lib/components/CartDrawer.es.js +143 -297
- package/lib/components/CartIcon.cjs.js +1 -1
- package/lib/components/CartIcon.es.js +21 -47
- package/lib/components/Checkout.cjs.js +1 -1
- package/lib/components/Checkout.es.js +814 -1614
- package/lib/components/CouponForm.cjs.js +1 -1
- package/lib/components/CouponForm.es.js +104 -155
- package/lib/components/CurrencySwitcher.cjs.js +1 -1
- package/lib/components/CurrencySwitcher.es.js +14 -33
- package/lib/components/CustomerProfileForm.cjs.js +1 -1
- package/lib/components/CustomerProfileForm.es.js +264 -672
- package/lib/components/FeaturedProduct.cjs.js +1 -1
- package/lib/components/FeaturedProduct.es.js +46 -125
- package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
- package/lib/components/FreemiusLicensePanel.es.js +45 -125
- package/lib/components/InvoiceDocument.cjs.js +1 -1
- package/lib/components/InvoiceDocument.es.js +148 -487
- package/lib/components/InvoiceViewerShell.cjs.js +2 -2
- package/lib/components/InvoiceViewerShell.d.ts +4 -1
- package/lib/components/InvoiceViewerShell.es.js +59 -142
- package/lib/components/ProductCard.cjs.js +1 -1
- package/lib/components/ProductCard.d.ts +3 -1
- package/lib/components/ProductCard.es.js +128 -242
- package/lib/components/ProductDetailsLayout.cjs.js +1 -1
- package/lib/components/ProductDetailsLayout.es.js +311 -652
- package/lib/components/ProductGallery.cjs.js +1 -1
- package/lib/components/ProductGallery.d.ts +2 -0
- package/lib/components/ProductGallery.es.js +37 -66
- package/lib/components/ProductGrid.cjs.js +1 -1
- package/lib/components/ProductGrid.es.js +23 -32
- package/lib/components/ShippingEstimator.cjs.js +1 -1
- package/lib/components/ShippingEstimator.es.js +118 -231
- package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
- package/lib/components/SimpleTiptapRenderer.es.js +111 -294
- package/lib/components/SubscriptionSelector.cjs.js +1 -1
- package/lib/components/SubscriptionSelector.es.js +120 -181
- package/lib/freemius-trial-provision.cjs.js +1 -0
- package/lib/freemius-trial-provision.d.ts +85 -0
- package/lib/freemius-trial-provision.es.js +136 -0
- package/lib/invoice.cjs.js +1 -1
- package/lib/invoice.d.ts +1 -1
- package/lib/invoice.es.js +6 -5
- package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
- package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
- package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
- package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
- package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
- package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
- package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
- package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
- package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
- package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
- package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
- package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
- package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
- package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
- package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
- package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
- package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
- package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
- package/lib/pages/cms/products/ProductsPage.es.js +47 -87
- package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
- package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
- package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
- package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
- package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
- package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
- package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
- package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
- package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
- package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
- package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
- package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
- package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
- package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
- package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
- package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
- package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
- package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
- package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
- package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
- package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
- package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
- package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
- package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
- package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
- package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
- package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
- package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
- package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
- package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
- package/lib/product-context.cjs.js +1 -1
- package/lib/product-context.es.js +10 -14
- package/lib/trials.cjs.js +1 -1
- package/lib/trials.d.ts +10 -3
- package/lib/trials.es.js +28 -21
- package/lib/types.d.ts +2 -0
- package/lib/use-price-formatter.cjs.js +1 -0
- package/lib/use-price-formatter.d.ts +11 -0
- package/lib/use-price-formatter.es.js +13 -0
- package/lib/variation-utils.cjs.js +1 -1
- package/lib/variation-utils.d.ts +10 -0
- package/lib/variation-utils.es.js +139 -123
- package/package.json +4 -4
- package/server.cjs.js +1 -1
- package/server.d.ts +1 -0
- package/server.es.js +180 -172
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("next/link"),g=require("lucide-react"),n=require("@nextblock-cms/ui/button"),y=require("./InvoiceDocument.cjs.js");function w({invoice:i,labels:c,locale:x,title:m,description:l,printLabel:u,headerVisual:s,action:t,loading:d=!1,loadingMessage:p,error:r,onRetry:a,retryLabel:o,emptyMessage:b,className:h="",showHeader:j=!0,beforeInvoice:v}){return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:`
|
|
2
2
|
@media print {
|
|
3
3
|
@page {
|
|
4
4
|
size: portrait;
|
|
@@ -26,4 +26,4 @@
|
|
|
26
26
|
padding: 0;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
`}
|
|
29
|
+
`}),e.jsxs("div",{className:`mx-auto max-w-6xl px-4 py-10 md:px-6 print:max-w-none print:px-0 print:py-0 ${h}`,children:[j?e.jsxs("div",{className:"mb-6 flex flex-col gap-4 md:flex-row md:items-center md:justify-between print:hidden",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[s?e.jsx("div",{className:"shrink-0",children:s}):null,e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:m}),l?e.jsx("p",{className:"text-sm text-muted-foreground",children:l}):null]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsxs(n.Button,{type:"button",variant:"outline",onClick:()=>window.print(),disabled:!i,children:[e.jsx(g.Printer,{className:"mr-2 h-4 w-4"}),u]}),t?e.jsx(n.Button,{asChild:!0,variant:t.variant||"default",children:e.jsx(f,{href:t.href,children:t.label})}):null]})]}):null,d?e.jsx("div",{role:"status",className:"mb-6 flex items-center justify-center gap-3 rounded-2xl border bg-background px-5 py-4 text-sm text-muted-foreground print:hidden",children:p}):null,r?e.jsxs("div",{role:"alert",className:"mb-6 flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-amber-200 bg-amber-50 px-5 py-4 text-sm text-amber-800 print:hidden dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-200",children:[e.jsx("span",{children:r}),a&&o?e.jsx(n.Button,{type:"button",size:"sm",variant:"outline",onClick:a,children:o}):null]}):null,v,i?e.jsx("div",{"data-print-invoice-root":!0,children:e.jsx(y.InvoiceDocument,{data:i,labels:c,locale:x})}):!d&&!r?e.jsx("div",{className:"rounded-2xl border bg-background px-6 py-12 text-center text-muted-foreground print:hidden",children:b}):null]})]})}exports.InvoiceViewerShell=w;
|
|
@@ -18,11 +18,14 @@ interface InvoiceViewerShellProps {
|
|
|
18
18
|
loading?: boolean;
|
|
19
19
|
loadingMessage?: string;
|
|
20
20
|
error?: string | null;
|
|
21
|
+
/** With `retryLabel`, shows a retry button beside the error. */
|
|
22
|
+
onRetry?: () => void;
|
|
23
|
+
retryLabel?: string;
|
|
21
24
|
emptyMessage?: string;
|
|
22
25
|
className?: string;
|
|
23
26
|
showHeader?: boolean;
|
|
24
27
|
/** Optional content rendered above the invoice (and hidden when printing). */
|
|
25
28
|
beforeInvoice?: ReactNode;
|
|
26
29
|
}
|
|
27
|
-
export declare function InvoiceViewerShell({ invoice, labels, locale, title, description, printLabel, headerVisual, action, loading, loadingMessage, error, emptyMessage, className, showHeader, beforeInvoice, }: InvoiceViewerShellProps): import("react").JSX.Element;
|
|
30
|
+
export declare function InvoiceViewerShell({ invoice, labels, locale, title, description, printLabel, headerVisual, action, loading, loadingMessage, error, onRetry, retryLabel, emptyMessage, className, showHeader, beforeInvoice, }: InvoiceViewerShellProps): import("react").JSX.Element;
|
|
28
31
|
export {};
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { Printer as
|
|
5
|
-
import { Button as
|
|
2
|
+
import { jsxs as r, Fragment as w, jsx as e } from "react/jsx-runtime";
|
|
3
|
+
import y from "next/link";
|
|
4
|
+
import { Printer as N } from "lucide-react";
|
|
5
|
+
import { Button as d } from "@nextblock-cms/ui/button";
|
|
6
6
|
import { InvoiceDocument as k } from "./InvoiceDocument.es.js";
|
|
7
|
-
function
|
|
8
|
-
invoice:
|
|
9
|
-
labels:
|
|
10
|
-
locale:
|
|
11
|
-
title:
|
|
12
|
-
description:
|
|
13
|
-
printLabel:
|
|
14
|
-
headerVisual:
|
|
15
|
-
action:
|
|
16
|
-
loading:
|
|
17
|
-
loadingMessage:
|
|
18
|
-
error:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
function D({
|
|
8
|
+
invoice: i,
|
|
9
|
+
labels: c,
|
|
10
|
+
locale: p,
|
|
11
|
+
title: u,
|
|
12
|
+
description: l,
|
|
13
|
+
printLabel: x,
|
|
14
|
+
headerVisual: a,
|
|
15
|
+
action: t,
|
|
16
|
+
loading: m = !1,
|
|
17
|
+
loadingMessage: b,
|
|
18
|
+
error: n,
|
|
19
|
+
onRetry: o,
|
|
20
|
+
retryLabel: s,
|
|
21
|
+
emptyMessage: h,
|
|
22
|
+
className: f = "",
|
|
23
|
+
showHeader: v = !0,
|
|
24
|
+
beforeInvoice: g
|
|
23
25
|
}) {
|
|
24
|
-
return /* @__PURE__ */
|
|
26
|
+
return /* @__PURE__ */ r(w, { children: [
|
|
25
27
|
/* @__PURE__ */ e("style", { children: `
|
|
26
28
|
@media print {
|
|
27
29
|
@page {
|
|
@@ -50,141 +52,56 @@ function B({
|
|
|
50
52
|
padding: 0;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
` },
|
|
54
|
-
|
|
55
|
-
lineNumber: 60,
|
|
56
|
-
columnNumber: 7
|
|
57
|
-
}, this),
|
|
58
|
-
/* @__PURE__ */ e(
|
|
55
|
+
` }),
|
|
56
|
+
/* @__PURE__ */ r(
|
|
59
57
|
"div",
|
|
60
58
|
{
|
|
61
|
-
className: `mx-auto max-w-6xl px-4 py-10 md:px-6 print:max-w-none print:px-0 print:py-0 ${
|
|
59
|
+
className: `mx-auto max-w-6xl px-4 py-10 md:px-6 print:max-w-none print:px-0 print:py-0 ${f}`,
|
|
62
60
|
children: [
|
|
63
|
-
|
|
64
|
-
/* @__PURE__ */
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
columnNumber: 17
|
|
75
|
-
}, this),
|
|
76
|
-
r ? /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: r }, void 0, !1, {
|
|
77
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
78
|
-
lineNumber: 100,
|
|
79
|
-
columnNumber: 19
|
|
80
|
-
}, this) : null
|
|
81
|
-
] }, void 0, !0, {
|
|
82
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
83
|
-
lineNumber: 97,
|
|
84
|
-
columnNumber: 15
|
|
85
|
-
}, this)
|
|
86
|
-
] }, void 0, !0, {
|
|
87
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
88
|
-
lineNumber: 95,
|
|
89
|
-
columnNumber: 13
|
|
90
|
-
}, this),
|
|
91
|
-
/* @__PURE__ */ e("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
92
|
-
/* @__PURE__ */ e(
|
|
93
|
-
t,
|
|
61
|
+
v ? /* @__PURE__ */ r("div", { className: "mb-6 flex flex-col gap-4 md:flex-row md:items-center md:justify-between print:hidden", children: [
|
|
62
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-4", children: [
|
|
63
|
+
a ? /* @__PURE__ */ e("div", { className: "shrink-0", children: a }) : null,
|
|
64
|
+
/* @__PURE__ */ r("div", { children: [
|
|
65
|
+
/* @__PURE__ */ e("h1", { className: "text-3xl font-bold", children: u }),
|
|
66
|
+
l ? /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: l }) : null
|
|
67
|
+
] })
|
|
68
|
+
] }),
|
|
69
|
+
/* @__PURE__ */ r("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
70
|
+
/* @__PURE__ */ r(
|
|
71
|
+
d,
|
|
94
72
|
{
|
|
95
73
|
type: "button",
|
|
96
74
|
variant: "outline",
|
|
97
75
|
onClick: () => window.print(),
|
|
98
|
-
disabled: !
|
|
76
|
+
disabled: !i,
|
|
99
77
|
children: [
|
|
100
|
-
/* @__PURE__ */ e(
|
|
101
|
-
|
|
102
|
-
lineNumber: 112,
|
|
103
|
-
columnNumber: 17
|
|
104
|
-
}, this),
|
|
105
|
-
a
|
|
78
|
+
/* @__PURE__ */ e(N, { className: "mr-2 h-4 w-4" }),
|
|
79
|
+
x
|
|
106
80
|
]
|
|
107
|
-
}
|
|
108
|
-
void 0,
|
|
109
|
-
!0,
|
|
110
|
-
{
|
|
111
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
112
|
-
lineNumber: 106,
|
|
113
|
-
columnNumber: 15
|
|
114
|
-
},
|
|
115
|
-
this
|
|
81
|
+
}
|
|
116
82
|
),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
128
|
-
lineNumber: 105,
|
|
129
|
-
columnNumber: 13
|
|
130
|
-
}, this)
|
|
131
|
-
] }, void 0, !0, {
|
|
132
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
133
|
-
lineNumber: 94,
|
|
134
|
-
columnNumber: 11
|
|
135
|
-
}, this) : null,
|
|
136
|
-
o ? /* @__PURE__ */ e("div", { className: "mb-6 flex items-center justify-center gap-3 rounded-2xl border bg-background px-5 py-4 text-sm text-muted-foreground print:hidden", children: N }, void 0, !1, {
|
|
137
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
138
|
-
lineNumber: 126,
|
|
139
|
-
columnNumber: 11
|
|
140
|
-
}, this) : null,
|
|
141
|
-
l ? /* @__PURE__ */ e("div", { className: "mb-6 rounded-2xl border border-amber-200 bg-amber-50 px-5 py-4 text-sm text-amber-700 print:hidden", children: l }, void 0, !1, {
|
|
142
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
143
|
-
lineNumber: 132,
|
|
144
|
-
columnNumber: 11
|
|
145
|
-
}, this) : null,
|
|
146
|
-
x,
|
|
147
|
-
s ? /* @__PURE__ */ e("div", { "data-print-invoice-root": !0, children: /* @__PURE__ */ e(
|
|
83
|
+
t ? /* @__PURE__ */ e(d, { asChild: !0, variant: t.variant || "default", children: /* @__PURE__ */ e(y, { href: t.href, children: t.label }) }) : null
|
|
84
|
+
] })
|
|
85
|
+
] }) : null,
|
|
86
|
+
m ? /* @__PURE__ */ e("div", { role: "status", className: "mb-6 flex items-center justify-center gap-3 rounded-2xl border bg-background px-5 py-4 text-sm text-muted-foreground print:hidden", children: b }) : null,
|
|
87
|
+
n ? /* @__PURE__ */ r("div", { role: "alert", className: "mb-6 flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-amber-200 bg-amber-50 px-5 py-4 text-sm text-amber-800 print:hidden dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-200", children: [
|
|
88
|
+
/* @__PURE__ */ e("span", { children: n }),
|
|
89
|
+
o && s ? /* @__PURE__ */ e(d, { type: "button", size: "sm", variant: "outline", onClick: o, children: s }) : null
|
|
90
|
+
] }) : null,
|
|
91
|
+
g,
|
|
92
|
+
i ? /* @__PURE__ */ e("div", { "data-print-invoice-root": !0, children: /* @__PURE__ */ e(
|
|
148
93
|
k,
|
|
149
94
|
{
|
|
150
|
-
data:
|
|
151
|
-
labels:
|
|
152
|
-
locale:
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
!1,
|
|
156
|
-
{
|
|
157
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
158
|
-
lineNumber: 141,
|
|
159
|
-
columnNumber: 13
|
|
160
|
-
},
|
|
161
|
-
this
|
|
162
|
-
) }, void 0, !1, {
|
|
163
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
164
|
-
lineNumber: 140,
|
|
165
|
-
columnNumber: 11
|
|
166
|
-
}, this) : !o && !l ? /* @__PURE__ */ e("div", { className: "rounded-2xl border bg-background px-6 py-12 text-center text-muted-foreground print:hidden", children: b }, void 0, !1, {
|
|
167
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
168
|
-
lineNumber: 148,
|
|
169
|
-
columnNumber: 11
|
|
170
|
-
}, this) : null
|
|
95
|
+
data: i,
|
|
96
|
+
labels: c,
|
|
97
|
+
locale: p
|
|
98
|
+
}
|
|
99
|
+
) }) : !m && !n ? /* @__PURE__ */ e("div", { className: "rounded-2xl border bg-background px-6 py-12 text-center text-muted-foreground print:hidden", children: h }) : null
|
|
171
100
|
]
|
|
172
|
-
}
|
|
173
|
-
void 0,
|
|
174
|
-
!0,
|
|
175
|
-
{
|
|
176
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
177
|
-
lineNumber: 90,
|
|
178
|
-
columnNumber: 7
|
|
179
|
-
},
|
|
180
|
-
this
|
|
101
|
+
}
|
|
181
102
|
)
|
|
182
|
-
] }
|
|
183
|
-
fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/InvoiceViewerShell.tsx",
|
|
184
|
-
lineNumber: 59,
|
|
185
|
-
columnNumber: 5
|
|
186
|
-
}, this);
|
|
103
|
+
] });
|
|
187
104
|
}
|
|
188
105
|
export {
|
|
189
|
-
|
|
106
|
+
D as InvoiceViewerShell
|
|
190
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-dev-runtime"),E=require("./AddToCartButton.cjs.js"),n=require("@nextblock-cms/utils"),k=require("next/link"),B=require("../CurrencyProvider.cjs.js"),o=require("../currency.cjs.js"),U=require("../trials.cjs.js"),y=require("../variation-utils.cjs.js"),V=({product:e,className:h})=>{const{activeCurrencyCode:l,currencies:c}=B.useCurrency(),i=o.resolvePriceRangeForCurrency({entries:e.variants?.length?e.variants:e.product_variants?.length?e.product_variants:[],currencyCode:l,currencies:c}),N=!!(e.has_variants&&i),t=o.resolveEffectivePriceForCurrency({prices:e.prices,salePrices:e.sale_prices,fallbackPrice:e.price,fallbackSalePrice:e.sale_price,saleStartAt:e.sale_start_at,saleEndAt:e.sale_end_at,scheduledPrice:e.scheduled_price,scheduledPrices:e.scheduled_prices,scheduledPriceAt:e.scheduled_price_at,currencyCode:l,currencies:c}),j=N&&i?i.min===i.max?n.formatPrice(i.min,l):`${n.formatPrice(i.min,l)} - ${n.formatPrice(i.max,l)}`:n.formatPrice(t.sale_price??t.price,l),P=e.variants?.length?e.variants:e.product_variants?.length?e.product_variants:[],D=N?P.some(r=>o.resolveEffectivePriceForCurrency({prices:r.prices,salePrices:r.sale_prices,fallbackPrice:r.price,fallbackSalePrice:r.sale_price,saleStartAt:r.sale_start_at,saleEndAt:r.sale_end_at,scheduledPrice:r.scheduled_price,scheduledPrices:r.scheduled_prices,scheduledPriceAt:r.scheduled_price_at,currencyCode:l,currencies:c}).sale_price!=null):t.sale_price!=null,{t:a,lang:g}=n.useTranslations(),f=a("ecommerce.on_sale"),_=f==="ecommerce.on_sale"?"On Sale":f,b=U.getTrialSummary(e),m=e.freemius_plans?.[0]?.freemius_pricing?.[0],d=c.find(r=>r.is_default)?.code||"USD",p=m?.override_monthly_price??m?.api_monthly_price,v=m?.override_annual_price??m?.api_annual_price,u=typeof p=="number"?o.resolvePriceForCurrency({prices:{[d]:n.majorUnitAmountToMinor(p,d)},currencyCode:l,currencies:c}):null,x=typeof v=="number"?o.resolvePriceForCurrency({prices:{[d]:n.majorUnitAmountToMinor(v,d)},currencyCode:l,currencies:c}):null;return s.jsxDEV("div",{className:n.cn("group relative flex flex-col overflow-hidden rounded-lg border bg-card text-card-foreground shadow-sm transition-all hover:shadow-md",h),children:[s.jsxDEV(k,{href:`/product/${e.slug}`,className:"relative aspect-square overflow-hidden bg-muted",children:[D&&s.jsxDEV("span",{className:"absolute left-3 top-3 z-10 rounded-full bg-destructive px-2.5 py-1 text-[10px] font-bold uppercase tracking-wider text-destructive-foreground shadow-sm",children:_},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:135,columnNumber:11},void 0),e.image_url?s.jsxDEV("img",{src:e.image_url,alt:e.title,className:"h-full w-full object-cover object-center transition-transform duration-300 group-hover:scale-105"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:140,columnNumber:11},void 0):s.jsxDEV("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"No Image"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:146,columnNumber:11},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:133,columnNumber:7},void 0),s.jsxDEV("div",{className:"flex flex-1 flex-col p-4",children:[e.categories&&e.categories.length>0&&s.jsxDEV("div",{className:"text-[10px] font-bold uppercase tracking-widest text-amber-600 dark:text-amber-400 mb-1",children:e.categories.map(r=>y.resolveTranslatedText(r.name,r.name_translations,g)).join(" • ")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:154,columnNumber:11},void 0),s.jsxDEV(k,{href:`/product/${e.slug}`,className:"mb-2",children:s.jsxDEV("h3",{className:"line-clamp-1 text-lg font-medium text-foreground group-hover:underline",children:e.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:161,columnNumber:12},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:160,columnNumber:9},void 0),s.jsxDEV("div",{className:"flex items-center gap-1 mb-2 mt-0.5 text-xs text-muted-foreground min-h-[1.25rem] select-none","aria-label":`Rating: ${e.average_rating??0} out of 5 stars`,children:e.total_reviews&&e.total_reviews>0?s.jsxDEV(s.Fragment,{children:[s.jsxDEV("div",{className:"flex items-center text-amber-500 mr-1",children:Array.from({length:5}).map((r,C)=>{const R=e.average_rating??0;return s.jsxDEV("svg",{className:n.cn("h-3.5 w-3.5 fill-current",C<Math.round(R)?"text-amber-500":"text-slate-200 dark:text-slate-800"),viewBox:"0 0 20 20",fill:"currentColor",children:s.jsxDEV("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:183,columnNumber:23},void 0)},C,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:174,columnNumber:21},void 0)})},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:170,columnNumber:15},void 0),s.jsxDEV("span",{className:"font-semibold text-slate-700 dark:text-slate-300",children:Number(e.average_rating).toFixed(1)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:188,columnNumber:15},void 0),s.jsxDEV("span",{className:"ml-0.5",children:["(",e.total_reviews,")"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:191,columnNumber:15},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:169,columnNumber:13},void 0):s.jsxDEV("span",{className:"text-slate-400 dark:text-slate-600",children:a("reviews.no_reviews")},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:194,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:167,columnNumber:9},void 0),s.jsxDEV("div",{className:"mb-4",children:e.product_type==="digital"&&(u||x)?s.jsxDEV("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1",children:[u&&s.jsxDEV("div",{className:"flex items-baseline gap-0.5",children:[s.jsxDEV("span",{className:"text-xl font-bold text-primary",children:n.formatPrice(u.price,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:203,columnNumber:19},void 0),s.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground lowercase",children:["/ ",a("ecommerce.month")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:206,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:202,columnNumber:17},void 0),x&&s.jsxDEV("div",{className:"flex items-baseline gap-0.5",children:[s.jsxDEV("span",{className:n.cn("font-bold text-primary",u?"text-lg":"text-xl"),children:n.formatPrice(x.price,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:213,columnNumber:19},void 0),s.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground lowercase",children:["/ ",a("ecommerce.year")]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:216,columnNumber:19},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:212,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:200,columnNumber:13},void 0):s.jsxDEV("div",{className:"flex items-baseline gap-2",children:[s.jsxDEV("span",{className:"text-xl font-bold text-primary",children:j},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:224,columnNumber:15},void 0),!N&&t.sale_price&&s.jsxDEV("span",{className:"text-sm text-muted-foreground line-through",children:n.formatPrice(t.price,l)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:228,columnNumber:17},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:223,columnNumber:13},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:198,columnNumber:9},void 0),b&&s.jsxDEV("div",{className:"mb-4 rounded-md border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:[s.jsxDEV("div",{className:"font-semibold",children:b.label},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:238,columnNumber:13},void 0),s.jsxDEV("div",{className:"text-emerald-700",children:b.paymentRequirementLabel},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:239,columnNumber:13},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:237,columnNumber:11},void 0),s.jsxDEV("div",{className:"mt-auto",children:s.jsxDEV(E.AddToCartButton,{product:{...e,price:e.price,prices:e.prices,sale_price:e.sale_price,sale_prices:e.sale_prices},className:"w-full"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:246,columnNumber:11},void 0)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:245,columnNumber:9},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:152,columnNumber:7},void 0)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/ProductCard.tsx",lineNumber:132,columnNumber:5},void 0)};exports.ProductCard=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),q=require("./AddToCartButton.cjs.js"),c=require("@nextblock-cms/utils"),A=require("../use-price-formatter.cjs.js"),j=require("next/link"),R=require("../CurrencyProvider.cjs.js"),m=require("../currency.cjs.js"),T=require("../trials.cjs.js"),M=require("../variation-utils.cjs.js"),L=({product:e,className:y,priority:N=!1})=>{const i=A.usePriceFormatter(),{activeCurrencyCode:a,currencies:n}=R.useCurrency(),t=m.resolvePriceRangeForCurrency({entries:e.variants?.length?e.variants:e.product_variants?.length?e.product_variants:[],currencyCode:a,currencies:n}),h=!!(e.has_variants&&t),o=m.resolveEffectivePriceForCurrency({prices:e.prices,salePrices:e.sale_prices,fallbackPrice:e.price,fallbackSalePrice:e.sale_price,saleStartAt:e.sale_start_at,saleEndAt:e.sale_end_at,scheduledPrice:e.scheduled_price,scheduledPrices:e.scheduled_prices,scheduledPriceAt:e.scheduled_price_at,currencyCode:a,currencies:n}),P=h&&t?t.min===t.max?i(t.min,a):`${i(t.min,a)} - ${i(t.max,a)}`:i(o.sale_price??o.price,a),w=e.variants?.length?e.variants:e.product_variants?.length?e.product_variants:[],C=h?w.some(s=>m.resolveEffectivePriceForCurrency({prices:s.prices,salePrices:s.sale_prices,fallbackPrice:s.price,fallbackSalePrice:s.sale_price,saleStartAt:s.sale_start_at,saleEndAt:s.sale_end_at,scheduledPrice:s.scheduled_price,scheduledPrices:s.scheduled_prices,scheduledPriceAt:s.scheduled_price_at,currencyCode:a,currencies:n}).sale_price!=null):o.sale_price!=null,{t:l,lang:S}=c.useTranslations(),f=l("ecommerce.on_sale"),F=f==="ecommerce.on_sale"?"On Sale":f,g=T.getTrialSummary(e,l),d=e.freemius_plans?.[0]?.freemius_pricing?.[0],x=n.find(s=>s.is_default)?.code||"USD",p=d?.override_monthly_price??d?.api_monthly_price,v=d?.override_annual_price??d?.api_annual_price,u=typeof p=="number"?m.resolvePriceForCurrency({prices:{[x]:c.majorUnitAmountToMinor(p,x)},currencyCode:a,currencies:n}):null,_=typeof v=="number"?m.resolvePriceForCurrency({prices:{[x]:c.majorUnitAmountToMinor(v,x)},currencyCode:a,currencies:n}):null;return r.jsxs("div",{className:c.cn("group relative flex flex-col overflow-hidden rounded-lg border bg-card text-card-foreground shadow-sm transition-shadow hover:shadow-md",y),children:[r.jsxs(j,{href:`/product/${e.slug}`,tabIndex:-1,"aria-hidden":"true",className:"relative aspect-square overflow-hidden bg-muted",children:[C&&r.jsx("span",{className:"absolute left-3 top-3 z-10 rounded-full bg-destructive px-2.5 py-1 text-[10px] font-bold uppercase tracking-wider text-destructive-foreground shadow-sm",children:F}),e.image_url?r.jsx("img",{src:e.image_url,alt:"",width:600,height:600,loading:N?"eager":"lazy",decoding:"async",className:"h-full w-full object-cover object-center transition-transform duration-300 group-hover:scale-105"}):r.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:l("ecommerce.no_image")==="ecommerce.no_image"?"No image":l("ecommerce.no_image")})]}),r.jsxs("div",{className:"flex flex-1 flex-col p-4",children:[e.categories&&e.categories.length>0&&r.jsx("div",{className:"text-[10px] font-bold uppercase tracking-widest text-amber-600 dark:text-amber-400 mb-1",children:e.categories.map(s=>M.resolveTranslatedText(s.name,s.name_translations,S)).join(" • ")}),r.jsx(j,{href:`/product/${e.slug}`,className:"mb-2",children:r.jsx("h3",{className:"line-clamp-1 text-lg font-medium text-foreground group-hover:underline",children:e.title})}),r.jsx("div",{className:"flex items-center gap-1 mb-2 mt-0.5 text-xs text-muted-foreground min-h-[1.25rem] select-none",children:e.total_reviews&&e.total_reviews>0?r.jsxs(r.Fragment,{children:[r.jsx("div",{role:"img","aria-label":l("ecommerce.rating_out_of_5",{rating:Number(e.average_rating??0).toFixed(1)})==="ecommerce.rating_out_of_5"?`Rated ${Number(e.average_rating??0).toFixed(1)} out of 5`:l("ecommerce.rating_out_of_5",{rating:Number(e.average_rating??0).toFixed(1)}),className:"flex items-center text-amber-500 mr-1",children:Array.from({length:5}).map((s,b)=>{const k=e.average_rating??0;return r.jsx("svg",{className:c.cn("h-3.5 w-3.5 fill-current",b<Math.round(k)?"text-amber-500":"text-slate-200 dark:text-slate-800"),viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:r.jsx("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})},b)})}),r.jsx("span",{className:"font-semibold text-slate-700 dark:text-slate-300",children:Number(e.average_rating).toFixed(1)}),r.jsxs("span",{className:"ml-0.5",children:["(",e.total_reviews,")"]})]}):r.jsx("span",{className:"text-slate-400 dark:text-slate-600",children:l("reviews.no_reviews")})}),r.jsx("div",{className:"mb-4",children:e.product_type==="digital"&&(u||_)?r.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1",children:[u&&r.jsxs("div",{className:"flex items-baseline gap-0.5",children:[r.jsx("span",{className:"text-xl font-bold text-primary",children:i(u.price,a)}),r.jsxs("span",{className:"text-xs font-medium text-muted-foreground lowercase",children:["/ ",l("ecommerce.month")]})]}),_&&r.jsxs("div",{className:"flex items-baseline gap-0.5",children:[r.jsx("span",{className:c.cn("font-bold text-primary",u?"text-lg":"text-xl"),children:i(_.price,a)}),r.jsxs("span",{className:"text-xs font-medium text-muted-foreground lowercase",children:["/ ",l("ecommerce.year")]})]})]}):r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"text-xl font-bold text-primary",children:P}),!h&&o.sale_price&&r.jsxs("span",{className:"text-sm text-muted-foreground tabular-nums",children:[r.jsxs("span",{className:"sr-only",children:[l("ecommerce.regular_price")==="ecommerce.regular_price"?"Regular price":l("ecommerce.regular_price")," "]}),r.jsx("s",{children:i(o.price,a)})]})]})}),g&&r.jsxs("div",{className:"mb-4 rounded-md border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:[r.jsx("div",{className:"font-semibold",children:g.label}),r.jsx("div",{className:"text-emerald-700",children:g.paymentRequirementLabel})]}),r.jsx("div",{className:"mt-auto",children:r.jsx(q.AddToCartButton,{product:{...e,price:e.price,prices:e.prices,sale_price:e.sale_price,sale_prices:e.sale_prices},className:"w-full"})})]})]})};exports.ProductCard=L;
|
|
@@ -2,6 +2,8 @@ import { Product } from '../types';
|
|
|
2
2
|
interface ProductCardProps {
|
|
3
3
|
product: Product;
|
|
4
4
|
className?: string;
|
|
5
|
+
/** Above the fold (first grid row): load the image eagerly instead of lazily. */
|
|
6
|
+
priority?: boolean;
|
|
5
7
|
}
|
|
6
|
-
export declare const ProductCard: ({ product, className }: ProductCardProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const ProductCard: ({ product, className, priority }: ProductCardProps) => import("react").JSX.Element;
|
|
7
9
|
export {};
|