@nextblock-cms/ecom 0.13.4 → 0.13.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/lib/CurrencyProvider.cjs.js +1 -1
  2. package/lib/CurrencyProvider.es.js +31 -27
  3. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  4. package/lib/components/AccountNavigationMenu.es.js +53 -26
  5. package/lib/components/AddToCartButton.cjs.js +1 -1
  6. package/lib/components/AddToCartButton.es.js +49 -25
  7. package/lib/components/Cart.cjs.js +1 -1
  8. package/lib/components/Cart.es.js +367 -115
  9. package/lib/components/CartDrawer.cjs.js +1 -1
  10. package/lib/components/CartDrawer.es.js +272 -88
  11. package/lib/components/CartIcon.cjs.js +1 -1
  12. package/lib/components/CartIcon.es.js +44 -16
  13. package/lib/components/Checkout.cjs.js +1 -1
  14. package/lib/components/Checkout.es.js +1601 -694
  15. package/lib/components/CouponForm.cjs.js +1 -1
  16. package/lib/components/CouponForm.es.js +160 -96
  17. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  18. package/lib/components/CurrencySwitcher.es.js +32 -12
  19. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  20. package/lib/components/CustomerProfileForm.es.js +666 -250
  21. package/lib/components/FeaturedProduct.cjs.js +1 -1
  22. package/lib/components/FeaturedProduct.es.js +126 -42
  23. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  24. package/lib/components/FreemiusLicensePanel.es.js +125 -45
  25. package/lib/components/InvoiceDocument.cjs.js +1 -1
  26. package/lib/components/InvoiceDocument.es.js +485 -146
  27. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  28. package/lib/components/InvoiceViewerShell.es.js +142 -54
  29. package/lib/components/ProductCard.cjs.js +1 -1
  30. package/lib/components/ProductCard.es.js +224 -81
  31. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  32. package/lib/components/ProductDetailsLayout.es.js +629 -275
  33. package/lib/components/ProductGallery.cjs.js +1 -1
  34. package/lib/components/ProductGallery.es.js +64 -21
  35. package/lib/components/ProductGrid.cjs.js +1 -1
  36. package/lib/components/ProductGrid.es.js +28 -12
  37. package/lib/components/ShippingEstimator.cjs.js +1 -1
  38. package/lib/components/ShippingEstimator.es.js +226 -90
  39. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  40. package/lib/components/SimpleTiptapRenderer.es.js +286 -93
  41. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  42. package/lib/components/SubscriptionSelector.es.js +168 -92
  43. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  44. package/lib/pages/cms/coupons/CouponEditorForm.es.js +370 -110
  45. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  46. package/lib/pages/cms/coupons/CouponsPage.es.js +368 -116
  47. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  48. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +61 -25
  49. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  50. package/lib/pages/cms/coupons/EditCouponPage.es.js +71 -35
  51. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  52. package/lib/pages/cms/coupons/ProductScopePicker.es.js +167 -72
  53. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  54. package/lib/pages/cms/orders/ExportReportsDialog.es.js +247 -87
  55. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  56. package/lib/pages/cms/orders/OrderDetailPage.es.js +283 -95
  57. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  58. package/lib/pages/cms/orders/OrderPrintButton.es.js +21 -9
  59. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  60. package/lib/pages/cms/orders/OrderStatusForm.es.js +106 -46
  61. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  62. package/lib/pages/cms/orders/OrdersPage.es.js +257 -78
  63. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  64. package/lib/pages/cms/payments/PaymentsClient.es.js +551 -155
  65. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  66. package/lib/pages/cms/payments/PaymentsPage.es.js +24 -16
  67. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  68. package/lib/pages/cms/products/ProductsPage.es.js +77 -37
  69. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  70. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +176 -96
  71. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  72. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +85 -41
  73. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  74. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +455 -192
  75. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  76. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +72 -28
  77. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  78. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +490 -183
  79. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  80. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +175 -67
  81. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  82. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +211 -100
  83. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  84. package/lib/pages/cms/products/components/DeleteProductButton.es.js +45 -25
  85. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  86. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +202 -58
  87. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  88. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +234 -88
  89. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  90. package/lib/pages/cms/products/components/ProductForm.es.js +1199 -551
  91. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  92. package/lib/pages/cms/products/components/ProductMediaManager.es.js +154 -63
  93. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  94. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +391 -144
  95. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  96. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +203 -87
  97. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  98. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +30 -18
  99. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  100. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +35 -23
  101. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  102. package/lib/pages/cms/products/components/VariationsEditor.es.js +492 -261
  103. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  104. package/lib/pages/cms/products/inventory/InventoryPage.es.js +33 -13
  105. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  106. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +365 -145
  107. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  108. package/lib/pages/cms/products/new/NewProductPage.es.js +46 -34
  109. package/lib/pages/cms/products/server-actions.cjs.js +1 -1
  110. package/lib/pages/cms/products/server-actions.es.js +163 -139
  111. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  112. package/lib/pages/cms/shipping/ShippingPage.es.js +507 -155
  113. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  114. package/lib/pages/cms/shipping/components/RateForm.es.js +717 -334
  115. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  116. package/lib/pages/cms/shipping/components/ZoneForm.es.js +392 -158
  117. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  118. package/lib/pages/cms/taxes/TaxesPage.es.js +448 -120
  119. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  120. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +159 -55
  121. package/lib/product-context.cjs.js +1 -1
  122. package/lib/product-context.es.js +14 -10
  123. package/package.json +4 -4
@@ -1,227 +1,461 @@
1
1
  'use client';
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))];
2
+ import { jsxDEV as e } from "react/jsx-dev-runtime";
3
+ import { useState as p, useEffect as B, useMemo as w } from "react";
4
+ import { Dialog as I, DialogTrigger as M, Button as u, DialogContent as O, DialogHeader as T, DialogTitle as q, DialogDescription as Q, Label as h, Input as C, Card as Z, Checkbox as _, DialogFooter as W } from "@nextblock-cms/ui";
5
+ import { Edit2 as A, Plus as H, Search as V, MapPin as G } from "lucide-react";
6
+ import { countries as F } from "../../../../countries.es.js";
7
+ import { getStatesForCountry as J } from "../../../../states.es.js";
8
+ import { updateShippingZone as K, createShippingZone as R } from "../server-actions.es.js";
9
+ function $(t = []) {
10
+ return [...new Set(t.map((n) => n.country_code))];
11
11
  }
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;
12
+ function L(t = []) {
13
+ return t.reduce((n, r) => {
14
+ if (!r.state_code)
15
+ return n;
16
+ const c = new Set(n[r.country_code] || []);
17
+ return c.add(r.state_code), n[r.country_code] = [...c], n;
18
18
  }, {});
19
19
  }
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
20
+ function X(t, n) {
21
+ return t.flatMap((r) => {
22
+ const c = n[r] || [];
23
+ return c.length === 0 ? [{ country_code: r, state_code: null }] : c.map((l) => ({
24
+ country_code: r,
25
+ state_code: l
26
26
  }));
27
27
  });
28
28
  }
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;
29
+ function ce({ mode: t = "create", initialData: n }) {
30
+ const [r, c] = p(!1), l = t === "edit", [d, N] = p(n?.name || ""), [g, x] = p(n?.priority_order || 0), [a, f] = p(
31
+ $(n?.locations)
32
+ ), [j, b] = p(
33
+ L(n?.locations)
34
+ ), [k, v] = p(""), [U, D] = p(!1);
35
+ B(() => {
36
+ r && (N(n?.name || ""), x(n?.priority_order || 0), f($(n?.locations)), b(L(n?.locations)), v(""));
37
+ }, [n, r]);
38
+ const E = w(() => {
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]), y = w(() => F.filter((s) => a.includes(s.code)), [a]), z = (s) => {
44
+ f(
45
+ (o) => o.includes(s) ? o.filter((i) => i !== s) : [...o, s]
46
+ ), b((o) => {
47
+ if (o[s]) {
48
+ const i = { ...o };
49
+ return delete i[s], i;
50
50
  }
51
- return t;
51
+ return o;
52
52
  });
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]
53
+ }, P = (s, o) => {
54
+ b((i) => {
55
+ const m = new Set(i[s] || []);
56
+ return m.has(o) ? m.delete(o) : m.add(o), {
57
+ ...i,
58
+ [s]: [...m]
59
59
  };
60
60
  });
61
61
  };
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" }),
62
+ return /* @__PURE__ */ e(I, { open: r, onOpenChange: c, children: [
63
+ /* @__PURE__ */ e(M, { 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(A, { className: "h-4 w-4" }, void 0, !1, {
64
+ fileName: "C:/Users/desjardinsn/Desktop/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/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(H, { className: "h-4 w-4" }, void 0, !1, {
73
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
74
+ lineNumber: 194,
75
+ columnNumber: 25
76
+ }, this),
65
77
  "New Zone"
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)
78
+ ] }, void 0, !0, {
79
+ fileName: "C:/Users/desjardinsn/Desktop/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/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
84
+ lineNumber: 187,
85
+ columnNumber: 13
86
+ }, this),
87
+ /* @__PURE__ */ e(O, { 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)
69
89
  return;
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);
90
+ D(!0);
91
+ const o = X(a, j), i = l && n?.id ? await K(n.id, d, g, o) : await R(d, g, o);
92
+ D(!1), i.success ? (c(!1), l || (N(""), x(0), f([]), b({}), v(""))) : i.error && alert(i.error);
73
93
  }, className: "flex h-full flex-col overflow-hidden", children: [
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,
94
+ /* @__PURE__ */ e(T, { children: [
95
+ /* @__PURE__ */ e(q, { children: l ? "Edit Shipping Zone" : "Create Shipping Zone" }, void 0, !1, {
96
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
97
+ lineNumber: 202,
98
+ columnNumber: 25
99
+ }, this),
100
+ /* @__PURE__ */ e(Q, { 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/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/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(h, { htmlFor: "name", className: "text-right", children: "Zone Name" }, void 0, !1, {
113
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
114
+ lineNumber: 212,
115
+ columnNumber: 29
116
+ }, this),
117
+ /* @__PURE__ */ e(
118
+ C,
83
119
  {
84
120
  id: "name",
85
- value: p,
86
- onChange: (e) => x(e.target.value),
121
+ value: d,
122
+ onChange: (s) => N(s.target.value),
87
123
  placeholder: "e.g. North America, Canada East, US West",
88
124
  className: "col-span-3",
89
125
  required: !0
90
- }
126
+ },
127
+ void 0,
128
+ !1,
129
+ {
130
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
131
+ lineNumber: 213,
132
+ columnNumber: 29
133
+ },
134
+ this
91
135
  )
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,
136
+ ] }, void 0, !0, {
137
+ fileName: "C:/Users/desjardinsn/Desktop/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(h, { htmlFor: "priority", className: "text-right", children: "Priority Order" }, void 0, !1, {
143
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
144
+ lineNumber: 224,
145
+ columnNumber: 29
146
+ }, this),
147
+ /* @__PURE__ */ e(
148
+ C,
97
149
  {
98
150
  id: "priority",
99
151
  type: "number",
100
- value: v,
101
- onChange: (e) => N(Number(e.target.value)),
152
+ value: g,
153
+ onChange: (s) => x(Number(s.target.value)),
102
154
  className: "col-span-3"
103
- }
155
+ },
156
+ void 0,
157
+ !1,
158
+ {
159
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
160
+ lineNumber: 225,
161
+ columnNumber: 29
162
+ },
163
+ this
104
164
  )
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: [
165
+ ] }, void 0, !0, {
166
+ fileName: "C:/Users/desjardinsn/Desktop/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(h, { className: "text-sm font-semibold", children: [
110
174
  "Countries (",
111
- m.length,
175
+ a.length,
112
176
  ")"
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,
177
+ ] }, void 0, !0, {
178
+ fileName: "C:/Users/desjardinsn/Desktop/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(V, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }, void 0, !1, {
184
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
185
+ lineNumber: 241,
186
+ columnNumber: 41
187
+ }, this),
188
+ /* @__PURE__ */ e(
189
+ C,
118
190
  {
119
191
  placeholder: "Search countries...",
120
192
  className: "pl-9 h-9",
121
- value: y,
122
- onChange: (e) => S(e.target.value)
123
- }
193
+ value: k,
194
+ onChange: (s) => v(s.target.value)
195
+ },
196
+ void 0,
197
+ !1,
198
+ {
199
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
200
+ lineNumber: 242,
201
+ columnNumber: 41
202
+ },
203
+ this
124
204
  )
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(
205
+ ] }, void 0, !0, {
206
+ fileName: "C:/Users/desjardinsn/Desktop/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/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: E.map((s) => {
216
+ const o = a.includes(s.code);
217
+ return /* @__PURE__ */ e(
130
218
  "div",
131
219
  {
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"}`,
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"}`,
133
221
  children: [
134
- /* @__PURE__ */ r(
135
- E,
222
+ /* @__PURE__ */ e(
223
+ _,
224
+ {
225
+ id: `country-${s.code}`,
226
+ checked: o,
227
+ onCheckedChange: () => z(s.code)
228
+ },
229
+ void 0,
230
+ !1,
136
231
  {
137
- id: `country-${e.code}`,
138
- checked: t,
139
- onCheckedChange: () => I(e.code)
140
- }
232
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
233
+ lineNumber: 265,
234
+ columnNumber: 53
235
+ },
236
+ this
141
237
  ),
142
- /* @__PURE__ */ s(
238
+ /* @__PURE__ */ e(
143
239
  "label",
144
240
  {
145
- htmlFor: `country-${e.code}`,
241
+ htmlFor: `country-${s.code}`,
146
242
  className: "flex-1 cursor-pointer text-xs py-1",
147
243
  children: [
148
- e.name,
244
+ s.name,
149
245
  " (",
150
- e.code,
246
+ s.code,
151
247
  ")"
152
248
  ]
153
- }
249
+ },
250
+ void 0,
251
+ !0,
252
+ {
253
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
254
+ lineNumber: 270,
255
+ columnNumber: 53
256
+ },
257
+ this
154
258
  )
155
259
  ]
156
260
  },
157
- e.code
261
+ s.code,
262
+ !0,
263
+ {
264
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
265
+ lineNumber: 257,
266
+ columnNumber: 49
267
+ },
268
+ this
158
269
  );
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,
270
+ }) }, void 0, !1, {
271
+ fileName: "C:/Users/desjardinsn/Desktop/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/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/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(G, { className: "h-4 w-4 text-slate-500" }, void 0, !1, {
287
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
288
+ lineNumber: 285,
289
+ columnNumber: 37
290
+ }, this),
291
+ /* @__PURE__ */ e(h, { className: "text-sm font-semibold", children: "States / Provinces" }, void 0, !1, {
292
+ fileName: "C:/Users/desjardinsn/Desktop/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/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
298
+ lineNumber: 284,
299
+ columnNumber: 33
300
+ }, this),
301
+ y.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/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: y.map((s) => {
306
+ const o = J(s.code), i = 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,
173
312
  " (",
174
- e.code,
313
+ s.code,
175
314
  ")"
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(
315
+ ] }, void 0, !0, {
316
+ fileName: "C:/Users/desjardinsn/Desktop/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/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/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: i.length > 0 ? `${i.length} selected` : "Whole country" }, void 0, !1, {
331
+ fileName: "C:/Users/desjardinsn/Desktop/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/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 S = i.includes(m.code);
342
+ return /* @__PURE__ */ e(
184
343
  "div",
185
344
  {
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"}`,
345
+ className: `flex items-center space-x-2 rounded-md border p-2 transition-colors ${S ? "border-primary/30 bg-primary/5 text-primary" : "border-transparent hover:bg-slate-50 dark:hover:bg-slate-800/60"}`,
187
346
  children: [
188
- /* @__PURE__ */ r(
189
- E,
347
+ /* @__PURE__ */ e(
348
+ _,
349
+ {
350
+ id: `${s.code}-${m.code}`,
351
+ checked: S,
352
+ onCheckedChange: () => P(s.code, m.code)
353
+ },
354
+ void 0,
355
+ !1,
190
356
  {
191
- id: `${e.code}-${n.code}`,
192
- checked: F,
193
- onCheckedChange: () => M(e.code, n.code)
194
- }
357
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
358
+ lineNumber: 335,
359
+ columnNumber: 77
360
+ },
361
+ this
195
362
  ),
196
- /* @__PURE__ */ s(
363
+ /* @__PURE__ */ e(
197
364
  "label",
198
365
  {
199
- htmlFor: `${e.code}-${n.code}`,
366
+ htmlFor: `${s.code}-${m.code}`,
200
367
  className: "flex-1 cursor-pointer text-xs py-1",
201
368
  children: [
202
- n.name,
369
+ m.name,
203
370
  " (",
204
- n.code,
371
+ m.code,
205
372
  ")"
206
373
  ]
207
- }
374
+ },
375
+ void 0,
376
+ !0,
377
+ {
378
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
379
+ lineNumber: 342,
380
+ columnNumber: 77
381
+ },
382
+ this
208
383
  )
209
384
  ]
210
385
  },
211
- `${e.code}-${n.code}`
386
+ `${s.code}-${m.code}`,
387
+ !0,
388
+ {
389
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
390
+ lineNumber: 327,
391
+ columnNumber: 73
392
+ },
393
+ this
212
394
  );
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
- ] });
395
+ }) }, void 0, !1, {
396
+ fileName: "C:/Users/desjardinsn/Desktop/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/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/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/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/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/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/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
426
+ lineNumber: 210,
427
+ columnNumber: 21
428
+ }, this),
429
+ /* @__PURE__ */ e(W, { 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/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: U || !d || a.length === 0, children: U ? l ? "Updating..." : "Creating..." : l ? "Save Changes" : "Create Zone" }, void 0, !1, {
436
+ fileName: "C:/Users/desjardinsn/Desktop/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/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/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/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/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/ZoneForm.tsx",
456
+ lineNumber: 186,
457
+ columnNumber: 9
458
+ }, this);
225
459
  }
226
460
  export {
227
461
  ce as ZoneForm