@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,441 +1,824 @@
1
1
  'use client';
2
- import { jsxs as n, jsx as r } from "react/jsx-runtime";
3
- import { useState as h, useMemo as C, useEffect as Y } from "react";
4
- import { Dialog as he, DialogTrigger as pe, Button as z, DialogContent as fe, DialogHeader as ge, DialogTitle as be, DialogDescription as ve, Label as N, Input as O, Select as ee, SelectTrigger as te, SelectValue as re, SelectContent as ne, SelectItem as V, Badge as q, DialogFooter as xe } from "@nextblock-cms/ui";
5
- import { Edit2 as ye, Plus as Ce, Languages as Ne, DollarSign as B, Gift as _e } from "lucide-react";
6
- import { updateShippingRate as Ae, createShippingRate as Se } from "../server-actions.es.js";
7
- import { normalizeCurrencyCode as G, getCurrencyMinorUnitFactor as E, majorUnitAmountToMinor as we, minorUnitAmountToMajor as Me } from "@nextblock-cms/utils";
8
- import { normalizeCurrencyRecord as oe, convertMinorUnitAmount as ae } from "../../../../currency.es.js";
9
- import { normalizeShippingRateCurrencyMode as se, sanitizeShippingRateAmountMaps as ke } from "../../../../shipping-rate-currency.es.js";
10
- function w(u, m) {
11
- if (typeof u != "number")
2
+ import { jsxDEV as e } from "react/jsx-dev-runtime";
3
+ import { useState as p, useMemo as k, useEffect as W } from "react";
4
+ import { Dialog as pe, DialogTrigger as ue, Button as S, DialogContent as be, DialogHeader as he, DialogTitle as Ne, DialogDescription as ge, Label as v, Input as w, Select as Y, SelectTrigger as ee, SelectValue as se, SelectContent as ne, SelectItem as L, Badge as V, DialogFooter as fe } from "@nextblock-cms/ui";
5
+ import { Edit2 as xe, Plus as ke, Languages as ve, DollarSign as P, Gift as Ce } from "lucide-react";
6
+ import { updateShippingRate as Fe, createShippingRate as Re } from "../server-actions.es.js";
7
+ import { normalizeCurrencyCode as q, getCurrencyMinorUnitFactor as M, majorUnitAmountToMinor as je, minorUnitAmountToMajor as Ue } from "@nextblock-cms/utils";
8
+ import { normalizeCurrencyRecord as ie, convertMinorUnitAmount as re } from "../../../../currency.es.js";
9
+ import { normalizeShippingRateCurrencyMode as oe, sanitizeShippingRateAmountMaps as De } from "../../../../shipping-rate-currency.es.js";
10
+ function j(d, a) {
11
+ if (typeof d != "number")
12
12
  return "";
13
- const c = Me(u, m);
14
- return E(m) === 1 ? c.toFixed(0) : c.toFixed(2);
13
+ const m = Ue(d, a);
14
+ return M(a) === 1 ? m.toFixed(0) : m.toFixed(2);
15
15
  }
16
- function Fe(u) {
17
- return u.reduce((m, c) => (m[c.code] = E(c.code) === 1 ? "0" : "0.00", m), {});
16
+ function ye(d) {
17
+ return d.reduce((a, m) => (a[m.code] = M(m.code) === 1 ? "0" : "0.00", a), {});
18
18
  }
19
- function _(u, m) {
20
- const c = String(u || "").trim();
21
- if (!c)
19
+ function C(d, a) {
20
+ const m = String(d || "").trim();
21
+ if (!m)
22
22
  return null;
23
- const f = Number(c);
24
- return !Number.isFinite(f) || f < 0 ? null : we(f, m);
23
+ const b = Number(m);
24
+ return !Number.isFinite(b) || b < 0 ? null : je(b, a);
25
25
  }
26
- function de(u) {
27
- return u.currencies.reduce((m, c) => (m[c.code] = w(
28
- u.amounts[c.code],
29
- c.code
30
- ), m), {});
26
+ function te(d) {
27
+ return d.currencies.reduce((a, m) => (a[m.code] = j(
28
+ d.amounts[m.code],
29
+ m.code
30
+ ), a), {});
31
31
  }
32
- function Pe({
33
- zoneId: u,
34
- zoneName: m,
35
- languages: c,
36
- currencies: f = [],
37
- defaultCurrencyCode: ce = "USD",
38
- mode: le = "create",
39
- initialData: l
32
+ function $e({
33
+ zoneId: d,
34
+ zoneName: a,
35
+ languages: m,
36
+ currencies: b = [],
37
+ defaultCurrencyCode: me = "USD",
38
+ mode: ce = "create",
39
+ initialData: c
40
40
  }) {
41
- const [$, I] = h(!1), A = le === "edit", H = C(
42
- () => c.find((e) => e.is_default) || c[0] || null,
43
- [c]
44
- ), X = C(
45
- () => c.filter((e) => !e.is_default),
46
- [c]
47
- ), M = G(ce), s = C(() => {
48
- const e = oe({
49
- code: M,
50
- symbol: M,
41
+ const [T, z] = p(!1), F = ce === "edit", B = k(
42
+ () => m.find((s) => s.is_default) || m[0] || null,
43
+ [m]
44
+ ), G = k(
45
+ () => m.filter((s) => !s.is_default),
46
+ [m]
47
+ ), U = q(me), o = k(() => {
48
+ const s = ie({
49
+ code: U,
50
+ symbol: U,
51
51
  exchange_rate: 1,
52
52
  is_default: !0,
53
53
  is_active: !0
54
- }), o = (f.length > 0 ? f : [e]).map((t) => oe(t)).filter((t) => t.is_active !== !1).sort((t, d) => t.is_default !== d.is_default ? t.is_default ? -1 : 1 : t.code.localeCompare(d.code));
55
- return o.length > 0 ? o : [e];
56
- }, [f, M]), g = C(
57
- () => s.find((e) => e.is_default) || s[0],
58
- [s]
59
- ), [k, Z] = h(l?.name || ""), [D, J] = h(
60
- l?.name_translations || {}
61
- ), [b, K] = h(
62
- l?.method_type || "flat_rate"
63
- ), [i, Q] = h(
64
- se(l?.currency_pricing_mode)
65
- ), [a, j] = h(
66
- G(l?.cost_currency || g?.code || M)
67
- ), [v, S] = h({}), [x, F] = h({}), [L, T] = h(!1), P = C(() => {
68
- if (i === "manual")
69
- return s.reduce((t, d) => (t[d.code] = v[d.code] ?? "", t), {});
70
- const e = s.reduce(
71
- (t, d) => (t[d.code] = v[d.code] ?? (d.code === a, ""), t),
54
+ }), i = (b.length > 0 ? b : [s]).map((n) => ie(n)).filter((n) => n.is_active !== !1).sort((n, t) => n.is_default !== t.is_default ? n.is_default ? -1 : 1 : n.code.localeCompare(t.code));
55
+ return i.length > 0 ? i : [s];
56
+ }, [b, U]), h = k(
57
+ () => o.find((s) => s.is_default) || o[0],
58
+ [o]
59
+ ), [D, H] = p(c?.name || ""), [X, Z] = p(
60
+ c?.name_translations || {}
61
+ ), [N, J] = p(
62
+ c?.method_type || "flat_rate"
63
+ ), [l, K] = p(
64
+ oe(c?.currency_pricing_mode)
65
+ ), [r, E] = p(
66
+ q(c?.cost_currency || h?.code || U)
67
+ ), [g, R] = p({}), [f, y] = p({}), [O, _] = p(!1), $ = k(() => {
68
+ if (l === "manual")
69
+ return o.reduce((n, t) => (n[t.code] = g[t.code] ?? "", n), {});
70
+ const s = o.reduce(
71
+ (n, t) => (n[t.code] = g[t.code] ?? (t.code === r, ""), n),
72
72
  {}
73
- ), o = _(
74
- v[a],
75
- a
73
+ ), i = C(
74
+ g[r],
75
+ r
76
76
  );
77
- if (o === null)
78
- return e;
79
- for (const t of s) {
80
- if (t.code === a) {
81
- e[t.code] = v[t.code] ?? w(o, t.code);
77
+ if (i === null)
78
+ return s;
79
+ for (const n of o) {
80
+ if (n.code === r) {
81
+ s[n.code] = g[n.code] ?? j(i, n.code);
82
82
  continue;
83
83
  }
84
- e[t.code] = w(
85
- ae({
86
- amount: o,
87
- fromCurrencyCode: a,
88
- toCurrencyCode: t.code,
89
- currencies: s
84
+ s[n.code] = j(
85
+ re({
86
+ amount: i,
87
+ fromCurrencyCode: r,
88
+ toCurrencyCode: n.code,
89
+ currencies: o
90
90
  }),
91
- t.code
91
+ n.code
92
92
  );
93
93
  }
94
- return e;
95
- }, [s, v, i, a]), U = C(() => {
96
- if (i === "manual")
97
- return s.reduce((t, d) => (t[d.code] = x[d.code] ?? "", t), {});
98
- const e = s.reduce(
99
- (t, d) => (t[d.code] = x[d.code] ?? "", t),
94
+ return s;
95
+ }, [o, g, l, r]), I = k(() => {
96
+ if (l === "manual")
97
+ return o.reduce((n, t) => (n[t.code] = f[t.code] ?? "", n), {});
98
+ const s = o.reduce(
99
+ (n, t) => (n[t.code] = f[t.code] ?? "", n),
100
100
  {}
101
- ), o = _(
102
- x[a],
103
- a
101
+ ), i = C(
102
+ f[r],
103
+ r
104
104
  );
105
- if (o === null)
106
- return e;
107
- for (const t of s) {
108
- if (t.code === a) {
109
- e[t.code] = x[t.code] ?? w(o, t.code);
105
+ if (i === null)
106
+ return s;
107
+ for (const n of o) {
108
+ if (n.code === r) {
109
+ s[n.code] = f[n.code] ?? j(i, n.code);
110
110
  continue;
111
111
  }
112
- e[t.code] = w(
113
- ae({
114
- amount: o,
115
- fromCurrencyCode: a,
116
- toCurrencyCode: t.code,
117
- currencies: s
112
+ s[n.code] = j(
113
+ re({
114
+ amount: i,
115
+ fromCurrencyCode: r,
116
+ toCurrencyCode: n.code,
117
+ currencies: o
118
118
  }),
119
- t.code
119
+ n.code
120
120
  );
121
121
  }
122
- return e;
123
- }, [s, x, i, a]);
124
- Y(() => {
125
- g && (s.some((e) => e.code === a) || j(g.code));
126
- }, [s, g, a]), Y(() => {
127
- if (!$ || !g)
122
+ return s;
123
+ }, [o, f, l, r]);
124
+ W(() => {
125
+ h && (o.some((s) => s.code === r) || E(h.code));
126
+ }, [o, h, r]), W(() => {
127
+ if (!T || !h)
128
128
  return;
129
- const e = se(
130
- l?.currency_pricing_mode
131
- ), o = ke({
132
- currencies: s,
133
- mode: e,
134
- sourceCurrencyCode: l?.cost_currency || g.code,
135
- costAmounts: l?.cost_amounts || void 0,
136
- minOrderAmounts: l?.min_order_amounts || void 0,
137
- fallbackCostAmount: l?.cost_amount,
138
- fallbackMinOrderAmount: l?.min_order_amount
129
+ const s = oe(
130
+ c?.currency_pricing_mode
131
+ ), i = De({
132
+ currencies: o,
133
+ mode: s,
134
+ sourceCurrencyCode: c?.cost_currency || h.code,
135
+ costAmounts: c?.cost_amounts || void 0,
136
+ minOrderAmounts: c?.min_order_amounts || void 0,
137
+ fallbackCostAmount: c?.cost_amount,
138
+ fallbackMinOrderAmount: c?.min_order_amount
139
139
  });
140
- Z(l?.name || ""), J(l?.name_translations || {}), K(l?.method_type || "flat_rate"), Q(e), j(o.sourceCurrencyCode), S(
141
- de({
142
- amounts: o.costAmounts,
143
- currencies: s
140
+ H(c?.name || ""), Z(c?.name_translations || {}), J(c?.method_type || "flat_rate"), K(s), E(i.sourceCurrencyCode), R(
141
+ te({
142
+ amounts: i.costAmounts,
143
+ currencies: o
144
144
  })
145
- ), F(
146
- de({
147
- amounts: o.minOrderAmounts,
148
- currencies: s
145
+ ), y(
146
+ te({
147
+ amounts: i.minOrderAmounts,
148
+ currencies: o
149
149
  })
150
150
  );
151
- }, [s, g, l, $]);
152
- const ie = (e) => {
153
- e !== i && (e === "manual" && (S(P), F(U)), Q(e));
154
- }, me = (e) => {
155
- const o = G(e);
156
- S((t) => ({
157
- ...t,
158
- [o]: P[o] ?? t[o] ?? ""
159
- })), F((t) => ({
160
- ...t,
161
- [o]: U[o] ?? t[o] ?? ""
162
- })), j(o);
163
- }, ue = (e) => {
164
- K(e), e === "free_shipping" && S(Fe(s));
151
+ }, [o, h, c, T]);
152
+ const le = (s) => {
153
+ s !== l && (s === "manual" && (R($), y(I)), K(s));
154
+ }, ae = (s) => {
155
+ const i = q(s);
156
+ R((n) => ({
157
+ ...n,
158
+ [i]: $[i] ?? n[i] ?? ""
159
+ })), y((n) => ({
160
+ ...n,
161
+ [i]: I[i] ?? n[i] ?? ""
162
+ })), E(i);
163
+ }, de = (s) => {
164
+ J(s), s === "free_shipping" && R(ye(o));
165
165
  };
166
- return /* @__PURE__ */ n(he, { open: $, onOpenChange: I, children: [
167
- /* @__PURE__ */ r(pe, { asChild: !0, children: A ? /* @__PURE__ */ r(z, { variant: "ghost", size: "icon", className: "h-7 w-7 text-slate-400 hover:text-primary", children: /* @__PURE__ */ r(ye, { className: "h-3 w-3" }) }) : /* @__PURE__ */ n(z, { variant: "outline", size: "sm", className: "h-8 gap-1.5 border-dashed hover:border-solid shadow-sm", children: [
168
- /* @__PURE__ */ r(Ce, { className: "h-3.5 w-3.5" }),
166
+ return /* @__PURE__ */ e(pe, { open: T, onOpenChange: z, children: [
167
+ /* @__PURE__ */ e(ue, { asChild: !0, children: F ? /* @__PURE__ */ e(S, { variant: "ghost", size: "icon", className: "h-7 w-7 text-slate-400 hover:text-primary", children: /* @__PURE__ */ e(xe, { className: "h-3 w-3" }, void 0, !1, {
168
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
169
+ lineNumber: 450,
170
+ columnNumber: 25
171
+ }, this) }, void 0, !1, {
172
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
173
+ lineNumber: 449,
174
+ columnNumber: 21
175
+ }, this) : /* @__PURE__ */ e(S, { variant: "outline", size: "sm", className: "h-8 gap-1.5 border-dashed hover:border-solid shadow-sm", children: [
176
+ /* @__PURE__ */ e(ke, { className: "h-3.5 w-3.5" }, void 0, !1, {
177
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
178
+ lineNumber: 454,
179
+ columnNumber: 25
180
+ }, this),
169
181
  "Add Rate"
170
- ] }) }),
171
- /* @__PURE__ */ r(fe, { className: "max-h-[85vh] max-w-4xl overflow-y-auto", children: /* @__PURE__ */ n("form", { onSubmit: async (e) => {
172
- e.preventDefault(), T(!0);
173
- const o = {}, t = {};
174
- if (i === "manual")
175
- for (const R of s) {
176
- const p = R.code;
177
- if (b === "free_shipping")
178
- o[p] = 0;
182
+ ] }, void 0, !0, {
183
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
184
+ lineNumber: 453,
185
+ columnNumber: 21
186
+ }, this) }, void 0, !1, {
187
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
188
+ lineNumber: 447,
189
+ columnNumber: 13
190
+ }, this),
191
+ /* @__PURE__ */ e(be, { className: "max-h-[85vh] max-w-4xl overflow-y-auto", children: /* @__PURE__ */ e("form", { onSubmit: async (s) => {
192
+ s.preventDefault(), _(!0);
193
+ const i = {}, n = {};
194
+ if (l === "manual")
195
+ for (const A of o) {
196
+ const u = A.code;
197
+ if (N === "free_shipping")
198
+ i[u] = 0;
179
199
  else {
180
- const W = _(
181
- v[p],
182
- p
200
+ const Q = C(
201
+ g[u],
202
+ u
183
203
  );
184
- if (W === null) {
185
- T(!1), alert(`Enter a valid shipping cost for ${p}.`);
204
+ if (Q === null) {
205
+ _(!1), alert(`Enter a valid shipping cost for ${u}.`);
186
206
  return;
187
207
  }
188
- o[p] = W;
208
+ i[u] = Q;
189
209
  }
190
- t[p] = _(x[p], p) ?? 0;
210
+ n[u] = C(f[u], u) ?? 0;
191
211
  }
192
212
  else {
193
- const R = b === "free_shipping" ? 0 : _(
194
- v[a],
195
- a
213
+ const A = N === "free_shipping" ? 0 : C(
214
+ g[r],
215
+ r
196
216
  );
197
- if (R === null) {
198
- T(!1), alert(`Enter a valid shipping cost for ${a}.`);
217
+ if (A === null) {
218
+ _(!1), alert(`Enter a valid shipping cost for ${r}.`);
199
219
  return;
200
220
  }
201
- o[a] = R, t[a] = _(
202
- x[a],
203
- a
221
+ i[r] = A, n[r] = C(
222
+ f[r],
223
+ r
204
224
  ) ?? 0;
205
225
  }
206
- const d = {
207
- name: k,
208
- nameTranslations: D,
209
- type: b,
210
- currencyPricingMode: i,
211
- sourceCurrencyCode: a,
212
- costAmounts: o,
213
- minOrderAmounts: t
214
- }, y = A && l?.id ? await Ae(l.id, d) : await Se(u, d);
215
- T(!1), y.success ? I(!1) : y.error && alert(y.error);
226
+ const t = {
227
+ name: D,
228
+ nameTranslations: X,
229
+ type: N,
230
+ currencyPricingMode: l,
231
+ sourceCurrencyCode: r,
232
+ costAmounts: i,
233
+ minOrderAmounts: n
234
+ }, x = F && c?.id ? await Fe(c.id, t) : await Re(d, t);
235
+ _(!1), x.success ? z(!1) : x.error && alert(x.error);
216
236
  }, children: [
217
- /* @__PURE__ */ n(ge, { children: [
218
- /* @__PURE__ */ r(be, { children: A ? "Edit Shipping Rate" : "Add Shipping Rate" }),
219
- /* @__PURE__ */ n(ve, { children: [
237
+ /* @__PURE__ */ e(he, { children: [
238
+ /* @__PURE__ */ e(Ne, { children: F ? "Edit Shipping Rate" : "Add Shipping Rate" }, void 0, !1, {
239
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
240
+ lineNumber: 462,
241
+ columnNumber: 25
242
+ }, this),
243
+ /* @__PURE__ */ e(ge, { children: [
220
244
  "Configure shipping costs and localized labels for matching orders in ",
221
- /* @__PURE__ */ r("strong", { children: m }),
245
+ /* @__PURE__ */ e("strong", { children: a }, void 0, !1, {
246
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
247
+ lineNumber: 464,
248
+ columnNumber: 98
249
+ }, this),
222
250
  "."
223
- ] })
224
- ] }),
225
- /* @__PURE__ */ n("div", { className: "grid gap-5 py-6", children: [
226
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [
227
- /* @__PURE__ */ n(N, { htmlFor: "rate-name", children: [
251
+ ] }, void 0, !0, {
252
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
253
+ lineNumber: 463,
254
+ columnNumber: 25
255
+ }, this)
256
+ ] }, void 0, !0, {
257
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
258
+ lineNumber: 461,
259
+ columnNumber: 21
260
+ }, this),
261
+ /* @__PURE__ */ e("div", { className: "grid gap-5 py-6", children: [
262
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: [
263
+ /* @__PURE__ */ e(v, { htmlFor: "rate-name", children: [
228
264
  "Rate Name",
229
- H ? ` (${H.name})` : ""
230
- ] }),
231
- /* @__PURE__ */ r(
232
- O,
265
+ B ? ` (${B.name})` : ""
266
+ ] }, void 0, !0, {
267
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
268
+ lineNumber: 470,
269
+ columnNumber: 29
270
+ }, this),
271
+ /* @__PURE__ */ e(
272
+ w,
233
273
  {
234
274
  id: "rate-name",
235
- value: k,
236
- onChange: (e) => Z(e.target.value),
275
+ value: D,
276
+ onChange: (s) => H(s.target.value),
237
277
  placeholder: "e.g. Standard, Express, Free Shipping",
238
278
  required: !0
239
- }
279
+ },
280
+ void 0,
281
+ !1,
282
+ {
283
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
284
+ lineNumber: 473,
285
+ columnNumber: 29
286
+ },
287
+ this
240
288
  )
241
- ] }),
242
- X.length > 0 && /* @__PURE__ */ n("div", { className: "space-y-4 rounded-xl border bg-slate-50/70 p-4 dark:bg-slate-900/40", children: [
243
- /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
244
- /* @__PURE__ */ r(Ne, { className: "h-4 w-4 text-slate-500" }),
245
- /* @__PURE__ */ n("div", { children: [
246
- /* @__PURE__ */ r("p", { className: "text-sm font-medium", children: "Translations" }),
247
- /* @__PURE__ */ r("p", { className: "text-xs text-muted-foreground", children: "Add translated shipping rate labels for the active storefront languages." })
248
- ] })
249
- ] }),
250
- /* @__PURE__ */ r("div", { className: "grid gap-4 md:grid-cols-2", children: X.map((e) => /* @__PURE__ */ n("div", { className: "space-y-2", children: [
251
- /* @__PURE__ */ r(N, { htmlFor: `rate-name-${e.code}`, children: e.name }),
252
- /* @__PURE__ */ r(
253
- O,
289
+ ] }, void 0, !0, {
290
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
291
+ lineNumber: 469,
292
+ columnNumber: 25
293
+ }, this),
294
+ G.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-4 rounded-xl border bg-slate-50/70 p-4 dark:bg-slate-900/40", children: [
295
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
296
+ /* @__PURE__ */ e(ve, { className: "h-4 w-4 text-slate-500" }, void 0, !1, {
297
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
298
+ lineNumber: 485,
299
+ columnNumber: 31
300
+ }, this),
301
+ /* @__PURE__ */ e("div", { children: [
302
+ /* @__PURE__ */ e("p", { className: "text-sm font-medium", children: "Translations" }, void 0, !1, {
303
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
304
+ lineNumber: 487,
305
+ columnNumber: 33
306
+ }, this),
307
+ /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: "Add translated shipping rate labels for the active storefront languages." }, void 0, !1, {
308
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
309
+ lineNumber: 488,
310
+ columnNumber: 33
311
+ }, this)
312
+ ] }, void 0, !0, {
313
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
314
+ lineNumber: 486,
315
+ columnNumber: 31
316
+ }, this)
317
+ ] }, void 0, !0, {
318
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
319
+ lineNumber: 484,
320
+ columnNumber: 29
321
+ }, this),
322
+ /* @__PURE__ */ e("div", { className: "grid gap-4 md:grid-cols-2", children: G.map((s) => /* @__PURE__ */ e("div", { className: "space-y-2", children: [
323
+ /* @__PURE__ */ e(v, { htmlFor: `rate-name-${s.code}`, children: s.name }, void 0, !1, {
324
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
325
+ lineNumber: 497,
326
+ columnNumber: 35
327
+ }, this),
328
+ /* @__PURE__ */ e(
329
+ w,
254
330
  {
255
- id: `rate-name-${e.code}`,
256
- value: D[e.code] || "",
257
- onChange: (o) => J((t) => ({
258
- ...t,
259
- [e.code]: o.target.value
331
+ id: `rate-name-${s.code}`,
332
+ value: X[s.code] || "",
333
+ onChange: (i) => Z((n) => ({
334
+ ...n,
335
+ [s.code]: i.target.value
260
336
  })),
261
- placeholder: k || "Translated label"
262
- }
337
+ placeholder: D || "Translated label"
338
+ },
339
+ void 0,
340
+ !1,
341
+ {
342
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
343
+ lineNumber: 500,
344
+ columnNumber: 35
345
+ },
346
+ this
263
347
  )
264
- ] }, e.code)) })
265
- ] }),
266
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [
267
- /* @__PURE__ */ r(N, { htmlFor: "type", children: "Method Type" }),
268
- /* @__PURE__ */ n(
269
- ee,
348
+ ] }, s.code, !0, {
349
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
350
+ lineNumber: 496,
351
+ columnNumber: 33
352
+ }, this)) }, void 0, !1, {
353
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
354
+ lineNumber: 494,
355
+ columnNumber: 29
356
+ }, this)
357
+ ] }, void 0, !0, {
358
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
359
+ lineNumber: 483,
360
+ columnNumber: 27
361
+ }, this),
362
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: [
363
+ /* @__PURE__ */ e(v, { htmlFor: "type", children: "Method Type" }, void 0, !1, {
364
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
365
+ lineNumber: 518,
366
+ columnNumber: 29
367
+ }, this),
368
+ /* @__PURE__ */ e(
369
+ Y,
270
370
  {
271
- value: b,
272
- onValueChange: ue,
371
+ value: N,
372
+ onValueChange: de,
273
373
  children: [
274
- /* @__PURE__ */ r(
275
- te,
374
+ /* @__PURE__ */ e(
375
+ ee,
276
376
  {
277
377
  id: "type",
278
378
  className: "bg-slate-50/50 dark:bg-slate-900/50",
279
- children: /* @__PURE__ */ r(re, { placeholder: "Select type" })
280
- }
379
+ children: /* @__PURE__ */ e(se, { placeholder: "Select type" }, void 0, !1, {
380
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
381
+ lineNumber: 527,
382
+ columnNumber: 37
383
+ }, this)
384
+ },
385
+ void 0,
386
+ !1,
387
+ {
388
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
389
+ lineNumber: 523,
390
+ columnNumber: 33
391
+ },
392
+ this
281
393
  ),
282
- /* @__PURE__ */ n(ne, { children: [
283
- /* @__PURE__ */ r(V, { value: "flat_rate", children: /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
284
- /* @__PURE__ */ r("div", { className: "p-1 min-w-5 h-5 rounded bg-emerald-100 dark:bg-emerald-900/30 text-emerald-600", children: /* @__PURE__ */ r(B, { className: "h-3 w-3" }) }),
285
- /* @__PURE__ */ r("span", { children: "Flat Rate" })
286
- ] }) }),
287
- /* @__PURE__ */ r(V, { value: "free_shipping", children: /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
288
- /* @__PURE__ */ r("div", { className: "p-1 min-w-5 h-5 rounded bg-amber-100 dark:bg-amber-900/30 text-amber-600", children: /* @__PURE__ */ r(_e, { className: "h-3 w-3" }) }),
289
- /* @__PURE__ */ r("span", { children: "Free Shipping" })
290
- ] }) })
291
- ] })
394
+ /* @__PURE__ */ e(ne, { children: [
395
+ /* @__PURE__ */ e(L, { value: "flat_rate", children: /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
396
+ /* @__PURE__ */ e("div", { className: "p-1 min-w-5 h-5 rounded bg-emerald-100 dark:bg-emerald-900/30 text-emerald-600", children: /* @__PURE__ */ e(P, { className: "h-3 w-3" }, void 0, !1, {
397
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
398
+ lineNumber: 533,
399
+ columnNumber: 49
400
+ }, this) }, void 0, !1, {
401
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
402
+ lineNumber: 532,
403
+ columnNumber: 45
404
+ }, this),
405
+ /* @__PURE__ */ e("span", { children: "Flat Rate" }, void 0, !1, {
406
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
407
+ lineNumber: 535,
408
+ columnNumber: 45
409
+ }, this)
410
+ ] }, void 0, !0, {
411
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
412
+ lineNumber: 531,
413
+ columnNumber: 41
414
+ }, this) }, void 0, !1, {
415
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
416
+ lineNumber: 530,
417
+ columnNumber: 37
418
+ }, this),
419
+ /* @__PURE__ */ e(L, { value: "free_shipping", children: /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
420
+ /* @__PURE__ */ e("div", { className: "p-1 min-w-5 h-5 rounded bg-amber-100 dark:bg-amber-900/30 text-amber-600", children: /* @__PURE__ */ e(Ce, { className: "h-3 w-3" }, void 0, !1, {
421
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
422
+ lineNumber: 541,
423
+ columnNumber: 49
424
+ }, this) }, void 0, !1, {
425
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
426
+ lineNumber: 540,
427
+ columnNumber: 45
428
+ }, this),
429
+ /* @__PURE__ */ e("span", { children: "Free Shipping" }, void 0, !1, {
430
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
431
+ lineNumber: 543,
432
+ columnNumber: 45
433
+ }, this)
434
+ ] }, void 0, !0, {
435
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
436
+ lineNumber: 539,
437
+ columnNumber: 41
438
+ }, this) }, void 0, !1, {
439
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
440
+ lineNumber: 538,
441
+ columnNumber: 37
442
+ }, this)
443
+ ] }, void 0, !0, {
444
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
445
+ lineNumber: 529,
446
+ columnNumber: 33
447
+ }, this)
292
448
  ]
293
- }
449
+ },
450
+ void 0,
451
+ !0,
452
+ {
453
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
454
+ lineNumber: 519,
455
+ columnNumber: 29
456
+ },
457
+ this
294
458
  )
295
- ] }),
296
- /* @__PURE__ */ n("div", { className: "space-y-3 rounded-xl border bg-slate-50/70 p-4 dark:bg-slate-900/40", children: [
297
- /* @__PURE__ */ n("label", { className: "flex items-start gap-3", children: [
298
- /* @__PURE__ */ r(
459
+ ] }, void 0, !0, {
460
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
461
+ lineNumber: 517,
462
+ columnNumber: 25
463
+ }, this),
464
+ /* @__PURE__ */ e("div", { className: "space-y-3 rounded-xl border bg-slate-50/70 p-4 dark:bg-slate-900/40", children: [
465
+ /* @__PURE__ */ e("label", { className: "flex items-start gap-3", children: [
466
+ /* @__PURE__ */ e(
299
467
  "input",
300
468
  {
301
469
  type: "checkbox",
302
- checked: i === "auto",
303
- onChange: (e) => ie(
304
- e.target.checked ? "auto" : "manual"
470
+ checked: l === "auto",
471
+ onChange: (s) => le(
472
+ s.target.checked ? "auto" : "manual"
305
473
  ),
306
474
  className: "mt-1 h-4 w-4 rounded border-slate-300 text-primary focus:ring-primary"
307
- }
475
+ },
476
+ void 0,
477
+ !1,
478
+ {
479
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
480
+ lineNumber: 552,
481
+ columnNumber: 33
482
+ },
483
+ this
308
484
  ),
309
- /* @__PURE__ */ n("span", { className: "space-y-1", children: [
310
- /* @__PURE__ */ r("span", { className: "block text-sm font-medium text-slate-900 dark:text-slate-100", children: "Auto-sync all currency rates from one source amount" }),
311
- /* @__PURE__ */ r("span", { className: "block text-xs text-muted-foreground", children: "Turn this off to set exact shipping costs and free-shipping thresholds for every active currency manually." })
312
- ] })
313
- ] }),
314
- i === "auto" ? /* @__PURE__ */ n("div", { className: "space-y-2", children: [
315
- /* @__PURE__ */ r(N, { htmlFor: "rate-currency", children: "Sync From Currency" }),
316
- /* @__PURE__ */ n(
317
- ee,
485
+ /* @__PURE__ */ e("span", { className: "space-y-1", children: [
486
+ /* @__PURE__ */ e("span", { className: "block text-sm font-medium text-slate-900 dark:text-slate-100", children: "Auto-sync all currency rates from one source amount" }, void 0, !1, {
487
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
488
+ lineNumber: 563,
489
+ columnNumber: 37
490
+ }, this),
491
+ /* @__PURE__ */ e("span", { className: "block text-xs text-muted-foreground", children: "Turn this off to set exact shipping costs and free-shipping thresholds for every active currency manually." }, void 0, !1, {
492
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
493
+ lineNumber: 566,
494
+ columnNumber: 37
495
+ }, this)
496
+ ] }, void 0, !0, {
497
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
498
+ lineNumber: 562,
499
+ columnNumber: 33
500
+ }, this)
501
+ ] }, void 0, !0, {
502
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
503
+ lineNumber: 551,
504
+ columnNumber: 29
505
+ }, this),
506
+ l === "auto" ? /* @__PURE__ */ e("div", { className: "space-y-2", children: [
507
+ /* @__PURE__ */ e(v, { htmlFor: "rate-currency", children: "Sync From Currency" }, void 0, !1, {
508
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
509
+ lineNumber: 574,
510
+ columnNumber: 37
511
+ }, this),
512
+ /* @__PURE__ */ e(
513
+ Y,
318
514
  {
319
- value: a,
320
- onValueChange: me,
515
+ value: r,
516
+ onValueChange: ae,
321
517
  children: [
322
- /* @__PURE__ */ r(
323
- te,
518
+ /* @__PURE__ */ e(
519
+ ee,
324
520
  {
325
521
  id: "rate-currency",
326
522
  className: "bg-background",
327
- children: /* @__PURE__ */ r(re, { placeholder: "Select currency" })
328
- }
523
+ children: /* @__PURE__ */ e(se, { placeholder: "Select currency" }, void 0, !1, {
524
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
525
+ lineNumber: 583,
526
+ columnNumber: 45
527
+ }, this)
528
+ },
529
+ void 0,
530
+ !1,
531
+ {
532
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
533
+ lineNumber: 579,
534
+ columnNumber: 41
535
+ },
536
+ this
329
537
  ),
330
- /* @__PURE__ */ r(ne, { children: s.map((e) => /* @__PURE__ */ n(V, { value: e.code, children: [
331
- e.code,
332
- e.is_default ? " (Default)" : ""
333
- ] }, e.code)) })
538
+ /* @__PURE__ */ e(ne, { children: o.map((s) => /* @__PURE__ */ e(L, { value: s.code, children: [
539
+ s.code,
540
+ s.is_default ? " (Default)" : ""
541
+ ] }, s.code, !0, {
542
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
543
+ lineNumber: 587,
544
+ columnNumber: 49
545
+ }, this)) }, void 0, !1, {
546
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
547
+ lineNumber: 585,
548
+ columnNumber: 41
549
+ }, this)
334
550
  ]
335
- }
551
+ },
552
+ void 0,
553
+ !0,
554
+ {
555
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
556
+ lineNumber: 575,
557
+ columnNumber: 37
558
+ },
559
+ this
336
560
  ),
337
- /* @__PURE__ */ r("p", { className: "text-[10px] text-slate-500", children: "Enter the source amount once and the other currencies will be derived automatically using the current FX rates." })
338
- ] }) : /* @__PURE__ */ r("p", { className: "text-[10px] text-slate-500", children: "Manual mode stores exact values per currency. This is the best choice when shipping should not follow exchange-rate math directly." })
339
- ] }),
340
- /* @__PURE__ */ n("div", { className: "space-y-3", children: [
341
- /* @__PURE__ */ n("div", { children: [
342
- /* @__PURE__ */ r("p", { className: "text-sm font-medium", children: "Currency Rates" }),
343
- /* @__PURE__ */ r("p", { className: "text-xs text-muted-foreground", children: b === "free_shipping" ? "Free-shipping methods keep cost at zero, but you can still control the threshold per currency." : i === "auto" ? `Only ${a} is editable. The rest are derived automatically.` : "Set the exact shopper-facing shipping price for each active currency." })
344
- ] }),
345
- /* @__PURE__ */ r("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: s.map((e) => {
346
- const o = i === "auto" && e.code !== a, t = E(e.code) === 1 ? "1" : "0.01";
347
- return /* @__PURE__ */ n(
561
+ /* @__PURE__ */ e("p", { className: "text-[10px] text-slate-500", children: "Enter the source amount once and the other currencies will be derived automatically using the current FX rates." }, void 0, !1, {
562
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
563
+ lineNumber: 594,
564
+ columnNumber: 37
565
+ }, this)
566
+ ] }, void 0, !0, {
567
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
568
+ lineNumber: 573,
569
+ columnNumber: 33
570
+ }, this) : /* @__PURE__ */ e("p", { className: "text-[10px] text-slate-500", children: "Manual mode stores exact values per currency. This is the best choice when shipping should not follow exchange-rate math directly." }, void 0, !1, {
571
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
572
+ lineNumber: 599,
573
+ columnNumber: 33
574
+ }, this)
575
+ ] }, void 0, !0, {
576
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
577
+ lineNumber: 550,
578
+ columnNumber: 25
579
+ }, this),
580
+ /* @__PURE__ */ e("div", { className: "space-y-3", children: [
581
+ /* @__PURE__ */ e("div", { children: [
582
+ /* @__PURE__ */ e("p", { className: "text-sm font-medium", children: "Currency Rates" }, void 0, !1, {
583
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
584
+ lineNumber: 607,
585
+ columnNumber: 33
586
+ }, this),
587
+ /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: N === "free_shipping" ? "Free-shipping methods keep cost at zero, but you can still control the threshold per currency." : l === "auto" ? `Only ${r} is editable. The rest are derived automatically.` : "Set the exact shopper-facing shipping price for each active currency." }, void 0, !1, {
588
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
589
+ lineNumber: 608,
590
+ columnNumber: 33
591
+ }, this)
592
+ ] }, void 0, !0, {
593
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
594
+ lineNumber: 606,
595
+ columnNumber: 29
596
+ }, this),
597
+ /* @__PURE__ */ e("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: o.map((s) => {
598
+ const i = l === "auto" && s.code !== r, n = M(s.code) === 1 ? "1" : "0.01";
599
+ return /* @__PURE__ */ e(
348
600
  "div",
349
601
  {
350
602
  className: "space-y-4 rounded-xl border bg-card/70 p-4 shadow-sm",
351
603
  children: [
352
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between gap-2", children: [
353
- /* @__PURE__ */ n("div", { children: [
354
- /* @__PURE__ */ r("p", { className: "font-medium", children: e.code }),
355
- /* @__PURE__ */ n("p", { className: "text-xs text-muted-foreground", children: [
604
+ /* @__PURE__ */ e("div", { className: "flex items-center justify-between gap-2", children: [
605
+ /* @__PURE__ */ e("div", { children: [
606
+ /* @__PURE__ */ e("p", { className: "font-medium", children: s.code }, void 0, !1, {
607
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
608
+ lineNumber: 634,
609
+ columnNumber: 53
610
+ }, this),
611
+ /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: [
356
612
  "Rate ",
357
- e.exchange_rate
358
- ] })
359
- ] }),
360
- /* @__PURE__ */ n("div", { className: "flex flex-wrap items-center gap-2", children: [
361
- e.is_default ? /* @__PURE__ */ r(q, { variant: "outline", children: "Default" }) : null,
362
- i === "auto" && e.code === a ? /* @__PURE__ */ r(q, { children: "Source" }) : null,
363
- o ? /* @__PURE__ */ r(q, { variant: "outline", children: "Derived" }) : null
364
- ] })
365
- ] }),
366
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [
367
- /* @__PURE__ */ n(N, { htmlFor: `rate-cost-${e.code}`, children: [
613
+ s.exchange_rate
614
+ ] }, void 0, !0, {
615
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
616
+ lineNumber: 635,
617
+ columnNumber: 53
618
+ }, this)
619
+ ] }, void 0, !0, {
620
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
621
+ lineNumber: 633,
622
+ columnNumber: 49
623
+ }, this),
624
+ /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center gap-2", children: [
625
+ s.is_default ? /* @__PURE__ */ e(V, { variant: "outline", children: "Default" }, void 0, !1, {
626
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
627
+ lineNumber: 641,
628
+ columnNumber: 57
629
+ }, this) : null,
630
+ l === "auto" && s.code === r ? /* @__PURE__ */ e(V, { children: "Source" }, void 0, !1, {
631
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
632
+ lineNumber: 645,
633
+ columnNumber: 57
634
+ }, this) : null,
635
+ i ? /* @__PURE__ */ e(V, { variant: "outline", children: "Derived" }, void 0, !1, {
636
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
637
+ lineNumber: 648,
638
+ columnNumber: 57
639
+ }, this) : null
640
+ ] }, void 0, !0, {
641
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
642
+ lineNumber: 639,
643
+ columnNumber: 49
644
+ }, this)
645
+ ] }, void 0, !0, {
646
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
647
+ lineNumber: 632,
648
+ columnNumber: 45
649
+ }, this),
650
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: [
651
+ /* @__PURE__ */ e(v, { htmlFor: `rate-cost-${s.code}`, children: [
368
652
  "Cost (",
369
- e.code,
653
+ s.code,
370
654
  ")"
371
- ] }),
372
- /* @__PURE__ */ n("div", { className: "relative", children: [
373
- /* @__PURE__ */ r(B, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }),
374
- /* @__PURE__ */ r(
375
- O,
655
+ ] }, void 0, !0, {
656
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
657
+ lineNumber: 654,
658
+ columnNumber: 49
659
+ }, this),
660
+ /* @__PURE__ */ e("div", { className: "relative", children: [
661
+ /* @__PURE__ */ e(P, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }, void 0, !1, {
662
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
663
+ lineNumber: 658,
664
+ columnNumber: 53
665
+ }, this),
666
+ /* @__PURE__ */ e(
667
+ w,
376
668
  {
377
- id: `rate-cost-${e.code}`,
669
+ id: `rate-cost-${s.code}`,
378
670
  type: "number",
379
- step: t,
671
+ step: n,
380
672
  min: "0",
381
- value: P[e.code] ?? "",
382
- onChange: (d) => S((y) => ({
383
- ...y,
384
- [e.code]: d.target.value
673
+ value: $[s.code] ?? "",
674
+ onChange: (t) => R((x) => ({
675
+ ...x,
676
+ [s.code]: t.target.value
385
677
  })),
386
678
  className: "pl-9 bg-slate-50/50 dark:bg-slate-900/50 disabled:opacity-70",
387
- disabled: b === "free_shipping" || o,
388
- required: b !== "free_shipping" && i === "manual"
389
- }
679
+ disabled: N === "free_shipping" || i,
680
+ required: N !== "free_shipping" && l === "manual"
681
+ },
682
+ void 0,
683
+ !1,
684
+ {
685
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
686
+ lineNumber: 659,
687
+ columnNumber: 53
688
+ },
689
+ this
390
690
  )
391
- ] })
392
- ] }),
393
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [
394
- /* @__PURE__ */ n(N, { htmlFor: `rate-threshold-${e.code}`, children: [
691
+ ] }, void 0, !0, {
692
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
693
+ lineNumber: 657,
694
+ columnNumber: 49
695
+ }, this)
696
+ ] }, void 0, !0, {
697
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
698
+ lineNumber: 653,
699
+ columnNumber: 45
700
+ }, this),
701
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: [
702
+ /* @__PURE__ */ e(v, { htmlFor: `rate-threshold-${s.code}`, children: [
395
703
  "Free-Shipping Threshold (",
396
- e.code,
704
+ s.code,
397
705
  ")"
398
- ] }),
399
- /* @__PURE__ */ n("div", { className: "relative", children: [
400
- /* @__PURE__ */ r(B, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }),
401
- /* @__PURE__ */ r(
402
- O,
706
+ ] }, void 0, !0, {
707
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
708
+ lineNumber: 682,
709
+ columnNumber: 49
710
+ }, this),
711
+ /* @__PURE__ */ e("div", { className: "relative", children: [
712
+ /* @__PURE__ */ e(P, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-slate-400" }, void 0, !1, {
713
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
714
+ lineNumber: 686,
715
+ columnNumber: 53
716
+ }, this),
717
+ /* @__PURE__ */ e(
718
+ w,
403
719
  {
404
- id: `rate-threshold-${e.code}`,
720
+ id: `rate-threshold-${s.code}`,
405
721
  type: "number",
406
- step: t,
722
+ step: n,
407
723
  min: "0",
408
- value: U[e.code] ?? "",
409
- onChange: (d) => F((y) => ({
410
- ...y,
411
- [e.code]: d.target.value
724
+ value: I[s.code] ?? "",
725
+ onChange: (t) => y((x) => ({
726
+ ...x,
727
+ [s.code]: t.target.value
412
728
  })),
413
729
  className: "pl-9 bg-slate-50/50 dark:bg-slate-900/50 disabled:opacity-70",
414
- disabled: o,
415
- placeholder: E(e.code) === 1 ? "0" : "0.00"
416
- }
730
+ disabled: i,
731
+ placeholder: M(s.code) === 1 ? "0" : "0.00"
732
+ },
733
+ void 0,
734
+ !1,
735
+ {
736
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
737
+ lineNumber: 687,
738
+ columnNumber: 53
739
+ },
740
+ this
417
741
  )
418
- ] })
419
- ] }),
420
- o ? /* @__PURE__ */ n("p", { className: "text-[10px] text-muted-foreground", children: [
742
+ ] }, void 0, !0, {
743
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
744
+ lineNumber: 685,
745
+ columnNumber: 49
746
+ }, this)
747
+ ] }, void 0, !0, {
748
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
749
+ lineNumber: 681,
750
+ columnNumber: 45
751
+ }, this),
752
+ i ? /* @__PURE__ */ e("p", { className: "text-[10px] text-muted-foreground", children: [
421
753
  "This currency is synced automatically from ",
422
- a,
754
+ r,
423
755
  "."
424
- ] }) : i === "manual" ? /* @__PURE__ */ r("p", { className: "text-[10px] text-muted-foreground", children: "Enter the exact amount shoppers should see in this currency." }) : null
756
+ ] }, void 0, !0, {
757
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
758
+ lineNumber: 711,
759
+ columnNumber: 49
760
+ }, this) : l === "manual" ? /* @__PURE__ */ e("p", { className: "text-[10px] text-muted-foreground", children: "Enter the exact amount shoppers should see in this currency." }, void 0, !1, {
761
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
762
+ lineNumber: 715,
763
+ columnNumber: 49
764
+ }, this) : null
425
765
  ]
426
766
  },
427
- e.code
767
+ s.code,
768
+ !0,
769
+ {
770
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
771
+ lineNumber: 628,
772
+ columnNumber: 41
773
+ },
774
+ this
428
775
  );
429
- }) })
430
- ] })
431
- ] }),
432
- /* @__PURE__ */ n(xe, { className: "bg-slate-50 dark:bg-slate-900/50 -mx-6 -mb-6 p-4 border-t dark:border-slate-800", children: [
433
- /* @__PURE__ */ r(z, { type: "button", variant: "ghost", onClick: () => I(!1), disabled: L, children: "Cancel" }),
434
- /* @__PURE__ */ r(z, { type: "submit", disabled: L || !k.trim(), children: L ? A ? "Saving..." : "Adding..." : A ? "Save Changes" : "Add Rate" })
435
- ] })
436
- ] }) })
437
- ] });
776
+ }) }, void 0, !1, {
777
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
778
+ lineNumber: 617,
779
+ columnNumber: 29
780
+ }, this)
781
+ ] }, void 0, !0, {
782
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
783
+ lineNumber: 605,
784
+ columnNumber: 25
785
+ }, this)
786
+ ] }, void 0, !0, {
787
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
788
+ lineNumber: 468,
789
+ columnNumber: 21
790
+ }, this),
791
+ /* @__PURE__ */ e(fe, { className: "bg-slate-50 dark:bg-slate-900/50 -mx-6 -mb-6 p-4 border-t dark:border-slate-800", children: [
792
+ /* @__PURE__ */ e(S, { type: "button", variant: "ghost", onClick: () => z(!1), disabled: O, children: "Cancel" }, void 0, !1, {
793
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
794
+ lineNumber: 727,
795
+ columnNumber: 25
796
+ }, this),
797
+ /* @__PURE__ */ e(S, { type: "submit", disabled: O || !D.trim(), children: O ? F ? "Saving..." : "Adding..." : F ? "Save Changes" : "Add Rate" }, void 0, !1, {
798
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
799
+ lineNumber: 728,
800
+ columnNumber: 25
801
+ }, this)
802
+ ] }, void 0, !0, {
803
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
804
+ lineNumber: 726,
805
+ columnNumber: 21
806
+ }, this)
807
+ ] }, void 0, !0, {
808
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
809
+ lineNumber: 460,
810
+ columnNumber: 17
811
+ }, this) }, void 0, !1, {
812
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
813
+ lineNumber: 459,
814
+ columnNumber: 13
815
+ }, this)
816
+ ] }, void 0, !0, {
817
+ fileName: "C:/Users/desjardinsn/Desktop/nextblock/libs/ecommerce/src/lib/pages/cms/shipping/components/RateForm.tsx",
818
+ lineNumber: 446,
819
+ columnNumber: 9
820
+ }, this);
438
821
  }
439
822
  export {
440
- Pe as RateForm
823
+ $e as RateForm
441
824
  };