@burdenoff/microfe-coolandlovely 2026.624.1 → 2026.625.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 (103) hide show
  1. package/dist/coolandlovely/components/EmptyState.js +17 -21
  2. package/dist/coolandlovely/components/EmptyState.js.map +1 -1
  3. package/dist/coolandlovely/components/InvestmentCard.js +25 -23
  4. package/dist/coolandlovely/components/InvestmentCard.js.map +1 -1
  5. package/dist/coolandlovely/components/MetricsCard.js +18 -12
  6. package/dist/coolandlovely/components/MetricsCard.js.map +1 -1
  7. package/dist/coolandlovely/components/PageLayout.js +38 -19
  8. package/dist/coolandlovely/components/PageLayout.js.map +1 -1
  9. package/dist/coolandlovely/components/RatingDisplay.js +3 -3
  10. package/dist/coolandlovely/components/RatingDisplay.js.map +1 -1
  11. package/dist/coolandlovely/components/StatusBadge.js +36 -16
  12. package/dist/coolandlovely/components/StatusBadge.js.map +1 -1
  13. package/dist/coolandlovely/pages/HomePage.js +219 -204
  14. package/dist/coolandlovely/pages/HomePage.js.map +1 -1
  15. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +98 -92
  16. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -1
  17. package/dist/coolandlovely/pages/admin/AdminDashboard.js +111 -77
  18. package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -1
  19. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +49 -43
  20. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -1
  21. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +234 -229
  22. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -1
  23. package/dist/coolandlovely/pages/admin/AdminProfilePage.js +67 -62
  24. package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -1
  25. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +235 -230
  26. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -1
  27. package/dist/coolandlovely/pages/admin/CartManagementPage.js +291 -286
  28. package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -1
  29. package/dist/coolandlovely/pages/admin/UserManagementPage.js +287 -282
  30. package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -1
  31. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +108 -100
  32. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  33. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +260 -255
  34. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  35. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +596 -554
  36. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  37. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +187 -182
  38. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  39. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +229 -221
  40. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  41. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +675 -674
  42. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  43. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +525 -524
  44. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -1
  45. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +264 -266
  46. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -1
  47. package/dist/coolandlovely/pages/common/HelpSupportPage.js +137 -137
  48. package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -1
  49. package/dist/coolandlovely/pages/common/NotificationCenterPage.js +81 -75
  50. package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -1
  51. package/dist/coolandlovely/pages/common/SettingsPage.js +745 -736
  52. package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -1
  53. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +394 -357
  54. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -1
  55. package/dist/coolandlovely/pages/customer/CartDetailPage.js +189 -186
  56. package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -1
  57. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +222 -211
  58. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -1
  59. package/dist/coolandlovely/pages/customer/CheckoutPage.js +219 -222
  60. package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -1
  61. package/dist/coolandlovely/pages/customer/CustomerDashboard.js +446 -404
  62. package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -1
  63. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +525 -488
  64. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -1
  65. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +522 -513
  66. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -1
  67. package/dist/coolandlovely/pages/customer/FavoritesPage.js +94 -84
  68. package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -1
  69. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +121 -112
  70. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -1
  71. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +312 -275
  72. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -1
  73. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +90 -84
  74. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -1
  75. package/dist/coolandlovely/pages/customer/ReviewsPage.js +99 -89
  76. package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -1
  77. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +74 -68
  78. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -1
  79. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +317 -279
  80. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -1
  81. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +249 -243
  82. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  83. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +87 -81
  84. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  85. package/dist/coolandlovely/pages/investor/InvestorDashboard.js +359 -323
  86. package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -1
  87. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +115 -109
  88. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  89. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +179 -146
  90. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -1
  91. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +397 -392
  92. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -1
  93. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +364 -327
  94. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -1
  95. package/dist/coolandlovely/pages/worker/WorkerDashboard.js +580 -543
  96. package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -1
  97. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +114 -109
  98. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -1
  99. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +115 -110
  100. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -1
  101. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +100 -95
  102. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +1 -1
  103. package/package.json +3 -3
@@ -5,12 +5,13 @@ import { EmptyState as r } from "../../components/EmptyState.js";
5
5
  import { useInvestmentOpportunities as i, useOfferings as a, useProviders as o } from "../../hooks/useCoolAndLovelyApi.js";
6
6
  import { formatCurrency as s, formatDistance as c, formatDuration as l } from "../../utils/formatters.js";
7
7
  import { useMemo as u, useState as d } from "react";
8
- import { ArrowLeft as f, Calendar as p, CheckCircle2 as m, Clock as h, Flame as g, Home as _, Leaf as v, MapPin as y, Minus as b, Plus as x, Search as S, ShoppingCart as C, Star as w, TrendingUp as ee, X as T } from "lucide-react";
9
- import { useParams as E } from "react-router-dom";
10
- import { Fragment as D, jsx as O, jsxs as k } from "react/jsx-runtime";
8
+ import { ArrowLeft as f, Calendar as p, CheckCircle2 as m, Clock as h, Flame as ee, Home as te, Leaf as g, MapPin as _, Minus as v, Plus as y, Search as b, ShoppingCart as x, Star as S, TrendingUp as C, X as w } from "lucide-react";
9
+ import { useParams as T } from "react-router-dom";
10
+ import { Fragment as E, jsx as D, jsxs as O } from "react/jsx-runtime";
11
+ import { EmphasisPanel as k, PagePurpose as ne } from "@burdenoff/fe-libs/ui";
11
12
  //#region src/coolandlovely/pages/customer/CartDetailPage.tsx
12
13
  function A() {
13
- let { cartId: A } = E(), { navigateTo: j } = e(), { data: M = [], isLoading: te } = o(), { data: N = [], isLoading: ne } = a(A), { data: P = [], isLoading: re } = i(), F = u(() => M.find((e) => e.id === A), [M, A]), I = u(() => P.find((e) => e.cartId === A), [P, A]), [L, R] = d(""), [z, B] = d(""), [V, H] = d([]), [U, W] = d(!1), [G, K] = d(null), q = u(() => N.map((e) => ({
14
+ let { cartId: A } = T(), { navigateTo: j } = e(), { data: M = [], isLoading: re } = o(), { data: N = [], isLoading: ie } = a(A), { data: P = [], isLoading: ae } = i(), F = u(() => M.find((e) => e.id === A), [M, A]), I = u(() => P.find((e) => e.cartId === A), [P, A]), [L, R] = d(""), [z, B] = d(""), [V, H] = d([]), [U, W] = d(!1), [G, K] = d(null), q = u(() => N.map((e) => ({
14
15
  id: e.id,
15
16
  name: e.name,
16
17
  price: e.price,
@@ -36,7 +37,7 @@ function A() {
36
37
  return Y.forEach((t) => {
37
38
  e[t.category] || (e[t.category] = []), e[t.category].push(t);
38
39
  }), e;
39
- }, [Y]), Z = (e, t = 1, n) => {
40
+ }, [Y]), oe = (e, t = 1, n) => {
40
41
  H((r) => r.find((t) => t.productId === e.id) ? r.map((n) => n.productId === e.id ? {
41
42
  ...n,
42
43
  quantity: n.quantity + t
@@ -48,61 +49,66 @@ function A() {
48
49
  quantity: t,
49
50
  specialInstructions: n
50
51
  }]);
51
- }, Q = (e, t) => {
52
+ }, Z = (e, t) => {
52
53
  H((n) => n.map((n) => n.productId === e ? {
53
54
  ...n,
54
55
  quantity: Math.max(0, n.quantity + t)
55
56
  } : n).filter((e) => e.quantity > 0));
56
- }, $ = (e) => {
57
+ }, Q = (e) => {
57
58
  H((t) => t.filter((t) => t.productId !== e));
58
- }, ie = (e) => V.find((t) => t.productId === e)?.quantity ?? 0, ae = V.reduce((e, t) => e + t.price * t.quantity, 0), oe = V.reduce((e, t) => e + t.quantity, 0), se = (e) => {
59
+ }, $ = (e) => V.find((t) => t.productId === e)?.quantity ?? 0, se = V.reduce((e, t) => e + t.price * t.quantity, 0), ce = V.reduce((e, t) => e + t.quantity, 0), le = (e) => {
59
60
  K({
60
61
  product: e,
61
62
  quantity: 1,
62
63
  specialInstructions: ""
63
64
  }), W(!0);
64
65
  };
65
- return F ? /* @__PURE__ */ k(n, {
66
- title: /* @__PURE__ */ k("div", {
66
+ return F ? /* @__PURE__ */ O(n, {
67
+ title: /* @__PURE__ */ O("div", {
67
68
  className: "flex items-center gap-3",
68
69
  children: [
69
- /* @__PURE__ */ O("button", {
70
+ /* @__PURE__ */ D("button", {
70
71
  type: "button",
71
72
  onClick: () => j("/customer/carts"),
72
73
  className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
73
- children: /* @__PURE__ */ O(f, { className: "h-5 w-5" })
74
+ children: /* @__PURE__ */ D(f, { className: "h-5 w-5" })
74
75
  }),
75
- /* @__PURE__ */ O("span", {
76
+ /* @__PURE__ */ D("span", {
76
77
  className: "truncate",
77
78
  children: F.name
78
79
  }),
79
- F.isVerified && /* @__PURE__ */ O(m, { className: "h-5 w-5 text-blue-500 shrink-0" })
80
+ F.isVerified && /* @__PURE__ */ D(m, { className: "h-5 w-5 text-accent-blue shrink-0" })
80
81
  ]
81
82
  }),
82
83
  description: F.category,
83
84
  children: [
84
- /* @__PURE__ */ k("div", {
85
+ /* @__PURE__ */ D(ne, {
86
+ className: "mb-6",
87
+ icon: /* @__PURE__ */ D(x, { className: "h-4 w-4" }),
88
+ children: "Everything this cart offers, in one place. Browse and search the menu or services, customise an item, then build your order in the basket on the right and head to checkout — plus see appointment, direct-service and investment options where available."
89
+ }),
90
+ /* @__PURE__ */ O("div", {
85
91
  className: "relative h-48 rounded-lg bg-bg-sunken overflow-hidden",
86
- children: [/* @__PURE__ */ O("img", {
92
+ children: [/* @__PURE__ */ D("img", {
87
93
  src: F.image,
88
94
  alt: F.name,
89
95
  className: "h-full w-full object-cover"
90
- }), /* @__PURE__ */ O("div", {
96
+ }), /* @__PURE__ */ D("div", {
91
97
  className: "absolute bottom-0 inset-x-0 bg-gradient-to-t from-black/60 to-transparent p-4",
92
- children: /* @__PURE__ */ k("div", {
98
+ children: /* @__PURE__ */ O("div", {
93
99
  className: "flex items-center gap-3",
94
- children: [/* @__PURE__ */ O("span", {
95
- className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", F.isOpen ? "bg-green-500/20 text-green-300" : "bg-red-500/20 text-red-300"),
100
+ children: [/* @__PURE__ */ D("span", {
101
+ className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", F.isOpen ? "bg-status-success-bg-subtle/20 text-status-success-text" : "bg-status-error-bg-subtle/20 text-status-error-text"),
96
102
  children: F.isOpen ? "Open Now" : "Closed"
97
- }), /* @__PURE__ */ k("div", {
103
+ }), /* @__PURE__ */ O("div", {
98
104
  className: "flex items-center gap-1 text-white text-sm",
99
105
  children: [
100
- /* @__PURE__ */ O(w, { className: "h-3.5 w-3.5 fill-yellow-400 text-yellow-400" }),
101
- /* @__PURE__ */ O("span", {
106
+ /* @__PURE__ */ D(S, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }),
107
+ /* @__PURE__ */ D("span", {
102
108
  className: "font-medium",
103
109
  children: F.rating
104
110
  }),
105
- /* @__PURE__ */ k("span", {
111
+ /* @__PURE__ */ O("span", {
106
112
  className: "text-white/70",
107
113
  children: [
108
114
  "(",
@@ -115,71 +121,71 @@ function A() {
115
121
  })
116
122
  })]
117
123
  }),
118
- !F.isOpen && /* @__PURE__ */ O("div", {
119
- className: "mt-4 rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3",
120
- children: /* @__PURE__ */ k("p", {
121
- className: "text-sm text-yellow-700 dark:text-yellow-400",
122
- children: [/* @__PURE__ */ O("strong", { children: "This cart is currently closed." }), " You can browse the offerings but orders are not being accepted."]
124
+ !F.isOpen && /* @__PURE__ */ D("div", {
125
+ className: "mt-4 rounded-lg border border-status-warning-border/30 bg-status-warning-bg-subtle/10 p-3",
126
+ children: /* @__PURE__ */ O("p", {
127
+ className: "text-sm text-status-warning-text",
128
+ children: [/* @__PURE__ */ D("strong", { children: "This cart is currently closed." }), " You can browse the offerings but orders are not being accepted."]
123
129
  })
124
130
  }),
125
- /* @__PURE__ */ k("div", {
131
+ /* @__PURE__ */ O("div", {
126
132
  className: "mt-4 grid grid-cols-1 gap-3 sm:grid-cols-3",
127
133
  children: [
128
- /* @__PURE__ */ k("div", {
134
+ /* @__PURE__ */ O("div", {
129
135
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
130
136
  children: [
131
- /* @__PURE__ */ k("div", {
137
+ /* @__PURE__ */ O("div", {
132
138
  className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
133
- children: [/* @__PURE__ */ O(y, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ O("span", {
139
+ children: [/* @__PURE__ */ D(_, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
134
140
  className: "font-medium uppercase tracking-wider",
135
141
  children: "Location"
136
142
  })]
137
143
  }),
138
- /* @__PURE__ */ O("p", {
144
+ /* @__PURE__ */ D("p", {
139
145
  className: "text-sm text-text-primary",
140
146
  children: F.location.address
141
147
  }),
142
- /* @__PURE__ */ k("p", {
148
+ /* @__PURE__ */ O("p", {
143
149
  className: "text-xs text-text-secondary",
144
150
  children: [c(F.distance), " away"]
145
151
  })
146
152
  ]
147
153
  }),
148
- /* @__PURE__ */ k("div", {
154
+ /* @__PURE__ */ O("div", {
149
155
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
150
156
  children: [
151
- /* @__PURE__ */ k("div", {
157
+ /* @__PURE__ */ O("div", {
152
158
  className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
153
- children: [/* @__PURE__ */ O(h, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ O("span", {
159
+ children: [/* @__PURE__ */ D(h, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
154
160
  className: "font-medium uppercase tracking-wider",
155
161
  children: "Estimated Time"
156
162
  })]
157
163
  }),
158
- /* @__PURE__ */ O("p", {
164
+ /* @__PURE__ */ D("p", {
159
165
  className: "text-sm text-text-primary",
160
166
  children: l(F.estimatedTime)
161
167
  }),
162
- F.averageOrderValue && /* @__PURE__ */ k("p", {
168
+ F.averageOrderValue && /* @__PURE__ */ O("p", {
163
169
  className: "text-xs text-text-secondary",
164
170
  children: ["Avg ", s(F.averageOrderValue, { minimumFractionDigits: 0 })]
165
171
  })
166
172
  ]
167
173
  }),
168
- /* @__PURE__ */ k("div", {
174
+ /* @__PURE__ */ O("div", {
169
175
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
170
176
  children: [
171
- /* @__PURE__ */ k("div", {
177
+ /* @__PURE__ */ O("div", {
172
178
  className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
173
- children: [/* @__PURE__ */ O(w, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ O("span", {
179
+ children: [/* @__PURE__ */ D(S, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
174
180
  className: "font-medium uppercase tracking-wider",
175
181
  children: "Rating"
176
182
  })]
177
183
  }),
178
- /* @__PURE__ */ k("p", {
184
+ /* @__PURE__ */ O("p", {
179
185
  className: "text-sm text-text-primary",
180
186
  children: [F.rating, " / 5.0"]
181
187
  }),
182
- /* @__PURE__ */ k("p", {
188
+ /* @__PURE__ */ O("p", {
183
189
  className: "text-xs text-text-secondary",
184
190
  children: [F.totalRatings, " reviews"]
185
191
  })
@@ -187,62 +193,62 @@ function A() {
187
193
  })
188
194
  ]
189
195
  }),
190
- F.businessHours && Object.keys(F.businessHours).length > 0 && /* @__PURE__ */ k("section", {
196
+ F.businessHours && Object.keys(F.businessHours).length > 0 && /* @__PURE__ */ O("section", {
191
197
  className: "mt-6",
192
- children: [/* @__PURE__ */ O("h2", {
198
+ children: [/* @__PURE__ */ D("h2", {
193
199
  className: "text-base font-semibold text-text-primary mb-2",
194
200
  children: "Operating Hours"
195
- }), /* @__PURE__ */ O("div", {
201
+ }), /* @__PURE__ */ D("div", {
196
202
  className: "rounded-lg border border-border-subtle bg-bg-surface overflow-hidden",
197
- children: Object.entries(F.businessHours).map(([e, t]) => /* @__PURE__ */ k("div", {
203
+ children: Object.entries(F.businessHours).map(([e, t]) => /* @__PURE__ */ O("div", {
198
204
  className: "flex items-center justify-between px-4 py-2 border-b border-border-subtle last:border-b-0",
199
- children: [/* @__PURE__ */ O("span", {
205
+ children: [/* @__PURE__ */ D("span", {
200
206
  className: "text-sm font-medium text-text-primary capitalize",
201
207
  children: e
202
- }), t.isOpen ? /* @__PURE__ */ k("span", {
208
+ }), t.isOpen ? /* @__PURE__ */ O("span", {
203
209
  className: "text-sm text-text-secondary",
204
210
  children: [
205
211
  t.open,
206
212
  " - ",
207
213
  t.close
208
214
  ]
209
- }) : /* @__PURE__ */ O("span", {
215
+ }) : /* @__PURE__ */ D("span", {
210
216
  className: "text-sm text-status-error-text",
211
217
  children: "Closed"
212
218
  })]
213
219
  }, e))
214
220
  })]
215
221
  }),
216
- /* @__PURE__ */ k("div", {
222
+ /* @__PURE__ */ O("div", {
217
223
  className: "mt-6 grid grid-cols-1 gap-6 lg:grid-cols-3",
218
- children: [/* @__PURE__ */ k("div", {
224
+ children: [/* @__PURE__ */ O("div", {
219
225
  className: "lg:col-span-2",
220
226
  children: [
221
- /* @__PURE__ */ k("div", {
227
+ /* @__PURE__ */ O("div", {
222
228
  className: "flex flex-col gap-3 sm:flex-row mb-4",
223
- children: [/* @__PURE__ */ k("div", {
229
+ children: [/* @__PURE__ */ O("div", {
224
230
  className: "relative flex-1",
225
- children: [/* @__PURE__ */ O(S, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ O("input", {
231
+ children: [/* @__PURE__ */ D(b, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ D("input", {
226
232
  type: "text",
227
233
  placeholder: "Search offerings...",
228
234
  value: L,
229
235
  onChange: (e) => R(e.target.value),
230
236
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
231
237
  })]
232
- }), /* @__PURE__ */ k("select", {
238
+ }), /* @__PURE__ */ O("select", {
233
239
  value: z,
234
240
  onChange: (e) => B(e.target.value),
235
241
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
236
- children: [/* @__PURE__ */ O("option", {
242
+ children: [/* @__PURE__ */ D("option", {
237
243
  value: "",
238
244
  children: "All Categories"
239
- }), J.map((e) => /* @__PURE__ */ O("option", {
245
+ }), J.map((e) => /* @__PURE__ */ D("option", {
240
246
  value: e,
241
247
  children: e
242
248
  }, e))]
243
249
  })]
244
250
  }),
245
- /* @__PURE__ */ k("h2", {
251
+ /* @__PURE__ */ O("h2", {
246
252
  className: "text-lg font-semibold text-text-primary mb-3",
247
253
  children: [
248
254
  "Menu & Services (",
@@ -250,102 +256,100 @@ function A() {
250
256
  ")"
251
257
  ]
252
258
  }),
253
- Y.length === 0 ? /* @__PURE__ */ k("div", {
254
- className: "rounded-lg border border-border-subtle bg-bg-surface p-8 text-center",
255
- children: [/* @__PURE__ */ O(S, { className: "mx-auto h-10 w-10 text-text-secondary/50" }), /* @__PURE__ */ O("p", {
256
- className: "mt-3 text-sm text-text-secondary",
257
- children: "No offerings found"
258
- })]
259
- }) : /* @__PURE__ */ O("div", {
259
+ Y.length === 0 ? /* @__PURE__ */ D(r, {
260
+ illustration: L || z ? "empty-search" : "empty-data",
261
+ title: "No offerings found",
262
+ description: L || z ? "Try a different search term or clear the category filter." : "This cart has not listed any offerings yet. Check back soon."
263
+ }) : /* @__PURE__ */ D("div", {
260
264
  className: "space-y-6",
261
- children: Object.entries(X).map(([e, n]) => /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("h3", {
265
+ children: Object.entries(X).map(([e, n]) => /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("h3", {
262
266
  className: "text-sm font-semibold text-text-primary mb-2 px-1",
263
267
  children: e
264
- }), /* @__PURE__ */ O("div", {
268
+ }), /* @__PURE__ */ D("div", {
265
269
  className: "space-y-2",
266
270
  children: n.map((e) => {
267
- let n = ie(e.id);
268
- return /* @__PURE__ */ k("div", {
269
- className: "flex gap-4 rounded-lg border border-border-subtle bg-bg-surface p-4",
270
- children: [/* @__PURE__ */ O("div", {
271
+ let n = $(e.id);
272
+ return /* @__PURE__ */ O("div", {
273
+ className: "flex gap-4 rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
274
+ children: [/* @__PURE__ */ D("div", {
271
275
  className: "h-20 w-20 shrink-0 rounded-md bg-bg-sunken overflow-hidden",
272
- children: /* @__PURE__ */ O("img", {
276
+ children: /* @__PURE__ */ D("img", {
273
277
  src: e.image,
274
278
  alt: e.name,
275
279
  className: "h-full w-full object-cover"
276
280
  })
277
- }), /* @__PURE__ */ k("div", {
281
+ }), /* @__PURE__ */ O("div", {
278
282
  className: "flex-1 min-w-0",
279
283
  children: [
280
- /* @__PURE__ */ k("div", {
284
+ /* @__PURE__ */ O("div", {
281
285
  className: "flex items-start justify-between gap-2",
282
- children: [/* @__PURE__ */ k("div", { children: [/* @__PURE__ */ k("div", {
286
+ children: [/* @__PURE__ */ O("div", { children: [/* @__PURE__ */ O("div", {
283
287
  className: "flex items-center gap-2",
284
- children: [/* @__PURE__ */ O("h4", {
288
+ children: [/* @__PURE__ */ D("h4", {
285
289
  className: "text-sm font-semibold text-text-primary",
286
290
  children: e.name
287
- }), e.isVeg && /* @__PURE__ */ O(v, { className: "h-3.5 w-3.5 text-green-600 dark:text-green-400" })]
288
- }), /* @__PURE__ */ O("p", {
291
+ }), e.isVeg && /* @__PURE__ */ D(g, { className: "h-3.5 w-3.5 text-status-success-text" })]
292
+ }), /* @__PURE__ */ D("p", {
289
293
  className: "text-xs text-text-secondary mt-0.5",
290
294
  children: e.category
291
- })] }), /* @__PURE__ */ O("span", {
295
+ })] }), /* @__PURE__ */ D("span", {
292
296
  className: "text-sm font-bold text-text-primary whitespace-nowrap",
293
297
  children: s(e.price, { minimumFractionDigits: 0 })
294
298
  })]
295
299
  }),
296
- /* @__PURE__ */ O("p", {
300
+ /* @__PURE__ */ D("p", {
297
301
  className: "mt-1 text-xs text-text-secondary line-clamp-2",
298
302
  children: e.description
299
303
  }),
300
- /* @__PURE__ */ k("div", {
304
+ /* @__PURE__ */ O("div", {
301
305
  className: "mt-2 flex flex-wrap items-center gap-2 text-[10px] text-text-secondary",
302
306
  children: [
303
- e.duration != null && e.duration > 0 && /* @__PURE__ */ k("span", {
307
+ e.duration != null && e.duration > 0 && /* @__PURE__ */ O("span", {
304
308
  className: "flex items-center gap-0.5",
305
- children: [/* @__PURE__ */ O(h, { className: "h-3 w-3" }), l(e.duration)]
309
+ children: [/* @__PURE__ */ D(h, { className: "h-3 w-3" }), l(e.duration)]
306
310
  }),
307
- e.serviceType && /* @__PURE__ */ O("span", {
311
+ e.serviceType && /* @__PURE__ */ D("span", {
308
312
  className: "rounded bg-bg-sunken px-1.5 py-0.5 capitalize",
309
313
  children: e.serviceType
310
314
  }),
311
- e.spiceLevel && /* @__PURE__ */ k("span", {
315
+ e.spiceLevel && /* @__PURE__ */ O("span", {
312
316
  className: "flex items-center gap-0.5 rounded bg-bg-sunken px-1.5 py-0.5 capitalize",
313
- children: [/* @__PURE__ */ O(g, { className: "h-3 w-3" }), e.spiceLevel]
317
+ children: [/* @__PURE__ */ D(ee, { className: "h-3 w-3" }), e.spiceLevel]
314
318
  })
315
319
  ]
316
320
  }),
317
- /* @__PURE__ */ O("div", {
321
+ /* @__PURE__ */ D("div", {
318
322
  className: "mt-2 flex justify-end",
319
- children: n > 0 ? /* @__PURE__ */ k("div", {
323
+ children: n > 0 ? /* @__PURE__ */ O("div", {
320
324
  className: "flex items-center gap-2",
321
325
  children: [
322
- /* @__PURE__ */ O("button", {
326
+ /* @__PURE__ */ D("button", {
323
327
  type: "button",
324
- onClick: () => Q(e.id, -1),
328
+ onClick: () => Z(e.id, -1),
325
329
  className: "flex h-7 w-7 items-center justify-center rounded-full bg-bg-sunken text-text-primary hover:bg-accent",
326
- children: /* @__PURE__ */ O(b, { className: "h-3.5 w-3.5" })
330
+ children: /* @__PURE__ */ D(v, { className: "h-3.5 w-3.5" })
327
331
  }),
328
- /* @__PURE__ */ O("span", {
332
+ /* @__PURE__ */ D("span", {
329
333
  className: "min-w-[2ch] text-center text-sm font-medium text-text-primary",
330
334
  children: n
331
335
  }),
332
- /* @__PURE__ */ O("button", {
336
+ /* @__PURE__ */ D("button", {
333
337
  type: "button",
334
- onClick: () => Q(e.id, 1),
338
+ onClick: () => Z(e.id, 1),
335
339
  className: "flex h-7 w-7 items-center justify-center rounded-full bg-foreground text-background hover:opacity-90",
336
- children: /* @__PURE__ */ O(x, { className: "h-3.5 w-3.5" })
340
+ children: /* @__PURE__ */ D(y, { className: "h-3.5 w-3.5" })
337
341
  }),
338
- /* @__PURE__ */ O("button", {
342
+ /* @__PURE__ */ D("button", {
339
343
  type: "button",
340
- onClick: () => $(e.id),
344
+ onClick: () => Q(e.id),
341
345
  className: "ml-1 flex h-7 w-7 items-center justify-center rounded-full text-status-error-text hover:bg-status-error-bg/10",
342
- children: /* @__PURE__ */ O(T, { className: "h-3.5 w-3.5" })
346
+ children: /* @__PURE__ */ D(w, { className: "h-3.5 w-3.5" })
343
347
  })
344
348
  ]
345
- }) : /* @__PURE__ */ O("button", {
349
+ }) : /* @__PURE__ */ D("button", {
346
350
  type: "button",
347
351
  disabled: !F.isOpen,
348
- onClick: () => se(e),
352
+ onClick: () => le(e),
349
353
  className: t("rounded-lg px-4 py-1.5 text-xs font-medium transition-opacity", F.isOpen ? "bg-foreground text-background hover:opacity-90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
350
354
  children: "Add"
351
355
  })
@@ -357,30 +361,29 @@ function A() {
357
361
  })] }, e))
358
362
  })
359
363
  ]
360
- }), /* @__PURE__ */ k("div", {
364
+ }), /* @__PURE__ */ O("div", {
361
365
  className: "space-y-4",
362
366
  children: [
363
- /* @__PURE__ */ k("div", {
364
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 lg:sticky lg:top-6",
365
- children: [/* @__PURE__ */ k("h3", {
367
+ /* @__PURE__ */ O(k, {
368
+ className: "p-4 lg:sticky lg:top-6",
369
+ children: [/* @__PURE__ */ O("h3", {
366
370
  className: "text-base font-semibold text-text-primary mb-3 flex items-center gap-2",
367
- children: [/* @__PURE__ */ O(C, { className: "h-4 w-4" }), "Your Order"]
368
- }), V.length === 0 ? /* @__PURE__ */ k("div", {
369
- className: "py-6 text-center",
370
- children: [/* @__PURE__ */ O(C, { className: "mx-auto h-8 w-8 text-text-secondary/40" }), /* @__PURE__ */ O("p", {
371
- className: "mt-2 text-sm text-text-secondary",
372
- children: "Your cart is empty"
373
- })]
374
- }) : /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ O("div", {
371
+ children: [/* @__PURE__ */ D(x, { className: "h-4 w-4" }), "Your Order"]
372
+ }), V.length === 0 ? /* @__PURE__ */ D(r, {
373
+ className: "py-2",
374
+ illustration: "empty-generic",
375
+ title: "Your cart is empty",
376
+ description: "Add items from the menu to start your order."
377
+ }) : /* @__PURE__ */ O(E, { children: [/* @__PURE__ */ D("div", {
375
378
  className: "space-y-2 max-h-64 overflow-y-auto mb-3",
376
- children: V.map((e) => /* @__PURE__ */ k("div", {
379
+ children: V.map((e) => /* @__PURE__ */ O("div", {
377
380
  className: "flex items-center justify-between gap-2",
378
- children: [/* @__PURE__ */ k("div", {
381
+ children: [/* @__PURE__ */ O("div", {
379
382
  className: "flex-1 min-w-0",
380
- children: [/* @__PURE__ */ O("p", {
383
+ children: [/* @__PURE__ */ D("p", {
381
384
  className: "text-sm font-medium text-text-primary truncate",
382
385
  children: e.name
383
- }), /* @__PURE__ */ k("p", {
386
+ }), /* @__PURE__ */ O("p", {
384
387
  className: "text-xs text-text-secondary",
385
388
  children: [
386
389
  s(e.price, { minimumFractionDigits: 0 }),
@@ -389,46 +392,46 @@ function A() {
389
392
  e.quantity
390
393
  ]
391
394
  })]
392
- }), /* @__PURE__ */ k("div", {
395
+ }), /* @__PURE__ */ O("div", {
393
396
  className: "flex items-center gap-1",
394
397
  children: [
395
- /* @__PURE__ */ O("button", {
398
+ /* @__PURE__ */ D("button", {
396
399
  type: "button",
397
- onClick: () => Q(e.productId, -1),
400
+ onClick: () => Z(e.productId, -1),
398
401
  className: "flex h-6 w-6 items-center justify-center rounded bg-bg-sunken text-text-primary text-xs",
399
402
  children: "-"
400
403
  }),
401
- /* @__PURE__ */ O("span", {
404
+ /* @__PURE__ */ D("span", {
402
405
  className: "min-w-[2ch] text-center text-xs font-medium",
403
406
  children: e.quantity
404
407
  }),
405
- /* @__PURE__ */ O("button", {
408
+ /* @__PURE__ */ D("button", {
406
409
  type: "button",
407
- onClick: () => Q(e.productId, 1),
410
+ onClick: () => Z(e.productId, 1),
408
411
  className: "flex h-6 w-6 items-center justify-center rounded bg-bg-sunken text-text-primary text-xs",
409
412
  children: "+"
410
413
  }),
411
- /* @__PURE__ */ O("button", {
414
+ /* @__PURE__ */ D("button", {
412
415
  type: "button",
413
- onClick: () => $(e.productId),
416
+ onClick: () => Q(e.productId),
414
417
  className: "ml-1 text-status-error-text hover:text-status-error-text/80",
415
- children: /* @__PURE__ */ O(T, { className: "h-3.5 w-3.5" })
418
+ children: /* @__PURE__ */ D(w, { className: "h-3.5 w-3.5" })
416
419
  })
417
420
  ]
418
421
  })]
419
422
  }, e.id))
420
- }), /* @__PURE__ */ k("div", {
423
+ }), /* @__PURE__ */ O("div", {
421
424
  className: "border-t border-border-subtle pt-3",
422
- children: [/* @__PURE__ */ k("div", {
425
+ children: [/* @__PURE__ */ O("div", {
423
426
  className: "flex justify-between items-center mb-3",
424
- children: [/* @__PURE__ */ k("span", {
427
+ children: [/* @__PURE__ */ O("span", {
425
428
  className: "text-sm font-semibold text-text-primary",
426
- children: ["Total: ", s(ae, { minimumFractionDigits: 0 })]
427
- }), /* @__PURE__ */ k("span", {
429
+ children: ["Total: ", s(se, { minimumFractionDigits: 0 })]
430
+ }), /* @__PURE__ */ O("span", {
428
431
  className: "text-xs text-text-secondary",
429
- children: [oe, " items"]
432
+ children: [ce, " items"]
430
433
  })]
431
- }), /* @__PURE__ */ O("button", {
434
+ }), /* @__PURE__ */ D("button", {
432
435
  type: "button",
433
436
  onClick: () => j("/customer/checkout"),
434
437
  className: "w-full rounded-lg bg-foreground py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
@@ -436,67 +439,67 @@ function A() {
436
439
  })]
437
440
  })] })]
438
441
  }),
439
- F.serviceTypes?.includes("direct_service") && /* @__PURE__ */ k("div", {
440
- className: "rounded-lg border border-purple-500/30 bg-purple-500/10 p-4",
442
+ F.serviceTypes?.includes("direct_service") && /* @__PURE__ */ O("div", {
443
+ className: "rounded-lg border border-accent-purple-subtle/30 bg-accent-purple-subtle/10 p-4",
441
444
  children: [
442
- /* @__PURE__ */ k("h3", {
445
+ /* @__PURE__ */ O("h3", {
443
446
  className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
444
- children: [/* @__PURE__ */ O(_, { className: "h-4 w-4 text-purple-600 dark:text-purple-400" }), "Direct Service"]
447
+ children: [/* @__PURE__ */ D(te, { className: "h-4 w-4 text-accent-purple" }), "Direct Service"]
445
448
  }),
446
- /* @__PURE__ */ O("p", {
449
+ /* @__PURE__ */ D("p", {
447
450
  className: "text-xs text-text-secondary mb-3",
448
451
  children: "Cart comes to your location!"
449
452
  }),
450
- /* @__PURE__ */ O("button", {
453
+ /* @__PURE__ */ D("button", {
451
454
  type: "button",
452
455
  onClick: () => j(`/customer/carts/${F.id}`),
453
- className: "w-full rounded-lg bg-purple-600 py-2 text-xs font-medium text-white hover:bg-purple-700 transition-colors",
456
+ className: "w-full rounded-lg bg-accent-purple-subtle py-2 text-xs font-medium text-white hover:bg-accent-purple-subtle transition-colors",
454
457
  children: "Book Direct Service"
455
458
  })
456
459
  ]
457
460
  }),
458
- F.serviceTypes?.includes("appointment") && /* @__PURE__ */ k("div", {
459
- className: "rounded-lg border border-blue-500/30 bg-blue-500/10 p-4",
460
- children: [/* @__PURE__ */ k("h3", {
461
+ F.serviceTypes?.includes("appointment") && /* @__PURE__ */ O("div", {
462
+ className: "rounded-lg border border-accent-blue-subtle/30 bg-accent-blue-subtle/10 p-4",
463
+ children: [/* @__PURE__ */ O("h3", {
461
464
  className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
462
- children: [/* @__PURE__ */ O(p, { className: "h-4 w-4 text-blue-600 dark:text-blue-400" }), "Appointments Available"]
463
- }), /* @__PURE__ */ O("p", {
465
+ children: [/* @__PURE__ */ D(p, { className: "h-4 w-4 text-accent-blue" }), "Appointments Available"]
466
+ }), /* @__PURE__ */ D("p", {
464
467
  className: "text-xs text-text-secondary",
465
468
  children: "This service provider accepts appointments. Contact them to schedule."
466
469
  })]
467
470
  }),
468
- I && /* @__PURE__ */ k("div", {
469
- className: "rounded-lg border border-green-500/30 bg-green-500/10 p-4",
471
+ I && /* @__PURE__ */ O("div", {
472
+ className: "rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-4",
470
473
  children: [
471
- /* @__PURE__ */ k("h3", {
474
+ /* @__PURE__ */ O("h3", {
472
475
  className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
473
- children: [/* @__PURE__ */ O(ee, { className: "h-4 w-4 text-green-600 dark:text-green-400" }), "Investment Opportunity"]
476
+ children: [/* @__PURE__ */ D(C, { className: "h-4 w-4 text-status-success-text" }), "Investment Opportunity"]
474
477
  }),
475
- /* @__PURE__ */ O("p", {
478
+ /* @__PURE__ */ D("p", {
476
479
  className: "text-xs text-text-secondary mb-2",
477
480
  children: I.description
478
481
  }),
479
- /* @__PURE__ */ k("div", {
482
+ /* @__PURE__ */ O("div", {
480
483
  className: "space-y-1 text-xs text-text-secondary mb-3",
481
484
  children: [
482
- /* @__PURE__ */ k("p", { children: ["Target: ", s(I.targetAmount, { minimumFractionDigits: 0 })] }),
483
- /* @__PURE__ */ k("p", { children: ["Raised: ", s(I.raisedAmount, { minimumFractionDigits: 0 })] }),
484
- /* @__PURE__ */ k("p", { children: [
485
+ /* @__PURE__ */ O("p", { children: ["Target: ", s(I.targetAmount, { minimumFractionDigits: 0 })] }),
486
+ /* @__PURE__ */ O("p", { children: ["Raised: ", s(I.raisedAmount, { minimumFractionDigits: 0 })] }),
487
+ /* @__PURE__ */ O("p", { children: [
485
488
  "Expected Returns: ",
486
489
  I.expectedReturns,
487
490
  "%"
488
491
  ] }),
489
- /* @__PURE__ */ k("p", { children: [
492
+ /* @__PURE__ */ O("p", { children: [
490
493
  "Min Investment:",
491
494
  " ",
492
495
  s(I.minimumInvestment, { minimumFractionDigits: 0 })
493
496
  ] })
494
497
  ]
495
498
  }),
496
- /* @__PURE__ */ O("button", {
499
+ /* @__PURE__ */ D("button", {
497
500
  type: "button",
498
501
  onClick: () => alert("Navigate to investor section to fund this business."),
499
- className: "w-full rounded-lg bg-green-600 py-2 text-xs font-medium text-white hover:bg-green-700 transition-colors",
502
+ className: "w-full rounded-lg bg-status-success-bg-subtle py-2 text-xs font-medium text-white hover:bg-status-success-bg-subtle transition-colors",
500
503
  children: "Fund This Business"
501
504
  })
502
505
  ]
@@ -504,74 +507,74 @@ function A() {
504
507
  ]
505
508
  })]
506
509
  }),
507
- U && G && /* @__PURE__ */ O("div", {
510
+ U && G && /* @__PURE__ */ D("div", {
508
511
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
509
- children: /* @__PURE__ */ O("div", {
512
+ children: /* @__PURE__ */ D("div", {
510
513
  className: "w-full max-w-md max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface",
511
- children: /* @__PURE__ */ k("div", {
514
+ children: /* @__PURE__ */ O("div", {
512
515
  className: "p-5",
513
516
  children: [
514
- /* @__PURE__ */ k("div", {
517
+ /* @__PURE__ */ O("div", {
515
518
  className: "flex items-center justify-between mb-4",
516
- children: [/* @__PURE__ */ O("h3", {
519
+ children: [/* @__PURE__ */ D("h3", {
517
520
  className: "text-lg font-semibold text-text-primary",
518
521
  children: G.product.name
519
- }), /* @__PURE__ */ O("button", {
522
+ }), /* @__PURE__ */ D("button", {
520
523
  type: "button",
521
524
  onClick: () => {
522
525
  W(!1), K(null);
523
526
  },
524
527
  className: "rounded-md p-1 text-text-secondary hover:text-text-primary",
525
- children: /* @__PURE__ */ O(T, { className: "h-5 w-5" })
528
+ children: /* @__PURE__ */ D(w, { className: "h-5 w-5" })
526
529
  })]
527
530
  }),
528
- /* @__PURE__ */ O("p", {
531
+ /* @__PURE__ */ D("p", {
529
532
  className: "text-sm text-text-secondary mb-4",
530
533
  children: G.product.description
531
534
  }),
532
- /* @__PURE__ */ O("p", {
535
+ /* @__PURE__ */ D("p", {
533
536
  className: "text-lg font-bold text-text-primary mb-4",
534
537
  children: s(G.product.price, { minimumFractionDigits: 0 })
535
538
  }),
536
- /* @__PURE__ */ k("div", {
539
+ /* @__PURE__ */ O("div", {
537
540
  className: "mb-4",
538
- children: [/* @__PURE__ */ O("label", {
541
+ children: [/* @__PURE__ */ D("label", {
539
542
  className: "block text-sm font-medium text-text-primary mb-2",
540
543
  children: "Quantity"
541
- }), /* @__PURE__ */ k("div", {
544
+ }), /* @__PURE__ */ O("div", {
542
545
  className: "flex items-center gap-3",
543
546
  children: [
544
- /* @__PURE__ */ O("button", {
547
+ /* @__PURE__ */ D("button", {
545
548
  type: "button",
546
549
  onClick: () => K((e) => e && {
547
550
  ...e,
548
551
  quantity: Math.max(1, e.quantity - 1)
549
552
  }),
550
553
  className: "flex h-8 w-8 items-center justify-center rounded-full bg-bg-sunken text-text-primary",
551
- children: /* @__PURE__ */ O(b, { className: "h-4 w-4" })
554
+ children: /* @__PURE__ */ D(v, { className: "h-4 w-4" })
552
555
  }),
553
- /* @__PURE__ */ O("span", {
556
+ /* @__PURE__ */ D("span", {
554
557
  className: "min-w-[2ch] text-center font-medium text-text-primary",
555
558
  children: G.quantity
556
559
  }),
557
- /* @__PURE__ */ O("button", {
560
+ /* @__PURE__ */ D("button", {
558
561
  type: "button",
559
562
  onClick: () => K((e) => e && {
560
563
  ...e,
561
564
  quantity: e.quantity + 1
562
565
  }),
563
566
  className: "flex h-8 w-8 items-center justify-center rounded-full bg-bg-sunken text-text-primary",
564
- children: /* @__PURE__ */ O(x, { className: "h-4 w-4" })
567
+ children: /* @__PURE__ */ D(y, { className: "h-4 w-4" })
565
568
  })
566
569
  ]
567
570
  })]
568
571
  }),
569
- /* @__PURE__ */ k("div", {
572
+ /* @__PURE__ */ O("div", {
570
573
  className: "mb-4",
571
- children: [/* @__PURE__ */ O("label", {
574
+ children: [/* @__PURE__ */ D("label", {
572
575
  className: "block text-sm font-medium text-text-primary mb-2",
573
576
  children: "Special Instructions"
574
- }), /* @__PURE__ */ O("textarea", {
577
+ }), /* @__PURE__ */ D("textarea", {
575
578
  value: G.specialInstructions,
576
579
  onChange: (e) => K((t) => t && {
577
580
  ...t,
@@ -582,10 +585,10 @@ function A() {
582
585
  rows: 3
583
586
  })]
584
587
  }),
585
- /* @__PURE__ */ k("button", {
588
+ /* @__PURE__ */ O("button", {
586
589
  type: "button",
587
590
  onClick: () => {
588
- G && (Z(G.product, G.quantity, G.specialInstructions), W(!1), K(null), alert(`${G.product.name} added to cart`));
591
+ G && (oe(G.product, G.quantity, G.specialInstructions), W(!1), K(null), alert(`${G.product.name} added to cart`));
589
592
  },
590
593
  className: "w-full rounded-lg bg-foreground py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
591
594
  children: [
@@ -599,13 +602,13 @@ function A() {
599
602
  })
600
603
  })
601
604
  ]
602
- }) : /* @__PURE__ */ O(n, {
605
+ }) : /* @__PURE__ */ D(n, {
603
606
  title: "Cart Not Found",
604
- children: /* @__PURE__ */ O(r, {
605
- icon: /* @__PURE__ */ O(C, { className: "h-12 w-12" }),
607
+ children: /* @__PURE__ */ D(r, {
608
+ illustration: "empty-search",
606
609
  title: "Cart not found",
607
- description: `No cart found with ID "${A}".`,
608
- action: /* @__PURE__ */ O("button", {
610
+ description: `No cart found with ID"${A}".`,
611
+ action: /* @__PURE__ */ D("button", {
609
612
  type: "button",
610
613
  onClick: () => j("/customer/carts"),
611
614
  className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",