@nextblock-cms/ecom 0.13.3 → 0.13.5
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/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,35 +1,71 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { useState as
|
|
2
|
+
import { jsxDEV as e } from "react/jsx-dev-runtime";
|
|
3
|
+
import { useState as n } from "react";
|
|
4
4
|
import { Button as m } from "@nextblock-cms/ui/button";
|
|
5
|
-
import { Dialog as
|
|
6
|
-
import { Plus as
|
|
7
|
-
import { CouponEditorForm as
|
|
8
|
-
function
|
|
9
|
-
action:
|
|
10
|
-
products:
|
|
11
|
-
currencyCode:
|
|
5
|
+
import { Dialog as a, DialogTrigger as t, DialogContent as c, DialogHeader as u, DialogTitle as p } from "@nextblock-cms/ui/dialog";
|
|
6
|
+
import { Plus as b } from "lucide-react";
|
|
7
|
+
import { CouponEditorForm as C } from "./CouponEditorForm.es.js";
|
|
8
|
+
function h({
|
|
9
|
+
action: o,
|
|
10
|
+
products: s,
|
|
11
|
+
currencyCode: r
|
|
12
12
|
}) {
|
|
13
|
-
const [
|
|
14
|
-
return /* @__PURE__ */ e(
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
13
|
+
const [i, l] = n(!1);
|
|
14
|
+
return /* @__PURE__ */ e(a, { open: i, onOpenChange: l, children: [
|
|
15
|
+
/* @__PURE__ */ e(t, { asChild: !0, children: /* @__PURE__ */ e(m, { type: "button", className: "gap-2", children: [
|
|
16
|
+
/* @__PURE__ */ e(b, { className: "h-4 w-4" }, void 0, !1, {
|
|
17
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
18
|
+
lineNumber: 32,
|
|
19
|
+
columnNumber: 11
|
|
20
|
+
}, this),
|
|
17
21
|
"Create Coupon"
|
|
18
|
-
] }
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
] }, void 0, !0, {
|
|
23
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
24
|
+
lineNumber: 31,
|
|
25
|
+
columnNumber: 9
|
|
26
|
+
}, this) }, void 0, !1, {
|
|
27
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
28
|
+
lineNumber: 30,
|
|
29
|
+
columnNumber: 7
|
|
30
|
+
}, this),
|
|
31
|
+
/* @__PURE__ */ e(c, { className: "max-h-[90vh] overflow-y-auto sm:max-w-[92vw] lg:max-w-5xl xl:max-w-6xl", children: [
|
|
32
|
+
/* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(p, { className: "sr-only", children: "Create Coupon" }, void 0, !1, {
|
|
33
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
34
|
+
lineNumber: 38,
|
|
35
|
+
columnNumber: 11
|
|
36
|
+
}, this) }, void 0, !1, {
|
|
37
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
38
|
+
lineNumber: 37,
|
|
39
|
+
columnNumber: 9
|
|
40
|
+
}, this),
|
|
41
|
+
/* @__PURE__ */ e(
|
|
42
|
+
C,
|
|
23
43
|
{
|
|
24
|
-
action:
|
|
25
|
-
products:
|
|
44
|
+
action: o,
|
|
45
|
+
products: s,
|
|
26
46
|
submitLabel: "Create Coupon",
|
|
27
|
-
currencyCode:
|
|
28
|
-
}
|
|
47
|
+
currencyCode: r
|
|
48
|
+
},
|
|
49
|
+
void 0,
|
|
50
|
+
!1,
|
|
51
|
+
{
|
|
52
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
53
|
+
lineNumber: 40,
|
|
54
|
+
columnNumber: 9
|
|
55
|
+
},
|
|
56
|
+
this
|
|
29
57
|
)
|
|
30
|
-
] }
|
|
31
|
-
|
|
58
|
+
] }, void 0, !0, {
|
|
59
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
60
|
+
lineNumber: 36,
|
|
61
|
+
columnNumber: 7
|
|
62
|
+
}, this)
|
|
63
|
+
] }, void 0, !0, {
|
|
64
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/CreateCouponDialog.tsx",
|
|
65
|
+
lineNumber: 29,
|
|
66
|
+
columnNumber: 5
|
|
67
|
+
}, this);
|
|
32
68
|
}
|
|
33
69
|
export {
|
|
34
|
-
|
|
70
|
+
h as CreateCouponDialog
|
|
35
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("next/link"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-dev-runtime"),l=require("next/link"),m=require("next/navigation"),p=require("@nextblock-cms/ui"),b=require("@nextblock-cms/db/server"),x=require("./actions.cjs.js"),f=require("./CouponEditorForm.cjs.js"),g=require("./product-options.cjs.js");async function C({params:r}){const{id:o}=await r,s=b.getServiceRoleSupabaseClient(),[{data:t},{data:c},{data:u},{data:n}]=await Promise.all([s.from("coupons").select("*").eq("id",o).single(),s.from("products").select("id, title, sku, payment_provider, freemius_product_id, language:languages(code, name), product_media(sort_order, media(file_path, object_key))").order("title",{ascending:!0}),s.from("coupon_products").select("product_id").eq("coupon_id",o),s.from("currencies").select("code, is_default").eq("is_active",!0)]);t||m.notFound();const a=(u||[]).map(i=>i.product_id),d=n?.find(i=>i.is_default)?.code||n?.[0]?.code||"USD";return e.jsxDEV("div",{className:"mx-auto w-full max-w-5xl space-y-6 px-6 py-8",children:[e.jsxDEV("div",{className:"flex items-center justify-between",children:[e.jsxDEV("div",{children:[e.jsxDEV("h1",{className:"text-3xl font-bold tracking-tight",children:"Edit Coupon"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:50,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-muted-foreground",children:"Changes are resynced to Freemius after saving."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:49,columnNumber:9},this),e.jsxDEV(p.Button,{asChild:!0,variant:"outline",children:e.jsxDEV(l,{href:"/cms/coupons",children:"Back to coupons"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:56,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:55,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:48,columnNumber:7},this),e.jsxDEV(f.CouponEditorForm,{action:x.updateCouponAction.bind(null,o),products:g.normalizeCouponProductOptions(c),coupon:t,selectedProductIds:a,submitLabel:"Save Coupon",currencyCode:d},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:60,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",lineNumber:47,columnNumber:5},this)}exports.EditCouponPage=C;
|
|
@@ -1,48 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { notFound as
|
|
4
|
-
import { Button as
|
|
5
|
-
import { getServiceRoleSupabaseClient as
|
|
6
|
-
import { updateCouponAction as
|
|
7
|
-
import { CouponEditorForm as
|
|
8
|
-
import { normalizeCouponProductOptions as
|
|
9
|
-
async function
|
|
10
|
-
const { id:
|
|
11
|
-
{ data:
|
|
12
|
-
{ data:
|
|
13
|
-
{ data:
|
|
14
|
-
{ data:
|
|
1
|
+
import { jsxDEV as e } from "react/jsx-dev-runtime";
|
|
2
|
+
import d from "next/link";
|
|
3
|
+
import { notFound as l } from "next/navigation";
|
|
4
|
+
import { Button as p } from "@nextblock-cms/ui";
|
|
5
|
+
import { getServiceRoleSupabaseClient as b } from "@nextblock-cms/db/server";
|
|
6
|
+
import { updateCouponAction as f } from "./actions.es.js";
|
|
7
|
+
import { CouponEditorForm as g } from "./CouponEditorForm.es.js";
|
|
8
|
+
import { normalizeCouponProductOptions as C } from "./product-options.es.js";
|
|
9
|
+
async function j({ params: c }) {
|
|
10
|
+
const { id: s } = await c, o = b(), [
|
|
11
|
+
{ data: t },
|
|
12
|
+
{ data: n },
|
|
13
|
+
{ data: m },
|
|
14
|
+
{ data: r }
|
|
15
15
|
] = await Promise.all([
|
|
16
|
-
o.from("coupons").select("*").eq("id",
|
|
16
|
+
o.from("coupons").select("*").eq("id", s).single(),
|
|
17
17
|
o.from("products").select(
|
|
18
18
|
"id, title, sku, payment_provider, freemius_product_id, language:languages(code, name), product_media(sort_order, media(file_path, object_key))"
|
|
19
19
|
).order("title", { ascending: !0 }),
|
|
20
|
-
o.from("coupon_products").select("product_id").eq("coupon_id",
|
|
20
|
+
o.from("coupon_products").select("product_id").eq("coupon_id", s),
|
|
21
21
|
o.from("currencies").select("code, is_default").eq("is_active", !0)
|
|
22
22
|
]);
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
/* @__PURE__ */ e("h1", { className: "text-3xl font-bold tracking-tight", children: "Edit Coupon" }
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
t || l();
|
|
24
|
+
const a = (m || []).map((i) => i.product_id), u = r?.find((i) => i.is_default)?.code || r?.[0]?.code || "USD";
|
|
25
|
+
return /* @__PURE__ */ e("div", { className: "mx-auto w-full max-w-5xl space-y-6 px-6 py-8", children: [
|
|
26
|
+
/* @__PURE__ */ e("div", { className: "flex items-center justify-between", children: [
|
|
27
|
+
/* @__PURE__ */ e("div", { children: [
|
|
28
|
+
/* @__PURE__ */ e("h1", { className: "text-3xl font-bold tracking-tight", children: "Edit Coupon" }, void 0, !1, {
|
|
29
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
30
|
+
lineNumber: 50,
|
|
31
|
+
columnNumber: 11
|
|
32
|
+
}, this),
|
|
33
|
+
/* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "Changes are resynced to Freemius after saving." }, void 0, !1, {
|
|
34
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
35
|
+
lineNumber: 51,
|
|
36
|
+
columnNumber: 11
|
|
37
|
+
}, this)
|
|
38
|
+
] }, void 0, !0, {
|
|
39
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
40
|
+
lineNumber: 49,
|
|
41
|
+
columnNumber: 9
|
|
42
|
+
}, this),
|
|
43
|
+
/* @__PURE__ */ e(p, { asChild: !0, variant: "outline", children: /* @__PURE__ */ e(d, { href: "/cms/coupons", children: "Back to coupons" }, void 0, !1, {
|
|
44
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
45
|
+
lineNumber: 56,
|
|
46
|
+
columnNumber: 11
|
|
47
|
+
}, this) }, void 0, !1, {
|
|
48
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
49
|
+
lineNumber: 55,
|
|
50
|
+
columnNumber: 9
|
|
51
|
+
}, this)
|
|
52
|
+
] }, void 0, !0, {
|
|
53
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
54
|
+
lineNumber: 48,
|
|
55
|
+
columnNumber: 7
|
|
56
|
+
}, this),
|
|
33
57
|
/* @__PURE__ */ e(
|
|
34
|
-
|
|
58
|
+
g,
|
|
35
59
|
{
|
|
36
|
-
action:
|
|
37
|
-
products:
|
|
38
|
-
coupon:
|
|
39
|
-
selectedProductIds:
|
|
60
|
+
action: f.bind(null, s),
|
|
61
|
+
products: C(n),
|
|
62
|
+
coupon: t,
|
|
63
|
+
selectedProductIds: a,
|
|
40
64
|
submitLabel: "Save Coupon",
|
|
41
|
-
currencyCode:
|
|
42
|
-
}
|
|
65
|
+
currencyCode: u
|
|
66
|
+
},
|
|
67
|
+
void 0,
|
|
68
|
+
!1,
|
|
69
|
+
{
|
|
70
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
71
|
+
lineNumber: 60,
|
|
72
|
+
columnNumber: 7
|
|
73
|
+
},
|
|
74
|
+
this
|
|
43
75
|
)
|
|
44
|
-
] }
|
|
76
|
+
] }, void 0, !0, {
|
|
77
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/EditCouponPage.tsx",
|
|
78
|
+
lineNumber: 47,
|
|
79
|
+
columnNumber: 5
|
|
80
|
+
}, this);
|
|
45
81
|
}
|
|
46
82
|
export {
|
|
47
|
-
|
|
83
|
+
j as EditCouponPage
|
|
48
84
|
};
|
|
@@ -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"),m=require("react"),p=require("@nextblock-cms/ui/button"),h=require("@nextblock-cms/ui/input"),N=require("lucide-react");function P(c){const r=c.sku?.trim();return r?r.toUpperCase():`PRODUCT:${c.id}`}function j(c){const r=new Map;for(const t of c){const n=P(t),l=r.get(n);if(l){l.productIds.push(t.id);continue}r.set(n,{key:n,title:t.title,sku:t.sku?.trim()||"No SKU",thumbnailUrl:t.thumbnailUrl??null,productIds:[t.id]})}return[...r.values()]}function D({products:c,selectedProductIds:r=[]}){const t=m.useMemo(()=>new Set(r),[r]),[n,l]=m.useState(t),[u,f]=m.useState(""),a=m.useMemo(()=>j(c),[c]),b=m.useMemo(()=>{const s=u.trim().toLowerCase();return s?a.filter(o=>[o.title,o.sku].some(i=>i.toLowerCase().includes(s))):a},[a,u]),x=s=>{l(new Set(c.filter(o=>o.payment_provider===s).map(o=>o.id)))};return e.jsxDEV("div",{className:"space-y-3",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxDEV(p.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>l(new Set(c.map(s=>s.id))),children:"Select All"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:94,columnNumber:9},this),e.jsxDEV(p.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>x("stripe"),children:"Stripe"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:102,columnNumber:9},this),e.jsxDEV(p.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>x("freemius"),children:"Freemius"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:105,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:93,columnNumber:7},this),e.jsxDEV("div",{className:"relative",children:[e.jsxDEV(N.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:111,columnNumber:9},this),e.jsxDEV(h.Input,{type:"search",value:u,onChange:s=>f(s.target.value),placeholder:"Search products by title or SKU",className:"pl-9"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:112,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:110,columnNumber:7},this),e.jsxDEV("div",{className:"grid max-h-[420px] gap-2 overflow-y-auto rounded-lg border p-3 md:grid-cols-2",children:[b.map(s=>{const o=s.productIds.some(i=>n.has(i));return e.jsxDEV("label",{className:"flex cursor-pointer items-center gap-3 rounded-md px-2 py-2 hover:bg-muted/40",children:[e.jsxDEV("input",{type:"checkbox",checked:o,onChange:i=>{const d=new Set(n);for(const k of s.productIds)i.target.checked?d.add(k):d.delete(k);l(d)},className:"mt-0.5 h-4 w-4 rounded border-slate-300 text-primary focus:ring-primary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:130,columnNumber:15},this),o?s.productIds.map(i=>e.jsxDEV("input",{type:"hidden",name:"product_ids",value:i},i,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:150,columnNumber:21},this)):null,e.jsxDEV("span",{className:"flex h-12 w-12 shrink-0 items-center justify-center overflow-hidden rounded-md border bg-muted",children:s.thumbnailUrl?e.jsxDEV("img",{src:s.thumbnailUrl,alt:"",loading:"lazy",className:"h-full w-full object-cover"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:155,columnNumber:19},this):e.jsxDEV(N.ImageIcon,{className:"h-5 w-5 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:162,columnNumber:19},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:153,columnNumber:15},this),e.jsxDEV("span",{className:"min-w-0 flex-1",children:[e.jsxDEV("span",{className:"block whitespace-normal break-words text-sm font-medium",children:s.title},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:166,columnNumber:17},this),e.jsxDEV("span",{className:"block font-mono text-xs text-muted-foreground",children:s.sku},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:169,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:165,columnNumber:15},this)]},s.key,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:126,columnNumber:13},this)}),b.length===0?e.jsxDEV("div",{className:"px-2 py-8 text-center text-sm text-muted-foreground md:col-span-2",children:"No matching products."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:175,columnNumber:11},this):null]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",lineNumber:92,columnNumber:5},this)}exports.ProductScopePicker=D;
|
|
@@ -1,120 +1,215 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { useMemo as
|
|
4
|
-
import { Button as
|
|
5
|
-
import { Input as
|
|
6
|
-
import { Search as
|
|
7
|
-
function
|
|
8
|
-
const
|
|
9
|
-
return
|
|
2
|
+
import { jsxDEV as e } from "react/jsx-dev-runtime";
|
|
3
|
+
import { useMemo as d, useState as f } from "react";
|
|
4
|
+
import { Button as p } from "@nextblock-cms/ui/button";
|
|
5
|
+
import { Input as x } from "@nextblock-cms/ui/input";
|
|
6
|
+
import { Search as P, ImageIcon as v } from "lucide-react";
|
|
7
|
+
function g(r) {
|
|
8
|
+
const c = r.sku?.trim();
|
|
9
|
+
return c ? c.toUpperCase() : `PRODUCT:${r.id}`;
|
|
10
10
|
}
|
|
11
11
|
function S(r) {
|
|
12
|
-
const
|
|
13
|
-
for (const
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
12
|
+
const c = /* @__PURE__ */ new Map();
|
|
13
|
+
for (const t of r) {
|
|
14
|
+
const l = g(t), n = c.get(l);
|
|
15
|
+
if (n) {
|
|
16
|
+
n.productIds.push(t.id);
|
|
17
17
|
continue;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
key:
|
|
21
|
-
title:
|
|
22
|
-
sku:
|
|
23
|
-
thumbnailUrl:
|
|
24
|
-
productIds: [
|
|
19
|
+
c.set(l, {
|
|
20
|
+
key: l,
|
|
21
|
+
title: t.title,
|
|
22
|
+
sku: t.sku?.trim() || "No SKU",
|
|
23
|
+
thumbnailUrl: t.thumbnailUrl ?? null,
|
|
24
|
+
productIds: [t.id]
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
return [...
|
|
27
|
+
return [...c.values()];
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function w({
|
|
30
30
|
products: r,
|
|
31
|
-
selectedProductIds:
|
|
31
|
+
selectedProductIds: c = []
|
|
32
32
|
}) {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
return
|
|
36
|
-
(
|
|
33
|
+
const t = d(() => new Set(c), [c]), [l, n] = f(t), [m, h] = f(""), u = d(() => S(r), [r]), b = d(() => {
|
|
34
|
+
const s = m.trim().toLowerCase();
|
|
35
|
+
return s ? u.filter(
|
|
36
|
+
(o) => [o.title, o.sku].some((i) => i.toLowerCase().includes(s))
|
|
37
37
|
) : u;
|
|
38
|
-
}, [u,
|
|
39
|
-
|
|
38
|
+
}, [u, m]), k = (s) => {
|
|
39
|
+
n(
|
|
40
40
|
new Set(
|
|
41
|
-
r.filter((
|
|
41
|
+
r.filter((o) => o.payment_provider === s).map((o) => o.id)
|
|
42
42
|
)
|
|
43
43
|
);
|
|
44
44
|
};
|
|
45
|
-
return /* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
-
|
|
45
|
+
return /* @__PURE__ */ e("div", { className: "space-y-3", children: [
|
|
46
|
+
/* @__PURE__ */ e("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
47
|
+
/* @__PURE__ */ e(
|
|
48
|
+
p,
|
|
49
49
|
{
|
|
50
50
|
type: "button",
|
|
51
51
|
variant: "outline",
|
|
52
52
|
size: "sm",
|
|
53
|
-
onClick: () =>
|
|
53
|
+
onClick: () => n(new Set(r.map((s) => s.id))),
|
|
54
54
|
children: "Select All"
|
|
55
|
-
}
|
|
55
|
+
},
|
|
56
|
+
void 0,
|
|
57
|
+
!1,
|
|
58
|
+
{
|
|
59
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
60
|
+
lineNumber: 94,
|
|
61
|
+
columnNumber: 9
|
|
62
|
+
},
|
|
63
|
+
this
|
|
56
64
|
),
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
|
|
65
|
+
/* @__PURE__ */ e(p, { type: "button", variant: "outline", size: "sm", onClick: () => k("stripe"), children: "Stripe" }, void 0, !1, {
|
|
66
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
67
|
+
lineNumber: 102,
|
|
68
|
+
columnNumber: 9
|
|
69
|
+
}, this),
|
|
70
|
+
/* @__PURE__ */ e(p, { type: "button", variant: "outline", size: "sm", onClick: () => k("freemius"), children: "Freemius" }, void 0, !1, {
|
|
71
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
72
|
+
lineNumber: 105,
|
|
73
|
+
columnNumber: 9
|
|
74
|
+
}, this)
|
|
75
|
+
] }, void 0, !0, {
|
|
76
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
77
|
+
lineNumber: 93,
|
|
78
|
+
columnNumber: 7
|
|
79
|
+
}, this),
|
|
80
|
+
/* @__PURE__ */ e("div", { className: "relative", children: [
|
|
81
|
+
/* @__PURE__ */ e(P, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }, void 0, !1, {
|
|
82
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
83
|
+
lineNumber: 111,
|
|
84
|
+
columnNumber: 9
|
|
85
|
+
}, this),
|
|
86
|
+
/* @__PURE__ */ e(
|
|
87
|
+
x,
|
|
64
88
|
{
|
|
65
89
|
type: "search",
|
|
66
|
-
value:
|
|
67
|
-
onChange: (
|
|
90
|
+
value: m,
|
|
91
|
+
onChange: (s) => h(s.target.value),
|
|
68
92
|
placeholder: "Search products by title or SKU",
|
|
69
93
|
className: "pl-9"
|
|
70
|
-
}
|
|
94
|
+
},
|
|
95
|
+
void 0,
|
|
96
|
+
!1,
|
|
97
|
+
{
|
|
98
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
99
|
+
lineNumber: 112,
|
|
100
|
+
columnNumber: 9
|
|
101
|
+
},
|
|
102
|
+
this
|
|
71
103
|
)
|
|
72
|
-
] }
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
104
|
+
] }, void 0, !0, {
|
|
105
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
106
|
+
lineNumber: 110,
|
|
107
|
+
columnNumber: 7
|
|
108
|
+
}, this),
|
|
109
|
+
/* @__PURE__ */ e("div", { className: "grid max-h-[420px] gap-2 overflow-y-auto rounded-lg border p-3 md:grid-cols-2", children: [
|
|
110
|
+
b.map((s) => {
|
|
111
|
+
const o = s.productIds.some((i) => l.has(i));
|
|
112
|
+
return /* @__PURE__ */ e(
|
|
77
113
|
"label",
|
|
78
114
|
{
|
|
79
115
|
className: "flex cursor-pointer items-center gap-3 rounded-md px-2 py-2 hover:bg-muted/40",
|
|
80
116
|
children: [
|
|
81
|
-
/* @__PURE__ */
|
|
117
|
+
/* @__PURE__ */ e(
|
|
82
118
|
"input",
|
|
83
119
|
{
|
|
84
120
|
type: "checkbox",
|
|
85
|
-
checked:
|
|
86
|
-
onChange: (
|
|
87
|
-
const
|
|
88
|
-
for (const
|
|
89
|
-
|
|
90
|
-
|
|
121
|
+
checked: o,
|
|
122
|
+
onChange: (i) => {
|
|
123
|
+
const a = new Set(l);
|
|
124
|
+
for (const N of s.productIds)
|
|
125
|
+
i.target.checked ? a.add(N) : a.delete(N);
|
|
126
|
+
n(a);
|
|
91
127
|
},
|
|
92
128
|
className: "mt-0.5 h-4 w-4 rounded border-slate-300 text-primary focus:ring-primary"
|
|
93
|
-
}
|
|
129
|
+
},
|
|
130
|
+
void 0,
|
|
131
|
+
!1,
|
|
132
|
+
{
|
|
133
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
134
|
+
lineNumber: 130,
|
|
135
|
+
columnNumber: 15
|
|
136
|
+
},
|
|
137
|
+
this
|
|
94
138
|
),
|
|
95
|
-
|
|
96
|
-
|
|
139
|
+
o ? s.productIds.map((i) => /* @__PURE__ */ e("input", { type: "hidden", name: "product_ids", value: i }, i, !1, {
|
|
140
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
141
|
+
lineNumber: 150,
|
|
142
|
+
columnNumber: 21
|
|
143
|
+
}, this)) : null,
|
|
144
|
+
/* @__PURE__ */ e("span", { className: "flex h-12 w-12 shrink-0 items-center justify-center overflow-hidden rounded-md border bg-muted", children: s.thumbnailUrl ? /* @__PURE__ */ e(
|
|
97
145
|
"img",
|
|
98
146
|
{
|
|
99
|
-
src:
|
|
147
|
+
src: s.thumbnailUrl,
|
|
100
148
|
alt: "",
|
|
101
149
|
loading: "lazy",
|
|
102
150
|
className: "h-full w-full object-cover"
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
151
|
+
},
|
|
152
|
+
void 0,
|
|
153
|
+
!1,
|
|
154
|
+
{
|
|
155
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
156
|
+
lineNumber: 155,
|
|
157
|
+
columnNumber: 19
|
|
158
|
+
},
|
|
159
|
+
this
|
|
160
|
+
) : /* @__PURE__ */ e(v, { className: "h-5 w-5 text-muted-foreground", "aria-hidden": "true" }, void 0, !1, {
|
|
161
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
162
|
+
lineNumber: 162,
|
|
163
|
+
columnNumber: 19
|
|
164
|
+
}, this) }, void 0, !1, {
|
|
165
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
166
|
+
lineNumber: 153,
|
|
167
|
+
columnNumber: 15
|
|
168
|
+
}, this),
|
|
169
|
+
/* @__PURE__ */ e("span", { className: "min-w-0 flex-1", children: [
|
|
170
|
+
/* @__PURE__ */ e("span", { className: "block whitespace-normal break-words text-sm font-medium", children: s.title }, void 0, !1, {
|
|
171
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
172
|
+
lineNumber: 166,
|
|
173
|
+
columnNumber: 17
|
|
174
|
+
}, this),
|
|
175
|
+
/* @__PURE__ */ e("span", { className: "block font-mono text-xs text-muted-foreground", children: s.sku }, void 0, !1, {
|
|
176
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
177
|
+
lineNumber: 169,
|
|
178
|
+
columnNumber: 17
|
|
179
|
+
}, this)
|
|
180
|
+
] }, void 0, !0, {
|
|
181
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
182
|
+
lineNumber: 165,
|
|
183
|
+
columnNumber: 15
|
|
184
|
+
}, this)
|
|
109
185
|
]
|
|
110
186
|
},
|
|
111
|
-
|
|
187
|
+
s.key,
|
|
188
|
+
!0,
|
|
189
|
+
{
|
|
190
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
191
|
+
lineNumber: 126,
|
|
192
|
+
columnNumber: 13
|
|
193
|
+
},
|
|
194
|
+
this
|
|
112
195
|
);
|
|
113
196
|
}),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
197
|
+
b.length === 0 ? /* @__PURE__ */ e("div", { className: "px-2 py-8 text-center text-sm text-muted-foreground md:col-span-2", children: "No matching products." }, void 0, !1, {
|
|
198
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
199
|
+
lineNumber: 175,
|
|
200
|
+
columnNumber: 11
|
|
201
|
+
}, this) : null
|
|
202
|
+
] }, void 0, !0, {
|
|
203
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
204
|
+
lineNumber: 121,
|
|
205
|
+
columnNumber: 7
|
|
206
|
+
}, this)
|
|
207
|
+
] }, void 0, !0, {
|
|
208
|
+
fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/coupons/ProductScopePicker.tsx",
|
|
209
|
+
lineNumber: 92,
|
|
210
|
+
columnNumber: 5
|
|
211
|
+
}, this);
|
|
117
212
|
}
|
|
118
213
|
export {
|
|
119
|
-
|
|
214
|
+
w as ProductScopePicker
|
|
120
215
|
};
|
|
@@ -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"),o=require("react"),s=require("@nextblock-cms/ui"),t=require("lucide-react"),l=require("sonner"),f=require("./export-actions.cjs.js"),n=require("../../../export-helpers.cjs.js");function k(){const[u,p]=o.useState(!1),[b,m]=o.useState(!1),[i,x]=o.useState(""),[a,g]=o.useState(""),[d,D]=o.useState("general_ledger"),N=async()=>{if(!i||!a){l.toast.error("Please select both start and end dates");return}m(!0);try{l.toast.info("Generating report...");const r=await f.fetchOrderReportData(i,a);if(!r||r.length===0){l.toast.error("No orders found for the selected date range"),m(!1);return}let c=[];const h=`report_${d}_${i}_to_${a}`;switch(d){case"general_ledger":c=n.mapGeneralSalesLedger(r);break;case"tax_liability":c=n.mapTaxLiabilitySummary(r);break;case"currency_summary":c=n.mapMultiCurrencyRevenue(r);break}n.generateCSV(c,`${h}.csv`),l.toast.success("Download complete!"),p(!1)}catch(r){console.error("Export error:",r),l.toast.error("Failed to generate report")}finally{m(!1)}};return e.jsxDEV(s.Dialog,{open:u,onOpenChange:p,children:[e.jsxDEV(s.DialogTrigger,{asChild:!0,children:e.jsxDEV(s.Button,{variant:"outline",className:"flex items-center gap-2",children:[e.jsxDEV(t.Download,{className:"h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:88,columnNumber:11},this),"Export Reports"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:87,columnNumber:9},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:86,columnNumber:7},this),e.jsxDEV(s.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxDEV(s.DialogHeader,{children:[e.jsxDEV(s.DialogTitle,{className:"flex items-center gap-2",children:[e.jsxDEV(t.FileDown,{className:"h-5 w-5 text-blue-600"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:95,columnNumber:13},this),"Accounting Reports"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:94,columnNumber:11},this),e.jsxDEV(s.DialogDescription,{children:"Generate and download accountant-friendly order reports."},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:98,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:93,columnNumber:9},this),e.jsxDEV("div",{className:"grid gap-6 py-4",children:[e.jsxDEV("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxDEV("div",{className:"grid gap-2",children:[e.jsxDEV(s.Label,{htmlFor:"start-date",className:"text-xs font-semibold uppercase text-gray-500 tracking-wider",children:"Start Date"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:106,columnNumber:15},this),e.jsxDEV("div",{className:"relative",children:[e.jsxDEV(s.Input,{id:"start-date",type:"date",value:i,onChange:r=>x(r.target.value),className:"pl-8"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:110,columnNumber:17},this),e.jsxDEV(t.Calendar,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-400"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:117,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:109,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:105,columnNumber:13},this),e.jsxDEV("div",{className:"grid gap-2",children:[e.jsxDEV(s.Label,{htmlFor:"end-date",className:"text-xs font-semibold uppercase text-gray-500 tracking-wider",children:"End Date"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:121,columnNumber:15},this),e.jsxDEV("div",{className:"relative",children:[e.jsxDEV(s.Input,{id:"end-date",type:"date",value:a,onChange:r=>g(r.target.value),className:"pl-8"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:125,columnNumber:17},this),e.jsxDEV(t.Calendar,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-gray-400"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:132,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:124,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:120,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:104,columnNumber:11},this),e.jsxDEV("div",{className:"grid gap-2",children:[e.jsxDEV(s.Label,{htmlFor:"report-type",className:"text-xs font-semibold uppercase text-gray-500 tracking-wider",children:"Report Type"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:138,columnNumber:13},this),e.jsxDEV(s.Select,{value:d,onValueChange:r=>D(r),children:[e.jsxDEV(s.SelectTrigger,{id:"report-type",className:"w-full",children:e.jsxDEV(s.SelectValue,{placeholder:"Select report type"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:146,columnNumber:17},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:145,columnNumber:15},this),e.jsxDEV(s.SelectContent,{children:[e.jsxDEV(s.SelectItem,{value:"general_ledger",children:"General Sales Ledger"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:149,columnNumber:17},this),e.jsxDEV(s.SelectItem,{value:"tax_liability",children:"Tax Liability Summary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:150,columnNumber:17},this),e.jsxDEV(s.SelectItem,{value:"currency_summary",children:"Multi-Currency Revenue Summary"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:151,columnNumber:17},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:148,columnNumber:15},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:141,columnNumber:13},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:137,columnNumber:11},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:103,columnNumber:9},this),e.jsxDEV(s.DialogFooter,{children:e.jsxDEV(s.Button,{onClick:N,disabled:b,className:"w-full bg-blue-600 hover:bg-blue-700 text-white",children:b?e.jsxDEV(e.Fragment,{children:[e.jsxDEV(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:165,columnNumber:17},this),"Generating..."]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:164,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV(t.Download,{className:"mr-2 h-4 w-4"},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:170,columnNumber:17},this),"Download Report"]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:169,columnNumber:15},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:158,columnNumber:11},this)},void 0,!1,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:157,columnNumber:9},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:92,columnNumber:7},this)]},void 0,!0,{fileName:"C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/orders/ExportReportsDialog.tsx",lineNumber:85,columnNumber:5},this)}exports.ExportReportsDialog=k;
|