@carlonicora/nextjs-jsonapi 6.11.0 → 6.12.0

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 (34) hide show
  1. package/dist/{BlockNoteEditor-GY5R25YI.js → BlockNoteEditor-R2SLOYS6.js} +74 -33
  2. package/dist/BlockNoteEditor-R2SLOYS6.js.map +1 -0
  3. package/dist/{BlockNoteEditor-5WM5DX3J.mjs → BlockNoteEditor-ZJPGGUQQ.mjs} +59 -18
  4. package/dist/BlockNoteEditor-ZJPGGUQQ.mjs.map +1 -0
  5. package/dist/billing/index.js +378 -378
  6. package/dist/billing/index.mjs +1 -1
  7. package/dist/{chunk-MP3DV2I5.js → chunk-BXR36J25.js} +2 -2
  8. package/dist/{chunk-MP3DV2I5.js.map → chunk-BXR36J25.js.map} +1 -1
  9. package/dist/{chunk-3PRLRCMF.mjs → chunk-SQUMPLNN.mjs} +2 -2
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.d.mts +21 -0
  13. package/dist/components/index.d.ts +21 -0
  14. package/dist/components/index.js +2 -2
  15. package/dist/components/index.mjs +1 -1
  16. package/dist/contexts/index.js +2 -2
  17. package/dist/contexts/index.mjs +1 -1
  18. package/dist/email-automations/index.js +58 -58
  19. package/dist/email-automations/index.mjs +1 -1
  20. package/dist/features/analytics/index.js +96 -96
  21. package/dist/features/analytics/index.mjs +1 -1
  22. package/dist/features/blog/index.js +93 -93
  23. package/dist/features/blog/index.mjs +1 -1
  24. package/dist/features/help/index.js +31 -31
  25. package/dist/features/help/index.mjs +1 -1
  26. package/dist/features/tokenusage/index.js +102 -102
  27. package/dist/features/tokenusage/index.mjs +1 -1
  28. package/package.json +8 -3
  29. package/src/components/editors/BlockNoteEditor.tsx +52 -20
  30. package/src/components/editors/__tests__/blocknote-editor-options.spec.ts +81 -0
  31. package/src/components/editors/blockNoteEditorOptions.ts +58 -0
  32. package/dist/BlockNoteEditor-5WM5DX3J.mjs.map +0 -1
  33. package/dist/BlockNoteEditor-GY5R25YI.js.map +0 -1
  34. /package/dist/{chunk-3PRLRCMF.mjs.map → chunk-SQUMPLNN.mjs.map} +0 -0
@@ -81,7 +81,7 @@
81
81
 
82
82
 
83
83
 
84
- var _chunkMP3DV2I5js = require('../chunk-MP3DV2I5.js');
84
+ var _chunkBXR36J25js = require('../chunk-BXR36J25.js');
85
85
 
86
86
 
87
87
  var _chunkFNPXCYHOjs = require('../chunk-FNPXCYHO.js');
@@ -159,43 +159,43 @@ function SubscriptionSummaryCard({
159
159
  onManageClick
160
160
  }) {
161
161
  const t = _nextintl.useTranslations.call(void 0, );
162
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
162
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
163
163
  if (loading) {
164
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
165
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
166
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
164
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
165
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
166
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
167
167
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-4 w-4 text-muted-foreground" })
168
168
  ] }),
169
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
170
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-32 mb-2" }),
171
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-24 mb-1" }),
172
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-40" })
169
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
170
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-32 mb-2" }),
171
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-24 mb-1" }),
172
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-40" })
173
173
  ] })
174
174
  ] });
175
175
  }
176
176
  if (error) {
177
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
178
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
179
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
177
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
178
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
179
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
180
180
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-4 w-4 text-muted-foreground" })
181
181
  ] }),
182
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
182
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
183
183
  ] });
184
184
  }
185
185
  const activeSubscriptions = subscriptions.filter(
186
186
  (sub) => sub.status === "active" /* ACTIVE */ || sub.status === "trialing" /* TRIALING */ || sub.status === "past_due" /* PAST_DUE */
187
187
  );
188
188
  const primarySubscription = activeSubscriptions[0];
189
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onManageClick, children: [
190
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
191
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
189
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onManageClick, children: [
190
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.subscriptions.title") }),
192
192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-4 w-4 text-muted-foreground" })
193
193
  ] }),
194
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: !primarySubscription ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
194
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: !primarySubscription ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
195
195
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold text-muted-foreground", children: t("billing.ui.cards.subscriptions.empty_title") }),
196
196
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.subscriptions.empty_description") }),
197
197
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
198
- _chunkMP3DV2I5js.Button,
198
+ _chunkBXR36J25js.Button,
199
199
  {
200
200
  variant: "outline",
201
201
  size: "sm",
@@ -213,8 +213,8 @@ function SubscriptionSummaryCard({
213
213
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
214
214
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
215
215
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold", children: formatPlanName(primarySubscription, t("billing.ui.cards.subscriptions.fallback_name")) }),
216
- primarySubscription.status === "past_due" /* PAST_DUE */ ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softRed", children: t("billing.ui.cards.subscriptions.payment_failing") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
217
- _chunkMP3DV2I5js.Badge,
216
+ primarySubscription.status === "past_due" /* PAST_DUE */ ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softRed", children: t("billing.ui.cards.subscriptions.payment_failing") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
217
+ _chunkBXR36J25js.Badge,
218
218
  {
219
219
  variant: primarySubscription.cancelAtPeriodEnd ? "secondary" : getStatusBadgeVariant(primarySubscription.status),
220
220
  children: primarySubscription.cancelAtPeriodEnd ? t("billing.ui.cards.subscriptions.canceling") : SUBSCRIPTION_STATUSES.includes(primarySubscription.status) ? t(`billing.ui.subscription_status.${primarySubscription.status}`) : primarySubscription.status
@@ -222,11 +222,11 @@ function SubscriptionSummaryCard({
222
222
  )
223
223
  ] }),
224
224
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: !_optionalChain([primarySubscription, 'access', _8 => _8.price, 'optionalAccess', _9 => _9.isTrial]) ? t("billing.ui.cards.subscriptions.ends_on", {
225
- date: _chunkMP3DV2I5js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
225
+ date: _chunkBXR36J25js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
226
226
  }) : primarySubscription.cancelAtPeriodEnd ? t("billing.ui.cards.subscriptions.cancels_on", {
227
- date: _chunkMP3DV2I5js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
227
+ date: _chunkBXR36J25js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
228
228
  }) : t("billing.ui.cards.subscriptions.renews_on", {
229
- date: _chunkMP3DV2I5js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
229
+ date: _chunkBXR36J25js.formatDate.call(void 0, primarySubscription.currentPeriodEnd, fmt)
230
230
  }) }),
231
231
  activeSubscriptions.length > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.subscriptions.more", { count: activeSubscriptions.length - 1 }) })
232
232
  ] }) })
@@ -260,37 +260,37 @@ function PaymentMethodSummaryCard({
260
260
  }) {
261
261
  const t = _nextintl.useTranslations.call(void 0, );
262
262
  if (loading) {
263
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
264
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
265
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.payment_method.title") }),
263
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
264
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
265
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.payment_method.title") }),
266
266
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Wallet, { className: "h-4 w-4 text-muted-foreground" })
267
267
  ] }),
268
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
269
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-32 mb-2" }),
270
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-24" })
268
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-32 mb-2" }),
270
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-24" })
271
271
  ] })
272
272
  ] });
273
273
  }
274
274
  if (error) {
275
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
276
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
277
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.payment_method.title") }),
275
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
276
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
277
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.payment_method.title") }),
278
278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Wallet, { className: "h-4 w-4 text-muted-foreground" })
279
279
  ] }),
280
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
280
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
281
281
  ] });
282
282
  }
283
283
  const defaultMethod = paymentMethods.find((pm) => pm.id === defaultPaymentMethodId) || paymentMethods[0];
284
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onManageClick, children: [
285
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
286
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.payment_method.title") }),
284
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onManageClick, children: [
285
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
286
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.payment_method.title") }),
287
287
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Wallet, { className: "h-4 w-4 text-muted-foreground" })
288
288
  ] }),
289
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: paymentMethods.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: paymentMethods.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
290
290
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold text-muted-foreground", children: t("billing.ui.cards.payment_method.empty_title") }),
291
291
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.payment_method.empty_description") }),
292
292
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
293
- _chunkMP3DV2I5js.Button,
293
+ _chunkBXR36J25js.Button,
294
294
  {
295
295
  variant: "outline",
296
296
  size: "sm",
@@ -354,45 +354,45 @@ function CustomerInfoCard({ customer, loading, error }) {
354
354
  }
355
355
  }, "handlePortalClick");
356
356
  if (loading) {
357
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
358
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
359
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
357
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
358
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
359
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
360
360
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.User, { className: "h-4 w-4 text-muted-foreground" })
361
361
  ] }),
362
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
363
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-32 mb-2" }),
364
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-48 mb-1" }),
365
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-24" })
362
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-32 mb-2" }),
364
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-48 mb-1" }),
365
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-24" })
366
366
  ] })
367
367
  ] });
368
368
  }
369
369
  if (error) {
370
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
371
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
372
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
370
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
371
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
372
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
373
373
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.User, { className: "h-4 w-4 text-muted-foreground" })
374
374
  ] }),
375
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
376
376
  ] });
377
377
  }
378
378
  if (!customer) {
379
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
380
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
381
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
379
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
380
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
381
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
382
382
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.User, { className: "h-4 w-4 text-muted-foreground" })
383
383
  ] }),
384
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
384
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
385
385
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold text-muted-foreground", children: t("billing.ui.cards.customer.not_set_up") }),
386
386
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.customer.not_set_up_description") })
387
387
  ] })
388
388
  ] });
389
389
  }
390
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
391
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
392
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
390
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
391
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
392
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.customer.title") }),
393
393
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.User, { className: "h-4 w-4 text-muted-foreground" })
394
394
  ] }),
395
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
396
396
  customer.name && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold", children: customer.name }),
397
397
  customer.email && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: customer.email }),
398
398
  customer.balance !== void 0 && customer.balance !== 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-sm", children: [
@@ -402,7 +402,7 @@ function CustomerInfoCard({ customer, loading, error }) {
402
402
  ] }),
403
403
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: customer.balance < 0 ? "text-success" : "text-destructive", children: formatBalance(customer.balance, customer.currency, locale) })
404
404
  ] }),
405
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", className: "mt-2", onClick: handlePortalClick, disabled: portalLoading, children: [
405
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", className: "mt-2", onClick: handlePortalClick, disabled: portalLoading, children: [
406
406
  portalLoading ? t("common.loading") : t("billing.ui.cards.customer.manage_portal"),
407
407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4 ms-1" })
408
408
  ] })
@@ -440,46 +440,46 @@ function formatAmount(amount, currency, locale) {
440
440
  _chunk7QVYU63Ejs.__name.call(void 0, formatAmount, "formatAmount");
441
441
  function InvoicesSummaryCard({ invoices, loading, error, onViewAllClick }) {
442
442
  const t = _nextintl.useTranslations.call(void 0, );
443
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
443
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
444
444
  if (loading) {
445
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
446
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
447
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
445
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
446
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
447
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
448
448
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ReceiptIcon, { className: "h-4 w-4 text-muted-foreground" })
449
449
  ] }),
450
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
451
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-24 mb-2" }),
452
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-32 mb-1" }),
453
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-20" })
450
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
451
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-24 mb-2" }),
452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-32 mb-1" }),
453
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-20" })
454
454
  ] })
455
455
  ] });
456
456
  }
457
457
  if (error) {
458
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
459
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
460
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
458
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
459
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
460
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
461
461
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ReceiptIcon, { className: "h-4 w-4 text-muted-foreground" })
462
462
  ] }),
463
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
463
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
464
464
  ] });
465
465
  }
466
466
  const latestInvoice = _nullishCoalesce(invoices.find((inv) => inv.status !== "void" /* VOID */), () => ( invoices[0]));
467
467
  const paidInvoices = invoices.filter((inv) => inv.status === "paid" /* PAID */);
468
468
  const openInvoices = invoices.filter((inv) => inv.status === "open" /* OPEN */);
469
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onViewAllClick, children: [
470
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
471
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
469
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onViewAllClick, children: [
470
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
471
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.invoices.title") }),
472
472
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ReceiptIcon, { className: "h-4 w-4 text-muted-foreground" })
473
473
  ] }),
474
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: invoices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
474
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: invoices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
475
475
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold text-muted-foreground", children: t("billing.ui.invoices.empty_title") }),
476
476
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.invoices.empty_description") })
477
477
  ] }) : latestInvoice ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
478
478
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
479
479
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold", children: formatAmount(latestInvoice.total, latestInvoice.currency, fmt.locale) }),
480
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: getStatusBadgeVariant2(latestInvoice.status), children: INVOICE_STATUSES.includes(latestInvoice.status) ? t(`billing.ui.invoice_status.${latestInvoice.status}`) : latestInvoice.status })
480
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: getStatusBadgeVariant2(latestInvoice.status), children: INVOICE_STATUSES.includes(latestInvoice.status) ? t(`billing.ui.invoice_status.${latestInvoice.status}`) : latestInvoice.status })
481
481
  ] }),
482
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: latestInvoice.stripeInvoiceNumber || t("billing.ui.cards.invoices.invoice_from", { date: _chunkMP3DV2I5js.formatDate.call(void 0, latestInvoice.periodStart, fmt) }) }),
482
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: latestInvoice.stripeInvoiceNumber || t("billing.ui.cards.invoices.invoice_from", { date: _chunkBXR36J25js.formatDate.call(void 0, latestInvoice.periodStart, fmt) }) }),
483
483
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 text-xs text-muted-foreground", children: [
484
484
  paidInvoices.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("billing.ui.cards.invoices.paid_count", { count: paidInvoices.length }) }),
485
485
  openInvoices.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-warning", children: t("billing.ui.cards.invoices.open_count", { count: openInvoices.length }) }),
@@ -514,24 +514,24 @@ function BillingUsageSummaryCard({
514
514
  const t = _nextintl.useTranslations.call(void 0, );
515
515
  const locale = _chunkYGEOX2XXjs.useI18nLocale.call(void 0, );
516
516
  if (loading) {
517
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
518
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
519
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
517
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
518
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
519
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
520
520
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Activity, { className: "h-4 w-4 text-muted-foreground" })
521
521
  ] }),
522
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { children: [
523
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-24 mb-2" }),
524
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-32" })
522
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { children: [
523
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-24 mb-2" }),
524
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-32" })
525
525
  ] })
526
526
  ] });
527
527
  }
528
528
  if (error) {
529
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
530
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
531
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
529
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
530
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
531
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
532
532
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Activity, { className: "h-4 w-4 text-muted-foreground" })
533
533
  ] }),
534
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
534
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) })
535
535
  ] });
536
536
  }
537
537
  const totalUsage = Object.values(summaries).reduce((acc, summary) => {
@@ -539,12 +539,12 @@ function BillingUsageSummaryCard({
539
539
  }, 0);
540
540
  const primaryMeter = meters.find((m) => _optionalChain([summaries, 'access', _17 => _17[m.id], 'optionalAccess', _18 => _18.aggregatedValue]));
541
541
  const primarySummary = primaryMeter ? summaries[primaryMeter.id] : null;
542
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onViewDetailsClick, children: [
543
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
544
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
542
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { className: "cursor-pointer hover:bg-accent/50 transition-colors", onClick: onViewDetailsClick, children: [
543
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
544
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.cards.usage.title") }),
545
545
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Activity, { className: "h-4 w-4 text-muted-foreground" })
546
546
  ] }),
547
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: meters.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
547
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: meters.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
548
548
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xl font-bold text-muted-foreground", children: t("billing.ui.cards.usage.no_meters") }),
549
549
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-xs text-muted-foreground", children: t("billing.ui.cards.usage.no_meters_description") })
550
550
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
@@ -655,7 +655,7 @@ function PaymentMethodForm({
655
655
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground", children: t("billing.ui.payment_form.loading") }) });
656
656
  }
657
657
  if (!setupIntent && error) {
658
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Alert, { variant: "destructive", className: "bg-red-50 border-red-200", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDescription, { children: error }) });
658
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Alert, { variant: "destructive", className: "bg-red-50 border-red-200", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDescription, { children: error }) });
659
659
  }
660
660
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col gap-y-4", children: [
661
661
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-md border border-gray-300 p-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -679,19 +679,19 @@ function PaymentMethodForm({
679
679
  ) }),
680
680
  !alwaysSetDefault && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-x-2", children: [
681
681
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
682
- _chunkMP3DV2I5js.Checkbox,
682
+ _chunkBXR36J25js.Checkbox,
683
683
  {
684
684
  id: "setAsDefault",
685
685
  checked: setAsDefault,
686
686
  onCheckedChange: (checked) => setSetAsDefault(!!checked)
687
687
  }
688
688
  ),
689
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Label, { htmlFor: "setAsDefault", className: "cursor-pointer font-normal", children: t("billing.ui.payment_form.set_default") })
689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Label, { htmlFor: "setAsDefault", className: "cursor-pointer font-normal", children: t("billing.ui.payment_form.set_default") })
690
690
  ] }),
691
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Alert, { variant: "destructive", className: "bg-red-50 border-red-200", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDescription, { children: error }) }),
691
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Alert, { variant: "destructive", className: "bg-red-50 border-red-200", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDescription, { children: error }) }),
692
692
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end gap-x-2", children: [
693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { type: "button", variant: "outline", onClick: onCancel, disabled: isSubmitting || isLoading, children: t("ui.buttons.cancel") }),
694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { type: "submit", disabled: !stripe || isSubmitting || isLoading, children: isSubmitting ? t("billing.ui.wizard.review.processing") : t("billing.ui.cards.payment_method.add_card") })
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { type: "button", variant: "outline", onClick: onCancel, disabled: isSubmitting || isLoading, children: t("ui.buttons.cancel") }),
694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { type: "submit", disabled: !stripe || isSubmitting || isLoading, children: isSubmitting ? t("billing.ui.wizard.review.processing") : t("billing.ui.cards.payment_method.add_card") })
695
695
  ] })
696
696
  ] });
697
697
  }
@@ -708,10 +708,10 @@ function PaymentMethodEditor({ open, onOpenChange, onSuccess }) {
708
708
  const handleCancel = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
709
709
  onOpenChange(false);
710
710
  }, "handleCancel");
711
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: "max-w-md", children: [
712
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: [
713
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: t("billing.ui.payment_methods.add") }),
714
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogDescription, { children: t("billing.ui.payment_methods.add_description") })
711
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: "max-w-md", children: [
712
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogHeader, { children: [
713
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: t("billing.ui.payment_methods.add") }),
714
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogDescription, { children: t("billing.ui.payment_methods.add_description") })
715
715
  ] }),
716
716
  open && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaymentMethodForm, { onSuccess: handleSuccess, onCancel: handleCancel })
717
717
  ] }) });
@@ -774,16 +774,16 @@ function PaymentMethodCard({ paymentMethod, onUpdate }) {
774
774
  }
775
775
  }, "handleRemove");
776
776
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
777
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { className: "relative", children: [
778
- isDefault && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGreen", className: "absolute end-2 top-2", children: t("billing.ui.payment_methods.default") }),
779
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center justify-between pb-2", children: [
777
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { className: "relative", children: [
778
+ isDefault && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGreen", className: "absolute end-2 top-2", children: t("billing.ui.payment_methods.default") }),
779
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center justify-between pb-2", children: [
780
780
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-x-2", children: [
781
781
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-2xl", children: brandIcon }),
782
782
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium capitalize", children: brand })
783
783
  ] }),
784
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DropdownMenu, { children: [
785
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DropdownMenuTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
786
- _chunkMP3DV2I5js.Button,
784
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DropdownMenu, { children: [
785
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DropdownMenuTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
786
+ _chunkBXR36J25js.Button,
787
787
  {
788
788
  render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
789
789
  nativeButton: false,
@@ -794,10 +794,10 @@ function PaymentMethodCard({ paymentMethod, onUpdate }) {
794
794
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.MoreVertical, { className: "h-4 w-4" })
795
795
  }
796
796
  ) }),
797
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DropdownMenuContent, { align: "end", children: [
798
- !isDefault && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DropdownMenuItem, { onClick: handleSetDefault, disabled: loading, children: t("billing.ui.payment_methods.set_default") }),
797
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DropdownMenuContent, { align: "end", children: [
798
+ !isDefault && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DropdownMenuItem, { onClick: handleSetDefault, disabled: loading, children: t("billing.ui.payment_methods.set_default") }),
799
799
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
800
- _chunkMP3DV2I5js.DropdownMenuItem,
800
+ _chunkBXR36J25js.DropdownMenuItem,
801
801
  {
802
802
  onClick: () => setShowRemoveDialog(true),
803
803
  disabled: loading,
@@ -808,7 +808,7 @@ function PaymentMethodCard({ paymentMethod, onUpdate }) {
808
808
  ] })
809
809
  ] })
810
810
  ] }),
811
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
811
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
812
812
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-lg font-semibold", children: [
813
813
  "\u2022\u2022\u2022\u2022 ",
814
814
  last4
@@ -816,17 +816,17 @@ function PaymentMethodCard({ paymentMethod, onUpdate }) {
816
816
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("billing.ui.payment_method.expires", { date: `${String(expMonth).padStart(2, "0")}/${expYear}` }) })
817
817
  ] }) })
818
818
  ] }),
819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDialog, { open: showRemoveDialog, onOpenChange: setShowRemoveDialog, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.AlertDialogContent, { children: [
820
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.AlertDialogHeader, { children: [
821
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDialogTitle, { children: t("billing.ui.payment_methods.remove_title") }),
822
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.AlertDialogDescription, { children: [
819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDialog, { open: showRemoveDialog, onOpenChange: setShowRemoveDialog, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.AlertDialogContent, { children: [
820
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.AlertDialogHeader, { children: [
821
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDialogTitle, { children: t("billing.ui.payment_methods.remove_title") }),
822
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.AlertDialogDescription, { children: [
823
823
  t("billing.ui.payment_methods.remove_description"),
824
824
  isDefault && ` ${t("billing.ui.payment_methods.remove_default_warning")}`
825
825
  ] })
826
826
  ] }),
827
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.AlertDialogFooter, { children: [
828
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDialogCancel, { disabled: loading, children: t("ui.buttons.cancel") }),
829
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDialogAction, { onClick: handleRemove, disabled: loading, className: "bg-red-600 hover:bg-red-700", children: loading ? t("billing.ui.payment_methods.removing") : t("ui.buttons.remove") })
827
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.AlertDialogFooter, { children: [
828
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDialogCancel, { disabled: loading, children: t("ui.buttons.cancel") }),
829
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDialogAction, { onClick: handleRemove, disabled: loading, className: "bg-red-600 hover:bg-red-700", children: loading ? t("billing.ui.payment_methods.removing") : t("ui.buttons.remove") })
830
830
  ] })
831
831
  ] }) })
832
832
  ] });
@@ -870,14 +870,14 @@ function PaymentMethodsContainer() {
870
870
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-8 w-8" }),
871
871
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-primary text-3xl font-semibold", children: t("billing.ui.payment_methods.title") })
872
872
  ] }),
873
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: () => setShowAddPaymentMethod(true), children: t("billing.ui.payment_methods.add") })
873
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: () => setShowAddPaymentMethod(true), children: t("billing.ui.payment_methods.add") })
874
874
  ] }),
875
875
  paymentMethods.length === 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center gap-y-4 rounded-lg border-2 border-dashed border-gray-300 bg-muted/50 p-12", children: [
876
876
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-16 w-16 text-muted-foreground" }),
877
877
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
878
878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-2 text-sm font-medium", children: t("billing.ui.payment_methods.empty_title") }),
879
879
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mb-4 text-muted-foreground", children: t("billing.ui.payment_methods.empty_description") }),
880
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: () => setShowAddPaymentMethod(true), children: t("billing.ui.payment_methods.add_first") })
880
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: () => setShowAddPaymentMethod(true), children: t("billing.ui.payment_methods.add_first") })
881
881
  ] })
882
882
  ] }),
883
883
  paymentMethods.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaymentMethodsList, { paymentMethods, onUpdate: loadPaymentMethods }),
@@ -933,7 +933,7 @@ var statusConfig = {
933
933
  function InvoiceStatusBadge({ status }) {
934
934
  const t = _nextintl.useTranslations.call(void 0, );
935
935
  const config = statusConfig[status] || statusConfig["draft" /* DRAFT */];
936
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: config.variant, children: t(config.label) });
936
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: config.variant, children: t(config.label) });
937
937
  }
938
938
  _chunk7QVYU63Ejs.__name.call(void 0, InvoiceStatusBadge, "InvoiceStatusBadge");
939
939
 
@@ -946,7 +946,7 @@ function InvoiceDetails({
946
946
  onInvoiceChange: _onInvoiceChange
947
947
  }) {
948
948
  const t = _nextintl.useTranslations.call(void 0, );
949
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
949
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
950
950
  const handleDownloadPDF = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
951
951
  if (invoice.stripePdfUrl) {
952
952
  window.open(invoice.stripePdfUrl, "_blank");
@@ -966,10 +966,10 @@ function InvoiceDetails({
966
966
  return invoice.stripeInvoiceId.slice(-8);
967
967
  }, "getInvoiceNumber");
968
968
  const productName = _optionalChain([invoice, 'access', _29 => _29.subscription, 'optionalAccess', _30 => _30.price, 'optionalAccess', _31 => _31.product, 'optionalAccess', _32 => _32.name]) || t("billing.ui.cards.subscriptions.fallback_name");
969
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: "max-w-2xl", children: [
970
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: [
971
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: t("billing.ui.invoice.title", { number: getInvoiceNumber() }) }),
972
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogDescription, { children: _chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodStart, fmt) })
969
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: "max-w-2xl", children: [
970
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogHeader, { children: [
971
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: t("billing.ui.invoice.title", { number: getInvoiceNumber() }) }),
972
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogDescription, { children: _chunkBXR36J25js.formatDate.call(void 0, invoice.periodStart, fmt) })
973
973
  ] }),
974
974
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6", children: [
975
975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-x-3", children: [
@@ -980,18 +980,18 @@ function InvoiceDetails({
980
980
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
981
981
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.invoice.billing_period") }),
982
982
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-sm", children: [
983
- _chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodStart, fmt),
983
+ _chunkBXR36J25js.formatDate.call(void 0, invoice.periodStart, fmt),
984
984
  " - ",
985
- _chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodEnd, fmt)
985
+ _chunkBXR36J25js.formatDate.call(void 0, invoice.periodEnd, fmt)
986
986
  ] })
987
987
  ] }),
988
988
  invoice.dueDate && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
989
989
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.invoice.due_date") }),
990
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: _chunkMP3DV2I5js.formatDate.call(void 0, invoice.dueDate, fmt) })
990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: _chunkBXR36J25js.formatDate.call(void 0, invoice.dueDate, fmt) })
991
991
  ] }),
992
992
  invoice.paidAt && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
993
993
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.invoice.paid_date") }),
994
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: _chunkMP3DV2I5js.formatDate.call(void 0, invoice.paidAt, fmt) })
994
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: _chunkBXR36J25js.formatDate.call(void 0, invoice.paidAt, fmt) })
995
995
  ] }),
996
996
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
997
997
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.invoice.attempt_count") }),
@@ -1034,15 +1034,15 @@ function InvoiceDetails({
1034
1034
  ] })
1035
1035
  ] }),
1036
1036
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2 pt-4 border-t", children: [
1037
- invoice.stripePdfUrl && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: handleDownloadPDF, children: [
1037
+ invoice.stripePdfUrl && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: handleDownloadPDF, children: [
1038
1038
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Download, { className: "me-2 h-4 w-4" }),
1039
1039
  t("billing.ui.invoice.download_pdf")
1040
1040
  ] }),
1041
- invoice.status === "open" /* OPEN */ && invoice.attempted && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "default", onClick: handleRetryPayment, children: [
1041
+ invoice.status === "open" /* OPEN */ && invoice.attempted && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "default", onClick: handleRetryPayment, children: [
1042
1042
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RefreshCw, { className: "me-2 h-4 w-4" }),
1043
1043
  t("billing.ui.invoice.retry_payment")
1044
1044
  ] }),
1045
- invoice.stripeHostedInvoiceUrl && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: handleViewInStripe, children: [
1045
+ invoice.stripeHostedInvoiceUrl && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: handleViewInStripe, children: [
1046
1046
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "me-2 h-4 w-4" }),
1047
1047
  t("billing.ui.invoice.view_in_stripe")
1048
1048
  ] })
@@ -1056,7 +1056,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, InvoiceDetails, "InvoiceDetails");
1056
1056
 
1057
1057
  function InvoicesList({ invoices, onInvoicesChange }) {
1058
1058
  const t = _nextintl.useTranslations.call(void 0, );
1059
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1059
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1060
1060
  const [selectedInvoice, setSelectedInvoice] = _react.useState.call(void 0, null);
1061
1061
  const handleRowClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (invoice) => {
1062
1062
  setSelectedInvoice(invoice);
@@ -1068,30 +1068,30 @@ function InvoicesList({ invoices, onInvoicesChange }) {
1068
1068
  return invoice.stripeInvoiceId.slice(-8);
1069
1069
  }, "getInvoiceNumber");
1070
1070
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1071
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border rounded-lg overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Table, { children: [
1072
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TableRow, { children: [
1073
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.invoice_number") }),
1074
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.date") }),
1075
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.status") }),
1076
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { className: "text-end", children: t("billing.ui.columns.amount") }),
1077
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.period") })
1071
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border rounded-lg overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Table, { children: [
1072
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TableRow, { children: [
1073
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.invoice_number") }),
1074
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.date") }),
1075
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.status") }),
1076
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { className: "text-end", children: t("billing.ui.columns.amount") }),
1077
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.period") })
1078
1078
  ] }) }),
1079
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableBody, { children: invoices.map((invoice) => {
1079
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableBody, { children: invoices.map((invoice) => {
1080
1080
  const invoiceNumber = getInvoiceNumber(invoice);
1081
- const date = _chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodStart, fmt);
1081
+ const date = _chunkBXR36J25js.formatDate.call(void 0, invoice.periodStart, fmt);
1082
1082
  const amount = _chunkYGEOX2XXjs.formatCurrency.call(void 0, invoice.total, invoice.currency, fmt);
1083
- const period = `${_chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodStart, fmt)} - ${_chunkMP3DV2I5js.formatDate.call(void 0, invoice.periodEnd, fmt)}`;
1083
+ const period = `${_chunkBXR36J25js.formatDate.call(void 0, invoice.periodStart, fmt)} - ${_chunkBXR36J25js.formatDate.call(void 0, invoice.periodEnd, fmt)}`;
1084
1084
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1085
- _chunkMP3DV2I5js.TableRow,
1085
+ _chunkBXR36J25js.TableRow,
1086
1086
  {
1087
1087
  onClick: () => handleRowClick(invoice),
1088
1088
  className: "cursor-pointer hover:bg-muted/50",
1089
1089
  children: [
1090
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "font-medium", children: invoiceNumber }),
1091
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-muted-foreground text-xs", children: date }),
1092
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InvoiceStatusBadge, { status: invoice.status }) }),
1093
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-end font-medium", children: amount }),
1094
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-muted-foreground text-xs", children: period })
1090
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "font-medium", children: invoiceNumber }),
1091
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-muted-foreground text-xs", children: date }),
1092
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InvoiceStatusBadge, { status: invoice.status }) }),
1093
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-end font-medium", children: amount }),
1094
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-muted-foreground text-xs", children: period })
1095
1095
  ]
1096
1096
  },
1097
1097
  invoice.id
@@ -1141,12 +1141,12 @@ function InvoicesContainer() {
1141
1141
  setStatusFilter(value);
1142
1142
  }, "handleFilterChange");
1143
1143
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
1144
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Tabs, { value: statusFilter, onValueChange: handleFilterChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TabsList, { children: [
1145
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "all", children: t("billing.ui.invoices.filter_all") }),
1146
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "paid" /* PAID */, children: t("billing.ui.invoice_status.paid") }),
1147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "open" /* OPEN */, children: t("billing.ui.invoice_status.open") }),
1148
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "void" /* VOID */, children: t("billing.ui.invoice_status.void") }),
1149
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "uncollectible" /* UNCOLLECTIBLE */, children: t("billing.ui.invoice_status.uncollectible") })
1144
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Tabs, { value: statusFilter, onValueChange: handleFilterChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TabsList, { children: [
1145
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "all", children: t("billing.ui.invoices.filter_all") }),
1146
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "paid" /* PAID */, children: t("billing.ui.invoice_status.paid") }),
1147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "open" /* OPEN */, children: t("billing.ui.invoice_status.open") }),
1148
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "void" /* VOID */, children: t("billing.ui.invoice_status.void") }),
1149
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "uncollectible" /* UNCOLLECTIBLE */, children: t("billing.ui.invoice_status.uncollectible") })
1150
1150
  ] }) }),
1151
1151
  loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-center py-8 text-muted-foreground", children: t("billing.ui.invoices.loading") }),
1152
1152
  !loading && invoices.length === 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "border border-dashed border-gray-300 rounded-lg p-8 text-center", children: [
@@ -1188,7 +1188,7 @@ function CancelSubscriptionDialog({
1188
1188
  onSuccess
1189
1189
  }) {
1190
1190
  const t = _nextintl.useTranslations.call(void 0, );
1191
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1191
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1192
1192
  const [isSubmitting, setIsSubmitting] = _react.useState.call(void 0, false);
1193
1193
  const form = _reacthookform.useForm.call(void 0, {
1194
1194
  resolver: _zod.zodResolver.call(void 0, formSchema),
@@ -1211,16 +1211,16 @@ function CancelSubscriptionDialog({
1211
1211
  setIsSubmitting(false);
1212
1212
  }
1213
1213
  }, "onSubmit");
1214
- const periodEndDate = _chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt);
1215
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: "max-w-md", children: [
1216
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: [
1217
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: t("billing.ui.subscription.cancel.title") }),
1218
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogDescription, { children: t("billing.ui.subscription.cancel.description") })
1214
+ const periodEndDate = _chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt);
1215
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: "max-w-md", children: [
1216
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogHeader, { children: [
1217
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: t("billing.ui.subscription.cancel.title") }),
1218
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogDescription, { children: t("billing.ui.subscription.cancel.description") })
1219
1219
  ] }),
1220
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Form, { ...form, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-y-4", children: [
1220
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Form, { ...form, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-y-4", children: [
1221
1221
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary/10 border-primary/30 text-foreground rounded-lg border p-3 text-sm", children: t("billing.ui.subscription.cancel.remains_active", { date: periodEndDate }) }),
1222
1222
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1223
- _chunkMP3DV2I5js.FormTextarea,
1223
+ _chunkBXR36J25js.FormTextarea,
1224
1224
  {
1225
1225
  form,
1226
1226
  id: "reason",
@@ -1230,8 +1230,8 @@ function CancelSubscriptionDialog({
1230
1230
  }
1231
1231
  ),
1232
1232
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-x-2 justify-end pt-2", children: [
1233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { type: "button", variant: "outline", onClick: () => onOpenChange(false), disabled: isSubmitting, children: t("billing.ui.subscription.cancel.keep") }),
1234
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { type: "submit", variant: "destructive", disabled: isSubmitting, children: isSubmitting ? t("billing.ui.subscription.cancel.canceling") : t("billing.ui.subscription.cancel.confirm") })
1233
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { type: "button", variant: "outline", onClick: () => onOpenChange(false), disabled: isSubmitting, children: t("billing.ui.subscription.cancel.keep") }),
1234
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { type: "submit", variant: "destructive", disabled: isSubmitting, children: isSubmitting ? t("billing.ui.subscription.cancel.canceling") : t("billing.ui.subscription.cancel.confirm") })
1235
1235
  ] })
1236
1236
  ] }) })
1237
1237
  ] }) });
@@ -1282,7 +1282,7 @@ var cancelingConfig = {
1282
1282
  function SubscriptionStatusBadge({ status, cancelAtPeriodEnd }) {
1283
1283
  const t = _nextintl.useTranslations.call(void 0, );
1284
1284
  const config = cancelAtPeriodEnd ? cancelingConfig : statusConfig2[status] || statusConfig2["canceled" /* CANCELED */];
1285
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: config.variant, children: t(config.label) });
1285
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: config.variant, children: t(config.label) });
1286
1286
  }
1287
1287
  _chunk7QVYU63Ejs.__name.call(void 0, SubscriptionStatusBadge, "SubscriptionStatusBadge");
1288
1288
 
@@ -1321,7 +1321,7 @@ function SubscriptionDetails({
1321
1321
  renderCancelDialog
1322
1322
  }) {
1323
1323
  const t = _nextintl.useTranslations.call(void 0, );
1324
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1324
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1325
1325
  const [showCancel, setShowCancel] = _react.useState.call(void 0, false);
1326
1326
  const handleManageViaPortal = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
1327
1327
  try {
@@ -1333,10 +1333,10 @@ function SubscriptionDetails({
1333
1333
  }, "handleManageViaPortal");
1334
1334
  const canCancel = subscription.status === "active" /* ACTIVE */ || subscription.status === "trialing" /* TRIALING */ || subscription.status === "paused" /* PAUSED */;
1335
1335
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1336
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: "max-w-2xl", children: [
1337
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: [
1338
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: t("billing.ui.subscription.details_title") }),
1339
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogDescription, { children: t("billing.ui.subscription.details_description") })
1336
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: "max-w-2xl", children: [
1337
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogHeader, { children: [
1338
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: t("billing.ui.subscription.details_title") }),
1339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogDescription, { children: t("billing.ui.subscription.details_description") })
1340
1340
  ] }),
1341
1341
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6", children: [
1342
1342
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-x-3", children: [
@@ -1362,22 +1362,22 @@ function SubscriptionDetails({
1362
1362
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-2", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between", children: [
1363
1363
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.subscription.current_period") }),
1364
1364
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-sm", children: [
1365
- _chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodStart, fmt),
1365
+ _chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodStart, fmt),
1366
1366
  " - ",
1367
- _chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)
1367
+ _chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)
1368
1368
  ] })
1369
1369
  ] }) }),
1370
1370
  subscription.trialEnd && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between", children: [
1371
1371
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.ui.subscription.trial_ends") }),
1372
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: _chunkMP3DV2I5js.formatDate.call(void 0, subscription.trialEnd, fmt) })
1372
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: _chunkBXR36J25js.formatDate.call(void 0, subscription.trialEnd, fmt) })
1373
1373
  ] }),
1374
1374
  subscription.cancelAtPeriodEnd && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-warning/15 border-warning/30 rounded-lg border p-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-warning text-xs/relaxed", children: t("billing.ui.subscription.cancel_at_period_end", {
1375
- date: _chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)
1375
+ date: _chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)
1376
1376
  }) }) }),
1377
1377
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap gap-2 pt-4 border-t", children: [
1378
- onChangePlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "default", onClick: () => onChangePlan(subscription), children: t("billing.ui.subscription.change_plan") }),
1379
- canCancel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "destructive", onClick: () => setShowCancel(true), children: t("ui.buttons.cancel") }),
1380
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: handleManageViaPortal, children: t("billing.ui.subscription.manage_portal") })
1378
+ onChangePlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "default", onClick: () => onChangePlan(subscription), children: t("billing.ui.subscription.change_plan") }),
1379
+ canCancel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "destructive", onClick: () => setShowCancel(true), children: t("ui.buttons.cancel") }),
1380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: handleManageViaPortal, children: t("billing.ui.subscription.manage_portal") })
1381
1381
  ] })
1382
1382
  ] })
1383
1383
  ] }) }),
@@ -1437,46 +1437,46 @@ function SubscriptionsList({
1437
1437
  renderCancelDialog
1438
1438
  }) {
1439
1439
  const t = _nextintl.useTranslations.call(void 0, );
1440
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1440
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1441
1441
  const [selectedSub, setSelectedSub] = _react.useState.call(void 0, null);
1442
1442
  const handleRowClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (subscription) => {
1443
1443
  setSelectedSub(subscription);
1444
1444
  }, "handleRowClick");
1445
1445
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1446
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border rounded-lg overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Table, { children: [
1447
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TableRow, { children: [
1448
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.status") }),
1449
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.plan") }),
1450
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.period") }),
1451
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { className: "text-end", children: t("billing.ui.columns.amount") }),
1452
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { className: "text-end", children: t("billing.ui.columns.actions") })
1446
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border rounded-lg overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Table, { children: [
1447
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TableRow, { children: [
1448
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.status") }),
1449
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.plan") }),
1450
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.period") }),
1451
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { className: "text-end", children: t("billing.ui.columns.amount") }),
1452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { className: "text-end", children: t("billing.ui.columns.actions") })
1453
1453
  ] }) }),
1454
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableBody, { children: subscriptions.map((subscription) => {
1454
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableBody, { children: subscriptions.map((subscription) => {
1455
1455
  const price = subscription.price;
1456
1456
  const amount = _optionalChain([price, 'optionalAccess', _42 => _42.unitAmount]) ? _chunkYGEOX2XXjs.formatCurrency.call(void 0, price.unitAmount, price.currency, fmt) : "0";
1457
- const discountedAmount = price ? _chunkMP3DV2I5js.applyDiscount.call(void 0, price.unitAmount, _chunkMP3DV2I5js.subscriptionDiscount.call(void 0, subscription)) : null;
1458
- const period = `${_chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodStart, fmt)} - ${_chunkMP3DV2I5js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)}`;
1457
+ const discountedAmount = price ? _chunkBXR36J25js.applyDiscount.call(void 0, price.unitAmount, _chunkBXR36J25js.subscriptionDiscount.call(void 0, subscription)) : null;
1458
+ const period = `${_chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodStart, fmt)} - ${_chunkBXR36J25js.formatDate.call(void 0, subscription.currentPeriodEnd, fmt)}`;
1459
1459
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1460
- _chunkMP3DV2I5js.TableRow,
1460
+ _chunkBXR36J25js.TableRow,
1461
1461
  {
1462
1462
  onClick: () => handleRowClick(subscription),
1463
1463
  className: "cursor-pointer hover:bg-muted/50",
1464
1464
  children: [
1465
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1465
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1466
1466
  SubscriptionStatusBadge,
1467
1467
  {
1468
1468
  status: subscription.status,
1469
1469
  cancelAtPeriodEnd: subscription.cancelAtPeriodEnd
1470
1470
  }
1471
1471
  ) }),
1472
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "font-medium", children: formatPlanName3(price, t) }),
1473
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-muted-foreground text-sm", children: period }),
1474
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-end font-medium", children: discountedAmount !== null && price ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1472
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "font-medium", children: formatPlanName3(price, t) }),
1473
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-muted-foreground text-sm", children: period }),
1474
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-end font-medium", children: discountedAmount !== null && price ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1475
1475
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-through text-muted-foreground me-2", children: amount }),
1476
1476
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-success", children: _chunkYGEOX2XXjs.formatCurrency.call(void 0, discountedAmount, price.currency, fmt) })
1477
1477
  ] }) : amount }),
1478
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-end", children: (subscription.status === "active" /* ACTIVE */ || subscription.status === "trialing" /* TRIALING */) && onChangePlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1479
- _chunkMP3DV2I5js.Button,
1478
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-end", children: (subscription.status === "active" /* ACTIVE */ || subscription.status === "trialing" /* TRIALING */) && onChangePlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1479
+ _chunkBXR36J25js.Button,
1480
1480
  {
1481
1481
  size: "sm",
1482
1482
  variant: "outline",
@@ -1559,7 +1559,7 @@ function SubscriptionsContainer({
1559
1559
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-8 w-8" }),
1560
1560
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-primary text-3xl font-semibold", children: t("billing.ui.subscriptions.title") })
1561
1561
  ] }),
1562
- subscriptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: () => _optionalChain([onOpenWizard, 'optionalCall', _44 => _44()]), children: hasActiveRecurringSubscription ? t("billing.ui.subscriptions.purchase_addons") : t("billing.ui.subscriptions.subscribe") })
1562
+ subscriptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: () => _optionalChain([onOpenWizard, 'optionalCall', _44 => _44()]), children: hasActiveRecurringSubscription ? t("billing.ui.subscriptions.purchase_addons") : t("billing.ui.subscriptions.subscribe") })
1563
1563
  ] }),
1564
1564
  criticalSubscriptions.map((subscription) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BillingAlertBanner, { subscription }, subscription.id)),
1565
1565
  subscriptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center py-12 space-y-4", children: [
@@ -1567,7 +1567,7 @@ function SubscriptionsContainer({
1567
1567
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
1568
1568
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-sm font-medium mb-2", children: t("billing.ui.subscriptions.empty_title") }),
1569
1569
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground mb-6", children: t("billing.ui.subscriptions.empty_description") }),
1570
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: () => _optionalChain([onOpenWizard, 'optionalCall', _45 => _45()]), children: t("billing.ui.subscriptions.subscribe") })
1570
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: () => _optionalChain([onOpenWizard, 'optionalCall', _45 => _45()]), children: t("billing.ui.subscriptions.subscribe") })
1571
1571
  ] })
1572
1572
  ] }),
1573
1573
  subscriptions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1591,9 +1591,9 @@ function IntervalToggle({ value, onChange, hasMonthly, hasYearly }) {
1591
1591
  if (!hasMonthly || !hasYearly) {
1592
1592
  return null;
1593
1593
  }
1594
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Tabs, { value, onValueChange: (v) => onChange(v), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TabsList, { children: [
1595
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "month", children: t("billing.admin.prices.interval.month") }),
1596
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TabsTrigger, { value: "year", children: t("billing.admin.prices.interval.year") })
1594
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Tabs, { value, onValueChange: (v) => onChange(v), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TabsList, { children: [
1595
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "month", children: t("billing.admin.prices.interval.month") }),
1596
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TabsTrigger, { value: "year", children: t("billing.admin.prices.interval.year") })
1597
1597
  ] }) });
1598
1598
  }
1599
1599
  _chunk7QVYU63Ejs.__name.call(void 0, IntervalToggle, "IntervalToggle");
@@ -1611,7 +1611,7 @@ function PricingCard({
1611
1611
  onSelect
1612
1612
  }) {
1613
1613
  const t = _nextintl.useTranslations.call(void 0, );
1614
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1614
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1615
1615
  const description = price.description || price.nickname || t("billing.ui.pricing.standard");
1616
1616
  const features = price.features || [];
1617
1617
  const formattedPrice = _chunkYGEOX2XXjs.formatCurrency.call(void 0, price.unitAmount, price.currency, fmt);
@@ -1628,7 +1628,7 @@ function PricingCard({
1628
1628
  }
1629
1629
  }, "handleClick");
1630
1630
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1631
- _chunkMP3DV2I5js.Card,
1631
+ _chunkBXR36J25js.Card,
1632
1632
  {
1633
1633
  role: "radio",
1634
1634
  "aria-checked": isSelected,
@@ -1646,9 +1646,9 @@ function PricingCard({
1646
1646
  isLoading && "pointer-events-none"
1647
1647
  ),
1648
1648
  children: [
1649
- isCurrentPlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "secondary", className: "absolute top-2 end-2", children: t("billing.ui.pricing.current") }),
1650
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-sm font-medium", children: description }) }),
1651
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { className: "pb-4 grow", children: [
1649
+ isCurrentPlan && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "secondary", className: "absolute top-2 end-2", children: t("billing.ui.pricing.current") }),
1650
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardHeader, { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-sm font-medium", children: description }) }),
1651
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { className: "pb-4 grow", children: [
1652
1652
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-4", children: [
1653
1653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-3xl font-bold", children: formattedPrice }),
1654
1654
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground ms-1", children: interval })
@@ -1658,8 +1658,8 @@ function PricingCard({
1658
1658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-muted-foreground", children: feature })
1659
1659
  ] }, index)) })
1660
1660
  ] }),
1661
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardFooter, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1662
- _chunkMP3DV2I5js.Button,
1661
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardFooter, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1662
+ _chunkBXR36J25js.Button,
1663
1663
  {
1664
1664
  variant: isCurrentPlan ? "secondary" : isSelected ? "default" : "outline",
1665
1665
  className: "w-full",
@@ -1692,7 +1692,7 @@ function ProductPricingRow({
1692
1692
  return null;
1693
1693
  }
1694
1694
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
1695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: product.name }),
1695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: product.name }),
1696
1696
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1697
1697
  "div",
1698
1698
  {
@@ -1793,15 +1793,15 @@ function ProductPricingList({
1793
1793
  _chunk7QVYU63Ejs.__name.call(void 0, ProductPricingList, "ProductPricingList");
1794
1794
  function ProductPricingListSkeleton() {
1795
1795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: [1, 2].map((rowIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
1796
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-32" }),
1796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-32" }),
1797
1797
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", children: [1, 2, 3].map((cardIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "p-4 rounded-lg border animate-pulse space-y-3", children: [
1798
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-6 w-24" }),
1799
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-8 w-32" }),
1798
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-6 w-24" }),
1799
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-8 w-32" }),
1800
1800
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
1801
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-full" }),
1802
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-4 w-3/4" })
1801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-full" }),
1802
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-4 w-3/4" })
1803
1803
  ] }),
1804
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Skeleton, { className: "h-10 w-full" })
1804
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Skeleton, { className: "h-10 w-full" })
1805
1805
  ] }, cardIndex)) })
1806
1806
  ] }, rowIndex)) });
1807
1807
  }
@@ -1812,7 +1812,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ProductPricingListSkeleton, "ProductPricing
1812
1812
 
1813
1813
  function ProrationPreview({ preview }) {
1814
1814
  const t = _nextintl.useTranslations.call(void 0, );
1815
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1815
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1816
1816
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-primary/10 border-primary/30 rounded-lg border p-4", children: [
1817
1817
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h4", { className: "text-primary mb-3 font-semibold", children: t("billing.ui.proration.title") }),
1818
1818
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
@@ -1838,7 +1838,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ProrationPreview, "ProrationPreview");
1838
1838
 
1839
1839
  function SubscriptionConfirmation({ price, isLoading, onConfirm, onCancel }) {
1840
1840
  const t = _nextintl.useTranslations.call(void 0, );
1841
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
1841
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
1842
1842
  const productName = _optionalChain([price, 'access', _51 => _51.product, 'optionalAccess', _52 => _52.name]) || price.nickname || t("billing.ui.wizard.review.selected_plan");
1843
1843
  const productDescription = _optionalChain([price, 'access', _53 => _53.product, 'optionalAccess', _54 => _54.description]) || price.description;
1844
1844
  const features = price.features || [];
@@ -1858,8 +1858,8 @@ function SubscriptionConfirmation({ price, isLoading, onConfirm, onCancel }) {
1858
1858
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: feature })
1859
1859
  ] }, index)) }),
1860
1860
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end gap-3 pt-2 border-t border-accent/30", children: [
1861
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: onCancel, disabled: isLoading, children: t("ui.buttons.cancel") }),
1862
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: onConfirm, disabled: isLoading, children: isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1861
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: onCancel, disabled: isLoading, children: t("ui.buttons.cancel") }),
1862
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: onConfirm, disabled: isLoading, children: isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1863
1863
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin me-2" }),
1864
1864
  t("billing.ui.wizard.review.processing")
1865
1865
  ] }) : t("billing.ui.confirmation.subscribe") })
@@ -2397,7 +2397,7 @@ function WizardStepPlanSelection({
2397
2397
  onSelectPrice: handleSelectPrice
2398
2398
  }
2399
2399
  ),
2400
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-end pt-4 border-t", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: onNext, disabled: !selectedPrice || isProcessing, children: isProcessing ? t("common.loading") : t("billing.ui.wizard.next_review") }) })
2400
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-end pt-4 border-t", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: onNext, disabled: !selectedPrice || isProcessing, children: isProcessing ? t("common.loading") : t("billing.ui.wizard.next_review") }) })
2401
2401
  ] });
2402
2402
  }
2403
2403
  _chunk7QVYU63Ejs.__name.call(void 0, WizardStepPlanSelection, "WizardStepPlanSelection");
@@ -2467,7 +2467,7 @@ function PromoCodeInput({
2467
2467
  const codeInput = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
2468
2468
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
2469
2469
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2470
- _chunkMP3DV2I5js.Input,
2470
+ _chunkBXR36J25js.Input,
2471
2471
  {
2472
2472
  placeholder: t("billing.ui.promo_code.placeholder"),
2473
2473
  value: code,
@@ -2477,7 +2477,7 @@ function PromoCodeInput({
2477
2477
  className: "flex-1"
2478
2478
  }
2479
2479
  ),
2480
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: handleApply, disabled: disabled || isValidating || !code.trim(), children: isValidating ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }) : t("billing.ui.promo_code.apply") })
2480
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: handleApply, disabled: disabled || isValidating || !code.trim(), children: isValidating ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }) : t("billing.ui.promo_code.apply") })
2481
2481
  ] }),
2482
2482
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error })
2483
2483
  ] });
@@ -2506,7 +2506,7 @@ function PromoCodeInput({
2506
2506
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-success text-sm", children: formatDiscount(appliedCode) })
2507
2507
  ] }),
2508
2508
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2509
- _chunkMP3DV2I5js.Button,
2509
+ _chunkBXR36J25js.Button,
2510
2510
  {
2511
2511
  variant: "ghost",
2512
2512
  size: "sm",
@@ -2554,7 +2554,7 @@ function WizardStepReview({
2554
2554
  isTrialUpgrade
2555
2555
  }) {
2556
2556
  const t = _nextintl.useTranslations.call(void 0, );
2557
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
2557
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
2558
2558
  const [card, setCard] = _react.useState.call(void 0, null);
2559
2559
  _react.useEffect.call(void 0, () => {
2560
2560
  if (!hasPaymentMethod) {
@@ -2581,11 +2581,11 @@ function WizardStepReview({
2581
2581
  const interval = _optionalChain([price, 'access', _93 => _93.recurring, 'optionalAccess', _94 => _94.interval]) || "month";
2582
2582
  return interval === "year" ? t("billing.ui.wizard.review.interval_yearly") : t("billing.ui.wizard.review.interval_monthly");
2583
2583
  }, "formatInterval");
2584
- const codeDiscount = _chunkMP3DV2I5js.promotionCodeDiscount.call(void 0, promotionCode);
2585
- const carriedDiscount = isChangingPlan && !codeDiscount ? _chunkMP3DV2I5js.subscriptionDiscount.call(void 0, subscription) : null;
2584
+ const codeDiscount = _chunkBXR36J25js.promotionCodeDiscount.call(void 0, promotionCode);
2585
+ const carriedDiscount = isChangingPlan && !codeDiscount ? _chunkBXR36J25js.subscriptionDiscount.call(void 0, subscription) : null;
2586
2586
  const discount = _nullishCoalesce(codeDiscount, () => ( carriedDiscount));
2587
- const discountedPrice = _chunkMP3DV2I5js.applyDiscount.call(void 0, selectedPrice.unitAmount, discount);
2588
- const discountedImmediateCharge = _chunkMP3DV2I5js.applyDiscount.call(void 0, _optionalChain([prorationPreview, 'optionalAccess', _95 => _95.immediateCharge]), discount);
2587
+ const discountedPrice = _chunkBXR36J25js.applyDiscount.call(void 0, selectedPrice.unitAmount, discount);
2588
+ const discountedImmediateCharge = _chunkBXR36J25js.applyDiscount.call(void 0, _optionalChain([prorationPreview, 'optionalAccess', _95 => _95.immediateCharge]), discount);
2589
2589
  const isProrationCredit = !isTrialUpgrade && (_nullishCoalesce(_nullishCoalesce(discountedImmediateCharge, () => ( _optionalChain([prorationPreview, 'optionalAccess', _96 => _96.immediateCharge]))), () => ( 0))) < 0;
2590
2590
  const prorationAmount = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (amount) => isProrationCredit ? Math.abs(amount) : amount, "prorationAmount");
2591
2591
  const getDiscountDescription = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -2600,7 +2600,7 @@ function WizardStepReview({
2600
2600
  const discountDescription = getDiscountDescription();
2601
2601
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6", children: [
2602
2602
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-muted/50 rounded-lg p-4 space-y-3", children: [
2603
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.ui.wizard.review.selected_plan") }),
2603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.ui.wizard.review.selected_plan") }),
2604
2604
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between items-center", children: [
2605
2605
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
2606
2606
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-medium", children: _optionalChain([selectedPrice, 'access', _97 => _97.product, 'optionalAccess', _98 => _98.name]) }),
@@ -2610,7 +2610,7 @@ function WizardStepReview({
2610
2610
  discountedPrice !== null ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2611
2611
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground line-through", children: _chunkYGEOX2XXjs.formatCurrency.call(void 0, selectedPrice.unitAmount || 0, selectedPrice.currency, fmt) }),
2612
2612
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-success text-lg font-semibold", children: _chunkYGEOX2XXjs.formatCurrency.call(void 0, discountedPrice, selectedPrice.currency, fmt) }),
2613
- discountDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGreen", children: discountDescription }),
2613
+ discountDescription && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGreen", children: discountDescription }),
2614
2614
  carriedDiscount && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("billing.ui.wizard.review.discount_carries_over") })
2615
2615
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-semibold text-lg", children: _chunkYGEOX2XXjs.formatCurrency.call(void 0, selectedPrice.unitAmount || 0, selectedPrice.currency, fmt) }),
2616
2616
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: formatInterval2(selectedPrice) })
@@ -2653,15 +2653,15 @@ function WizardStepReview({
2653
2653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h4", { className: "font-medium", children: t("billing.ui.payment_method.title") }),
2654
2654
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: hasPaymentMethod ? card ? t("billing.ui.wizard.review.card_on_file", { brand: card.brand, last4: card.last4 }) : t("billing.ui.wizard.review.payment_on_file") : t("billing.ui.wizard.review.no_payment_on_file") })
2655
2655
  ] }),
2656
- hasPaymentMethod ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: onAddPaymentMethod, disabled: isProcessing, children: t("billing.ui.wizard.review.use_another_card") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: onAddPaymentMethod, children: t("billing.ui.payment_methods.add") })
2656
+ hasPaymentMethod ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: onAddPaymentMethod, disabled: isProcessing, children: t("billing.ui.wizard.review.use_another_card") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: onAddPaymentMethod, children: t("billing.ui.payment_methods.add") })
2657
2657
  ] }) }),
2658
- error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Alert, { variant: "destructive", children: [
2658
+ error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Alert, { variant: "destructive", children: [
2659
2659
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-4 w-4" }),
2660
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDescription, { children: error })
2660
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDescription, { children: error })
2661
2661
  ] }),
2662
2662
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-between pt-4 border-t", children: [
2663
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", onClick: onBack, disabled: isProcessing, children: t("billing.ui.wizard.back") }),
2664
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: hasPaymentMethod ? onConfirm : onAddPaymentMethod, disabled: isProcessing, children: isProcessing ? t("billing.ui.wizard.review.processing") : hasPaymentMethod ? isChangingPlan ? t("billing.ui.wizard.review.confirm_change") : t("billing.ui.wizard.review.subscribe_now") : t("billing.ui.payment_methods.add") })
2663
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", onClick: onBack, disabled: isProcessing, children: t("billing.ui.wizard.back") }),
2664
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: hasPaymentMethod ? onConfirm : onAddPaymentMethod, disabled: isProcessing, children: isProcessing ? t("billing.ui.wizard.review.processing") : hasPaymentMethod ? isChangingPlan ? t("billing.ui.wizard.review.confirm_change") : t("billing.ui.wizard.review.subscribe_now") : t("billing.ui.payment_methods.add") })
2665
2665
  ] })
2666
2666
  ] });
2667
2667
  }
@@ -2674,7 +2674,7 @@ function WizardStepPaymentMethod({ onBack, onSuccess, isProcessing }) {
2674
2674
  const t = _nextintl.useTranslations.call(void 0, );
2675
2675
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6", children: [
2676
2676
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-center", children: [
2677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.ui.payment_methods.add") }),
2677
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.ui.payment_methods.add") }),
2678
2678
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("billing.ui.wizard.payment_description") })
2679
2679
  ] }),
2680
2680
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaymentMethodForm, { onSuccess, onCancel: onBack, isLoading: isProcessing, alwaysSetDefault: true })
@@ -2717,10 +2717,10 @@ function SubscriptionWizard({
2717
2717
  const isChangePlanMode = !!subscription;
2718
2718
  const dialogTitle = subscription ? t("billing.ui.wizard.change_title") : isPurchasingAddons ? t("billing.ui.subscriptions.purchase_addons") : t("billing.ui.subscriptions.subscribe");
2719
2719
  const dialogDescription = subscription ? t("billing.ui.wizard.change_description") : isPurchasingAddons ? t("billing.ui.wizard.addons_description") : t("billing.ui.wizard.subscribe_description");
2720
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: "max-w-2xl max-h-[90vh] overflow-y-auto", children: [
2721
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: [
2722
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: dialogTitle }),
2723
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogDescription, { children: dialogDescription })
2720
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: "max-w-2xl max-h-[90vh] overflow-y-auto", children: [
2721
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogHeader, { children: [
2722
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: dialogTitle }),
2723
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogDescription, { children: dialogDescription })
2724
2724
  ] }),
2725
2725
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WizardProgressIndicator, { currentStep: state.step }),
2726
2726
  state.step === "plan-selection" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2799,7 +2799,7 @@ function formatDate2(date, { locale, t }) {
2799
2799
  _chunk7QVYU63Ejs.__name.call(void 0, formatDate2, "formatDate");
2800
2800
  function UsageSummaryCard({ meter, summary }) {
2801
2801
  const t = _nextintl.useTranslations.call(void 0, );
2802
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
2802
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
2803
2803
  const currentUsage = _nullishCoalesce(_optionalChain([summary, 'optionalAccess', _101 => _101.aggregatedValue]), () => ( 0));
2804
2804
  const limit = meter.limit;
2805
2805
  const percentage = limit && limit > 0 ? currentUsage / limit * 100 : null;
@@ -2807,15 +2807,15 @@ function UsageSummaryCard({ meter, summary }) {
2807
2807
  const progressWidth = percentage !== null ? Math.min(percentage, 100) : 0;
2808
2808
  const displayName = meter.displayName || meter.eventName;
2809
2809
  const hasLimit = limit !== null && limit !== void 0;
2810
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
2811
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "flex flex-row items-center gap-x-3 pb-3", children: [
2810
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
2811
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "flex flex-row items-center gap-x-3 pb-3", children: [
2812
2812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-10 w-10 items-center justify-center rounded-lg bg-blue-100 text-blue-600", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Activity, { className: "h-5 w-5" }) }),
2813
2813
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
2814
2814
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-sm font-medium", children: displayName }),
2815
2815
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: meter.id })
2816
2816
  ] })
2817
2817
  ] }),
2818
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardContent, { className: "flex flex-col gap-y-4", children: [
2818
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardContent, { className: "flex flex-col gap-y-4", children: [
2819
2819
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
2820
2820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-3xl font-bold", children: currentUsage.toLocaleString(fmt.locale) }),
2821
2821
  hasLimit && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("billing.ui.usage.of_limit_used", { limit: limit.toLocaleString(fmt.locale) }) })
@@ -2934,27 +2934,27 @@ function formatDateTime(date, { locale, t }) {
2934
2934
  _chunk7QVYU63Ejs.__name.call(void 0, formatDateTime, "formatDateTime");
2935
2935
  function UsageHistoryTable({ usageRecords }) {
2936
2936
  const t = _nextintl.useTranslations.call(void 0, );
2937
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
2937
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
2938
2938
  if (usageRecords.length === 0) {
2939
2939
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border p-8 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground", children: t("billing.ui.usage.history_empty") }) });
2940
2940
  }
2941
2941
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
2942
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { level: 2, children: t("billing.ui.usage.history_title") }),
2943
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-clip rounded-lg border", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Table, { children: [
2944
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TableRow, { children: [
2945
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.date_time") }),
2946
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.meter_event") }),
2947
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { className: "text-end", children: t("billing.ui.columns.quantity") }),
2948
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableHead, { children: t("billing.ui.columns.event_id") })
2942
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { level: 2, children: t("billing.ui.usage.history_title") }),
2943
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-clip rounded-lg border", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Table, { children: [
2944
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHeader, { className: "bg-muted", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TableRow, { children: [
2945
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.date_time") }),
2946
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.meter_event") }),
2947
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { className: "text-end", children: t("billing.ui.columns.quantity") }),
2948
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableHead, { children: t("billing.ui.columns.event_id") })
2949
2949
  ] }) }),
2950
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableBody, { children: usageRecords.map((record) => {
2950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableBody, { children: usageRecords.map((record) => {
2951
2951
  const dateTime = formatDateTime(record.timestamp, fmt);
2952
2952
  const quantity = record.quantity.toLocaleString(fmt.locale);
2953
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.TableRow, { children: [
2954
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "font-medium", children: dateTime }),
2955
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-muted-foreground", children: record.meterEventName }),
2956
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-end font-medium", children: quantity }),
2957
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.TableCell, { className: "text-muted-foreground text-sm tabular-nums", children: record.stripeEventId })
2953
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.TableRow, { children: [
2954
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "font-medium", children: dateTime }),
2955
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-muted-foreground", children: record.meterEventName }),
2956
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-end font-medium", children: quantity }),
2957
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.TableCell, { className: "text-muted-foreground text-sm tabular-nums", children: record.stripeEventId })
2958
2958
  ] }, record.id);
2959
2959
  }) })
2960
2960
  ] }) })
@@ -2965,8 +2965,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, UsageHistoryTable, "UsageHistoryTable");
2965
2965
  // src/features/billing/components/modals/BillingDetailModal.tsx
2966
2966
 
2967
2967
  function BillingDetailModal({ open, onOpenChange, title, children, className }) {
2968
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.DialogContent, { className: _nullishCoalesce(className, () => ( "max-w-4xl max-h-[90vh] overflow-y-auto")), children: [
2969
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DialogTitle, { children: title }) }),
2968
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Dialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.DialogContent, { className: _nullishCoalesce(className, () => ( "max-w-4xl max-h-[90vh] overflow-y-auto")), children: [
2969
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DialogTitle, { children: title }) }),
2970
2970
  children
2971
2971
  ] }) });
2972
2972
  }
@@ -2994,7 +2994,7 @@ function BillingAlertBanner({ subscription, onUpdatePayment, onAddPayment }) {
2994
2994
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-destructive text-sm font-medium", children: t("billing.ui.alert.payment_failed_title") }),
2995
2995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive mt-1 text-sm", children: t("billing.ui.alert.payment_failed_description") })
2996
2996
  ] }),
2997
- onUpdatePayment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", onClick: onUpdatePayment, className: "text-destructive border-red-300", children: t("billing.ui.alert.update_payment_method") })
2997
+ onUpdatePayment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", onClick: onUpdatePayment, className: "text-destructive border-red-300", children: t("billing.ui.alert.update_payment_method") })
2998
2998
  ] });
2999
2999
  }
3000
3000
  if (subscription.status === "trialing" /* TRIALING */ && subscription.trialEnd) {
@@ -3008,7 +3008,7 @@ function BillingAlertBanner({ subscription, onUpdatePayment, onAddPayment }) {
3008
3008
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-warning text-sm font-medium", children: t("billing.ui.alert.trial_ending_title") }),
3009
3009
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-warning mt-1 text-sm", children: t("billing.ui.alert.trial_ending_description", { count: daysRemaining }) })
3010
3010
  ] }),
3011
- onAddPayment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", onClick: onAddPayment, className: "text-warning border-yellow-300", children: t("billing.ui.payment_methods.add") })
3011
+ onAddPayment && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", onClick: onAddPayment, className: "text-warning border-yellow-300", children: t("billing.ui.payment_methods.add") })
3012
3012
  ] });
3013
3013
  }
3014
3014
  }
@@ -3249,18 +3249,18 @@ function BillingDashboardContainer({ renderCancelDialog } = {}) {
3249
3249
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Wallet, { className: "h-8 w-8" }),
3250
3250
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-primary text-3xl font-semibold", children: t("billing.title") })
3251
3251
  ] }),
3252
- isInitialLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }) }),
3253
- noCustomerExists && !isInitialLoading && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Card, { children: [
3254
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.CardHeader, { className: "text-center", children: [
3252
+ isInitialLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }) }),
3253
+ noCustomerExists && !isInitialLoading && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Card, { children: [
3254
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.CardHeader, { className: "text-center", children: [
3255
3255
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-primary/10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CreditCard, { className: "h-8 w-8 text-primary" }) }),
3256
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardTitle, { children: t("billing.ui.dashboard.setup_title") }),
3257
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardDescription, { children: t("billing.ui.dashboard.setup_description") })
3256
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardTitle, { children: t("billing.ui.dashboard.setup_title") }),
3257
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardDescription, { children: t("billing.ui.dashboard.setup_description") })
3258
3258
  ] }),
3259
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { className: "flex justify-center pb-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Button, { onClick: handleCreateCustomer, disabled: creatingCustomer, size: "lg", children: creatingCustomer ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3259
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { className: "flex justify-center pb-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Button, { onClick: handleCreateCustomer, disabled: creatingCustomer, size: "lg", children: creatingCustomer ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3260
3260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "me-2 h-4 w-4 animate-spin" }),
3261
3261
  t("billing.ui.dashboard.setting_up")
3262
3262
  ] }) : t("billing.ui.dashboard.setup_button") }) }),
3263
- errors.customer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CardContent, { className: "pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-destructive text-xs/relaxed", children: t(errors.customer) }) })
3263
+ errors.customer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CardContent, { className: "pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-destructive text-xs/relaxed", children: t(errors.customer) }) })
3264
3264
  ] }),
3265
3265
  !noCustomerExists && !isInitialLoading && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3266
3266
  criticalSubscriptions.map((subscription) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -3430,18 +3430,18 @@ _chunk7QVYU63Ejs.__name.call(void 0, isStripeConfigured, "isStripeConfigured");
3430
3430
 
3431
3431
  function PriceArchiver({ price }) {
3432
3432
  const t = _nextintl.useTranslations.call(void 0, );
3433
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
3433
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
3434
3434
  const { archivePrice, restorePrice } = usePriceContext();
3435
3435
  const [open, setOpen] = _react.useState.call(void 0, false);
3436
3436
  const isArchived = !price.active;
3437
3437
  const scope = isArchived ? "restore" : "archive";
3438
3438
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3439
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
3439
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
3440
3440
  isArchived ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RotateCcwIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArchiveIcon, {}),
3441
3441
  t(`billing.admin.prices.${scope}.confirm`)
3442
3442
  ] }),
3443
3443
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3444
- _chunkMP3DV2I5js.ConfirmDialog,
3444
+ _chunkBXR36J25js.ConfirmDialog,
3445
3445
  {
3446
3446
  open,
3447
3447
  onOpenChange: setOpen,
@@ -3455,7 +3455,7 @@ function PriceArchiver({ price }) {
3455
3455
  if (isArchived) await restorePrice(price.id);
3456
3456
  else await archivePrice(price.id);
3457
3457
  } catch (error) {
3458
- _chunkMP3DV2I5js.errorToast.call(void 0, { title: t(`billing.admin.prices.${scope}.title`), error });
3458
+ _chunkBXR36J25js.errorToast.call(void 0, { title: t(`billing.admin.prices.${scope}.title`), error });
3459
3459
  throw error;
3460
3460
  }
3461
3461
  }
@@ -3487,7 +3487,7 @@ function PriceEditorInternal({
3487
3487
  onDialogOpenChange
3488
3488
  }) {
3489
3489
  const t = _nextintl.useTranslations.call(void 0, );
3490
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
3490
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
3491
3491
  const router = _chunkYGEOX2XXjs.useI18nRouter.call(void 0, );
3492
3492
  const { createPrice, updatePrice, productId: contextProductId } = usePriceContext();
3493
3493
  const [allFeatures, setAllFeatures] = _react.useState.call(void 0, []);
@@ -3629,7 +3629,7 @@ function PriceEditorInternal({
3629
3629
  { id: "metered", text: t("billing.admin.prices.usage.metered") }
3630
3630
  ];
3631
3631
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3632
- _chunkMP3DV2I5js.EditorSheet,
3632
+ _chunkBXR36J25js.EditorSheet,
3633
3633
  {
3634
3634
  form,
3635
3635
  entityType: t("billing.admin.prices.entity"),
@@ -3684,13 +3684,13 @@ function PriceEditorInternal({
3684
3684
  dialogOpen,
3685
3685
  onDialogOpenChange,
3686
3686
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
3687
- isEdit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Alert, { children: [
3688
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertTitle, { children: t("billing.admin.prices.immutability.title") }),
3689
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.AlertDescription, { children: t("billing.admin.prices.immutability.description") })
3687
+ isEdit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Alert, { children: [
3688
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertTitle, { children: t("billing.admin.prices.immutability.title") }),
3689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.AlertDescription, { children: t("billing.admin.prices.immutability.description") })
3690
3690
  ] }),
3691
3691
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-4", children: [
3692
3692
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3693
- _chunkMP3DV2I5js.FormInput,
3693
+ _chunkBXR36J25js.FormInput,
3694
3694
  {
3695
3695
  form,
3696
3696
  id: "unitAmount",
@@ -3702,7 +3702,7 @@ function PriceEditorInternal({
3702
3702
  }
3703
3703
  ),
3704
3704
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3705
- _chunkMP3DV2I5js.FormSelect,
3705
+ _chunkBXR36J25js.FormSelect,
3706
3706
  {
3707
3707
  form,
3708
3708
  id: "currency",
@@ -3713,7 +3713,7 @@ function PriceEditorInternal({
3713
3713
  )
3714
3714
  ] }),
3715
3715
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3716
- _chunkMP3DV2I5js.FormSelect,
3716
+ _chunkBXR36J25js.FormSelect,
3717
3717
  {
3718
3718
  form,
3719
3719
  id: "interval",
@@ -3724,7 +3724,7 @@ function PriceEditorInternal({
3724
3724
  ),
3725
3725
  isRecurring && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-4", children: [
3726
3726
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3727
- _chunkMP3DV2I5js.FormInput,
3727
+ _chunkBXR36J25js.FormInput,
3728
3728
  {
3729
3729
  form,
3730
3730
  id: "intervalCount",
@@ -3735,7 +3735,7 @@ function PriceEditorInternal({
3735
3735
  }
3736
3736
  ),
3737
3737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3738
- _chunkMP3DV2I5js.FormSelect,
3738
+ _chunkBXR36J25js.FormSelect,
3739
3739
  {
3740
3740
  form,
3741
3741
  id: "usageType",
@@ -3746,7 +3746,7 @@ function PriceEditorInternal({
3746
3746
  )
3747
3747
  ] }),
3748
3748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3749
- _chunkMP3DV2I5js.FormInput,
3749
+ _chunkBXR36J25js.FormInput,
3750
3750
  {
3751
3751
  form,
3752
3752
  id: "nickname",
@@ -3755,7 +3755,7 @@ function PriceEditorInternal({
3755
3755
  }
3756
3756
  ),
3757
3757
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3758
- _chunkMP3DV2I5js.FormTextarea,
3758
+ _chunkBXR36J25js.FormTextarea,
3759
3759
  {
3760
3760
  form,
3761
3761
  id: "description",
@@ -3765,7 +3765,7 @@ function PriceEditorInternal({
3765
3765
  }
3766
3766
  ),
3767
3767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3768
- _chunkMP3DV2I5js.FormInput,
3768
+ _chunkBXR36J25js.FormInput,
3769
3769
  {
3770
3770
  form,
3771
3771
  id: "token",
@@ -3775,10 +3775,10 @@ function PriceEditorInternal({
3775
3775
  }
3776
3776
  ),
3777
3777
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-2", children: [
3778
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.FieldLabel, { children: t("billing.admin.prices.fields.features") }),
3778
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.FieldLabel, { children: t("billing.admin.prices.fields.features") }),
3779
3779
  form.watch("features").map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2", children: [
3780
3780
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3781
- _chunkMP3DV2I5js.Input,
3781
+ _chunkBXR36J25js.Input,
3782
3782
  {
3783
3783
  ...form.register(`features.${index}`),
3784
3784
  placeholder: t("billing.admin.prices.placeholders.feature", { index: index + 1 }),
@@ -3786,7 +3786,7 @@ function PriceEditorInternal({
3786
3786
  }
3787
3787
  ),
3788
3788
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3789
- _chunkMP3DV2I5js.Button,
3789
+ _chunkBXR36J25js.Button,
3790
3790
  {
3791
3791
  type: "button",
3792
3792
  variant: "outline",
@@ -3801,7 +3801,7 @@ function PriceEditorInternal({
3801
3801
  )
3802
3802
  ] }, index)),
3803
3803
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3804
- _chunkMP3DV2I5js.Button,
3804
+ _chunkBXR36J25js.Button,
3805
3805
  {
3806
3806
  type: "button",
3807
3807
  variant: "outline",
@@ -3816,12 +3816,12 @@ function PriceEditorInternal({
3816
3816
  )
3817
3817
  ] }),
3818
3818
  isRecurring && allFeatures.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-2", children: [
3819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.FieldLabel, { children: t("billing.admin.prices.fields.platformFeatures") }),
3819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.FieldLabel, { children: t("billing.admin.prices.fields.platformFeatures") }),
3820
3820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex max-h-48 flex-col gap-y-2 overflow-y-auto rounded-md border p-4", children: allFeatures.map((feature) => {
3821
3821
  const isChecked = form.watch("featureIds").includes(feature.id);
3822
3822
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-x-2", children: [
3823
3823
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3824
- _chunkMP3DV2I5js.Checkbox,
3824
+ _chunkBXR36J25js.Checkbox,
3825
3825
  {
3826
3826
  id: `feature-${feature.id}`,
3827
3827
  checked: isChecked,
@@ -3837,13 +3837,13 @@ function PriceEditorInternal({
3837
3837
  }
3838
3838
  }
3839
3839
  ),
3840
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.FieldLabel, { htmlFor: `feature-${feature.id}`, children: feature.name }),
3840
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.FieldLabel, { htmlFor: `feature-${feature.id}`, children: feature.name }),
3841
3841
  feature.isCore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: t("billing.admin.prices.help.core") })
3842
3842
  ] }, feature.id);
3843
3843
  }) })
3844
3844
  ] }),
3845
3845
  isRecurring && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3846
- _chunkMP3DV2I5js.FormCheckbox,
3846
+ _chunkBXR36J25js.FormCheckbox,
3847
3847
  {
3848
3848
  form,
3849
3849
  id: "isTrial",
@@ -3896,9 +3896,9 @@ var PriceProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({
3896
3896
  productId: productIdProp
3897
3897
  }) => {
3898
3898
  const t = _nextintl.useTranslations.call(void 0, );
3899
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
3900
- const generateUrl = _chunkMP3DV2I5js.usePageUrlGenerator.call(void 0, );
3901
- const { hasRole } = _chunkMP3DV2I5js.useCurrentUserContext.call(void 0, );
3899
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
3900
+ const generateUrl = _chunkBXR36J25js.usePageUrlGenerator.call(void 0, );
3901
+ const { hasRole } = _chunkBXR36J25js.useCurrentUserContext.call(void 0, );
3902
3902
  const [price, setPrice] = _react.useState.call(void 0,
3903
3903
  dehydratedPrice ? _chunkYGEOX2XXjs.rehydrate.call(void 0, _chunkYGEOX2XXjs.Modules.StripePrice, dehydratedPrice) : void 0
3904
3904
  );
@@ -3986,7 +3986,7 @@ var PriceProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({
3986
3986
  }
3987
3987
  return response;
3988
3988
  }, "title");
3989
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PriceContext.Provider, { value, children }) });
3989
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PriceContext.Provider, { value, children }) });
3990
3990
  }, "PriceProvider");
3991
3991
  var usePriceContext = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => _nullishCoalesce(_react.useContext.call(void 0, PriceContext), () => ( defaultContextValue)), "usePriceContext");
3992
3992
 
@@ -4006,12 +4006,12 @@ function ProductArchiver({ product }) {
4006
4006
  const isArchived = !product.active;
4007
4007
  const scope = isArchived ? "restore" : "archive";
4008
4008
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4009
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
4009
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
4010
4010
  isArchived ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RotateCcwIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArchiveIcon, {}),
4011
4011
  t(`billing.admin.products.${scope}.confirm`)
4012
4012
  ] }),
4013
4013
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4014
- _chunkMP3DV2I5js.ConfirmDialog,
4014
+ _chunkBXR36J25js.ConfirmDialog,
4015
4015
  {
4016
4016
  open,
4017
4017
  onOpenChange: setOpen,
@@ -4025,7 +4025,7 @@ function ProductArchiver({ product }) {
4025
4025
  if (isArchived) await restoreProduct(product.id);
4026
4026
  else await archiveProduct(product.id);
4027
4027
  } catch (error) {
4028
- _chunkMP3DV2I5js.errorToast.call(void 0, { title: t(`billing.admin.products.${scope}.title`), error });
4028
+ _chunkBXR36J25js.errorToast.call(void 0, { title: t(`billing.admin.products.${scope}.title`), error });
4029
4029
  throw error;
4030
4030
  }
4031
4031
  }
@@ -4078,7 +4078,7 @@ function ProductEditorInternal({
4078
4078
  defaultValues: getDefaultValues()
4079
4079
  });
4080
4080
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4081
- _chunkMP3DV2I5js.EditorSheet,
4081
+ _chunkBXR36J25js.EditorSheet,
4082
4082
  {
4083
4083
  form,
4084
4084
  entityType: t("billing.admin.products.entity"),
@@ -4101,7 +4101,7 @@ function ProductEditorInternal({
4101
4101
  onDialogOpenChange,
4102
4102
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
4103
4103
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4104
- _chunkMP3DV2I5js.FormInput,
4104
+ _chunkBXR36J25js.FormInput,
4105
4105
  {
4106
4106
  form,
4107
4107
  id: "name",
@@ -4111,7 +4111,7 @@ function ProductEditorInternal({
4111
4111
  }
4112
4112
  ),
4113
4113
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4114
- _chunkMP3DV2I5js.FormTextarea,
4114
+ _chunkBXR36J25js.FormTextarea,
4115
4115
  {
4116
4116
  form,
4117
4117
  id: "description",
@@ -4155,8 +4155,8 @@ var defaultContextValue2 = {
4155
4155
  };
4156
4156
  var ProductProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ children, dehydratedProduct, publishChrome = true }) => {
4157
4157
  const t = _nextintl.useTranslations.call(void 0, );
4158
- const generateUrl = _chunkMP3DV2I5js.usePageUrlGenerator.call(void 0, );
4159
- const { hasRole } = _chunkMP3DV2I5js.useCurrentUserContext.call(void 0, );
4158
+ const generateUrl = _chunkBXR36J25js.usePageUrlGenerator.call(void 0, );
4159
+ const { hasRole } = _chunkBXR36J25js.useCurrentUserContext.call(void 0, );
4160
4160
  const [product, setProduct] = _react.useState.call(void 0,
4161
4161
  dehydratedProduct ? _chunkYGEOX2XXjs.rehydrate.call(void 0, _chunkYGEOX2XXjs.Modules.StripeProduct, dehydratedProduct) : void 0
4162
4162
  );
@@ -4250,7 +4250,7 @@ var ProductProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ ch
4250
4250
  }
4251
4251
  return response;
4252
4252
  }, "title");
4253
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductContext.Provider, { value, children }) });
4253
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductContext.Provider, { value, children }) });
4254
4254
  }, "ProductProvider");
4255
4255
  var useProductContext = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => _nullishCoalesce(_react.useContext.call(void 0, ProductContext), () => ( defaultContextValue2)), "useProductContext");
4256
4256
 
@@ -4259,57 +4259,57 @@ var useProductContext = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ()
4259
4259
 
4260
4260
  function PriceDetails() {
4261
4261
  const t = _nextintl.useTranslations.call(void 0, );
4262
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
4263
- const generateUrl = _chunkMP3DV2I5js.usePageUrlGenerator.call(void 0, );
4262
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
4263
+ const generateUrl = _chunkBXR36J25js.usePageUrlGenerator.call(void 0, );
4264
4264
  const { price } = usePriceContext();
4265
4265
  if (!price) return null;
4266
4266
  const isRecurring = price.priceType === "recurring";
4267
4267
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-8", children: [
4268
4268
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
4269
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.admin.prices.title") }),
4269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.admin.prices.title") }),
4270
4270
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
4271
4271
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4272
- _chunkMP3DV2I5js.DetailField,
4272
+ _chunkBXR36J25js.DetailField,
4273
4273
  {
4274
4274
  label: t("billing.admin.prices.fields.product"),
4275
- value: price.product ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Link, { href: generateUrl({ page: _chunkYGEOX2XXjs.Modules.StripeProduct, id: price.product.id }), children: price.product.name }) : "\u2014"
4275
+ value: price.product ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Link, { href: generateUrl({ page: _chunkYGEOX2XXjs.Modules.StripeProduct, id: price.product.id }), children: price.product.name }) : "\u2014"
4276
4276
  }
4277
4277
  ),
4278
4278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4279
- _chunkMP3DV2I5js.DetailField,
4279
+ _chunkBXR36J25js.DetailField,
4280
4280
  {
4281
4281
  label: t("billing.admin.prices.fields.status"),
4282
4282
  value: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-wrap items-center gap-1", children: [
4283
- price.active ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGreen", children: t("billing.admin.prices.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGray", children: t("billing.admin.prices.status.archived") }),
4284
- price.isTrial && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softBlue", children: t("billing.admin.prices.badge.trial") })
4283
+ price.active ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGreen", children: t("billing.admin.prices.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGray", children: t("billing.admin.prices.status.archived") }),
4284
+ price.isTrial && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softBlue", children: t("billing.admin.prices.badge.trial") })
4285
4285
  ] })
4286
4286
  }
4287
4287
  ),
4288
4288
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4289
- _chunkMP3DV2I5js.DetailField,
4289
+ _chunkBXR36J25js.DetailField,
4290
4290
  {
4291
4291
  label: t("billing.admin.prices.fields.amount"),
4292
4292
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: _chunkYGEOX2XXjs.formatCurrency.call(void 0, price.unitAmount, price.currency, fmt) })
4293
4293
  }
4294
4294
  ),
4295
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DetailField, { label: t("billing.admin.prices.fields.currency"), value: price.currency.toUpperCase() }),
4295
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DetailField, { label: t("billing.admin.prices.fields.currency"), value: price.currency.toUpperCase() }),
4296
4296
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4297
- _chunkMP3DV2I5js.DetailField,
4297
+ _chunkBXR36J25js.DetailField,
4298
4298
  {
4299
4299
  label: t("billing.admin.prices.fields.type"),
4300
4300
  value: isRecurring ? t("billing.admin.prices.type.recurring") : t("billing.admin.prices.type.oneTime")
4301
4301
  }
4302
4302
  ),
4303
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DetailField, { label: t("billing.admin.prices.fields.billing"), value: _chunkYGEOX2XXjs.formatInterval.call(void 0, price, fmt) }),
4303
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DetailField, { label: t("billing.admin.prices.fields.billing"), value: _chunkYGEOX2XXjs.formatInterval.call(void 0, price, fmt) }),
4304
4304
  isRecurring && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4305
- _chunkMP3DV2I5js.DetailField,
4305
+ _chunkBXR36J25js.DetailField,
4306
4306
  {
4307
4307
  label: t("billing.admin.prices.fields.intervalCount"),
4308
4308
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: _nullishCoalesce(_optionalChain([price, 'access', _163 => _163.recurring, 'optionalAccess', _164 => _164.intervalCount]), () => ( 1)) })
4309
4309
  }
4310
4310
  ),
4311
4311
  isRecurring && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4312
- _chunkMP3DV2I5js.DetailField,
4312
+ _chunkBXR36J25js.DetailField,
4313
4313
  {
4314
4314
  label: t("billing.admin.prices.fields.usageType"),
4315
4315
  value: _optionalChain([price, 'access', _165 => _165.recurring, 'optionalAccess', _166 => _166.usageType]) === "metered" ? t("billing.admin.prices.usage.metered") : t("billing.admin.prices.usage.licensed")
@@ -4318,24 +4318,24 @@ function PriceDetails() {
4318
4318
  ] })
4319
4319
  ] }),
4320
4320
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
4321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.admin.prices.fields.platformFeatures") }),
4321
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.admin.prices.fields.platformFeatures") }),
4322
4322
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
4323
4323
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4324
- _chunkMP3DV2I5js.DetailField,
4324
+ _chunkBXR36J25js.DetailField,
4325
4325
  {
4326
4326
  label: t("billing.admin.prices.fields.token"),
4327
4327
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: _nullishCoalesce(price.token, () => ( "\u2014")) })
4328
4328
  }
4329
4329
  ),
4330
4330
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4331
- _chunkMP3DV2I5js.DetailField,
4331
+ _chunkBXR36J25js.DetailField,
4332
4332
  {
4333
4333
  label: t("billing.admin.prices.fields.stripeId"),
4334
4334
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: price.stripePriceId })
4335
4335
  }
4336
4336
  ),
4337
4337
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4338
- _chunkMP3DV2I5js.DetailField,
4338
+ _chunkBXR36J25js.DetailField,
4339
4339
  {
4340
4340
  label: t("billing.admin.prices.fields.description"),
4341
4341
  value: _nullishCoalesce(price.description, () => ( "\u2014")),
@@ -4343,7 +4343,7 @@ function PriceDetails() {
4343
4343
  }
4344
4344
  ),
4345
4345
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4346
- _chunkMP3DV2I5js.DetailField,
4346
+ _chunkBXR36J25js.DetailField,
4347
4347
  {
4348
4348
  label: t("billing.admin.prices.fields.features"),
4349
4349
  className: "md:col-span-2",
@@ -4351,11 +4351,11 @@ function PriceDetails() {
4351
4351
  }
4352
4352
  ),
4353
4353
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4354
- _chunkMP3DV2I5js.DetailField,
4354
+ _chunkBXR36J25js.DetailField,
4355
4355
  {
4356
4356
  label: t("billing.admin.prices.fields.platformFeatures"),
4357
4357
  className: "md:col-span-2",
4358
- value: price.priceFeatures.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex flex-wrap items-center gap-1", children: price.priceFeatures.map((feature) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGray", children: feature.name }, feature.id)) }) : "\u2014"
4358
+ value: price.priceFeatures.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex flex-wrap items-center gap-1", children: price.priceFeatures.map((feature) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGray", children: feature.name }, feature.id)) }) : "\u2014"
4359
4359
  }
4360
4360
  )
4361
4361
  ] })
@@ -4369,7 +4369,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, PriceDetails, "PriceDetails");
4369
4369
  function PriceContainer() {
4370
4370
  const { price } = usePriceContext();
4371
4371
  if (!price) return null;
4372
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.RoundPageContainer, { module: _chunkYGEOX2XXjs.Modules.StripePrice, id: price.id, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PriceDetails, {}) });
4372
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.RoundPageContainer, { module: _chunkYGEOX2XXjs.Modules.StripePrice, id: price.id, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PriceDetails, {}) });
4373
4373
  }
4374
4374
  _chunk7QVYU63Ejs.__name.call(void 0, PriceContainer, "PriceContainer");
4375
4375
 
@@ -4494,7 +4494,7 @@ function PricesList({ productId, fullWidth }) {
4494
4494
  const importInputRef = _react.useRef.call(void 0, null);
4495
4495
  const [seed, setSeed] = _react.useState.call(void 0, void 0);
4496
4496
  const [seedNonce, setSeedNonce] = _react.useState.call(void 0, 0);
4497
- const data = _chunkMP3DV2I5js.useDataListRetriever.call(void 0, {
4497
+ const data = _chunkBXR36J25js.useDataListRetriever.call(void 0, {
4498
4498
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkYGEOX2XXjs.StripePriceService.listPrices({ ...params, productId }), "retriever"),
4499
4499
  retrieverParams: {},
4500
4500
  module: _chunkYGEOX2XXjs.Modules.StripePrice
@@ -4532,7 +4532,7 @@ function PricesList({ productId, fullWidth }) {
4532
4532
  openSeededEditor(transfer.price);
4533
4533
  } catch (error) {
4534
4534
  console.error("[PricesList] price import failed", error);
4535
- _chunkMP3DV2I5js.errorToast.call(void 0, {
4535
+ _chunkBXR36J25js.errorToast.call(void 0, {
4536
4536
  title: t("billing.admin.prices.import.errors.title"),
4537
4537
  error: t("billing.admin.prices.import.errors.invalid")
4538
4538
  });
@@ -4551,7 +4551,7 @@ function PricesList({ productId, fullWidth }) {
4551
4551
  "create-price"
4552
4552
  ),
4553
4553
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
4554
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMP3DV2I5js.Button, { variant: "outline", size: "sm", type: "button", onClick: () => _optionalChain([importInputRef, 'access', _181 => _181.current, 'optionalAccess', _182 => _182.click, 'call', _183 => _183()]), children: [
4554
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBXR36J25js.Button, { variant: "outline", size: "sm", type: "button", onClick: () => _optionalChain([importInputRef, 'access', _181 => _181.current, 'optionalAccess', _182 => _182.click, 'call', _183 => _183()]), children: [
4555
4555
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UploadIcon, {}),
4556
4556
  t("billing.admin.prices.actions.import")
4557
4557
  ] }),
@@ -4569,7 +4569,7 @@ function PricesList({ productId, fullWidth }) {
4569
4569
  ];
4570
4570
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4571
4571
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4572
- _chunkMP3DV2I5js.ContentListTable,
4572
+ _chunkBXR36J25js.ContentListTable,
4573
4573
  {
4574
4574
  data,
4575
4575
  fields: [
@@ -4586,7 +4586,7 @@ function PricesList({ productId, fullWidth }) {
4586
4586
  fullWidth,
4587
4587
  title: t("billing.admin.prices.title"),
4588
4588
  emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4589
- _chunkMP3DV2I5js.EmptyState,
4589
+ _chunkBXR36J25js.EmptyState,
4590
4590
  {
4591
4591
  icon: _lucidereact.DollarSignIcon,
4592
4592
  title: t("billing.admin.prices.empty.title"),
@@ -4626,18 +4626,18 @@ function ProductDetails() {
4626
4626
  const { product } = useProductContext();
4627
4627
  if (!product) return null;
4628
4628
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
4629
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.admin.products.tabs.details") }),
4629
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.admin.products.tabs.details") }),
4630
4630
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
4631
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DetailField, { label: t("billing.admin.products.fields.name"), value: product.name }),
4631
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DetailField, { label: t("billing.admin.products.fields.name"), value: product.name }),
4632
4632
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4633
- _chunkMP3DV2I5js.DetailField,
4633
+ _chunkBXR36J25js.DetailField,
4634
4634
  {
4635
4635
  label: t("billing.admin.products.fields.status"),
4636
- value: product.active ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGreen", children: t("billing.admin.products.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGray", children: t("billing.admin.products.status.archived") })
4636
+ value: product.active ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGreen", children: t("billing.admin.products.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGray", children: t("billing.admin.products.status.archived") })
4637
4637
  }
4638
4638
  ),
4639
4639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4640
- _chunkMP3DV2I5js.DetailField,
4640
+ _chunkBXR36J25js.DetailField,
4641
4641
  {
4642
4642
  label: t("billing.admin.products.fields.description"),
4643
4643
  value: _nullishCoalesce(product.description, () => ( "\u2014")),
@@ -4645,14 +4645,14 @@ function ProductDetails() {
4645
4645
  }
4646
4646
  ),
4647
4647
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4648
- _chunkMP3DV2I5js.DetailField,
4648
+ _chunkBXR36J25js.DetailField,
4649
4649
  {
4650
4650
  label: t("billing.admin.products.fields.prices"),
4651
4651
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: product.stripePrices.length })
4652
4652
  }
4653
4653
  ),
4654
4654
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4655
- _chunkMP3DV2I5js.DetailField,
4655
+ _chunkBXR36J25js.DetailField,
4656
4656
  {
4657
4657
  label: t("billing.admin.products.fields.stripeId"),
4658
4658
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: product.stripeProductId })
@@ -4670,7 +4670,7 @@ function ProductContainer() {
4670
4670
  const { product } = useProductContext();
4671
4671
  if (!product) return null;
4672
4672
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4673
- _chunkMP3DV2I5js.RoundPageContainer,
4673
+ _chunkBXR36J25js.RoundPageContainer,
4674
4674
  {
4675
4675
  module: _chunkYGEOX2XXjs.Modules.StripeProduct,
4676
4676
  id: product.id,
@@ -4707,8 +4707,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, ProductContainer, "ProductContainer");
4707
4707
 
4708
4708
  function CouponsList({ fullWidth } = {}) {
4709
4709
  const t = _nextintl.useTranslations.call(void 0, );
4710
- const { catalogueVersion } = _chunkMP3DV2I5js.useCouponContext.call(void 0, );
4711
- const data = _chunkMP3DV2I5js.useDataListRetriever.call(void 0, {
4710
+ const { catalogueVersion } = _chunkBXR36J25js.useCouponContext.call(void 0, );
4711
+ const data = _chunkBXR36J25js.useDataListRetriever.call(void 0, {
4712
4712
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkYGEOX2XXjs.StripeCouponService.listCoupons(params), "retriever"),
4713
4713
  retrieverParams: {},
4714
4714
  module: _chunkYGEOX2XXjs.Modules.StripeCoupon
@@ -4716,9 +4716,9 @@ function CouponsList({ fullWidth } = {}) {
4716
4716
  _react.useEffect.call(void 0, () => {
4717
4717
  if (catalogueVersion > 0) void data.refresh();
4718
4718
  }, [catalogueVersion]);
4719
- const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CouponEditor, {}, "create-coupon")];
4719
+ const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CouponEditor, {}, "create-coupon")];
4720
4720
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4721
- _chunkMP3DV2I5js.ContentListTable,
4721
+ _chunkBXR36J25js.ContentListTable,
4722
4722
  {
4723
4723
  data,
4724
4724
  fields: [
@@ -4733,7 +4733,7 @@ function CouponsList({ fullWidth } = {}) {
4733
4733
  fullWidth,
4734
4734
  title: t("billing.admin.coupons.title"),
4735
4735
  emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4736
- _chunkMP3DV2I5js.EmptyState,
4736
+ _chunkBXR36J25js.EmptyState,
4737
4737
  {
4738
4738
  icon: _lucidereact.TicketPercentIcon,
4739
4739
  title: t("billing.admin.coupons.empty.title"),
@@ -4753,7 +4753,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, CouponsList, "CouponsList");
4753
4753
  function ProductsList({ fullWidth } = {}) {
4754
4754
  const t = _nextintl.useTranslations.call(void 0, );
4755
4755
  const { catalogueVersion } = useProductContext();
4756
- const data = _chunkMP3DV2I5js.useDataListRetriever.call(void 0, {
4756
+ const data = _chunkBXR36J25js.useDataListRetriever.call(void 0, {
4757
4757
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkYGEOX2XXjs.StripeProductService.listProducts(params), "retriever"),
4758
4758
  retrieverParams: {},
4759
4759
  module: _chunkYGEOX2XXjs.Modules.StripeProduct
@@ -4763,7 +4763,7 @@ function ProductsList({ fullWidth } = {}) {
4763
4763
  }, [catalogueVersion]);
4764
4764
  const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductEditor, {}, "create-product")];
4765
4765
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4766
- _chunkMP3DV2I5js.ContentListTable,
4766
+ _chunkBXR36J25js.ContentListTable,
4767
4767
  {
4768
4768
  data,
4769
4769
  fields: ["name" /* name */, "status" /* status */, "prices" /* prices */],
@@ -4772,7 +4772,7 @@ function ProductsList({ fullWidth } = {}) {
4772
4772
  fullWidth,
4773
4773
  title: t("billing.admin.products.title"),
4774
4774
  emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4775
- _chunkMP3DV2I5js.EmptyState,
4775
+ _chunkBXR36J25js.EmptyState,
4776
4776
  {
4777
4777
  icon: _lucidereact.PackageIcon,
4778
4778
  title: t("billing.admin.products.empty.title"),
@@ -4788,8 +4788,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, ProductsList, "ProductsList");
4788
4788
 
4789
4789
  function ProductsListContainer() {
4790
4790
  const t = _nextintl.useTranslations.call(void 0, );
4791
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CouponProvider, { publishChrome: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4792
- _chunkMP3DV2I5js.RoundPageContainer,
4791
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CouponProvider, { publishChrome: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4792
+ _chunkBXR36J25js.RoundPageContainer,
4793
4793
  {
4794
4794
  module: _chunkYGEOX2XXjs.Modules.StripeProduct,
4795
4795
  tabs: [
@@ -4809,30 +4809,30 @@ _chunk7QVYU63Ejs.__name.call(void 0, ProductsListContainer, "ProductsListContain
4809
4809
 
4810
4810
  function CouponDetails() {
4811
4811
  const t = _nextintl.useTranslations.call(void 0, );
4812
- const fmt = _chunkMP3DV2I5js.useBillingFormatOptions.call(void 0, );
4813
- const { coupon } = _chunkMP3DV2I5js.useCouponContext.call(void 0, );
4812
+ const fmt = _chunkBXR36J25js.useBillingFormatOptions.call(void 0, );
4813
+ const { coupon } = _chunkBXR36J25js.useCouponContext.call(void 0, );
4814
4814
  if (!coupon) return null;
4815
4815
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
4816
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.SectionHeader, { children: t("billing.admin.products.tabs.details") }),
4816
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.SectionHeader, { children: t("billing.admin.products.tabs.details") }),
4817
4817
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs/relaxed", children: t("billing.admin.coupons.fixed_notice") }),
4818
4818
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
4819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.DetailField, { label: t("billing.admin.coupons.fields.name"), value: coupon.name }),
4819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.DetailField, { label: t("billing.admin.coupons.fields.name"), value: coupon.name }),
4820
4820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4821
- _chunkMP3DV2I5js.DetailField,
4821
+ _chunkBXR36J25js.DetailField,
4822
4822
  {
4823
4823
  label: t("billing.admin.coupons.fields.status"),
4824
- value: coupon.valid ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGreen", children: t("billing.admin.coupons.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.Badge, { variant: "softGray", children: t("billing.admin.coupons.status.ended") })
4824
+ value: coupon.valid ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGreen", children: t("billing.admin.coupons.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.Badge, { variant: "softGray", children: t("billing.admin.coupons.status.ended") })
4825
4825
  }
4826
4826
  ),
4827
4827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4828
- _chunkMP3DV2I5js.DetailField,
4828
+ _chunkBXR36J25js.DetailField,
4829
4829
  {
4830
4830
  label: t("billing.admin.coupons.fields.discount"),
4831
4831
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: _chunkYGEOX2XXjs.formatCouponDiscount.call(void 0, coupon, t, fmt) })
4832
4832
  }
4833
4833
  ),
4834
4834
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4835
- _chunkMP3DV2I5js.DetailField,
4835
+ _chunkBXR36J25js.DetailField,
4836
4836
  {
4837
4837
  label: t("billing.admin.coupons.fields.places"),
4838
4838
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: coupon.maxRedemptions !== void 0 ? t("billing.admin.coupons.places.limited", {
@@ -4842,21 +4842,21 @@ function CouponDetails() {
4842
4842
  }
4843
4843
  ),
4844
4844
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4845
- _chunkMP3DV2I5js.DetailField,
4845
+ _chunkBXR36J25js.DetailField,
4846
4846
  {
4847
4847
  label: t("billing.admin.coupons.fields.products"),
4848
4848
  value: coupon.stripeProductIds.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: coupon.stripeProductIds.join(", ") }) : t("billing.admin.coupons.all_products")
4849
4849
  }
4850
4850
  ),
4851
4851
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4852
- _chunkMP3DV2I5js.DetailField,
4852
+ _chunkBXR36J25js.DetailField,
4853
4853
  {
4854
4854
  label: t("billing.admin.coupons.fields.redeemBy"),
4855
- value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: coupon.redeemBy ? _chunkMP3DV2I5js.formatDate.call(void 0, coupon.redeemBy, fmt) : "\u2014" })
4855
+ value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: coupon.redeemBy ? _chunkBXR36J25js.formatDate.call(void 0, coupon.redeemBy, fmt) : "\u2014" })
4856
4856
  }
4857
4857
  ),
4858
4858
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4859
- _chunkMP3DV2I5js.DetailField,
4859
+ _chunkBXR36J25js.DetailField,
4860
4860
  {
4861
4861
  label: t("billing.admin.coupons.fields.stripeId"),
4862
4862
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: coupon.stripeCouponId })
@@ -4891,15 +4891,15 @@ function CouponCodeEditorInternal({
4891
4891
  }) {
4892
4892
  const t = _nextintl.useTranslations.call(void 0, );
4893
4893
  const router = _chunkYGEOX2XXjs.useI18nRouter.call(void 0, );
4894
- const { createCode } = _chunkMP3DV2I5js.useCouponContext.call(void 0, );
4895
- const formSchema2 = _react.useMemo.call(void 0, () => _zod3.z.object({ id: _zod3.z.uuidv4() }).and(_chunkMP3DV2I5js.couponCodeSchema.call(void 0, t)), [t]);
4896
- const getDefaultValues = _react.useCallback.call(void 0, () => ({ id: _uuid.v4.call(void 0, ), ..._chunkMP3DV2I5js.couponCodeDefaults.call(void 0, ) }), []);
4894
+ const { createCode } = _chunkBXR36J25js.useCouponContext.call(void 0, );
4895
+ const formSchema2 = _react.useMemo.call(void 0, () => _zod3.z.object({ id: _zod3.z.uuidv4() }).and(_chunkBXR36J25js.couponCodeSchema.call(void 0, t)), [t]);
4896
+ const getDefaultValues = _react.useCallback.call(void 0, () => ({ id: _uuid.v4.call(void 0, ), ..._chunkBXR36J25js.couponCodeDefaults.call(void 0, ) }), []);
4897
4897
  const form = _reacthookform.useForm.call(void 0, {
4898
4898
  resolver: _zod.zodResolver.call(void 0, formSchema2),
4899
4899
  defaultValues: getDefaultValues()
4900
4900
  });
4901
4901
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4902
- _chunkMP3DV2I5js.EditorSheet,
4902
+ _chunkBXR36J25js.EditorSheet,
4903
4903
  {
4904
4904
  form,
4905
4905
  entityType: t("billing.admin.coupons.codes.entity"),
@@ -4909,14 +4909,14 @@ function CouponCodeEditorInternal({
4909
4909
  onSuccess: _nullishCoalesce(onSuccess, () => ( (() => {
4910
4910
  }))),
4911
4911
  onNavigate: (url) => router.push(url),
4912
- onSubmit: async (values) => await createCode({ id: values.id, couponId, ..._chunkMP3DV2I5js.toCouponCodeInput.call(void 0, values) }),
4912
+ onSubmit: async (values) => await createCode({ id: values.id, couponId, ..._chunkBXR36J25js.toCouponCodeInput.call(void 0, values) }),
4913
4913
  onReset: getDefaultValues,
4914
4914
  trigger,
4915
4915
  forceShow,
4916
4916
  onClose,
4917
4917
  dialogOpen,
4918
4918
  onDialogOpenChange,
4919
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMP3DV2I5js.CouponCodeFields, { form })
4919
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXR36J25js.CouponCodeFields, { form })
4920
4920
  }
4921
4921
  );
4922
4922
  }
@@ -4930,8 +4930,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, CouponCodeEditor, "CouponCodeEditor");
4930
4930
 
4931
4931
  function CouponCodesList({ couponId }) {
4932
4932
  const t = _nextintl.useTranslations.call(void 0, );
4933
- const { catalogueVersion } = _chunkMP3DV2I5js.useCouponContext.call(void 0, );
4934
- const data = _chunkMP3DV2I5js.useDataListRetriever.call(void 0, {
4933
+ const { catalogueVersion } = _chunkBXR36J25js.useCouponContext.call(void 0, );
4934
+ const data = _chunkBXR36J25js.useDataListRetriever.call(void 0, {
4935
4935
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkYGEOX2XXjs.StripeCouponCodeService.listByCoupon({ ...params, couponId }), "retriever"),
4936
4936
  retrieverParams: {},
4937
4937
  module: _chunkYGEOX2XXjs.Modules.StripeCouponCode
@@ -4941,7 +4941,7 @@ function CouponCodesList({ couponId }) {
4941
4941
  }, [catalogueVersion]);
4942
4942
  const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, CouponCodeEditor, { couponId }, "create-code")];
4943
4943
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4944
- _chunkMP3DV2I5js.ContentListTable,
4944
+ _chunkBXR36J25js.ContentListTable,
4945
4945
  {
4946
4946
  data,
4947
4947
  fields: [
@@ -4956,7 +4956,7 @@ function CouponCodesList({ couponId }) {
4956
4956
  functions,
4957
4957
  title: t("billing.admin.coupons.codes.title"),
4958
4958
  emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4959
- _chunkMP3DV2I5js.EmptyState,
4959
+ _chunkBXR36J25js.EmptyState,
4960
4960
  {
4961
4961
  icon: _lucidereact.TicketIcon,
4962
4962
  title: t("billing.admin.coupons.codes.empty.title"),
@@ -4972,12 +4972,12 @@ _chunk7QVYU63Ejs.__name.call(void 0, CouponCodesList, "CouponCodesList");
4972
4972
 
4973
4973
  function CouponContainer() {
4974
4974
  const t = _nextintl.useTranslations.call(void 0, );
4975
- const { coupon } = _chunkMP3DV2I5js.useCouponContext.call(void 0, );
4975
+ const { coupon } = _chunkBXR36J25js.useCouponContext.call(void 0, );
4976
4976
  if (!coupon) return null;
4977
4977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4978
- _chunkMP3DV2I5js.RoundPageContainer,
4978
+ _chunkBXR36J25js.RoundPageContainer,
4979
4979
  {
4980
- module: _chunkMP3DV2I5js.couponPageModule.call(void 0, ),
4980
+ module: _chunkBXR36J25js.couponPageModule.call(void 0, ),
4981
4981
  id: coupon.id,
4982
4982
  tabs: [
4983
4983
  {
@@ -5084,5 +5084,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, CouponContainer, "CouponContainer");
5084
5084
 
5085
5085
 
5086
5086
 
5087
- exports.BillingAlertBanner = BillingAlertBanner; exports.BillingDashboardContainer = BillingDashboardContainer; exports.BillingDetailModal = BillingDetailModal; exports.BillingUsageSummaryCard = BillingUsageSummaryCard; exports.CancelSubscriptionDialog = CancelSubscriptionDialog; exports.CouponCodeActions = _chunkMP3DV2I5js.CouponCodeActions; exports.CouponCodeEditor = CouponCodeEditor; exports.CouponCodeFields = _chunkMP3DV2I5js.CouponCodeFields; exports.CouponCodesList = CouponCodesList; exports.CouponContainer = CouponContainer; exports.CouponDetails = CouponDetails; exports.CouponEditor = _chunkMP3DV2I5js.CouponEditor; exports.CouponProvider = _chunkMP3DV2I5js.CouponProvider; exports.CouponRefresher = _chunkMP3DV2I5js.CouponRefresher; exports.CouponsList = CouponsList; exports.CustomerInfoCard = CustomerInfoCard; exports.IntervalToggle = IntervalToggle; exports.InvoiceDetails = InvoiceDetails; exports.InvoiceStatusBadge = InvoiceStatusBadge; exports.InvoicesContainer = InvoicesContainer; exports.InvoicesList = InvoicesList; exports.InvoicesSummaryCard = InvoicesSummaryCard; exports.PaymentMethodCard = PaymentMethodCard; exports.PaymentMethodEditor = PaymentMethodEditor; exports.PaymentMethodForm = PaymentMethodForm; exports.PaymentMethodSummaryCard = PaymentMethodSummaryCard; exports.PaymentMethodsContainer = PaymentMethodsContainer; exports.PaymentMethodsList = PaymentMethodsList; exports.PriceArchiver = PriceArchiver; exports.PriceContainer = PriceContainer; exports.PriceDetails = PriceDetails; exports.PriceEditor = PriceEditor; exports.PriceProvider = PriceProvider; exports.PricesList = PricesList; exports.PricingCard = PricingCard; exports.ProductArchiver = ProductArchiver; exports.ProductContainer = ProductContainer; exports.ProductDetails = ProductDetails; exports.ProductEditor = ProductEditor; exports.ProductPricingList = ProductPricingList; exports.ProductPricingRow = ProductPricingRow; exports.ProductProvider = ProductProvider; exports.ProductsList = ProductsList; exports.ProductsListContainer = ProductsListContainer; exports.PromoCodeInput = PromoCodeInput; exports.ProrationPreview = ProrationPreview; exports.StripeProvider = StripeProvider; exports.SubscriptionConfirmation = SubscriptionConfirmation; exports.SubscriptionDetails = SubscriptionDetails; exports.SubscriptionStatusBadge = SubscriptionStatusBadge; exports.SubscriptionSummaryCard = SubscriptionSummaryCard; exports.SubscriptionWizard = SubscriptionWizard; exports.SubscriptionsContainer = SubscriptionsContainer; exports.SubscriptionsList = SubscriptionsList; exports.UsageContainer = UsageContainer; exports.UsageHistoryTable = UsageHistoryTable; exports.UsageSummaryCard = UsageSummaryCard; exports.UsageSummaryCards = UsageSummaryCards; exports.WizardProgressIndicator = WizardProgressIndicator; exports.WizardStepPaymentMethod = WizardStepPaymentMethod; exports.WizardStepPlanSelection = WizardStepPlanSelection; exports.WizardStepReview = WizardStepReview; exports.applyDiscount = _chunkMP3DV2I5js.applyDiscount; exports.couponCodeDefaults = _chunkMP3DV2I5js.couponCodeDefaults; exports.couponCodeSchema = _chunkMP3DV2I5js.couponCodeSchema; exports.couponCurrencyOptions = _chunkMP3DV2I5js.couponCurrencyOptions; exports.formatCurrency = _chunkYGEOX2XXjs.formatCurrency; exports.formatDate = _chunkMP3DV2I5js.formatDate; exports.formatFixed = _chunkYGEOX2XXjs.formatFixed; exports.formatInterval = _chunkYGEOX2XXjs.formatInterval; exports.isStripeConfigured = isStripeConfigured; exports.optionalDate = _chunkMP3DV2I5js.optionalDate; exports.optionalDecimal = _chunkMP3DV2I5js.optionalDecimal; exports.optionalPositiveInt = _chunkMP3DV2I5js.optionalPositiveInt; exports.parseOptionalDecimal = _chunkMP3DV2I5js.parseOptionalDecimal; exports.parseOptionalPositiveInt = _chunkMP3DV2I5js.parseOptionalPositiveInt; exports.priceLabel = priceLabel; exports.promotionCodeDiscount = _chunkMP3DV2I5js.promotionCodeDiscount; exports.subscriptionDiscount = _chunkMP3DV2I5js.subscriptionDiscount; exports.toCouponCodeInput = _chunkMP3DV2I5js.toCouponCodeInput; exports.useBillingFormatOptions = _chunkMP3DV2I5js.useBillingFormatOptions; exports.useCouponContext = _chunkMP3DV2I5js.useCouponContext; exports.usePriceContext = usePriceContext; exports.useProductContext = useProductContext;
5087
+ exports.BillingAlertBanner = BillingAlertBanner; exports.BillingDashboardContainer = BillingDashboardContainer; exports.BillingDetailModal = BillingDetailModal; exports.BillingUsageSummaryCard = BillingUsageSummaryCard; exports.CancelSubscriptionDialog = CancelSubscriptionDialog; exports.CouponCodeActions = _chunkBXR36J25js.CouponCodeActions; exports.CouponCodeEditor = CouponCodeEditor; exports.CouponCodeFields = _chunkBXR36J25js.CouponCodeFields; exports.CouponCodesList = CouponCodesList; exports.CouponContainer = CouponContainer; exports.CouponDetails = CouponDetails; exports.CouponEditor = _chunkBXR36J25js.CouponEditor; exports.CouponProvider = _chunkBXR36J25js.CouponProvider; exports.CouponRefresher = _chunkBXR36J25js.CouponRefresher; exports.CouponsList = CouponsList; exports.CustomerInfoCard = CustomerInfoCard; exports.IntervalToggle = IntervalToggle; exports.InvoiceDetails = InvoiceDetails; exports.InvoiceStatusBadge = InvoiceStatusBadge; exports.InvoicesContainer = InvoicesContainer; exports.InvoicesList = InvoicesList; exports.InvoicesSummaryCard = InvoicesSummaryCard; exports.PaymentMethodCard = PaymentMethodCard; exports.PaymentMethodEditor = PaymentMethodEditor; exports.PaymentMethodForm = PaymentMethodForm; exports.PaymentMethodSummaryCard = PaymentMethodSummaryCard; exports.PaymentMethodsContainer = PaymentMethodsContainer; exports.PaymentMethodsList = PaymentMethodsList; exports.PriceArchiver = PriceArchiver; exports.PriceContainer = PriceContainer; exports.PriceDetails = PriceDetails; exports.PriceEditor = PriceEditor; exports.PriceProvider = PriceProvider; exports.PricesList = PricesList; exports.PricingCard = PricingCard; exports.ProductArchiver = ProductArchiver; exports.ProductContainer = ProductContainer; exports.ProductDetails = ProductDetails; exports.ProductEditor = ProductEditor; exports.ProductPricingList = ProductPricingList; exports.ProductPricingRow = ProductPricingRow; exports.ProductProvider = ProductProvider; exports.ProductsList = ProductsList; exports.ProductsListContainer = ProductsListContainer; exports.PromoCodeInput = PromoCodeInput; exports.ProrationPreview = ProrationPreview; exports.StripeProvider = StripeProvider; exports.SubscriptionConfirmation = SubscriptionConfirmation; exports.SubscriptionDetails = SubscriptionDetails; exports.SubscriptionStatusBadge = SubscriptionStatusBadge; exports.SubscriptionSummaryCard = SubscriptionSummaryCard; exports.SubscriptionWizard = SubscriptionWizard; exports.SubscriptionsContainer = SubscriptionsContainer; exports.SubscriptionsList = SubscriptionsList; exports.UsageContainer = UsageContainer; exports.UsageHistoryTable = UsageHistoryTable; exports.UsageSummaryCard = UsageSummaryCard; exports.UsageSummaryCards = UsageSummaryCards; exports.WizardProgressIndicator = WizardProgressIndicator; exports.WizardStepPaymentMethod = WizardStepPaymentMethod; exports.WizardStepPlanSelection = WizardStepPlanSelection; exports.WizardStepReview = WizardStepReview; exports.applyDiscount = _chunkBXR36J25js.applyDiscount; exports.couponCodeDefaults = _chunkBXR36J25js.couponCodeDefaults; exports.couponCodeSchema = _chunkBXR36J25js.couponCodeSchema; exports.couponCurrencyOptions = _chunkBXR36J25js.couponCurrencyOptions; exports.formatCurrency = _chunkYGEOX2XXjs.formatCurrency; exports.formatDate = _chunkBXR36J25js.formatDate; exports.formatFixed = _chunkYGEOX2XXjs.formatFixed; exports.formatInterval = _chunkYGEOX2XXjs.formatInterval; exports.isStripeConfigured = isStripeConfigured; exports.optionalDate = _chunkBXR36J25js.optionalDate; exports.optionalDecimal = _chunkBXR36J25js.optionalDecimal; exports.optionalPositiveInt = _chunkBXR36J25js.optionalPositiveInt; exports.parseOptionalDecimal = _chunkBXR36J25js.parseOptionalDecimal; exports.parseOptionalPositiveInt = _chunkBXR36J25js.parseOptionalPositiveInt; exports.priceLabel = priceLabel; exports.promotionCodeDiscount = _chunkBXR36J25js.promotionCodeDiscount; exports.subscriptionDiscount = _chunkBXR36J25js.subscriptionDiscount; exports.toCouponCodeInput = _chunkBXR36J25js.toCouponCodeInput; exports.useBillingFormatOptions = _chunkBXR36J25js.useBillingFormatOptions; exports.useCouponContext = _chunkBXR36J25js.useCouponContext; exports.usePriceContext = usePriceContext; exports.useProductContext = useProductContext;
5088
5088
  //# sourceMappingURL=index.js.map