@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.
Files changed (150) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.es.js +26 -25
  3. package/lib/CurrencyProvider.cjs.js +1 -1
  4. package/lib/CurrencyProvider.es.js +41 -45
  5. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +15 -19
  7. package/lib/cart-store.cjs.js +1 -1
  8. package/lib/cart-store.d.ts +4 -0
  9. package/lib/cart-store.es.js +77 -69
  10. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  11. package/lib/components/AccountNavigationMenu.es.js +44 -62
  12. package/lib/components/AddToCartButton.cjs.js +1 -1
  13. package/lib/components/AddToCartButton.es.js +50 -78
  14. package/lib/components/Cart.cjs.js +1 -1
  15. package/lib/components/Cart.es.js +154 -381
  16. package/lib/components/CartDrawer.cjs.js +1 -1
  17. package/lib/components/CartDrawer.es.js +143 -297
  18. package/lib/components/CartIcon.cjs.js +1 -1
  19. package/lib/components/CartIcon.es.js +21 -47
  20. package/lib/components/Checkout.cjs.js +1 -1
  21. package/lib/components/Checkout.es.js +814 -1614
  22. package/lib/components/CouponForm.cjs.js +1 -1
  23. package/lib/components/CouponForm.es.js +104 -155
  24. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  25. package/lib/components/CurrencySwitcher.es.js +14 -33
  26. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  27. package/lib/components/CustomerProfileForm.es.js +264 -672
  28. package/lib/components/FeaturedProduct.cjs.js +1 -1
  29. package/lib/components/FeaturedProduct.es.js +46 -125
  30. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  31. package/lib/components/FreemiusLicensePanel.es.js +45 -125
  32. package/lib/components/InvoiceDocument.cjs.js +1 -1
  33. package/lib/components/InvoiceDocument.es.js +148 -487
  34. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  35. package/lib/components/InvoiceViewerShell.d.ts +4 -1
  36. package/lib/components/InvoiceViewerShell.es.js +59 -142
  37. package/lib/components/ProductCard.cjs.js +1 -1
  38. package/lib/components/ProductCard.d.ts +3 -1
  39. package/lib/components/ProductCard.es.js +128 -242
  40. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  41. package/lib/components/ProductDetailsLayout.es.js +311 -652
  42. package/lib/components/ProductGallery.cjs.js +1 -1
  43. package/lib/components/ProductGallery.d.ts +2 -0
  44. package/lib/components/ProductGallery.es.js +37 -66
  45. package/lib/components/ProductGrid.cjs.js +1 -1
  46. package/lib/components/ProductGrid.es.js +23 -32
  47. package/lib/components/ShippingEstimator.cjs.js +1 -1
  48. package/lib/components/ShippingEstimator.es.js +118 -231
  49. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  50. package/lib/components/SimpleTiptapRenderer.es.js +111 -294
  51. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  52. package/lib/components/SubscriptionSelector.es.js +120 -181
  53. package/lib/freemius-trial-provision.cjs.js +1 -0
  54. package/lib/freemius-trial-provision.d.ts +85 -0
  55. package/lib/freemius-trial-provision.es.js +136 -0
  56. package/lib/invoice.cjs.js +1 -1
  57. package/lib/invoice.d.ts +1 -1
  58. package/lib/invoice.es.js +6 -5
  59. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  60. package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
  61. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  62. package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
  63. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  64. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
  65. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  66. package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
  67. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  68. package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
  69. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  70. package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
  71. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  72. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
  73. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  74. package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
  75. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  76. package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
  77. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  78. package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
  79. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  80. package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
  81. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  82. package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
  83. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  84. package/lib/pages/cms/products/ProductsPage.es.js +47 -87
  85. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  86. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
  87. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  88. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
  89. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  90. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
  91. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  92. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
  93. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  94. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
  95. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  96. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
  97. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  98. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
  99. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  100. package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
  101. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  102. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
  103. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  104. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
  105. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  106. package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
  107. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  108. package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
  109. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  110. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
  111. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  112. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
  113. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  114. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
  115. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  116. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
  117. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  118. package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
  119. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  120. package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
  121. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  122. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
  123. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  124. package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
  125. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  126. package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
  127. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  128. package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
  129. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  130. package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
  131. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  132. package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
  133. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  134. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
  135. package/lib/product-context.cjs.js +1 -1
  136. package/lib/product-context.es.js +10 -14
  137. package/lib/trials.cjs.js +1 -1
  138. package/lib/trials.d.ts +10 -3
  139. package/lib/trials.es.js +28 -21
  140. package/lib/types.d.ts +2 -0
  141. package/lib/use-price-formatter.cjs.js +1 -0
  142. package/lib/use-price-formatter.d.ts +11 -0
  143. package/lib/use-price-formatter.es.js +13 -0
  144. package/lib/variation-utils.cjs.js +1 -1
  145. package/lib/variation-utils.d.ts +10 -0
  146. package/lib/variation-utils.es.js +139 -123
  147. package/package.json +4 -4
  148. package/server.cjs.js +1 -1
  149. package/server.d.ts +1 -0
  150. package/server.es.js +180 -172
@@ -1,461 +1,227 @@
1
1
  'use client';
2
- import { jsxDEV as e } from "react/jsx-dev-runtime";
3
- import { useState as p, useEffect as E, useMemo as R } from "react";
4
- import { Dialog as z, DialogTrigger as P, Button as u, DialogContent as I, DialogHeader as M, DialogTitle as O, DialogDescription as T, Label as b, Input as C, Card as Z, Checkbox as y, DialogFooter as q } from "@nextblock-cms/ui";
5
- import { Edit2 as Q, Plus as W, Search as A, MapPin as V } from "lucide-react";
6
- import { countries as F } from "../../../../countries.es.js";
7
- import { getStatesForCountry as G } from "../../../../states.es.js";
8
- import { updateShippingZone as J, createShippingZone as K } from "../server-actions.es.js";
9
- function S(t = []) {
10
- return [...new Set(t.map((i) => i.country_code))];
2
+ import { jsxs as s, jsx as r } from "react/jsx-runtime";
3
+ import { useState as h, useEffect as O, useMemo as z } from "react";
4
+ import { Dialog as T, DialogTrigger as U, Button as u, DialogContent as q, DialogHeader as Q, DialogTitle as W, DialogDescription as A, Label as f, Input as w, Card as C, Checkbox as E, DialogFooter as H } from "@nextblock-cms/ui";
5
+ import { Edit2 as G, Plus as J, Search as K, MapPin as R } from "lucide-react";
6
+ import { countries as k } from "../../../../countries.es.js";
7
+ import { getStatesForCountry as V } from "../../../../states.es.js";
8
+ import { updateShippingZone as X, createShippingZone as Y } from "../server-actions.es.js";
9
+ function P(d = []) {
10
+ return [...new Set(d.map((o) => o.country_code))];
11
11
  }
12
- function w(t = []) {
13
- return t.reduce((i, n) => {
14
- if (!n.state_code)
15
- return i;
16
- const c = new Set(i[n.country_code] || []);
17
- return c.add(n.state_code), i[n.country_code] = [...c], i;
12
+ function j(d = []) {
13
+ return d.reduce((o, a) => {
14
+ if (!a.state_code)
15
+ return o;
16
+ const c = new Set(o[a.country_code] || []);
17
+ return c.add(a.state_code), o[a.country_code] = [...c], o;
18
18
  }, {});
19
19
  }
20
- function X(t, i) {
21
- return t.flatMap((n) => {
22
- const c = i[n] || [];
23
- return c.length === 0 ? [{ country_code: n, state_code: null }] : c.map((l) => ({
24
- country_code: n,
25
- state_code: l
20
+ function D(d, o) {
21
+ return d.flatMap((a) => {
22
+ const c = o[a] || [];
23
+ return c.length === 0 ? [{ country_code: a, state_code: null }] : c.map((i) => ({
24
+ country_code: a,
25
+ state_code: i
26
26
  }));
27
27
  });
28
28
  }
29
- function ce({ mode: t = "create", initialData: i }) {
30
- const [n, c] = p(!1), l = t === "edit", [d, h] = p(i?.name || ""), [g, x] = p(i?.priority_order || 0), [a, f] = p(
31
- S(i?.locations)
32
- ), [j, N] = p(
33
- w(i?.locations)
34
- ), [k, v] = p(""), [B, U] = p(!1);
35
- E(() => {
36
- n && (h(i?.name || ""), x(i?.priority_order || 0), f(S(i?.locations)), N(w(i?.locations)), v(""));
37
- }, [i, n]);
38
- const _ = R(() => {
39
- const s = k.trim().toLowerCase();
40
- return s ? F.filter(
41
- (o) => o.name.toLowerCase().includes(s) || o.code.toLowerCase().includes(s)
42
- ) : F;
43
- }, [k]), H = R(() => F.filter((s) => a.includes(s.code)), [a]), $ = (s) => {
44
- f(
45
- (o) => o.includes(s) ? o.filter((r) => r !== s) : [...o, s]
46
- ), N((o) => {
47
- if (o[s]) {
48
- const r = { ...o };
49
- return delete r[s], r;
29
+ function ce({ mode: d = "create", initialData: o }) {
30
+ const [a, c] = h(!1), i = d === "edit", [p, x] = h(o?.name || ""), [v, N] = h(o?.priority_order || 0), [m, b] = h(
31
+ P(o?.locations)
32
+ ), [_, g] = h(
33
+ j(o?.locations)
34
+ ), [y, S] = h(""), [$, L] = h(!1);
35
+ O(() => {
36
+ a && (x(o?.name || ""), N(o?.priority_order || 0), b(P(o?.locations)), g(j(o?.locations)), S(""));
37
+ }, [o, a]);
38
+ const B = z(() => {
39
+ const e = y.trim().toLowerCase();
40
+ return e ? k.filter(
41
+ (t) => t.name.toLowerCase().includes(e) || t.code.toLowerCase().includes(e)
42
+ ) : k;
43
+ }, [y]), Z = z(() => k.filter((e) => m.includes(e.code)), [m]), I = (e) => {
44
+ b(
45
+ (t) => t.includes(e) ? t.filter((l) => l !== e) : [...t, e]
46
+ ), g((t) => {
47
+ if (t[e]) {
48
+ const l = { ...t };
49
+ return delete l[e], l;
50
50
  }
51
- return o;
51
+ return t;
52
52
  });
53
- }, L = (s, o) => {
54
- N((r) => {
55
- const m = new Set(r[s] || []);
56
- return m.has(o) ? m.delete(o) : m.add(o), {
57
- ...r,
58
- [s]: [...m]
53
+ }, M = (e, t) => {
54
+ g((l) => {
55
+ const n = new Set(l[e] || []);
56
+ return n.has(t) ? n.delete(t) : n.add(t), {
57
+ ...l,
58
+ [e]: [...n]
59
59
  };
60
60
  });
61
61
  };
62
- return /* @__PURE__ */ e(z, { open: n, onOpenChange: c, children: [
63
- /* @__PURE__ */ e(P, { asChild: !0, children: l ? /* @__PURE__ */ e(u, { variant: "ghost", size: "icon", className: "h-8 w-8 text-slate-400 hover:text-primary", children: /* @__PURE__ */ e(Q, { className: "h-4 w-4" }, void 0, !1, {
64
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
65
- lineNumber: 190,
66
- columnNumber: 25
67
- }, this) }, void 0, !1, {
68
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
69
- lineNumber: 189,
70
- columnNumber: 21
71
- }, this) : /* @__PURE__ */ e(u, { className: "gap-2 shadow-sm", children: [
72
- /* @__PURE__ */ e(W, { className: "h-4 w-4" }, void 0, !1, {
73
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
74
- lineNumber: 194,
75
- columnNumber: 25
76
- }, this),
62
+ return /* @__PURE__ */ s(T, { open: a, onOpenChange: c, children: [
63
+ /* @__PURE__ */ r(U, { asChild: !0, children: i ? /* @__PURE__ */ r(u, { variant: "ghost", size: "icon", className: "h-8 w-8 text-slate-400 hover:text-primary", children: /* @__PURE__ */ r(G, { className: "h-4 w-4" }) }) : /* @__PURE__ */ s(u, { className: "gap-2 shadow-sm", children: [
64
+ /* @__PURE__ */ r(J, { className: "h-4 w-4" }),
77
65
  "New Zone"
78
- ] }, void 0, !0, {
79
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
80
- lineNumber: 193,
81
- columnNumber: 21
82
- }, this) }, void 0, !1, {
83
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
84
- lineNumber: 187,
85
- columnNumber: 13
86
- }, this),
87
- /* @__PURE__ */ e(I, { className: "max-w-4xl max-h-[90vh] flex flex-col overflow-hidden", children: /* @__PURE__ */ e("form", { onSubmit: async (s) => {
88
- if (s.preventDefault(), !d || a.length === 0)
66
+ ] }) }),
67
+ /* @__PURE__ */ r(q, { className: "max-w-4xl max-h-[90vh] flex flex-col overflow-hidden", children: /* @__PURE__ */ s("form", { onSubmit: async (e) => {
68
+ if (e.preventDefault(), !p || m.length === 0)
89
69
  return;
90
- U(!0);
91
- const o = X(a, j), r = l && i?.id ? await J(i.id, d, g, o) : await K(d, g, o);
92
- U(!1), r.success ? (c(!1), l || (h(""), x(0), f([]), N({}), v(""))) : r.error && alert(r.error);
70
+ L(!0);
71
+ const t = D(m, _), l = i && o?.id ? await X(o.id, p, v, t) : await Y(p, v, t);
72
+ L(!1), l.success ? (c(!1), i || (x(""), N(0), b([]), g({}), S(""))) : l.error && alert(l.error);
93
73
  }, className: "flex h-full flex-col overflow-hidden", children: [
94
- /* @__PURE__ */ e(M, { children: [
95
- /* @__PURE__ */ e(O, { children: l ? "Edit Shipping Zone" : "Create Shipping Zone" }, void 0, !1, {
96
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
97
- lineNumber: 202,
98
- columnNumber: 25
99
- }, this),
100
- /* @__PURE__ */ e(T, { children: "Select countries first, then optionally limit a zone to specific states or provinces. Leaving state selections empty keeps the whole country in the zone." }, void 0, !1, {
101
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
102
- lineNumber: 203,
103
- columnNumber: 25
104
- }, this)
105
- ] }, void 0, !0, {
106
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
107
- lineNumber: 201,
108
- columnNumber: 21
109
- }, this),
110
- /* @__PURE__ */ e("div", { className: "grid gap-6 overflow-y-auto py-6 pr-2", children: [
111
- /* @__PURE__ */ e("div", { className: "grid grid-cols-4 items-center gap-4", children: [
112
- /* @__PURE__ */ e(b, { htmlFor: "name", className: "text-right", children: "Zone Name" }, void 0, !1, {
113
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
114
- lineNumber: 212,
115
- columnNumber: 29
116
- }, this),
117
- /* @__PURE__ */ e(
118
- C,
74
+ /* @__PURE__ */ s(Q, { children: [
75
+ /* @__PURE__ */ r(W, { children: i ? "Edit Shipping Zone" : "Create Shipping Zone" }),
76
+ /* @__PURE__ */ r(A, { children: "Select countries first, then optionally limit a zone to specific states or provinces. Leaving state selections empty keeps the whole country in the zone." })
77
+ ] }),
78
+ /* @__PURE__ */ s("div", { className: "grid gap-6 overflow-y-auto py-6 pr-2", children: [
79
+ /* @__PURE__ */ s("div", { className: "grid grid-cols-4 items-center gap-4", children: [
80
+ /* @__PURE__ */ r(f, { htmlFor: "name", className: "text-right", children: "Zone Name" }),
81
+ /* @__PURE__ */ r(
82
+ w,
119
83
  {
120
84
  id: "name",
121
- value: d,
122
- onChange: (s) => h(s.target.value),
85
+ value: p,
86
+ onChange: (e) => x(e.target.value),
123
87
  placeholder: "e.g. North America, Canada East, US West",
124
88
  className: "col-span-3",
125
89
  required: !0
126
- },
127
- void 0,
128
- !1,
129
- {
130
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
131
- lineNumber: 213,
132
- columnNumber: 29
133
- },
134
- this
90
+ }
135
91
  )
136
- ] }, void 0, !0, {
137
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
138
- lineNumber: 211,
139
- columnNumber: 25
140
- }, this),
141
- /* @__PURE__ */ e("div", { className: "grid grid-cols-4 items-center gap-4", children: [
142
- /* @__PURE__ */ e(b, { htmlFor: "priority", className: "text-right", children: "Priority Order" }, void 0, !1, {
143
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
144
- lineNumber: 224,
145
- columnNumber: 29
146
- }, this),
147
- /* @__PURE__ */ e(
148
- C,
92
+ ] }),
93
+ /* @__PURE__ */ s("div", { className: "grid grid-cols-4 items-center gap-4", children: [
94
+ /* @__PURE__ */ r(f, { htmlFor: "priority", className: "text-right", children: "Priority Order" }),
95
+ /* @__PURE__ */ r(
96
+ w,
149
97
  {
150
98
  id: "priority",
151
99
  type: "number",
152
- value: g,
153
- onChange: (s) => x(Number(s.target.value)),
100
+ value: v,
101
+ onChange: (e) => N(Number(e.target.value)),
154
102
  className: "col-span-3"
155
- },
156
- void 0,
157
- !1,
158
- {
159
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
160
- lineNumber: 225,
161
- columnNumber: 29
162
- },
163
- this
103
+ }
164
104
  )
165
- ] }, void 0, !0, {
166
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
167
- lineNumber: 223,
168
- columnNumber: 25
169
- }, this),
170
- /* @__PURE__ */ e("div", { className: "grid gap-6 lg:grid-cols-[1.2fr_1fr]", children: [
171
- /* @__PURE__ */ e("div", { className: "space-y-4", children: [
172
- /* @__PURE__ */ e("div", { className: "flex items-end justify-between gap-3", children: [
173
- /* @__PURE__ */ e(b, { className: "text-sm font-semibold", children: [
105
+ ] }),
106
+ /* @__PURE__ */ s("div", { className: "grid gap-6 lg:grid-cols-[1.2fr_1fr]", children: [
107
+ /* @__PURE__ */ s("div", { className: "space-y-4", children: [
108
+ /* @__PURE__ */ s("div", { className: "flex items-end justify-between gap-3", children: [
109
+ /* @__PURE__ */ s(f, { className: "text-sm font-semibold", children: [
174
110
  "Countries (",
175
- a.length,
111
+ m.length,
176
112
  ")"
177
- ] }, void 0, !0, {
178
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
179
- lineNumber: 237,
180
- columnNumber: 37
181
- }, this),
182
- /* @__PURE__ */ e("div", { className: "relative w-full max-w-xs", children: [
183
- /* @__PURE__ */ e(A, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }, void 0, !1, {
184
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
185
- lineNumber: 241,
186
- columnNumber: 41
187
- }, this),
188
- /* @__PURE__ */ e(
189
- C,
113
+ ] }),
114
+ /* @__PURE__ */ s("div", { className: "relative w-full max-w-xs", children: [
115
+ /* @__PURE__ */ r(K, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }),
116
+ /* @__PURE__ */ r(
117
+ w,
190
118
  {
191
119
  placeholder: "Search countries...",
192
120
  className: "pl-9 h-9",
193
- value: k,
194
- onChange: (s) => v(s.target.value)
195
- },
196
- void 0,
197
- !1,
198
- {
199
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
200
- lineNumber: 242,
201
- columnNumber: 41
202
- },
203
- this
121
+ value: y,
122
+ onChange: (e) => S(e.target.value)
123
+ }
204
124
  )
205
- ] }, void 0, !0, {
206
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
207
- lineNumber: 240,
208
- columnNumber: 37
209
- }, this)
210
- ] }, void 0, !0, {
211
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
212
- lineNumber: 236,
213
- columnNumber: 33
214
- }, this),
215
- /* @__PURE__ */ e(Z, { className: "border-slate-200 bg-slate-50/30 p-4 dark:border-slate-800 dark:bg-slate-900/30", children: /* @__PURE__ */ e("div", { className: "grid max-h-[360px] grid-cols-1 gap-3 overflow-y-auto pr-1 sm:grid-cols-2", children: _.map((s) => {
216
- const o = a.includes(s.code);
217
- return /* @__PURE__ */ e(
125
+ ] })
126
+ ] }),
127
+ /* @__PURE__ */ r(C, { className: "border-slate-200 bg-slate-50/30 p-4 dark:border-slate-800 dark:bg-slate-900/30", children: /* @__PURE__ */ r("div", { className: "grid max-h-[360px] grid-cols-1 gap-3 overflow-y-auto pr-1 sm:grid-cols-2", children: B.map((e) => {
128
+ const t = m.includes(e.code);
129
+ return /* @__PURE__ */ s(
218
130
  "div",
219
131
  {
220
- className: `flex items-center space-x-2 rounded-md border p-2 transition-colors ${o ? "border-primary/30 bg-primary/5 text-primary" : "border-transparent hover:bg-slate-100 dark:hover:bg-slate-800/60"}`,
132
+ className: `flex items-center space-x-2 rounded-md border p-2 transition-colors ${t ? "border-primary/30 bg-primary/5 text-primary" : "border-transparent hover:bg-slate-100 dark:hover:bg-slate-800/60"}`,
221
133
  children: [
222
- /* @__PURE__ */ e(
223
- y,
224
- {
225
- id: `country-${s.code}`,
226
- checked: o,
227
- onCheckedChange: () => $(s.code)
228
- },
229
- void 0,
230
- !1,
134
+ /* @__PURE__ */ r(
135
+ E,
231
136
  {
232
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
233
- lineNumber: 265,
234
- columnNumber: 53
235
- },
236
- this
137
+ id: `country-${e.code}`,
138
+ checked: t,
139
+ onCheckedChange: () => I(e.code)
140
+ }
237
141
  ),
238
- /* @__PURE__ */ e(
142
+ /* @__PURE__ */ s(
239
143
  "label",
240
144
  {
241
- htmlFor: `country-${s.code}`,
145
+ htmlFor: `country-${e.code}`,
242
146
  className: "flex-1 cursor-pointer text-xs py-1",
243
147
  children: [
244
- s.name,
148
+ e.name,
245
149
  " (",
246
- s.code,
150
+ e.code,
247
151
  ")"
248
152
  ]
249
- },
250
- void 0,
251
- !0,
252
- {
253
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
254
- lineNumber: 270,
255
- columnNumber: 53
256
- },
257
- this
153
+ }
258
154
  )
259
155
  ]
260
156
  },
261
- s.code,
262
- !0,
263
- {
264
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
265
- lineNumber: 257,
266
- columnNumber: 49
267
- },
268
- this
157
+ e.code
269
158
  );
270
- }) }, void 0, !1, {
271
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
272
- lineNumber: 252,
273
- columnNumber: 37
274
- }, this) }, void 0, !1, {
275
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
276
- lineNumber: 251,
277
- columnNumber: 33
278
- }, this)
279
- ] }, void 0, !0, {
280
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
281
- lineNumber: 235,
282
- columnNumber: 29
283
- }, this),
284
- /* @__PURE__ */ e("div", { className: "space-y-4", children: [
285
- /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
286
- /* @__PURE__ */ e(V, { className: "h-4 w-4 text-slate-500" }, void 0, !1, {
287
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
288
- lineNumber: 285,
289
- columnNumber: 37
290
- }, this),
291
- /* @__PURE__ */ e(b, { className: "text-sm font-semibold", children: "States / Provinces" }, void 0, !1, {
292
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
293
- lineNumber: 286,
294
- columnNumber: 37
295
- }, this)
296
- ] }, void 0, !0, {
297
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
298
- lineNumber: 284,
299
- columnNumber: 33
300
- }, this),
301
- H.length === 0 ? /* @__PURE__ */ e(Z, { className: "border-dashed p-4 text-sm text-muted-foreground", children: "Select one or more countries to optionally narrow the zone to specific states or provinces." }, void 0, !1, {
302
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
303
- lineNumber: 290,
304
- columnNumber: 37
305
- }, this) : /* @__PURE__ */ e("div", { className: "space-y-4", children: H.map((s) => {
306
- const o = G(s.code), r = j[s.code] || [];
307
- return /* @__PURE__ */ e(Z, { className: "p-4", children: /* @__PURE__ */ e("div", { className: "space-y-3", children: [
308
- /* @__PURE__ */ e("div", { className: "flex items-center justify-between gap-3", children: [
309
- /* @__PURE__ */ e("div", { children: [
310
- /* @__PURE__ */ e("p", { className: "font-medium", children: [
311
- s.name,
159
+ }) }) })
160
+ ] }),
161
+ /* @__PURE__ */ s("div", { className: "space-y-4", children: [
162
+ /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
163
+ /* @__PURE__ */ r(R, { className: "h-4 w-4 text-slate-500" }),
164
+ /* @__PURE__ */ r(f, { className: "text-sm font-semibold", children: "States / Provinces" })
165
+ ] }),
166
+ Z.length === 0 ? /* @__PURE__ */ r(C, { className: "border-dashed p-4 text-sm text-muted-foreground", children: "Select one or more countries to optionally narrow the zone to specific states or provinces." }) : /* @__PURE__ */ r("div", { className: "space-y-4", children: Z.map((e) => {
167
+ const t = V(e.code), l = _[e.code] || [];
168
+ return /* @__PURE__ */ r(C, { className: "p-4", children: /* @__PURE__ */ s("div", { className: "space-y-3", children: [
169
+ /* @__PURE__ */ s("div", { className: "flex items-center justify-between gap-3", children: [
170
+ /* @__PURE__ */ s("div", { children: [
171
+ /* @__PURE__ */ s("p", { className: "font-medium", children: [
172
+ e.name,
312
173
  " (",
313
- s.code,
174
+ e.code,
314
175
  ")"
315
- ] }, void 0, !0, {
316
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
317
- lineNumber: 305,
318
- columnNumber: 65
319
- }, this),
320
- /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: o.length > 0 ? "Leave all unchecked to apply this zone to the whole country." : "This country uses a country-level zone in the current UI." }, void 0, !1, {
321
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
322
- lineNumber: 308,
323
- columnNumber: 65
324
- }, this)
325
- ] }, void 0, !0, {
326
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
327
- lineNumber: 304,
328
- columnNumber: 61
329
- }, this),
330
- /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: r.length > 0 ? `${r.length} selected` : "Whole country" }, void 0, !1, {
331
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
332
- lineNumber: 314,
333
- columnNumber: 61
334
- }, this)
335
- ] }, void 0, !0, {
336
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
337
- lineNumber: 303,
338
- columnNumber: 57
339
- }, this),
340
- o.length > 0 ? /* @__PURE__ */ e("div", { className: "grid max-h-[220px] grid-cols-1 gap-2 overflow-y-auto pr-1 sm:grid-cols-2", children: o.map((m) => {
341
- const D = r.includes(m.code);
342
- return /* @__PURE__ */ e(
176
+ ] }),
177
+ /* @__PURE__ */ r("p", { className: "text-xs text-muted-foreground", children: t.length > 0 ? "Leave all unchecked to apply this zone to the whole country." : "This country uses a country-level zone in the current UI." })
178
+ ] }),
179
+ /* @__PURE__ */ r("span", { className: "text-xs text-muted-foreground", children: l.length > 0 ? `${l.length} selected` : "Whole country" })
180
+ ] }),
181
+ t.length > 0 ? /* @__PURE__ */ r("div", { className: "grid max-h-[220px] grid-cols-1 gap-2 overflow-y-auto pr-1 sm:grid-cols-2", children: t.map((n) => {
182
+ const F = l.includes(n.code);
183
+ return /* @__PURE__ */ s(
343
184
  "div",
344
185
  {
345
- className: `flex items-center space-x-2 rounded-md border p-2 transition-colors ${D ? "border-primary/30 bg-primary/5 text-primary" : "border-transparent hover:bg-slate-50 dark:hover:bg-slate-800/60"}`,
186
+ className: `flex items-center space-x-2 rounded-md border p-2 transition-colors ${F ? "border-primary/30 bg-primary/5 text-primary" : "border-transparent hover:bg-slate-50 dark:hover:bg-slate-800/60"}`,
346
187
  children: [
347
- /* @__PURE__ */ e(
348
- y,
349
- {
350
- id: `${s.code}-${m.code}`,
351
- checked: D,
352
- onCheckedChange: () => L(s.code, m.code)
353
- },
354
- void 0,
355
- !1,
188
+ /* @__PURE__ */ r(
189
+ E,
356
190
  {
357
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
358
- lineNumber: 335,
359
- columnNumber: 77
360
- },
361
- this
191
+ id: `${e.code}-${n.code}`,
192
+ checked: F,
193
+ onCheckedChange: () => M(e.code, n.code)
194
+ }
362
195
  ),
363
- /* @__PURE__ */ e(
196
+ /* @__PURE__ */ s(
364
197
  "label",
365
198
  {
366
- htmlFor: `${s.code}-${m.code}`,
199
+ htmlFor: `${e.code}-${n.code}`,
367
200
  className: "flex-1 cursor-pointer text-xs py-1",
368
201
  children: [
369
- m.name,
202
+ n.name,
370
203
  " (",
371
- m.code,
204
+ n.code,
372
205
  ")"
373
206
  ]
374
- },
375
- void 0,
376
- !0,
377
- {
378
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
379
- lineNumber: 342,
380
- columnNumber: 77
381
- },
382
- this
207
+ }
383
208
  )
384
209
  ]
385
210
  },
386
- `${s.code}-${m.code}`,
387
- !0,
388
- {
389
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
390
- lineNumber: 327,
391
- columnNumber: 73
392
- },
393
- this
211
+ `${e.code}-${n.code}`
394
212
  );
395
- }) }, void 0, !1, {
396
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
397
- lineNumber: 322,
398
- columnNumber: 61
399
- }, this) : null
400
- ] }, void 0, !0, {
401
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
402
- lineNumber: 302,
403
- columnNumber: 53
404
- }, this) }, s.code, !1, {
405
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
406
- lineNumber: 301,
407
- columnNumber: 49
408
- }, this);
409
- }) }, void 0, !1, {
410
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
411
- lineNumber: 295,
412
- columnNumber: 37
413
- }, this)
414
- ] }, void 0, !0, {
415
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
416
- lineNumber: 283,
417
- columnNumber: 29
418
- }, this)
419
- ] }, void 0, !0, {
420
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
421
- lineNumber: 234,
422
- columnNumber: 25
423
- }, this)
424
- ] }, void 0, !0, {
425
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
426
- lineNumber: 210,
427
- columnNumber: 21
428
- }, this),
429
- /* @__PURE__ */ e(q, { className: "mt-auto border-t pt-4", children: [
430
- /* @__PURE__ */ e(u, { type: "button", variant: "ghost", onClick: () => c(!1), children: "Cancel" }, void 0, !1, {
431
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
432
- lineNumber: 364,
433
- columnNumber: 25
434
- }, this),
435
- /* @__PURE__ */ e(u, { type: "submit", disabled: B || !d || a.length === 0, children: B ? l ? "Updating..." : "Creating..." : l ? "Save Changes" : "Create Zone" }, void 0, !1, {
436
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
437
- lineNumber: 367,
438
- columnNumber: 25
439
- }, this)
440
- ] }, void 0, !0, {
441
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
442
- lineNumber: 363,
443
- columnNumber: 21
444
- }, this)
445
- ] }, void 0, !0, {
446
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
447
- lineNumber: 200,
448
- columnNumber: 17
449
- }, this) }, void 0, !1, {
450
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
451
- lineNumber: 199,
452
- columnNumber: 13
453
- }, this)
454
- ] }, void 0, !0, {
455
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
456
- lineNumber: 186,
457
- columnNumber: 9
458
- }, this);
213
+ }) }) : null
214
+ ] }) }, e.code);
215
+ }) })
216
+ ] })
217
+ ] })
218
+ ] }),
219
+ /* @__PURE__ */ s(H, { className: "mt-auto border-t pt-4", children: [
220
+ /* @__PURE__ */ r(u, { type: "button", variant: "ghost", onClick: () => c(!1), children: "Cancel" }),
221
+ /* @__PURE__ */ r(u, { type: "submit", disabled: $ || !p || m.length === 0, children: $ ? i ? "Updating..." : "Creating..." : i ? "Save Changes" : "Create Zone" })
222
+ ] })
223
+ ] }) })
224
+ ] });
459
225
  }
460
226
  export {
461
227
  ce as ZoneForm