@nextblock-cms/ecom 0.19.0 → 0.19.3

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 (161) 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.d.ts +1 -1
  16. package/lib/components/Cart.es.js +158 -377
  17. package/lib/components/CartDrawer.cjs.js +1 -1
  18. package/lib/components/CartDrawer.es.js +143 -297
  19. package/lib/components/CartIcon.cjs.js +1 -1
  20. package/lib/components/CartIcon.es.js +21 -47
  21. package/lib/components/Checkout.cjs.js +1 -1
  22. package/lib/components/Checkout.d.ts +1 -1
  23. package/lib/components/Checkout.es.js +839 -1627
  24. package/lib/components/CouponForm.cjs.js +1 -1
  25. package/lib/components/CouponForm.es.js +104 -155
  26. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  27. package/lib/components/CurrencySwitcher.es.js +14 -33
  28. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  29. package/lib/components/CustomerProfileForm.d.ts +1 -1
  30. package/lib/components/CustomerProfileForm.es.js +264 -672
  31. package/lib/components/FeaturedProduct.cjs.js +1 -1
  32. package/lib/components/FeaturedProduct.es.js +54 -126
  33. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  34. package/lib/components/FreemiusLicensePanel.es.js +45 -125
  35. package/lib/components/InvoiceDocument.cjs.js +1 -1
  36. package/lib/components/InvoiceDocument.es.js +148 -487
  37. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  38. package/lib/components/InvoiceViewerShell.d.ts +4 -1
  39. package/lib/components/InvoiceViewerShell.es.js +59 -142
  40. package/lib/components/ProductCard.cjs.js +1 -1
  41. package/lib/components/ProductCard.d.ts +3 -1
  42. package/lib/components/ProductCard.es.js +128 -242
  43. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  44. package/lib/components/ProductDetailsLayout.es.js +315 -657
  45. package/lib/components/ProductGallery.cjs.js +1 -1
  46. package/lib/components/ProductGallery.d.ts +2 -0
  47. package/lib/components/ProductGallery.es.js +37 -66
  48. package/lib/components/ProductGrid.cjs.js +1 -1
  49. package/lib/components/ProductGrid.es.js +23 -32
  50. package/lib/components/ShippingEstimator.cjs.js +1 -1
  51. package/lib/components/ShippingEstimator.es.js +124 -231
  52. package/lib/components/ShortDescription.cjs.js +1 -0
  53. package/lib/components/ShortDescription.d.ts +19 -0
  54. package/lib/components/ShortDescription.es.js +18 -0
  55. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  56. package/lib/components/SimpleTiptapRenderer.es.js +111 -294
  57. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  58. package/lib/components/SubscriptionSelector.es.js +120 -181
  59. package/lib/components/media/MediaPickerDialog.d.ts +1 -1
  60. package/lib/components/media/MediaUploadForm.d.ts +1 -1
  61. package/lib/invoice.cjs.js +1 -1
  62. package/lib/invoice.d.ts +1 -1
  63. package/lib/invoice.es.js +6 -5
  64. package/lib/order-inventory.d.ts +1 -1
  65. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  66. package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
  67. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  68. package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
  69. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  70. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
  71. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  72. package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
  73. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  74. package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
  75. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  76. package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
  77. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  78. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
  79. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  80. package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
  81. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  82. package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
  83. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  84. package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
  85. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  86. package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
  87. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  88. package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
  89. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  90. package/lib/pages/cms/products/ProductsPage.es.js +47 -87
  91. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  92. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
  93. package/lib/pages/cms/products/actions.d.ts +20 -20
  94. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  95. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
  96. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  97. package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
  98. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
  99. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  100. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
  101. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  102. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
  103. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  104. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
  105. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  106. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
  107. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  108. package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
  109. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  110. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
  111. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  112. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
  113. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  114. package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
  115. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  116. package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
  117. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  118. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
  119. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  120. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
  121. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  122. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
  123. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  124. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
  125. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  126. package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
  127. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  128. package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
  129. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  130. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
  131. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  132. package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
  133. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  134. package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
  135. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  136. package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
  137. package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
  138. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  139. package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
  140. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  141. package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
  142. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  143. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
  144. package/lib/product-actions.d.ts +31 -31
  145. package/lib/product-context.cjs.js +1 -1
  146. package/lib/product-context.es.js +10 -14
  147. package/lib/shared-inventory.d.ts +1 -1
  148. package/lib/states.cjs.js +1 -1
  149. package/lib/states.d.ts +2 -0
  150. package/lib/states.es.js +63 -29
  151. package/lib/trials.cjs.js +1 -1
  152. package/lib/trials.d.ts +10 -3
  153. package/lib/trials.es.js +28 -21
  154. package/lib/types.d.ts +2 -0
  155. package/lib/use-price-formatter.cjs.js +1 -0
  156. package/lib/use-price-formatter.d.ts +11 -0
  157. package/lib/use-price-formatter.es.js +13 -0
  158. package/lib/variation-utils.cjs.js +1 -1
  159. package/lib/variation-utils.d.ts +10 -0
  160. package/lib/variation-utils.es.js +139 -123
  161. package/package.json +4 -4
@@ -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