@burdenoff/microfe-billing 2026.531.1 → 2026.531.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,11 +7,28 @@ import { useAddons as s } from "../hooks/useAddons.js";
7
7
  import "../hooks/index.js";
8
8
  import { useDefaultBillingCurrency as c } from "../../../hooks/useDefaultBillingCurrency.js";
9
9
  import { useMemo as l, useState as u } from "react";
10
- import { Minus as d, Plus as f, ShoppingCart as p, Trash2 as m, X as h } from "lucide-react";
11
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
12
- import { useI18n as y } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
+ import { Minus as d, Package as f, Plus as p, ShoppingCart as m, Trash2 as h, X as g } from "lucide-react";
11
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
12
+ import { useI18n as b } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
13
13
  //#region src/billing/modules/addons/pages/AddonsBrowsePage.tsx
14
- function b(e) {
14
+ function x(e) {
15
+ let t = /* @__PURE__ */ new Map();
16
+ for (let n of e) {
17
+ let e = n.name.indexOf(" — "), r = e === -1 ? n.name : n.name.slice(0, e).trim(), i = t.get(r) ?? [];
18
+ i.push(n), t.set(r, i);
19
+ }
20
+ let n = [];
21
+ for (let [e, r] of t) r.length > 1 ? n.push({
22
+ type: "group",
23
+ name: e,
24
+ addons: r
25
+ }) : n.push({
26
+ type: "standalone",
27
+ addon: r[0]
28
+ });
29
+ return n;
30
+ }
31
+ function S(e) {
15
32
  let t = /* @__PURE__ */ new Map();
16
33
  for (let n of e) {
17
34
  if (!n.quota) continue;
@@ -24,7 +41,7 @@ function b(e) {
24
41
  }
25
42
  return Array.from(t.values());
26
43
  }
27
- function x(e, t = "USD") {
44
+ function C(e, t = "USD") {
28
45
  if (e.currencyPrices && typeof e.currencyPrices == "object") {
29
46
  let n = e.currencyPrices;
30
47
  if (n[t] !== void 0 && n[t] !== null) return {
@@ -37,113 +54,113 @@ function x(e, t = "USD") {
37
54
  currency: e.currency || "USD"
38
55
  };
39
56
  }
40
- var S = () => {
41
- let { t } = y(), n = (e, n) => {
57
+ var w = () => {
58
+ let { t } = b(), n = (e, n) => {
42
59
  let r = t(e);
43
60
  return r === e ? n : r;
44
- }, r = o(), { productId: i } = e(), { addons: l, isLoading: d, error: f, refetch: p } = s({
61
+ }, r = o(), { productId: i } = e(), { addons: d, isLoading: f, error: p, refetch: m } = s({
45
62
  includeFree: !1,
46
63
  productId: i ?? void 0
47
- }), { addToCart: m, removeFromCart: h, updateQuantity: g, isInCart: b, getCartItem: x } = a(), [S, E] = u("grid"), [D, O] = u("all"), k = c(), A = l.filter((e) => !(!e.isActive || D !== "all" && e.duration !== D));
48
- return d && l.length === 0 ? /* @__PURE__ */ v("div", {
64
+ }), { addToCart: h, removeFromCart: g, updateQuantity: _, isInCart: S, getCartItem: C } = a(), [w, k] = u("grid"), [A, j] = u("all"), M = c(), N = d.filter((e) => !(!e.isActive || A !== "all" && e.duration !== A)), P = l(() => x(N), [N]);
65
+ return f && d.length === 0 ? /* @__PURE__ */ y("div", {
49
66
  className: "space-y-6 p-6",
50
- children: [/* @__PURE__ */ _("div", { className: "h-8 w-48 bg-muted animate-pulse rounded" }), /* @__PURE__ */ _("div", {
67
+ children: [/* @__PURE__ */ v("div", { className: "h-8 w-48 bg-muted animate-pulse rounded" }), /* @__PURE__ */ v("div", {
51
68
  className: "grid grid-cols-1 md:grid-cols-3 gap-6",
52
69
  children: [
53
70
  1,
54
71
  2,
55
72
  3
56
- ].map((e) => /* @__PURE__ */ v("div", {
73
+ ].map((e) => /* @__PURE__ */ y("div", {
57
74
  className: "border border-border rounded-lg p-6 space-y-4",
58
75
  children: [
59
- /* @__PURE__ */ _("div", { className: "h-6 w-24 bg-muted animate-pulse rounded" }),
60
- /* @__PURE__ */ _("div", { className: "h-8 w-32 bg-muted animate-pulse rounded" }),
61
- /* @__PURE__ */ _("div", {
76
+ /* @__PURE__ */ v("div", { className: "h-6 w-24 bg-muted animate-pulse rounded" }),
77
+ /* @__PURE__ */ v("div", { className: "h-8 w-32 bg-muted animate-pulse rounded" }),
78
+ /* @__PURE__ */ v("div", {
62
79
  className: "space-y-2",
63
80
  children: [
64
81
  1,
65
82
  2,
66
83
  3
67
- ].map((e) => /* @__PURE__ */ _("div", { className: "h-4 w-full bg-muted animate-pulse rounded" }, e))
84
+ ].map((e) => /* @__PURE__ */ v("div", { className: "h-4 w-full bg-muted animate-pulse rounded" }, e))
68
85
  })
69
86
  ]
70
87
  }, e))
71
88
  })]
72
- }) : f ? /* @__PURE__ */ _("div", {
89
+ }) : p ? /* @__PURE__ */ v("div", {
73
90
  className: "flex items-center justify-center h-full min-h-[400px]",
74
- children: /* @__PURE__ */ v("div", {
91
+ children: /* @__PURE__ */ y("div", {
75
92
  className: "text-center space-y-4",
76
93
  children: [
77
- /* @__PURE__ */ _("h2", {
94
+ /* @__PURE__ */ v("h2", {
78
95
  className: "text-lg font-semibold text-foreground",
79
96
  children: n("billing.addons.failedToLoad", "Failed to load addons")
80
97
  }),
81
- /* @__PURE__ */ _("p", {
98
+ /* @__PURE__ */ v("p", {
82
99
  className: "text-sm text-muted-foreground",
83
- children: f.message
100
+ children: p.message
84
101
  }),
85
- /* @__PURE__ */ _("button", {
102
+ /* @__PURE__ */ v("button", {
86
103
  type: "button",
87
- onClick: () => p(),
104
+ onClick: () => m(),
88
105
  className: "px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",
89
106
  children: "Try Again"
90
107
  })
91
108
  ]
92
109
  })
93
- }) : /* @__PURE__ */ v("div", {
110
+ }) : /* @__PURE__ */ y("div", {
94
111
  className: "space-y-6 p-6",
95
112
  children: [
96
- /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
113
+ /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("h1", {
97
114
  className: "text-2xl font-bold text-foreground",
98
115
  children: n("billing.addons.title", "Addons")
99
- }), /* @__PURE__ */ _("p", {
116
+ }), /* @__PURE__ */ v("p", {
100
117
  className: "text-sm text-muted-foreground mt-1",
101
118
  children: n("billing.addons.subtitle", "Enhance your subscription with additional features")
102
119
  })] }),
103
- /* @__PURE__ */ v("div", {
120
+ /* @__PURE__ */ y("div", {
104
121
  className: "flex flex-wrap items-center gap-4 pb-4 border-b border-border",
105
- children: [/* @__PURE__ */ _("div", {
122
+ children: [/* @__PURE__ */ v("div", {
106
123
  className: "inline-flex rounded-lg border border-border p-1 bg-muted/50",
107
124
  children: [
108
125
  "all",
109
126
  "monthly",
110
127
  "yearly"
111
- ].map((e) => /* @__PURE__ */ _("button", {
128
+ ].map((e) => /* @__PURE__ */ v("button", {
112
129
  type: "button",
113
- onClick: () => O(e),
114
- className: `px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${D === e ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
130
+ onClick: () => j(e),
131
+ className: `px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${A === e ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
115
132
  children: e === "all" ? "All" : e === "monthly" ? "Monthly" : "Yearly"
116
133
  }, e))
117
- }), /* @__PURE__ */ v("div", {
134
+ }), /* @__PURE__ */ y("div", {
118
135
  className: "ml-auto inline-flex rounded-lg border border-border p-1 bg-muted/50",
119
- children: [/* @__PURE__ */ _("button", {
136
+ children: [/* @__PURE__ */ v("button", {
120
137
  type: "button",
121
- onClick: () => E("grid"),
122
- className: `p-1.5 rounded-md transition-colors ${S === "grid" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
138
+ onClick: () => k("grid"),
139
+ className: `p-1.5 rounded-md transition-colors ${w === "grid" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
123
140
  title: "Grid view",
124
- children: /* @__PURE__ */ _("svg", {
141
+ children: /* @__PURE__ */ v("svg", {
125
142
  className: "size-4",
126
143
  fill: "none",
127
144
  viewBox: "0 0 24 24",
128
145
  stroke: "currentColor",
129
- children: /* @__PURE__ */ _("path", {
146
+ children: /* @__PURE__ */ v("path", {
130
147
  strokeLinecap: "round",
131
148
  strokeLinejoin: "round",
132
149
  strokeWidth: 2,
133
150
  d: "M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"
134
151
  })
135
152
  })
136
- }), /* @__PURE__ */ _("button", {
153
+ }), /* @__PURE__ */ v("button", {
137
154
  type: "button",
138
- onClick: () => E("list"),
139
- className: `p-1.5 rounded-md transition-colors ${S === "list" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
155
+ onClick: () => k("list"),
156
+ className: `p-1.5 rounded-md transition-colors ${w === "list" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
140
157
  title: "List view",
141
- children: /* @__PURE__ */ _("svg", {
158
+ children: /* @__PURE__ */ v("svg", {
142
159
  className: "size-4",
143
160
  fill: "none",
144
161
  viewBox: "0 0 24 24",
145
162
  stroke: "currentColor",
146
- children: /* @__PURE__ */ _("path", {
163
+ children: /* @__PURE__ */ v("path", {
147
164
  strokeLinecap: "round",
148
165
  strokeLinejoin: "round",
149
166
  strokeWidth: 2,
@@ -153,17 +170,17 @@ var S = () => {
153
170
  })]
154
171
  })]
155
172
  }),
156
- A.length === 0 ? /* @__PURE__ */ v("div", {
173
+ N.length === 0 ? /* @__PURE__ */ y("div", {
157
174
  className: "flex flex-col items-center justify-center py-12 border border-dashed border-border rounded-lg",
158
175
  children: [
159
- /* @__PURE__ */ _("div", {
176
+ /* @__PURE__ */ v("div", {
160
177
  className: "size-12 rounded-full bg-muted flex items-center justify-center mb-4",
161
- children: /* @__PURE__ */ _("svg", {
178
+ children: /* @__PURE__ */ v("svg", {
162
179
  className: "size-6 text-muted-foreground",
163
180
  fill: "none",
164
181
  viewBox: "0 0 24 24",
165
182
  stroke: "currentColor",
166
- children: /* @__PURE__ */ _("path", {
183
+ children: /* @__PURE__ */ v("path", {
167
184
  strokeLinecap: "round",
168
185
  strokeLinejoin: "round",
169
186
  strokeWidth: 2,
@@ -171,55 +188,239 @@ var S = () => {
171
188
  })
172
189
  })
173
190
  }),
174
- /* @__PURE__ */ _("h3", {
191
+ /* @__PURE__ */ v("h3", {
175
192
  className: "text-lg font-medium text-foreground",
176
193
  children: n("billing.addons.noAddonsAvailable", "No addons available")
177
194
  }),
178
- /* @__PURE__ */ _("p", {
195
+ /* @__PURE__ */ v("p", {
179
196
  className: "text-sm text-muted-foreground mt-1",
180
197
  children: n("billing.addons.checkBackLater", "Check back later for new addons.")
181
198
  })
182
199
  ]
183
- }) : S === "grid" ? /* @__PURE__ */ _("div", {
184
- className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
185
- children: A.map((e) => {
186
- let t = x(e.id);
187
- return /* @__PURE__ */ _(C, {
188
- addon: e,
189
- onView: () => r(`/addons/${e.id}`),
190
- isInCart: b(e.id),
191
- cartQuantity: t?.quantity || 0,
192
- onAddToCart: m,
193
- onUpdateQuantity: g,
194
- onRemoveFromCart: h,
195
- displayCurrency: k
196
- }, e.id);
197
- })
198
- }) : /* @__PURE__ */ _("div", {
199
- className: "space-y-3",
200
- children: A.map((e) => {
201
- let t = x(e.id);
202
- return /* @__PURE__ */ _(w, {
203
- addon: e,
204
- onView: () => r(`/addons/${e.id}`),
205
- isInCart: b(e.id),
206
- cartQuantity: t?.quantity || 0,
207
- onAddToCart: m,
208
- onUpdateQuantity: g,
209
- onRemoveFromCart: h,
210
- displayCurrency: k
211
- }, e.id);
200
+ }) : /* @__PURE__ */ v("div", {
201
+ className: "space-y-8",
202
+ children: P.map((e) => {
203
+ if (e.type === "group") return /* @__PURE__ */ v(T, {
204
+ groupName: e.name,
205
+ addons: e.addons,
206
+ viewMode: w,
207
+ getCartItem: C,
208
+ isInCart: S,
209
+ addToCart: h,
210
+ updateQuantity: _,
211
+ removeFromCart: g,
212
+ displayCurrency: M,
213
+ navigateTo: r
214
+ }, e.name);
215
+ let t = e.addon, n = C(t.id);
216
+ return v(w === "grid" ? E : D, {
217
+ addon: t,
218
+ onView: () => r(`/addons/${t.id}`),
219
+ isInCart: S(t.id),
220
+ cartQuantity: n?.quantity || 0,
221
+ onAddToCart: h,
222
+ onUpdateQuantity: _,
223
+ onRemoveFromCart: g,
224
+ displayCurrency: M
225
+ }, t.id);
212
226
  })
213
227
  }),
214
- /* @__PURE__ */ _(T, { displayCurrency: k })
228
+ /* @__PURE__ */ v(O, { displayCurrency: M })
215
229
  ]
216
230
  });
217
- }, C = ({ addon: e, onView: i, isInCart: a, cartQuantity: o, onAddToCart: s, onUpdateQuantity: c, onRemoveFromCart: u, displayCurrency: h }) => {
218
- let g = l(() => b(e.features || []), [e.features]);
219
- return /* @__PURE__ */ v("div", {
231
+ }, T = ({ groupName: e, addons: i, viewMode: a, getCartItem: o, isInCart: s, addToCart: c, updateQuantity: l, removeFromCart: u, displayCurrency: g, navigateTo: _ }) => {
232
+ let b = i.filter((e) => s(e.id)).length;
233
+ return /* @__PURE__ */ y("div", {
234
+ className: "border border-border rounded-xl overflow-hidden",
235
+ children: [/* @__PURE__ */ y("div", {
236
+ className: "flex items-center justify-between px-5 py-3 bg-muted/40 border-b border-border",
237
+ children: [/* @__PURE__ */ y("div", {
238
+ className: "flex items-center gap-2",
239
+ children: [
240
+ /* @__PURE__ */ v(f, { className: "size-4 text-muted-foreground" }),
241
+ /* @__PURE__ */ v("h2", {
242
+ className: "font-semibold text-foreground",
243
+ children: e
244
+ }),
245
+ /* @__PURE__ */ y("span", {
246
+ className: "text-xs text-muted-foreground",
247
+ children: [
248
+ i.length,
249
+ " option",
250
+ i.length === 1 ? "" : "s"
251
+ ]
252
+ })
253
+ ]
254
+ }), b > 0 && /* @__PURE__ */ y("span", {
255
+ className: "text-xs font-medium px-2 py-0.5 bg-primary text-primary-foreground rounded-full",
256
+ children: [b, " in cart"]
257
+ })]
258
+ }), a === "grid" ? /* @__PURE__ */ v("div", {
259
+ className: "p-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",
260
+ children: i.map((e) => {
261
+ let i = o(e.id), a = e.name.includes(" — ") ? e.name.slice(e.name.indexOf(" — ") + 3).trim() : e.name, f = s(e.id), b = i?.quantity ?? 0, { price: x, currency: S } = (() => {
262
+ if (e.currencyPrices && typeof e.currencyPrices == "object") {
263
+ let t = e.currencyPrices;
264
+ if (t[g] != null) return {
265
+ price: t[g],
266
+ currency: g
267
+ };
268
+ }
269
+ return {
270
+ price: e.price,
271
+ currency: e.currency || "USD"
272
+ };
273
+ })();
274
+ return /* @__PURE__ */ y("div", {
275
+ className: `relative flex flex-col rounded-lg border p-4 transition-all ${f ? "border-primary bg-primary/5" : "border-border bg-card hover:border-primary/40 hover:shadow-sm"}`,
276
+ children: [
277
+ f && /* @__PURE__ */ y("span", {
278
+ className: "absolute top-2 right-2 text-xs font-medium bg-primary text-primary-foreground px-1.5 py-0.5 rounded",
279
+ children: ["×", b]
280
+ }),
281
+ /* @__PURE__ */ v("p", {
282
+ className: "font-semibold text-foreground text-sm mb-1",
283
+ children: a
284
+ }),
285
+ /* @__PURE__ */ v("p", {
286
+ className: "text-xs text-muted-foreground mb-3",
287
+ children: r(e.duration)
288
+ }),
289
+ /* @__PURE__ */ y("p", {
290
+ className: "text-lg font-bold text-foreground mb-3",
291
+ children: [t(x, S), /* @__PURE__ */ y("span", {
292
+ className: "text-xs font-normal text-muted-foreground ml-1",
293
+ children: ["/ ", n(e.duration)]
294
+ })]
295
+ }),
296
+ /* @__PURE__ */ y("div", {
297
+ className: "mt-auto flex flex-col gap-2",
298
+ children: [f ? /* @__PURE__ */ y("div", {
299
+ className: "flex items-center gap-1",
300
+ children: [
301
+ /* @__PURE__ */ v("button", {
302
+ type: "button",
303
+ onClick: () => l(e.id, b - 1),
304
+ className: "p-1 rounded border border-border hover:bg-muted transition-colors",
305
+ children: /* @__PURE__ */ v(d, { className: "size-3" })
306
+ }),
307
+ /* @__PURE__ */ v("span", {
308
+ className: "flex-1 text-center text-sm font-medium",
309
+ children: b
310
+ }),
311
+ /* @__PURE__ */ v("button", {
312
+ type: "button",
313
+ onClick: () => l(e.id, b + 1),
314
+ className: "p-1 rounded border border-border hover:bg-muted transition-colors",
315
+ children: /* @__PURE__ */ v(p, { className: "size-3" })
316
+ }),
317
+ /* @__PURE__ */ v("button", {
318
+ type: "button",
319
+ onClick: () => u(e.id),
320
+ className: "p-1 rounded text-destructive hover:bg-destructive/10 transition-colors",
321
+ children: /* @__PURE__ */ v(h, { className: "size-3" })
322
+ })
323
+ ]
324
+ }) : /* @__PURE__ */ y("button", {
325
+ type: "button",
326
+ onClick: () => c(e),
327
+ className: "w-full py-1.5 text-xs font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors flex items-center justify-center gap-1",
328
+ children: [/* @__PURE__ */ v(m, { className: "size-3" }), "Add to Cart"]
329
+ }), /* @__PURE__ */ v("button", {
330
+ type: "button",
331
+ onClick: () => _(`/addons/${e.id}`),
332
+ className: "w-full py-1.5 text-xs font-medium border border-border text-foreground rounded-md hover:bg-muted transition-colors",
333
+ children: "Details"
334
+ })]
335
+ })
336
+ ]
337
+ }, e.id);
338
+ })
339
+ }) : /* @__PURE__ */ v("div", {
340
+ className: "divide-y divide-border",
341
+ children: i.map((e) => {
342
+ let i = o(e.id), a = e.name.includes(" — ") ? e.name.slice(e.name.indexOf(" — ") + 3).trim() : e.name, f = s(e.id), b = i?.quantity ?? 0, { price: x, currency: S } = (() => {
343
+ if (e.currencyPrices && typeof e.currencyPrices == "object") {
344
+ let t = e.currencyPrices;
345
+ if (t[g] != null) return {
346
+ price: t[g],
347
+ currency: g
348
+ };
349
+ }
350
+ return {
351
+ price: e.price,
352
+ currency: e.currency || "USD"
353
+ };
354
+ })();
355
+ return /* @__PURE__ */ y("div", {
356
+ className: `flex items-center gap-4 px-5 py-3 transition-colors ${f ? "bg-primary/5" : "hover:bg-muted/30"}`,
357
+ children: [
358
+ /* @__PURE__ */ y("div", {
359
+ className: "flex-1 min-w-0",
360
+ children: [/* @__PURE__ */ v("p", {
361
+ className: "font-medium text-foreground text-sm",
362
+ children: a
363
+ }), /* @__PURE__ */ v("p", {
364
+ className: "text-xs text-muted-foreground",
365
+ children: r(e.duration)
366
+ })]
367
+ }),
368
+ /* @__PURE__ */ y("p", {
369
+ className: "font-semibold text-foreground text-sm whitespace-nowrap",
370
+ children: [t(x, S), /* @__PURE__ */ y("span", {
371
+ className: "text-xs font-normal text-muted-foreground ml-1",
372
+ children: ["/ ", n(e.duration)]
373
+ })]
374
+ }),
375
+ f ? /* @__PURE__ */ y("div", {
376
+ className: "flex items-center gap-1",
377
+ children: [
378
+ /* @__PURE__ */ v("button", {
379
+ type: "button",
380
+ onClick: () => l(e.id, b - 1),
381
+ className: "p-1 rounded border border-border hover:bg-muted transition-colors",
382
+ children: /* @__PURE__ */ v(d, { className: "size-3" })
383
+ }),
384
+ /* @__PURE__ */ v("span", {
385
+ className: "w-6 text-center text-sm font-medium",
386
+ children: b
387
+ }),
388
+ /* @__PURE__ */ v("button", {
389
+ type: "button",
390
+ onClick: () => l(e.id, b + 1),
391
+ className: "p-1 rounded border border-border hover:bg-muted transition-colors",
392
+ children: /* @__PURE__ */ v(p, { className: "size-3" })
393
+ }),
394
+ /* @__PURE__ */ v("button", {
395
+ type: "button",
396
+ onClick: () => u(e.id),
397
+ className: "p-1 rounded text-destructive hover:bg-destructive/10 transition-colors",
398
+ children: /* @__PURE__ */ v(h, { className: "size-3" })
399
+ })
400
+ ]
401
+ }) : /* @__PURE__ */ y("button", {
402
+ type: "button",
403
+ onClick: () => c(e),
404
+ className: "px-2 py-1 text-xs font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors flex items-center gap-1",
405
+ children: [/* @__PURE__ */ v(m, { className: "size-3" }), "Add"]
406
+ }),
407
+ /* @__PURE__ */ v("button", {
408
+ type: "button",
409
+ onClick: () => _(`/addons/${e.id}`),
410
+ className: "px-2 py-1 text-xs font-medium border border-border text-foreground rounded-md hover:bg-muted transition-colors",
411
+ children: "Details"
412
+ })
413
+ ]
414
+ }, e.id);
415
+ })
416
+ })]
417
+ });
418
+ }, E = ({ addon: e, onView: i, isInCart: a, cartQuantity: o, onAddToCart: s, onUpdateQuantity: c, onRemoveFromCart: u, displayCurrency: f }) => {
419
+ let g = l(() => S(e.features || []), [e.features]);
420
+ return /* @__PURE__ */ y("div", {
220
421
  className: `relative border rounded-lg p-6 transition-all hover:shadow-md flex flex-col h-full ${a ? "border-primary bg-primary/5" : "border-border bg-card"}`,
221
422
  children: [
222
- a && /* @__PURE__ */ v("span", {
423
+ a && /* @__PURE__ */ y("span", {
223
424
  className: "absolute top-4 right-4 px-2 py-1 text-xs font-medium bg-primary text-primary-foreground rounded",
224
425
  children: [
225
426
  "In Cart (",
@@ -227,14 +428,14 @@ var S = () => {
227
428
  ")"
228
429
  ]
229
430
  }),
230
- /* @__PURE__ */ _("div", {
431
+ /* @__PURE__ */ v("div", {
231
432
  className: "size-10 rounded-lg bg-primary/10 flex items-center justify-center mb-4",
232
- children: /* @__PURE__ */ _("svg", {
433
+ children: /* @__PURE__ */ v("svg", {
233
434
  className: "size-5 text-primary",
234
435
  fill: "none",
235
436
  viewBox: "0 0 24 24",
236
437
  stroke: "currentColor",
237
- children: /* @__PURE__ */ _("path", {
438
+ children: /* @__PURE__ */ v("path", {
238
439
  strokeLinecap: "round",
239
440
  strokeLinejoin: "round",
240
441
  strokeWidth: 2,
@@ -242,55 +443,55 @@ var S = () => {
242
443
  })
243
444
  })
244
445
  }),
245
- /* @__PURE__ */ v("div", {
446
+ /* @__PURE__ */ y("div", {
246
447
  className: "mb-4",
247
- children: [/* @__PURE__ */ _("h3", {
448
+ children: [/* @__PURE__ */ v("h3", {
248
449
  className: "text-lg font-bold text-foreground",
249
450
  children: e.name
250
- }), /* @__PURE__ */ _("span", {
451
+ }), /* @__PURE__ */ v("span", {
251
452
  className: "text-sm text-muted-foreground",
252
453
  children: r(e.duration)
253
454
  })]
254
455
  }),
255
- /* @__PURE__ */ v("div", {
456
+ /* @__PURE__ */ y("div", {
256
457
  className: "flex items-baseline gap-1 mb-4",
257
- children: [/* @__PURE__ */ _("span", {
458
+ children: [/* @__PURE__ */ v("span", {
258
459
  className: "text-2xl font-bold text-foreground",
259
460
  children: (() => {
260
- let { price: n, currency: r } = x(e, h);
461
+ let { price: n, currency: r } = C(e, f);
261
462
  return t(n, r);
262
463
  })()
263
- }), /* @__PURE__ */ v("span", {
464
+ }), /* @__PURE__ */ y("span", {
264
465
  className: "text-muted-foreground text-sm",
265
466
  children: ["/ ", n(e.duration)]
266
467
  })]
267
468
  }),
268
- g.length > 0 && /* @__PURE__ */ v("ul", {
469
+ g.length > 0 && /* @__PURE__ */ y("ul", {
269
470
  className: "space-y-2 mb-4",
270
- children: [g.slice(0, 4).map((e) => /* @__PURE__ */ v("li", {
471
+ children: [g.slice(0, 4).map((e) => /* @__PURE__ */ y("li", {
271
472
  className: "flex items-center justify-between text-sm",
272
- children: [/* @__PURE__ */ v("div", {
473
+ children: [/* @__PURE__ */ y("div", {
273
474
  className: "flex items-center gap-2",
274
- children: [/* @__PURE__ */ _("svg", {
475
+ children: [/* @__PURE__ */ v("svg", {
275
476
  className: "size-4 text-status-success-text shrink-0",
276
477
  fill: "none",
277
478
  viewBox: "0 0 24 24",
278
479
  stroke: "currentColor",
279
- children: /* @__PURE__ */ _("path", {
480
+ children: /* @__PURE__ */ v("path", {
280
481
  strokeLinecap: "round",
281
482
  strokeLinejoin: "round",
282
483
  strokeWidth: 2,
283
484
  d: "M5 13l4 4L19 7"
284
485
  })
285
- }), /* @__PURE__ */ _("span", {
486
+ }), /* @__PURE__ */ v("span", {
286
487
  className: "text-foreground",
287
488
  children: e.name
288
489
  })]
289
- }), /* @__PURE__ */ _("span", {
490
+ }), /* @__PURE__ */ v("span", {
290
491
  className: "font-medium text-foreground",
291
492
  children: e.totalValue.toLocaleString()
292
493
  })]
293
- }, e.quotaId)), g.length > 4 && /* @__PURE__ */ v("li", {
494
+ }, e.quotaId)), g.length > 4 && /* @__PURE__ */ y("li", {
294
495
  className: "text-sm text-muted-foreground pl-6",
295
496
  children: [
296
497
  "+",
@@ -299,43 +500,43 @@ var S = () => {
299
500
  ]
300
501
  })]
301
502
  }),
302
- /* @__PURE__ */ v("div", {
503
+ /* @__PURE__ */ y("div", {
303
504
  className: "space-y-2 pt-4 border-t border-border mt-auto",
304
- children: [a ? /* @__PURE__ */ v("div", {
505
+ children: [a ? /* @__PURE__ */ y("div", {
305
506
  className: "flex items-center justify-between gap-2",
306
- children: [/* @__PURE__ */ v("div", {
507
+ children: [/* @__PURE__ */ y("div", {
307
508
  className: "flex items-center gap-1",
308
509
  children: [
309
- /* @__PURE__ */ _("button", {
510
+ /* @__PURE__ */ v("button", {
310
511
  type: "button",
311
512
  onClick: () => c(e.id, o - 1),
312
513
  className: "p-1.5 rounded border border-border hover:bg-muted transition-colors",
313
- children: /* @__PURE__ */ _(d, { className: "size-4" })
514
+ children: /* @__PURE__ */ v(d, { className: "size-4" })
314
515
  }),
315
- /* @__PURE__ */ _("span", {
516
+ /* @__PURE__ */ v("span", {
316
517
  className: "w-10 text-center font-medium",
317
518
  children: o
318
519
  }),
319
- /* @__PURE__ */ _("button", {
520
+ /* @__PURE__ */ v("button", {
320
521
  type: "button",
321
522
  onClick: () => c(e.id, o + 1),
322
523
  className: "p-1.5 rounded border border-border hover:bg-muted transition-colors",
323
- children: /* @__PURE__ */ _(f, { className: "size-4" })
524
+ children: /* @__PURE__ */ v(p, { className: "size-4" })
324
525
  })
325
526
  ]
326
- }), /* @__PURE__ */ _("button", {
527
+ }), /* @__PURE__ */ v("button", {
327
528
  type: "button",
328
529
  onClick: () => u(e.id),
329
530
  className: "p-1.5 rounded text-destructive hover:bg-destructive/10 transition-colors",
330
531
  title: "Remove from cart",
331
- children: /* @__PURE__ */ _(m, { className: "size-4" })
532
+ children: /* @__PURE__ */ v(h, { className: "size-4" })
332
533
  })]
333
- }) : /* @__PURE__ */ v("button", {
534
+ }) : /* @__PURE__ */ y("button", {
334
535
  type: "button",
335
536
  onClick: () => s(e),
336
537
  className: "w-full px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors flex items-center justify-center gap-2",
337
- children: [/* @__PURE__ */ _(p, { className: "size-4" }), "Add to Cart"]
338
- }), /* @__PURE__ */ _("button", {
538
+ children: [/* @__PURE__ */ v(m, { className: "size-4" }), "Add to Cart"]
539
+ }), /* @__PURE__ */ v("button", {
339
540
  type: "button",
340
541
  onClick: i,
341
542
  className: "w-full px-4 py-2 text-sm font-medium border border-border text-foreground rounded-md hover:bg-muted transition-colors",
@@ -344,19 +545,19 @@ var S = () => {
344
545
  })
345
546
  ]
346
547
  });
347
- }, w = ({ addon: e, onView: r, isInCart: i, cartQuantity: a, onAddToCart: o, onUpdateQuantity: s, onRemoveFromCart: c, displayCurrency: u }) => {
348
- let h = l(() => b(e.features || []), [e.features]);
349
- return /* @__PURE__ */ v("div", {
548
+ }, D = ({ addon: e, onView: r, isInCart: i, cartQuantity: a, onAddToCart: o, onUpdateQuantity: s, onRemoveFromCart: c, displayCurrency: u }) => {
549
+ let f = l(() => S(e.features || []), [e.features]);
550
+ return /* @__PURE__ */ y("div", {
350
551
  className: `flex items-center gap-4 p-4 border rounded-lg transition-all hover:shadow-sm ${i ? "border-primary bg-primary/5" : "border-border bg-card"}`,
351
552
  children: [
352
- /* @__PURE__ */ _("div", {
553
+ /* @__PURE__ */ v("div", {
353
554
  className: "size-10 rounded-lg bg-primary/10 flex items-center justify-center shrink-0",
354
- children: /* @__PURE__ */ _("svg", {
555
+ children: /* @__PURE__ */ v("svg", {
355
556
  className: "size-5 text-primary",
356
557
  fill: "none",
357
558
  viewBox: "0 0 24 24",
358
559
  stroke: "currentColor",
359
- children: /* @__PURE__ */ _("path", {
560
+ children: /* @__PURE__ */ v("path", {
360
561
  strokeLinecap: "round",
361
562
  strokeLinejoin: "round",
362
563
  strokeWidth: 2,
@@ -364,14 +565,14 @@ var S = () => {
364
565
  })
365
566
  })
366
567
  }),
367
- /* @__PURE__ */ v("div", {
568
+ /* @__PURE__ */ y("div", {
368
569
  className: "flex-1 min-w-0",
369
- children: [/* @__PURE__ */ v("div", {
570
+ children: [/* @__PURE__ */ y("div", {
370
571
  className: "flex items-center gap-2",
371
- children: [/* @__PURE__ */ _("h3", {
572
+ children: [/* @__PURE__ */ v("h3", {
372
573
  className: "font-semibold text-foreground truncate",
373
574
  children: e.name
374
- }), i && /* @__PURE__ */ v("span", {
575
+ }), i && /* @__PURE__ */ y("span", {
375
576
  className: "px-2 py-0.5 text-xs font-medium bg-primary text-primary-foreground rounded",
376
577
  children: [
377
578
  "In Cart (",
@@ -379,62 +580,62 @@ var S = () => {
379
580
  ")"
380
581
  ]
381
582
  })]
382
- }), /* @__PURE__ */ v("p", {
583
+ }), /* @__PURE__ */ y("p", {
383
584
  className: "text-sm text-muted-foreground",
384
585
  children: [
385
- h.length,
586
+ f.length,
386
587
  " quota",
387
- h.length === 1 ? "" : "s"
588
+ f.length === 1 ? "" : "s"
388
589
  ]
389
590
  })]
390
591
  }),
391
- /* @__PURE__ */ v("div", {
592
+ /* @__PURE__ */ y("div", {
392
593
  className: "text-right",
393
- children: [/* @__PURE__ */ _("div", {
594
+ children: [/* @__PURE__ */ v("div", {
394
595
  className: "font-semibold text-foreground",
395
596
  children: (() => {
396
- let { price: n, currency: r } = x(e, u);
597
+ let { price: n, currency: r } = C(e, u);
397
598
  return t(n, r);
398
599
  })()
399
- }), /* @__PURE__ */ v("div", {
600
+ }), /* @__PURE__ */ y("div", {
400
601
  className: "text-sm text-muted-foreground",
401
602
  children: ["per ", n(e.duration)]
402
603
  })]
403
604
  }),
404
- i ? /* @__PURE__ */ v("div", {
605
+ i ? /* @__PURE__ */ y("div", {
405
606
  className: "flex items-center gap-1",
406
607
  children: [
407
- /* @__PURE__ */ _("button", {
608
+ /* @__PURE__ */ v("button", {
408
609
  type: "button",
409
610
  onClick: () => s(e.id, a - 1),
410
611
  className: "p-1.5 rounded border border-border hover:bg-muted transition-colors",
411
- children: /* @__PURE__ */ _(d, { className: "size-4" })
612
+ children: /* @__PURE__ */ v(d, { className: "size-4" })
412
613
  }),
413
- /* @__PURE__ */ _("span", {
614
+ /* @__PURE__ */ v("span", {
414
615
  className: "w-8 text-center font-medium",
415
616
  children: a
416
617
  }),
417
- /* @__PURE__ */ _("button", {
618
+ /* @__PURE__ */ v("button", {
418
619
  type: "button",
419
620
  onClick: () => s(e.id, a + 1),
420
621
  className: "p-1.5 rounded border border-border hover:bg-muted transition-colors",
421
- children: /* @__PURE__ */ _(f, { className: "size-4" })
622
+ children: /* @__PURE__ */ v(p, { className: "size-4" })
422
623
  }),
423
- /* @__PURE__ */ _("button", {
624
+ /* @__PURE__ */ v("button", {
424
625
  type: "button",
425
626
  onClick: () => c(e.id),
426
627
  className: "p-1.5 rounded text-destructive hover:bg-destructive/10 transition-colors ml-1",
427
628
  title: "Remove from cart",
428
- children: /* @__PURE__ */ _(m, { className: "size-4" })
629
+ children: /* @__PURE__ */ v(h, { className: "size-4" })
429
630
  })
430
631
  ]
431
- }) : /* @__PURE__ */ v("button", {
632
+ }) : /* @__PURE__ */ y("button", {
432
633
  type: "button",
433
634
  onClick: () => o(e),
434
635
  className: "px-3 py-1.5 text-sm font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors flex items-center gap-1.5",
435
- children: [/* @__PURE__ */ _(p, { className: "size-4" }), "Add"]
636
+ children: [/* @__PURE__ */ v(m, { className: "size-4" }), "Add"]
436
637
  }),
437
- /* @__PURE__ */ _("button", {
638
+ /* @__PURE__ */ v("button", {
438
639
  type: "button",
439
640
  onClick: r,
440
641
  className: "px-3 py-1.5 text-sm font-medium border border-border text-foreground rounded-md hover:bg-muted transition-colors",
@@ -442,18 +643,18 @@ var S = () => {
442
643
  })
443
644
  ]
444
645
  });
445
- }, T = ({ displayCurrency: e }) => {
446
- let { t: r } = y(), i = (e, t) => {
646
+ }, O = ({ displayCurrency: e }) => {
647
+ let { t: r } = b(), i = (e, t) => {
447
648
  let n = r(e);
448
649
  return n === e ? t : n;
449
- }, s = o(), { items: c, isCartOpen: l, toggleCart: u, closeCart: b, removeFromCart: S, updateQuantity: C, clearCart: w } = a(), T = c.reduce((e, t) => e + t.quantity, 0);
450
- return c.length === 0 && !l ? null : /* @__PURE__ */ v(g, { children: [!l && c.length > 0 && /* @__PURE__ */ v("button", {
650
+ }, s = o(), { items: c, isCartOpen: l, toggleCart: u, closeCart: f, removeFromCart: x, updateQuantity: S, clearCart: w } = a(), T = c.reduce((e, t) => e + t.quantity, 0);
651
+ return c.length === 0 && !l ? null : /* @__PURE__ */ y(_, { children: [!l && c.length > 0 && /* @__PURE__ */ y("button", {
451
652
  type: "button",
452
653
  onClick: u,
453
654
  className: "fixed bottom-6 right-6 z-50 flex items-center gap-2 px-4 py-3 bg-primary text-primary-foreground rounded-full shadow-lg hover:bg-primary/90 transition-all",
454
655
  children: [
455
- /* @__PURE__ */ _(p, { className: "size-5" }),
456
- /* @__PURE__ */ v("span", {
656
+ /* @__PURE__ */ v(m, { className: "size-5" }),
657
+ /* @__PURE__ */ y("span", {
457
658
  className: "font-medium",
458
659
  children: [
459
660
  T,
@@ -461,33 +662,33 @@ var S = () => {
461
662
  T === 1 ? "" : "s"
462
663
  ]
463
664
  }),
464
- /* @__PURE__ */ _("span", {
665
+ /* @__PURE__ */ v("span", {
465
666
  className: "px-2 py-0.5 bg-primary-foreground/20 rounded-full text-sm",
466
667
  children: t(c.reduce((t, { addon: n, quantity: r }) => {
467
- let { price: i } = x(n, e);
668
+ let { price: i } = C(n, e);
468
669
  return t + i * r;
469
670
  }, 0), e)
470
671
  })
471
672
  ]
472
- }), l && /* @__PURE__ */ v("div", {
673
+ }), l && /* @__PURE__ */ y("div", {
473
674
  className: "fixed inset-0 z-50 flex items-end sm:items-center justify-center",
474
- children: [/* @__PURE__ */ _("div", {
675
+ children: [/* @__PURE__ */ v("div", {
475
676
  className: "absolute inset-0 bg-overlay-scrim",
476
- onClick: b
477
- }), /* @__PURE__ */ v("div", {
677
+ onClick: f
678
+ }), /* @__PURE__ */ y("div", {
478
679
  className: "relative w-full max-w-md max-h-[80vh] bg-card border border-border rounded-t-xl sm:rounded-xl shadow-xl overflow-hidden",
479
680
  children: [
480
- /* @__PURE__ */ v("div", {
681
+ /* @__PURE__ */ y("div", {
481
682
  className: "flex items-center justify-between px-4 py-3 border-b border-border bg-muted/30",
482
- children: [/* @__PURE__ */ v("div", {
683
+ children: [/* @__PURE__ */ y("div", {
483
684
  className: "flex items-center gap-2",
484
685
  children: [
485
- /* @__PURE__ */ _(p, { className: "size-5 text-foreground" }),
486
- /* @__PURE__ */ _("h3", {
686
+ /* @__PURE__ */ v(m, { className: "size-5 text-foreground" }),
687
+ /* @__PURE__ */ v("h3", {
487
688
  className: "font-semibold text-foreground",
488
689
  children: i("billing.addons.yourCart", "Your Cart")
489
690
  }),
490
- /* @__PURE__ */ v("span", {
691
+ /* @__PURE__ */ y("span", {
491
692
  className: "px-2 py-0.5 text-xs bg-primary text-primary-foreground rounded-full",
492
693
  children: [
493
694
  T,
@@ -496,28 +697,28 @@ var S = () => {
496
697
  ]
497
698
  })
498
699
  ]
499
- }), /* @__PURE__ */ _("button", {
700
+ }), /* @__PURE__ */ v("button", {
500
701
  type: "button",
501
- onClick: b,
702
+ onClick: f,
502
703
  className: "p-1.5 rounded hover:bg-muted transition-colors",
503
- children: /* @__PURE__ */ _(h, { className: "size-5" })
704
+ children: /* @__PURE__ */ v(g, { className: "size-5" })
504
705
  })]
505
706
  }),
506
- /* @__PURE__ */ _("div", {
707
+ /* @__PURE__ */ v("div", {
507
708
  className: "overflow-y-auto max-h-[50vh] divide-y divide-border",
508
- children: c.map(({ addon: r, quantity: i }) => /* @__PURE__ */ v("div", {
709
+ children: c.map(({ addon: r, quantity: i }) => /* @__PURE__ */ y("div", {
509
710
  className: "p-4 flex items-center gap-3",
510
711
  children: [
511
- /* @__PURE__ */ v("div", {
712
+ /* @__PURE__ */ y("div", {
512
713
  className: "flex-1 min-w-0",
513
- children: [/* @__PURE__ */ _("h4", {
714
+ children: [/* @__PURE__ */ v("h4", {
514
715
  className: "font-medium text-foreground truncate",
515
716
  children: r.name
516
- }), /* @__PURE__ */ v("p", {
717
+ }), /* @__PURE__ */ y("p", {
517
718
  className: "text-sm text-muted-foreground",
518
719
  children: [
519
720
  (() => {
520
- let { price: n, currency: i } = x(r, e);
721
+ let { price: n, currency: i } = C(r, e);
521
722
  return t(n, i);
522
723
  })(),
523
724
  " ",
@@ -526,68 +727,68 @@ var S = () => {
526
727
  ]
527
728
  })]
528
729
  }),
529
- /* @__PURE__ */ v("div", {
730
+ /* @__PURE__ */ y("div", {
530
731
  className: "flex items-center gap-1",
531
732
  children: [
532
- /* @__PURE__ */ _("button", {
733
+ /* @__PURE__ */ v("button", {
533
734
  type: "button",
534
- onClick: () => C(r.id, i - 1),
735
+ onClick: () => S(r.id, i - 1),
535
736
  className: "p-1 rounded border border-border hover:bg-muted transition-colors",
536
- children: /* @__PURE__ */ _(d, { className: "size-3" })
737
+ children: /* @__PURE__ */ v(d, { className: "size-3" })
537
738
  }),
538
- /* @__PURE__ */ _("span", {
739
+ /* @__PURE__ */ v("span", {
539
740
  className: "w-6 text-center text-sm font-medium",
540
741
  children: i
541
742
  }),
542
- /* @__PURE__ */ _("button", {
743
+ /* @__PURE__ */ v("button", {
543
744
  type: "button",
544
- onClick: () => C(r.id, i + 1),
745
+ onClick: () => S(r.id, i + 1),
545
746
  className: "p-1 rounded border border-border hover:bg-muted transition-colors",
546
- children: /* @__PURE__ */ _(f, { className: "size-3" })
747
+ children: /* @__PURE__ */ v(p, { className: "size-3" })
547
748
  })
548
749
  ]
549
750
  }),
550
- /* @__PURE__ */ _("p", {
751
+ /* @__PURE__ */ v("p", {
551
752
  className: "font-medium text-foreground",
552
753
  children: (() => {
553
- let { price: n, currency: a } = x(r, e);
754
+ let { price: n, currency: a } = C(r, e);
554
755
  return t(n * i, a);
555
756
  })()
556
757
  }),
557
- /* @__PURE__ */ _("button", {
758
+ /* @__PURE__ */ v("button", {
558
759
  type: "button",
559
- onClick: () => S(r.id),
760
+ onClick: () => x(r.id),
560
761
  className: "p-1.5 rounded text-destructive hover:bg-destructive/10 transition-colors",
561
- children: /* @__PURE__ */ _(m, { className: "size-4" })
762
+ children: /* @__PURE__ */ v(h, { className: "size-4" })
562
763
  })
563
764
  ]
564
765
  }, r.id))
565
766
  }),
566
- /* @__PURE__ */ v("div", {
767
+ /* @__PURE__ */ y("div", {
567
768
  className: "border-t border-border p-4 space-y-3 bg-muted/20",
568
- children: [/* @__PURE__ */ v("div", {
769
+ children: [/* @__PURE__ */ y("div", {
569
770
  className: "flex items-center justify-between text-lg font-semibold",
570
- children: [/* @__PURE__ */ _("span", {
771
+ children: [/* @__PURE__ */ v("span", {
571
772
  className: "text-foreground",
572
773
  children: i("billing.addons.total", "Total")
573
- }), /* @__PURE__ */ _("span", {
774
+ }), /* @__PURE__ */ v("span", {
574
775
  className: "text-foreground",
575
776
  children: t(c.reduce((t, { addon: n, quantity: r }) => {
576
- let { price: i } = x(n, e);
777
+ let { price: i } = C(n, e);
577
778
  return t + i * r;
578
779
  }, 0), e)
579
780
  })]
580
- }), /* @__PURE__ */ v("div", {
781
+ }), /* @__PURE__ */ y("div", {
581
782
  className: "flex gap-2",
582
- children: [/* @__PURE__ */ _("button", {
783
+ children: [/* @__PURE__ */ v("button", {
583
784
  type: "button",
584
785
  onClick: w,
585
786
  className: "flex-1 px-4 py-2.5 text-sm font-medium border border-border text-foreground rounded-md hover:bg-muted transition-colors",
586
787
  children: "Clear Cart"
587
- }), /* @__PURE__ */ _("button", {
788
+ }), /* @__PURE__ */ v("button", {
588
789
  type: "button",
589
790
  onClick: () => {
590
- b(), s("/checkout/addons");
791
+ f(), s("/checkout/addons");
591
792
  },
592
793
  className: "flex-1 px-4 py-2.5 text-sm font-medium bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",
593
794
  children: "Checkout"
@@ -599,6 +800,6 @@ var S = () => {
599
800
  })] });
600
801
  };
601
802
  //#endregion
602
- export { S as AddonsBrowsePage };
803
+ export { w as AddonsBrowsePage };
603
804
 
604
805
  //# sourceMappingURL=AddonsBrowsePage.js.map