@nextblock-cms/ecom 0.18.8 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.es.js +26 -25
  3. package/lib/CurrencyProvider.cjs.js +1 -1
  4. package/lib/CurrencyProvider.es.js +41 -45
  5. package/lib/PaymentReadinessProvider.cjs.js +1 -1
  6. package/lib/PaymentReadinessProvider.es.js +15 -19
  7. package/lib/cart-store.cjs.js +1 -1
  8. package/lib/cart-store.d.ts +4 -0
  9. package/lib/cart-store.es.js +77 -69
  10. package/lib/components/AccountNavigationMenu.cjs.js +1 -1
  11. package/lib/components/AccountNavigationMenu.es.js +44 -62
  12. package/lib/components/AddToCartButton.cjs.js +1 -1
  13. package/lib/components/AddToCartButton.es.js +50 -78
  14. package/lib/components/Cart.cjs.js +1 -1
  15. package/lib/components/Cart.es.js +154 -381
  16. package/lib/components/CartDrawer.cjs.js +1 -1
  17. package/lib/components/CartDrawer.es.js +143 -297
  18. package/lib/components/CartIcon.cjs.js +1 -1
  19. package/lib/components/CartIcon.es.js +21 -47
  20. package/lib/components/Checkout.cjs.js +1 -1
  21. package/lib/components/Checkout.es.js +814 -1614
  22. package/lib/components/CouponForm.cjs.js +1 -1
  23. package/lib/components/CouponForm.es.js +104 -155
  24. package/lib/components/CurrencySwitcher.cjs.js +1 -1
  25. package/lib/components/CurrencySwitcher.es.js +14 -33
  26. package/lib/components/CustomerProfileForm.cjs.js +1 -1
  27. package/lib/components/CustomerProfileForm.es.js +264 -672
  28. package/lib/components/FeaturedProduct.cjs.js +1 -1
  29. package/lib/components/FeaturedProduct.es.js +46 -125
  30. package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
  31. package/lib/components/FreemiusLicensePanel.es.js +45 -125
  32. package/lib/components/InvoiceDocument.cjs.js +1 -1
  33. package/lib/components/InvoiceDocument.es.js +148 -487
  34. package/lib/components/InvoiceViewerShell.cjs.js +2 -2
  35. package/lib/components/InvoiceViewerShell.d.ts +4 -1
  36. package/lib/components/InvoiceViewerShell.es.js +59 -142
  37. package/lib/components/ProductCard.cjs.js +1 -1
  38. package/lib/components/ProductCard.d.ts +3 -1
  39. package/lib/components/ProductCard.es.js +128 -242
  40. package/lib/components/ProductDetailsLayout.cjs.js +1 -1
  41. package/lib/components/ProductDetailsLayout.es.js +311 -652
  42. package/lib/components/ProductGallery.cjs.js +1 -1
  43. package/lib/components/ProductGallery.d.ts +2 -0
  44. package/lib/components/ProductGallery.es.js +37 -66
  45. package/lib/components/ProductGrid.cjs.js +1 -1
  46. package/lib/components/ProductGrid.es.js +23 -32
  47. package/lib/components/ShippingEstimator.cjs.js +1 -1
  48. package/lib/components/ShippingEstimator.es.js +118 -231
  49. package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
  50. package/lib/components/SimpleTiptapRenderer.es.js +111 -294
  51. package/lib/components/SubscriptionSelector.cjs.js +1 -1
  52. package/lib/components/SubscriptionSelector.es.js +120 -181
  53. package/lib/freemius-trial-provision.cjs.js +1 -0
  54. package/lib/freemius-trial-provision.d.ts +85 -0
  55. package/lib/freemius-trial-provision.es.js +136 -0
  56. package/lib/invoice.cjs.js +1 -1
  57. package/lib/invoice.d.ts +1 -1
  58. package/lib/invoice.es.js +6 -5
  59. package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
  60. package/lib/pages/cms/coupons/CouponEditorForm.es.js +115 -375
  61. package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
  62. package/lib/pages/cms/coupons/CouponsPage.es.js +116 -368
  63. package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
  64. package/lib/pages/cms/coupons/CreateCouponDialog.es.js +26 -62
  65. package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
  66. package/lib/pages/cms/coupons/EditCouponPage.es.js +35 -71
  67. package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
  68. package/lib/pages/cms/coupons/ProductScopePicker.es.js +72 -167
  69. package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
  70. package/lib/pages/cms/orders/ExportReportsDialog.es.js +87 -247
  71. package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
  72. package/lib/pages/cms/orders/OrderDetailPage.es.js +95 -283
  73. package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
  74. package/lib/pages/cms/orders/OrderPrintButton.es.js +9 -21
  75. package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
  76. package/lib/pages/cms/orders/OrderStatusForm.es.js +46 -106
  77. package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
  78. package/lib/pages/cms/orders/OrdersPage.es.js +78 -257
  79. package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
  80. package/lib/pages/cms/payments/PaymentsClient.es.js +192 -580
  81. package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
  82. package/lib/pages/cms/payments/PaymentsPage.es.js +14 -22
  83. package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
  84. package/lib/pages/cms/products/ProductsPage.es.js +47 -87
  85. package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
  86. package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +97 -177
  87. package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
  88. package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +40 -84
  89. package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
  90. package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +192 -455
  91. package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
  92. package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +28 -72
  93. package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
  94. package/lib/pages/cms/products/categories/components/CategoryManager.es.js +183 -490
  95. package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
  96. package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +69 -177
  97. package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
  98. package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +102 -213
  99. package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
  100. package/lib/pages/cms/products/components/DeleteProductButton.es.js +25 -45
  101. package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
  102. package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +58 -202
  103. package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
  104. package/lib/pages/cms/products/components/ProductCategorySelector.es.js +89 -235
  105. package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
  106. package/lib/pages/cms/products/components/ProductForm.es.js +526 -1110
  107. package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
  108. package/lib/pages/cms/products/components/ProductMediaManager.es.js +63 -154
  109. package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
  110. package/lib/pages/cms/products/components/ProductsBulkTable.es.js +213 -544
  111. package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
  112. package/lib/pages/cms/products/components/SaleScheduleFields.es.js +91 -207
  113. package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
  114. package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +16 -28
  115. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
  116. package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +25 -37
  117. package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
  118. package/lib/pages/cms/products/components/VariationsEditor.es.js +261 -492
  119. package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
  120. package/lib/pages/cms/products/inventory/InventoryPage.es.js +12 -32
  121. package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
  122. package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +145 -365
  123. package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
  124. package/lib/pages/cms/products/new/NewProductPage.es.js +30 -42
  125. package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
  126. package/lib/pages/cms/shipping/ShippingPage.es.js +155 -507
  127. package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
  128. package/lib/pages/cms/shipping/components/RateForm.es.js +334 -717
  129. package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
  130. package/lib/pages/cms/shipping/components/ZoneForm.es.js +158 -392
  131. package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
  132. package/lib/pages/cms/taxes/TaxesPage.es.js +119 -447
  133. package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
  134. package/lib/pages/cms/taxes/components/TaxRateForm.es.js +52 -156
  135. package/lib/product-context.cjs.js +1 -1
  136. package/lib/product-context.es.js +10 -14
  137. package/lib/trials.cjs.js +1 -1
  138. package/lib/trials.d.ts +10 -3
  139. package/lib/trials.es.js +28 -21
  140. package/lib/types.d.ts +2 -0
  141. package/lib/use-price-formatter.cjs.js +1 -0
  142. package/lib/use-price-formatter.d.ts +11 -0
  143. package/lib/use-price-formatter.es.js +13 -0
  144. package/lib/variation-utils.cjs.js +1 -1
  145. package/lib/variation-utils.d.ts +10 -0
  146. package/lib/variation-utils.es.js +139 -123
  147. package/package.json +4 -4
  148. package/server.cjs.js +1 -1
  149. package/server.d.ts +1 -0
  150. package/server.es.js +180 -172
@@ -1,725 +1,317 @@
1
1
  'use client';
2
- import { jsxDEV as e } from "react/jsx-dev-runtime";
3
- import v, { useState as H } from "react";
4
- import { useForm as G } from "react-hook-form";
5
- import { AccountNavigationMenu as O } from "./AccountNavigationMenu.es.js";
6
- import { Avatar as q, AvatarImage as J, AvatarFallback as K } from "@nextblock-cms/ui/avatar";
7
- import { Button as M } from "@nextblock-cms/ui/button";
8
- import { Card as D, CardHeader as y, CardTitle as $, CardContent as w, CardFooter as Q } from "@nextblock-cms/ui/card";
9
- import { Checkbox as Y } from "@nextblock-cms/ui/checkbox";
2
+ import { jsxs as r, jsx as l, Fragment as O } from "react/jsx-runtime";
3
+ import x, { useState as R } from "react";
4
+ import { useForm as q } from "react-hook-form";
5
+ import { AccountNavigationMenu as J } from "./AccountNavigationMenu.es.js";
6
+ import { Avatar as K, AvatarImage as Q, AvatarFallback as Y } from "@nextblock-cms/ui/avatar";
7
+ import { Button as Z } from "@nextblock-cms/ui/button";
8
+ import { Card as T, CardHeader as B, CardTitle as I, CardContent as L, CardFooter as D } from "@nextblock-cms/ui/card";
9
+ import { Checkbox as ee } from "@nextblock-cms/ui/checkbox";
10
10
  import { Input as i } from "@nextblock-cms/ui/input";
11
- import { Label as l } from "@nextblock-cms/ui/label";
12
- import { Select as Z, SelectTrigger as ee, SelectValue as se, SelectContent as re, SelectItem as _ } from "@nextblock-cms/ui/select";
13
- import { Separator as oe } from "@nextblock-cms/ui/separator";
14
- import { updateProfile as le } from "../server-actions/customer-actions.es.js";
15
- import { addressesMatch as E, normalizeCustomerAddress as A, emptyCustomerAddress as me } from "../customer.es.js";
16
- import { createClient as ie } from "@nextblock-cms/db";
17
- import { User as S, Upload as te, Phone as ne, Globe as ce } from "lucide-react";
18
- import { useTranslations as I } from "@nextblock-cms/utils";
19
- import { normalizeCountryCode as de, countries as ue } from "../countries.es.js";
20
- function Ne(s) {
21
- return s ? s.startsWith("http") ? s : process.env.NEXT_PUBLIC_R2_BASE_URL ? `${process.env.NEXT_PUBLIC_R2_BASE_URL}/${s}` : process.env.NEXT_PUBLIC_SUPABASE_URL ? `${process.env.NEXT_PUBLIC_SUPABASE_URL}/storage/v1/object/public/media/${s}` : s : null;
11
+ import { Label as t } from "@nextblock-cms/ui/label";
12
+ import { Select as le, SelectTrigger as re, SelectValue as se, SelectContent as ae, SelectItem as C } from "@nextblock-cms/ui/select";
13
+ import { Separator as te } from "@nextblock-cms/ui/separator";
14
+ import { updateProfile as ne } from "../server-actions/customer-actions.es.js";
15
+ import { addressesMatch as P, normalizeCustomerAddress as j, emptyCustomerAddress as ie } from "../customer.es.js";
16
+ import { createClient as ce } from "@nextblock-cms/db";
17
+ import { User as k, Upload as de, Phone as oe, Globe as me } from "lucide-react";
18
+ import { useTranslations as X } from "@nextblock-cms/utils";
19
+ import { normalizeCountryCode as pe, countries as he } from "../countries.es.js";
20
+ function ue(e) {
21
+ return e ? e.startsWith("http") ? e : process.env.NEXT_PUBLIC_R2_BASE_URL ? `${process.env.NEXT_PUBLIC_R2_BASE_URL}/${e}` : process.env.NEXT_PUBLIC_SUPABASE_URL ? `${process.env.NEXT_PUBLIC_SUPABASE_URL}/storage/v1/object/public/media/${e}` : e : null;
22
22
  }
23
- function C(s) {
23
+ function v(e) {
24
24
  return {
25
- company_name: s?.company_name || "",
26
- recipient_name: s?.recipient_name || "",
27
- line1: s?.line1 || "",
28
- line2: s?.line2 || "",
29
- city: s?.city || "",
30
- state: s?.state || "",
31
- postal_code: s?.postal_code || "",
32
- country_code: de(s?.country_code) || "CA"
25
+ company_name: e?.company_name || "",
26
+ recipient_name: e?.recipient_name || "",
27
+ line1: e?.line1 || "",
28
+ line2: e?.line2 || "",
29
+ city: e?.city || "",
30
+ state: e?.state || "",
31
+ postal_code: e?.postal_code || "",
32
+ country_code: pe(e?.country_code) || "CA"
33
33
  };
34
34
  }
35
- function T({
36
- prefix: s,
37
- title: N,
38
- register: t
35
+ function V({
36
+ prefix: e,
37
+ title: u,
38
+ register: c
39
39
  }) {
40
- const { t: m } = I(), h = m("company_name") === "company_name" ? "Company name" : m("company_name");
41
- return /* @__PURE__ */ e("div", { className: "space-y-4 rounded-xl border p-4", children: [
42
- /* @__PURE__ */ e("div", { children: [
43
- /* @__PURE__ */ e("h3", { className: "text-lg font-medium", children: N }, void 0, !1, {
44
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
45
- lineNumber: 105,
46
- columnNumber: 9
47
- }, this),
48
- /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: m("profile_address_defaults_help") }, void 0, !1, {
49
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
50
- lineNumber: 106,
51
- columnNumber: 9
52
- }, this)
53
- ] }, void 0, !0, {
54
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
55
- lineNumber: 104,
56
- columnNumber: 7
57
- }, this),
58
- /* @__PURE__ */ e("div", { className: "grid gap-4 md:grid-cols-3", children: [
59
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
60
- /* @__PURE__ */ e(l, { htmlFor: `${s}-company_name`, children: h }, void 0, !1, {
61
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
62
- lineNumber: 113,
63
- columnNumber: 11
64
- }, this),
65
- /* @__PURE__ */ e(i, { id: `${s}-company_name`, ...t(`${s}.company_name`) }, void 0, !1, {
66
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
67
- lineNumber: 114,
68
- columnNumber: 11
69
- }, this)
70
- ] }, void 0, !0, {
71
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
72
- lineNumber: 112,
73
- columnNumber: 9
74
- }, this),
75
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
76
- /* @__PURE__ */ e(l, { htmlFor: `${s}-recipient_name`, children: m("full_name") }, void 0, !1, {
77
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
78
- lineNumber: 117,
79
- columnNumber: 11
80
- }, this),
81
- /* @__PURE__ */ e(i, { id: `${s}-recipient_name`, ...t(`${s}.recipient_name`) }, void 0, !1, {
82
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
83
- lineNumber: 118,
84
- columnNumber: 11
85
- }, this)
86
- ] }, void 0, !0, {
87
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
88
- lineNumber: 116,
89
- columnNumber: 9
90
- }, this),
91
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
92
- /* @__PURE__ */ e(l, { htmlFor: `${s}-country_code`, children: m("country") }, void 0, !1, {
93
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
94
- lineNumber: 121,
95
- columnNumber: 11
96
- }, this),
97
- /* @__PURE__ */ e(
40
+ const { t: n } = X(), b = n("company_name") === "company_name" ? "Company name" : n("company_name");
41
+ return /* @__PURE__ */ r("div", { className: "space-y-4 rounded-xl border p-4", children: [
42
+ /* @__PURE__ */ r("div", { children: [
43
+ /* @__PURE__ */ l("h3", { className: "text-lg font-medium", children: u }),
44
+ /* @__PURE__ */ l("p", { className: "text-sm text-muted-foreground", children: n("profile_address_defaults_help") })
45
+ ] }),
46
+ /* @__PURE__ */ r("div", { className: "grid gap-4 md:grid-cols-3", children: [
47
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
48
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-company_name`, children: b }),
49
+ /* @__PURE__ */ l(i, { id: `${e}-company_name`, ...c(`${e}.company_name`) })
50
+ ] }),
51
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
52
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-recipient_name`, children: n("full_name") }),
53
+ /* @__PURE__ */ l(i, { id: `${e}-recipient_name`, ...c(`${e}.recipient_name`) })
54
+ ] }),
55
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
56
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-country_code`, children: n("country") }),
57
+ /* @__PURE__ */ l(
98
58
  "select",
99
59
  {
100
- id: `${s}-country_code`,
60
+ id: `${e}-country_code`,
101
61
  className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",
102
- ...t(`${s}.country_code`),
103
- children: ue.map((c) => /* @__PURE__ */ e("option", { value: c.code, children: c.name }, c.code, !1, {
104
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
105
- lineNumber: 128,
106
- columnNumber: 15
107
- }, this))
108
- },
109
- void 0,
110
- !1,
111
- {
112
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
113
- lineNumber: 122,
114
- columnNumber: 11
115
- },
116
- this
62
+ ...c(`${e}.country_code`),
63
+ children: he.map((d) => /* @__PURE__ */ l("option", { value: d.code, children: d.name }, d.code))
64
+ }
117
65
  )
118
- ] }, void 0, !0, {
119
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
120
- lineNumber: 120,
121
- columnNumber: 9
122
- }, this)
123
- ] }, void 0, !0, {
124
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
125
- lineNumber: 111,
126
- columnNumber: 7
127
- }, this),
128
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
129
- /* @__PURE__ */ e(l, { htmlFor: `${s}-line1`, children: m("address_line_1") }, void 0, !1, {
130
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
131
- lineNumber: 137,
132
- columnNumber: 9
133
- }, this),
134
- /* @__PURE__ */ e(i, { id: `${s}-line1`, ...t(`${s}.line1`) }, void 0, !1, {
135
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
136
- lineNumber: 138,
137
- columnNumber: 9
138
- }, this)
139
- ] }, void 0, !0, {
140
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
141
- lineNumber: 136,
142
- columnNumber: 7
143
- }, this),
144
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
145
- /* @__PURE__ */ e(l, { htmlFor: `${s}-line2`, children: m("address_line_2") }, void 0, !1, {
146
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
147
- lineNumber: 142,
148
- columnNumber: 9
149
- }, this),
150
- /* @__PURE__ */ e(i, { id: `${s}-line2`, ...t(`${s}.line2`) }, void 0, !1, {
151
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
152
- lineNumber: 143,
153
- columnNumber: 9
154
- }, this)
155
- ] }, void 0, !0, {
156
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
157
- lineNumber: 141,
158
- columnNumber: 7
159
- }, this),
160
- /* @__PURE__ */ e("div", { className: "grid gap-4 md:grid-cols-3", children: [
161
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
162
- /* @__PURE__ */ e(l, { htmlFor: `${s}-city`, children: m("city") }, void 0, !1, {
163
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
164
- lineNumber: 148,
165
- columnNumber: 11
166
- }, this),
167
- /* @__PURE__ */ e(i, { id: `${s}-city`, ...t(`${s}.city`) }, void 0, !1, {
168
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
169
- lineNumber: 149,
170
- columnNumber: 11
171
- }, this)
172
- ] }, void 0, !0, {
173
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
174
- lineNumber: 147,
175
- columnNumber: 9
176
- }, this),
177
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
178
- /* @__PURE__ */ e(l, { htmlFor: `${s}-state`, children: m("state_province") }, void 0, !1, {
179
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
180
- lineNumber: 152,
181
- columnNumber: 11
182
- }, this),
183
- /* @__PURE__ */ e(i, { id: `${s}-state`, ...t(`${s}.state`) }, void 0, !1, {
184
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
185
- lineNumber: 153,
186
- columnNumber: 11
187
- }, this)
188
- ] }, void 0, !0, {
189
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
190
- lineNumber: 151,
191
- columnNumber: 9
192
- }, this),
193
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
194
- /* @__PURE__ */ e(l, { htmlFor: `${s}-postal_code`, children: m("postal_zip_code") }, void 0, !1, {
195
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
196
- lineNumber: 156,
197
- columnNumber: 11
198
- }, this),
199
- /* @__PURE__ */ e(i, { id: `${s}-postal_code`, ...t(`${s}.postal_code`) }, void 0, !1, {
200
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
201
- lineNumber: 157,
202
- columnNumber: 11
203
- }, this)
204
- ] }, void 0, !0, {
205
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
206
- lineNumber: 155,
207
- columnNumber: 9
208
- }, this)
209
- ] }, void 0, !0, {
210
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
211
- lineNumber: 146,
212
- columnNumber: 7
213
- }, this)
214
- ] }, void 0, !0, {
215
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
216
- lineNumber: 103,
217
- columnNumber: 5
218
- }, this);
66
+ ] })
67
+ ] }),
68
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
69
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-line1`, children: n("address_line_1") }),
70
+ /* @__PURE__ */ l(i, { id: `${e}-line1`, ...c(`${e}.line1`) })
71
+ ] }),
72
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
73
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-line2`, children: n("address_line_2") }),
74
+ /* @__PURE__ */ l(i, { id: `${e}-line2`, ...c(`${e}.line2`) })
75
+ ] }),
76
+ /* @__PURE__ */ r("div", { className: "grid gap-4 md:grid-cols-3", children: [
77
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
78
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-city`, children: n("city") }),
79
+ /* @__PURE__ */ l(i, { id: `${e}-city`, ...c(`${e}.city`) })
80
+ ] }),
81
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
82
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-state`, children: n("state_province") }),
83
+ /* @__PURE__ */ l(i, { id: `${e}-state`, ...c(`${e}.state`) })
84
+ ] }),
85
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
86
+ /* @__PURE__ */ l(t, { htmlFor: `${e}-postal_code`, children: n("postal_zip_code") }),
87
+ /* @__PURE__ */ l(i, { id: `${e}-postal_code`, ...c(`${e}.postal_code`) })
88
+ ] })
89
+ ] })
90
+ ] });
219
91
  }
220
- function De({
221
- initialData: s,
222
- MediaPickerComponent: N,
223
- isAdmin: t,
224
- email: m,
225
- accountLinks: h,
226
- onAction: c,
227
- initialSuccessMessage: a,
228
- lockRole: F,
229
- lockRoleReason: L
92
+ function Be({
93
+ initialData: e,
94
+ MediaPickerComponent: u,
95
+ isAdmin: c,
96
+ email: n,
97
+ accountLinks: b,
98
+ onAction: d,
99
+ initialSuccessMessage: _,
100
+ lockRole: $,
101
+ lockRoleReason: z
230
102
  }) {
231
- const { t: r } = I(), [U, R] = H(!1), [k, x] = H(
232
- a ? { type: "success", text: a } : null
233
- ), V = s?.use_billing_for_shipping ?? (!s?.shipping_address || E(s?.billing_address, s?.shipping_address)), {
234
- register: d,
235
- handleSubmit: X,
236
- setValue: b,
237
- getValues: B,
238
- watch: p,
239
- reset: g
240
- } = G({
103
+ const { t: s } = X(), [w, F] = R(!1), [y, N] = R(
104
+ _ ? { type: "success", text: _ } : null
105
+ ), W = e?.use_billing_for_shipping ?? (!e?.shipping_address || P(e?.billing_address, e?.shipping_address)), {
106
+ register: o,
107
+ handleSubmit: G,
108
+ setValue: g,
109
+ getValues: A,
110
+ watch: m,
111
+ reset: E
112
+ } = q({
241
113
  defaultValues: {
242
- full_name: s?.full_name || "",
243
- avatar_url: s?.avatar_url || "",
244
- website: s?.website || "",
245
- phone: s?.phone || "",
246
- role: s?.role,
247
- use_billing_for_shipping: V,
248
- billing_address: C(s?.billing_address),
249
- shipping_address: C(s?.shipping_address)
114
+ full_name: e?.full_name || "",
115
+ avatar_url: e?.avatar_url || "",
116
+ website: e?.website || "",
117
+ phone: e?.phone || "",
118
+ role: e?.role,
119
+ use_billing_for_shipping: W,
120
+ billing_address: v(e?.billing_address),
121
+ shipping_address: v(e?.shipping_address)
250
122
  }
251
123
  });
252
- v.useEffect(() => {
253
- s && g({
254
- full_name: s.full_name || "",
255
- avatar_url: s.avatar_url || "",
256
- website: s.website || "",
257
- phone: s.phone || "",
258
- role: s.role,
259
- use_billing_for_shipping: s.use_billing_for_shipping ?? (!s.shipping_address || E(s.billing_address, s.shipping_address)),
260
- billing_address: C(s.billing_address),
261
- shipping_address: C(s.shipping_address)
124
+ x.useEffect(() => {
125
+ e && E({
126
+ full_name: e.full_name || "",
127
+ avatar_url: e.avatar_url || "",
128
+ website: e.website || "",
129
+ phone: e.phone || "",
130
+ role: e.role,
131
+ use_billing_for_shipping: e.use_billing_for_shipping ?? (!e.shipping_address || P(e.billing_address, e.shipping_address)),
132
+ billing_address: v(e.billing_address),
133
+ shipping_address: v(e.shipping_address)
262
134
  });
263
- }, [s, g]), v.useEffect(() => {
264
- a && x({ type: "success", text: a });
265
- }, [a]), v.useEffect(() => {
266
- const o = ie();
135
+ }, [e, E]), x.useEffect(() => {
136
+ _ && N({ type: "success", text: _ });
137
+ }, [_]), x.useEffect(() => {
138
+ const a = ce();
267
139
  (async () => {
268
140
  const {
269
141
  data: { user: f }
270
- } = await o.auth.getUser();
271
- f && !B("full_name") && f.user_metadata?.full_name && b("full_name", f.user_metadata.full_name);
142
+ } = await a.auth.getUser();
143
+ f && !A("full_name") && f.user_metadata?.full_name && g("full_name", f.user_metadata.full_name);
272
144
  })();
273
- }, [B, b]);
274
- const z = (o) => {
275
- const u = Ne(o?.object_key ?? o?.file_path);
276
- u && b("avatar_url", u);
277
- }, W = async (o) => {
278
- R(!0), x(null);
279
- const u = A(o.billing_address) ?? me(), f = o.use_billing_for_shipping ? u : A(o.shipping_address);
145
+ }, [A, g]);
146
+ const H = (a) => {
147
+ const p = ue(a?.object_key ?? a?.file_path);
148
+ p && g("avatar_url", p);
149
+ }, M = async (a) => {
150
+ F(!0), N(null);
151
+ const p = j(a.billing_address) ?? ie(), f = a.use_billing_for_shipping ? p : j(a.shipping_address);
280
152
  try {
281
- const n = {
282
- ...o,
283
- billing_address: u,
153
+ const h = {
154
+ ...a,
155
+ billing_address: p,
284
156
  shipping_address: f
285
157
  };
286
- if (c) {
287
- const j = await c(n);
288
- if (j?.error)
289
- throw new Error(j.error);
158
+ if (d) {
159
+ const S = await d(h);
160
+ if (S?.error)
161
+ throw new Error(S.error);
290
162
  } else
291
- await le(n);
292
- x({ type: "success", text: r("profile_updated_success") });
293
- } catch (n) {
294
- if (n.message === "NEXT_REDIRECT" || n.message?.includes("NEXT_REDIRECT"))
163
+ await ne(h);
164
+ N({ type: "success", text: s("profile_updated_success") });
165
+ } catch (h) {
166
+ if (h.message === "NEXT_REDIRECT" || h.message?.includes("NEXT_REDIRECT"))
295
167
  return;
296
- console.error(n), x({ type: "error", text: n.message || r("profile_update_failed") });
168
+ console.error(h), N({ type: "error", text: s("profile_update_failed") });
297
169
  } finally {
298
- R(!1);
170
+ F(!1);
299
171
  }
300
- }, P = p("use_billing_for_shipping");
301
- return /* @__PURE__ */ e("div", { className: "grid gap-6 md:grid-cols-12 max-w-5xl mx-auto", children: [
302
- /* @__PURE__ */ e(D, { className: "md:col-span-4 h-fit", children: [
303
- /* @__PURE__ */ e(y, { children: /* @__PURE__ */ e($, { className: "text-xl", children: r("public_profile") }, void 0, !1, {
304
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
305
- lineNumber: 302,
306
- columnNumber: 11
307
- }, this) }, void 0, !1, {
308
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
309
- lineNumber: 301,
310
- columnNumber: 9
311
- }, this),
312
- /* @__PURE__ */ e(w, { className: "flex flex-col items-center text-center space-y-4", children: [
313
- /* @__PURE__ */ e("div", { className: "relative group", children: [
314
- /* @__PURE__ */ e(q, { className: "h-32 w-32 border-4 border-muted", children: [
315
- /* @__PURE__ */ e(J, { src: p("avatar_url") || void 0, className: "object-cover" }, void 0, !1, {
316
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
317
- lineNumber: 307,
318
- columnNumber: 15
319
- }, this),
320
- /* @__PURE__ */ e(K, { className: "text-4xl bg-secondary", children: p("full_name")?.charAt(0)?.toUpperCase() || /* @__PURE__ */ e(S, { className: "h-12 w-12" }, void 0, !1, {
321
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
322
- lineNumber: 309,
323
- columnNumber: 66
324
- }, this) }, void 0, !1, {
325
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
326
- lineNumber: 308,
327
- columnNumber: 15
328
- }, this)
329
- ] }, void 0, !0, {
330
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
331
- lineNumber: 306,
332
- columnNumber: 13
333
- }, this),
334
- N && /* @__PURE__ */ e("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity bg-black/40 rounded-full cursor-pointer", children: /* @__PURE__ */ e(
335
- N,
172
+ }, U = m("use_billing_for_shipping");
173
+ return /* @__PURE__ */ r("div", { className: "grid gap-6 md:grid-cols-12 max-w-5xl mx-auto", children: [
174
+ /* @__PURE__ */ r(T, { className: "md:col-span-4 h-fit", children: [
175
+ /* @__PURE__ */ l(B, { children: /* @__PURE__ */ l(I, { className: "text-xl", children: s("public_profile") }) }),
176
+ /* @__PURE__ */ r(L, { className: "flex flex-col items-center text-center space-y-4", children: [
177
+ /* @__PURE__ */ r("div", { className: "relative group", children: [
178
+ /* @__PURE__ */ r(K, { className: "h-32 w-32 border-4 border-muted", children: [
179
+ /* @__PURE__ */ l(Q, { src: m("avatar_url") || void 0, alt: m("full_name") || "", className: "object-cover" }),
180
+ /* @__PURE__ */ l(Y, { className: "text-4xl bg-secondary", children: m("full_name")?.charAt(0)?.toUpperCase() || /* @__PURE__ */ l(k, { className: "h-12 w-12" }) })
181
+ ] }),
182
+ u && // Hover alone hid this from keyboard focus (focusable but invisible) and from
183
+ // touch screens, which have no hover at all.
184
+ /* @__PURE__ */ l("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 [@media(hover:none)]:opacity-100 transition-opacity bg-black/40 rounded-full cursor-pointer", children: /* @__PURE__ */ l(
185
+ u,
336
186
  {
337
- triggerLabel: /* @__PURE__ */ e(te, { className: "h-6 w-6 text-white" }, void 0, !1, {
338
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
339
- lineNumber: 315,
340
- columnNumber: 33
341
- }, this),
187
+ triggerLabel: /* @__PURE__ */ r(O, { children: [
188
+ /* @__PURE__ */ l(de, { className: "h-6 w-6 text-white" }),
189
+ /* @__PURE__ */ l("span", { className: "sr-only", children: s("profile_change_avatar") === "profile_change_avatar" ? "Change profile picture" : s("profile_change_avatar") })
190
+ ] }),
342
191
  triggerVariant: "ghost",
343
- title: r("customer_profile"),
344
- onSelect: z,
345
- accept: (o) => o.file_type.startsWith("image/"),
192
+ title: s("customer_profile"),
193
+ onSelect: H,
194
+ accept: (a) => a.file_type.startsWith("image/"),
346
195
  hideTrigger: !1
347
- },
348
- void 0,
349
- !1,
350
- {
351
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
352
- lineNumber: 314,
353
- columnNumber: 17
354
- },
355
- this
356
- ) }, void 0, !1, {
357
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
358
- lineNumber: 313,
359
- columnNumber: 15
360
- }, this)
361
- ] }, void 0, !0, {
362
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
363
- lineNumber: 305,
364
- columnNumber: 11
365
- }, this),
366
- !N && /* @__PURE__ */ e("div", { className: "w-full", children: [
367
- /* @__PURE__ */ e(l, { htmlFor: "avatar_url", className: "sr-only", children: r("avatar_url") }, void 0, !1, {
368
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
369
- lineNumber: 328,
370
- columnNumber: 15
371
- }, this),
372
- /* @__PURE__ */ e(i, { id: "avatar_url", ...d("avatar_url"), placeholder: "https://...", className: "mt-2" }, void 0, !1, {
373
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
374
- lineNumber: 331,
375
- columnNumber: 15
376
- }, this)
377
- ] }, void 0, !0, {
378
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
379
- lineNumber: 327,
380
- columnNumber: 13
381
- }, this),
382
- /* @__PURE__ */ e("div", { className: "w-full space-y-1 text-left mt-4", children: [
383
- /* @__PURE__ */ e("div", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wider", children: r("identity") }, void 0, !1, {
384
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
385
- lineNumber: 336,
386
- columnNumber: 13
387
- }, this),
388
- /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ e("span", { className: "font-semibold text-lg", children: p("full_name") || r("full_name") }, void 0, !1, {
389
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
390
- lineNumber: 340,
391
- columnNumber: 15
392
- }, this) }, void 0, !1, {
393
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
394
- lineNumber: 339,
395
- columnNumber: 13
396
- }, this)
397
- ] }, void 0, !0, {
398
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
399
- lineNumber: 335,
400
- columnNumber: 11
401
- }, this),
402
- h?.length ? /* @__PURE__ */ e(
403
- O,
196
+ }
197
+ ) })
198
+ ] }),
199
+ !u && /* @__PURE__ */ r("div", { className: "w-full", children: [
200
+ /* @__PURE__ */ l(t, { htmlFor: "avatar_url", className: "sr-only", children: s("avatar_url") }),
201
+ /* @__PURE__ */ l(i, { id: "avatar_url", type: "url", autoComplete: "off", ...o("avatar_url"), placeholder: "https://…", className: "mt-2" })
202
+ ] }),
203
+ /* @__PURE__ */ r("div", { className: "w-full space-y-1 text-left mt-4", children: [
204
+ /* @__PURE__ */ l("div", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wider", children: s("identity") }),
205
+ /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ l("span", { className: "font-semibold text-lg", children: m("full_name") || s("full_name") }) })
206
+ ] }),
207
+ b?.length ? /* @__PURE__ */ l(
208
+ J,
404
209
  {
405
- links: h,
210
+ links: b,
406
211
  className: "mt-2 text-left"
407
- },
408
- void 0,
409
- !1,
410
- {
411
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
412
- lineNumber: 345,
413
- columnNumber: 13
414
- },
415
- this
212
+ }
416
213
  ) : null
417
- ] }, void 0, !0, {
418
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
419
- lineNumber: 304,
420
- columnNumber: 9
421
- }, this)
422
- ] }, void 0, !0, {
423
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
424
- lineNumber: 300,
425
- columnNumber: 7
426
- }, this),
427
- /* @__PURE__ */ e(D, { className: "md:col-span-8", children: /* @__PURE__ */ e("form", { onSubmit: X(W), children: [
428
- /* @__PURE__ */ e(y, { children: /* @__PURE__ */ e($, { children: r("details") }, void 0, !1, {
429
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
430
- lineNumber: 356,
431
- columnNumber: 13
432
- }, this) }, void 0, !1, {
433
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
434
- lineNumber: 355,
435
- columnNumber: 11
436
- }, this),
437
- /* @__PURE__ */ e(w, { className: "space-y-6", children: [
438
- m && /* @__PURE__ */ e("div", { className: "space-y-2", children: [
439
- /* @__PURE__ */ e(l, { htmlFor: "email", children: [
440
- r("email") || "Email",
441
- " (Read-only)"
442
- ] }, void 0, !0, {
443
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
444
- lineNumber: 362,
445
- columnNumber: 17
446
- }, this),
447
- /* @__PURE__ */ e(i, { id: "email", value: m, readOnly: !0, disabled: !0, className: "bg-muted/50" }, void 0, !1, {
448
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
449
- lineNumber: 363,
450
- columnNumber: 17
451
- }, this)
452
- ] }, void 0, !0, {
453
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
454
- lineNumber: 361,
455
- columnNumber: 15
456
- }, this),
457
- /* @__PURE__ */ e("div", { className: "rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground", children: r("profile_basic_info_help") }, void 0, !1, {
458
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
459
- lineNumber: 367,
460
- columnNumber: 13
461
- }, this),
462
- /* @__PURE__ */ e("div", { className: "grid gap-4 md:grid-cols-2", children: [
463
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
464
- /* @__PURE__ */ e(l, { htmlFor: "full_name", className: "flex items-center gap-2", children: [
465
- /* @__PURE__ */ e(S, { className: "h-4 w-4" }, void 0, !1, {
466
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
467
- lineNumber: 374,
468
- columnNumber: 19
469
- }, this),
214
+ ] })
215
+ ] }),
216
+ /* @__PURE__ */ l(T, { className: "md:col-span-8", children: /* @__PURE__ */ r("form", { onSubmit: G(M), children: [
217
+ /* @__PURE__ */ l(B, { children: /* @__PURE__ */ l(I, { children: s("details") }) }),
218
+ /* @__PURE__ */ r(L, { className: "space-y-6", children: [
219
+ n && /* @__PURE__ */ r("div", { className: "space-y-2", children: [
220
+ /* @__PURE__ */ r(t, { htmlFor: "email", children: [
221
+ s("email") === "email" ? "Email" : s("email"),
222
+ " (",
223
+ s("read_only") === "read_only" ? "read-only" : s("read_only"),
224
+ ")"
225
+ ] }),
226
+ /* @__PURE__ */ l(i, { id: "email", value: n, readOnly: !0, disabled: !0, className: "bg-muted/50" })
227
+ ] }),
228
+ /* @__PURE__ */ l("div", { className: "rounded-xl border bg-muted/20 p-4 text-sm text-muted-foreground", children: s("profile_basic_info_help") }),
229
+ /* @__PURE__ */ r("div", { className: "grid gap-4 md:grid-cols-2", children: [
230
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
231
+ /* @__PURE__ */ r(t, { htmlFor: "full_name", className: "flex items-center gap-2", children: [
232
+ /* @__PURE__ */ l(k, { className: "h-4 w-4" }),
470
233
  " ",
471
- r("full_name")
472
- ] }, void 0, !0, {
473
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
474
- lineNumber: 373,
475
- columnNumber: 17
476
- }, this),
477
- /* @__PURE__ */ e(i, { id: "full_name", ...d("full_name") }, void 0, !1, {
478
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
479
- lineNumber: 376,
480
- columnNumber: 17
481
- }, this)
482
- ] }, void 0, !0, {
483
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
484
- lineNumber: 372,
485
- columnNumber: 15
486
- }, this),
487
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
488
- /* @__PURE__ */ e(l, { htmlFor: "phone", className: "flex items-center gap-2", children: [
489
- /* @__PURE__ */ e(ne, { className: "h-4 w-4" }, void 0, !1, {
490
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
491
- lineNumber: 380,
492
- columnNumber: 19
493
- }, this),
234
+ s("full_name")
235
+ ] }),
236
+ /* @__PURE__ */ l(i, { id: "full_name", autoComplete: "name", ...o("full_name") })
237
+ ] }),
238
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
239
+ /* @__PURE__ */ r(t, { htmlFor: "phone", className: "flex items-center gap-2", children: [
240
+ /* @__PURE__ */ l(oe, { className: "h-4 w-4" }),
494
241
  " ",
495
- r("phone_number")
496
- ] }, void 0, !0, {
497
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
498
- lineNumber: 379,
499
- columnNumber: 17
500
- }, this),
501
- /* @__PURE__ */ e(i, { id: "phone", ...d("phone") }, void 0, !1, {
502
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
503
- lineNumber: 382,
504
- columnNumber: 17
505
- }, this)
506
- ] }, void 0, !0, {
507
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
508
- lineNumber: 378,
509
- columnNumber: 15
510
- }, this)
511
- ] }, void 0, !0, {
512
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
513
- lineNumber: 371,
514
- columnNumber: 13
515
- }, this),
516
- /* @__PURE__ */ e("div", { className: "space-y-2", children: [
517
- /* @__PURE__ */ e(l, { htmlFor: "website", className: "flex items-center gap-2", children: [
518
- /* @__PURE__ */ e(ce, { className: "h-4 w-4" }, void 0, !1, {
519
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
520
- lineNumber: 388,
521
- columnNumber: 17
522
- }, this),
242
+ s("phone_number")
243
+ ] }),
244
+ /* @__PURE__ */ l(i, { id: "phone", type: "tel", inputMode: "tel", autoComplete: "tel", ...o("phone") })
245
+ ] })
246
+ ] }),
247
+ /* @__PURE__ */ r("div", { className: "space-y-2", children: [
248
+ /* @__PURE__ */ r(t, { htmlFor: "website", className: "flex items-center gap-2", children: [
249
+ /* @__PURE__ */ l(me, { className: "h-4 w-4" }),
523
250
  " ",
524
- r("website")
525
- ] }, void 0, !0, {
526
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
527
- lineNumber: 387,
528
- columnNumber: 15
529
- }, this),
530
- /* @__PURE__ */ e(i, { id: "website", ...d("website"), placeholder: "https://example.com" }, void 0, !1, {
531
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
532
- lineNumber: 390,
533
- columnNumber: 15
534
- }, this)
535
- ] }, void 0, !0, {
536
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
537
- lineNumber: 386,
538
- columnNumber: 13
539
- }, this),
540
- /* @__PURE__ */ e(oe, { className: "my-2" }, void 0, !1, {
541
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
542
- lineNumber: 393,
543
- columnNumber: 13
544
- }, this),
545
- /* @__PURE__ */ e(T, { prefix: "billing_address", title: r("billing_address"), register: d }, void 0, !1, {
546
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
547
- lineNumber: 395,
548
- columnNumber: 13
549
- }, this),
550
- /* @__PURE__ */ e("div", { className: "flex items-center space-x-3 rounded-lg border p-4", children: [
551
- /* @__PURE__ */ e(
552
- Y,
251
+ s("website")
252
+ ] }),
253
+ /* @__PURE__ */ l(i, { id: "website", type: "url", autoComplete: "url", ...o("website"), placeholder: "https://example.com" })
254
+ ] }),
255
+ /* @__PURE__ */ l(te, { className: "my-2" }),
256
+ /* @__PURE__ */ l(V, { prefix: "billing_address", title: s("billing_address"), register: o }),
257
+ /* @__PURE__ */ r("div", { className: "flex items-center space-x-3 rounded-lg border p-4", children: [
258
+ /* @__PURE__ */ l(
259
+ ee,
553
260
  {
554
261
  id: "use_billing_for_shipping",
555
- checked: !!P,
556
- onCheckedChange: (o) => b("use_billing_for_shipping", !!o, { shouldDirty: !0 })
557
- },
558
- void 0,
559
- !1,
560
- {
561
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
562
- lineNumber: 398,
563
- columnNumber: 15
564
- },
565
- this
262
+ checked: !!U,
263
+ onCheckedChange: (a) => g("use_billing_for_shipping", !!a, { shouldDirty: !0 })
264
+ }
566
265
  ),
567
- /* @__PURE__ */ e("div", { className: "space-y-1", children: [
568
- /* @__PURE__ */ e(l, { htmlFor: "use_billing_for_shipping", className: "cursor-pointer", children: r("use_billing_for_shipping") }, void 0, !1, {
569
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
570
- lineNumber: 406,
571
- columnNumber: 17
572
- }, this),
573
- /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: r("profile_use_billing_for_shipping_help") }, void 0, !1, {
574
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
575
- lineNumber: 409,
576
- columnNumber: 17
577
- }, this)
578
- ] }, void 0, !0, {
579
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
580
- lineNumber: 405,
581
- columnNumber: 15
582
- }, this)
583
- ] }, void 0, !0, {
584
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
585
- lineNumber: 397,
586
- columnNumber: 13
587
- }, this),
588
- !P && /* @__PURE__ */ e(
589
- T,
266
+ /* @__PURE__ */ r("div", { className: "space-y-1", children: [
267
+ /* @__PURE__ */ l(t, { htmlFor: "use_billing_for_shipping", className: "cursor-pointer", children: s("use_billing_for_shipping") }),
268
+ /* @__PURE__ */ l("p", { className: "text-sm text-muted-foreground", children: s("profile_use_billing_for_shipping_help") })
269
+ ] })
270
+ ] }),
271
+ !U && /* @__PURE__ */ l(
272
+ V,
590
273
  {
591
274
  prefix: "shipping_address",
592
- title: r("shipping_address"),
593
- register: d
594
- },
595
- void 0,
596
- !1,
597
- {
598
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
599
- lineNumber: 416,
600
- columnNumber: 15
601
- },
602
- this
275
+ title: s("shipping_address"),
276
+ register: o
277
+ }
603
278
  ),
604
- k && /* @__PURE__ */ e(
279
+ y && /* @__PURE__ */ l(
605
280
  "div",
606
281
  {
607
- className: `mt-4 rounded-xl border p-4 text-sm ${k.type === "success" ? "border-emerald-200 bg-emerald-50 text-emerald-700" : "border-red-200 bg-red-50 text-red-700"}`,
608
- children: k.text
609
- },
610
- void 0,
611
- !1,
612
- {
613
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
614
- lineNumber: 424,
615
- columnNumber: 15
616
- },
617
- this
282
+ role: y.type === "error" ? "alert" : "status",
283
+ className: `mt-4 rounded-xl border p-4 text-sm ${y.type === "success" ? "border-emerald-200 bg-emerald-50 text-emerald-700" : "border-red-200 bg-red-50 text-red-700"}`,
284
+ children: y.text
285
+ }
618
286
  ),
619
- t && /* @__PURE__ */ e("div", { className: "border-t pt-4 mt-4", children: [
620
- /* @__PURE__ */ e("h3", { className: "text-sm font-medium mb-3", children: "Admin Settings" }, void 0, !1, {
621
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
622
- lineNumber: 437,
623
- columnNumber: 17
624
- }, this),
625
- /* @__PURE__ */ e("div", { className: "grid gap-2", children: [
626
- /* @__PURE__ */ e(l, { htmlFor: "role", children: "Role" }, void 0, !1, {
627
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
628
- lineNumber: 439,
629
- columnNumber: 19
630
- }, this),
631
- /* @__PURE__ */ e(
632
- Z,
287
+ c && /* @__PURE__ */ r("div", { className: "border-t pt-4 mt-4", children: [
288
+ /* @__PURE__ */ l("h3", { className: "text-sm font-medium mb-3", children: "Admin Settings" }),
289
+ /* @__PURE__ */ r("div", { className: "grid gap-2", children: [
290
+ /* @__PURE__ */ l(t, { htmlFor: "role", children: "Role" }),
291
+ /* @__PURE__ */ r(
292
+ le,
633
293
  {
634
- value: p("role") || "USER",
635
- onValueChange: (o) => b("role", o),
636
- disabled: F,
294
+ value: m("role") || "USER",
295
+ onValueChange: (a) => g("role", a),
296
+ disabled: $,
637
297
  children: [
638
- /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ e(se, { placeholder: "Select role" }, void 0, !1, {
639
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
640
- lineNumber: 446,
641
- columnNumber: 23
642
- }, this) }, void 0, !1, {
643
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
644
- lineNumber: 445,
645
- columnNumber: 21
646
- }, this),
647
- /* @__PURE__ */ e(re, { children: [
648
- /* @__PURE__ */ e(_, { value: "USER", children: "User" }, void 0, !1, {
649
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
650
- lineNumber: 449,
651
- columnNumber: 23
652
- }, this),
653
- /* @__PURE__ */ e(_, { value: "WRITER", children: "Writer" }, void 0, !1, {
654
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
655
- lineNumber: 450,
656
- columnNumber: 23
657
- }, this),
658
- /* @__PURE__ */ e(_, { value: "ADMIN", children: "Admin" }, void 0, !1, {
659
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
660
- lineNumber: 451,
661
- columnNumber: 23
662
- }, this)
663
- ] }, void 0, !0, {
664
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
665
- lineNumber: 448,
666
- columnNumber: 21
667
- }, this)
298
+ /* @__PURE__ */ l(re, { children: /* @__PURE__ */ l(se, { placeholder: "Select role" }) }),
299
+ /* @__PURE__ */ r(ae, { children: [
300
+ /* @__PURE__ */ l(C, { value: "USER", children: "User" }),
301
+ /* @__PURE__ */ l(C, { value: "WRITER", children: "Writer" }),
302
+ /* @__PURE__ */ l(C, { value: "ADMIN", children: "Admin" })
303
+ ] })
668
304
  ]
669
- },
670
- void 0,
671
- !0,
672
- {
673
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
674
- lineNumber: 440,
675
- columnNumber: 19
676
- },
677
- this
305
+ }
678
306
  ),
679
- F && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: L || "This is the only Admin account, so its role can't be changed. Promote another user to Admin first." }, void 0, !1, {
680
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
681
- lineNumber: 455,
682
- columnNumber: 21
683
- }, this)
684
- ] }, void 0, !0, {
685
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
686
- lineNumber: 438,
687
- columnNumber: 17
688
- }, this)
689
- ] }, void 0, !0, {
690
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
691
- lineNumber: 436,
692
- columnNumber: 15
693
- }, this)
694
- ] }, void 0, !0, {
695
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
696
- lineNumber: 359,
697
- columnNumber: 11
698
- }, this),
699
- /* @__PURE__ */ e(Q, { className: "flex justify-end", children: /* @__PURE__ */ e(M, { type: "submit", disabled: U, size: "lg", children: r(U ? "saving" : "save_changes") }, void 0, !1, {
700
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
701
- lineNumber: 466,
702
- columnNumber: 13
703
- }, this) }, void 0, !1, {
704
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
705
- lineNumber: 465,
706
- columnNumber: 11
707
- }, this)
708
- ] }, void 0, !0, {
709
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
710
- lineNumber: 354,
711
- columnNumber: 9
712
- }, this) }, void 0, !1, {
713
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
714
- lineNumber: 353,
715
- columnNumber: 7
716
- }, this)
717
- ] }, void 0, !0, {
718
- fileName: "C:/Users/desjardinsn/Desktop/NRH-NextBlock/libs/ecommerce/src/lib/components/CustomerProfileForm.tsx",
719
- lineNumber: 299,
720
- columnNumber: 5
721
- }, this);
307
+ $ && /* @__PURE__ */ l("p", { className: "text-xs text-muted-foreground", children: z || "This is the only Admin account, so its role can't be changed. Promote another user to Admin first." })
308
+ ] })
309
+ ] })
310
+ ] }),
311
+ /* @__PURE__ */ l(D, { className: "flex justify-end", children: /* @__PURE__ */ l(Z, { type: "submit", disabled: w, size: "lg", children: s(w ? "saving" : "save_changes") }) })
312
+ ] }) })
313
+ ] });
722
314
  }
723
315
  export {
724
- De as CustomerProfileForm
316
+ Be as CustomerProfileForm
725
317
  };