@carlonicora/nextjs-jsonapi 6.16.0 → 6.18.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 (35) hide show
  1. package/dist/{BlockNoteEditor-GWDYMS6R.js → BlockNoteEditor-HHTAZKRO.js} +9 -9
  2. package/dist/{BlockNoteEditor-GWDYMS6R.js.map → BlockNoteEditor-HHTAZKRO.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-HNP5UAJT.mjs → BlockNoteEditor-KSOVYIOL.mjs} +2 -2
  4. package/dist/billing/index.js +378 -378
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-UGDYZW4K.js → chunk-B6WMZXRY.js} +24 -5
  7. package/dist/chunk-B6WMZXRY.js.map +1 -0
  8. package/dist/{chunk-YEZGASBX.mjs → chunk-MBLF236G.mjs} +24 -5
  9. package/dist/chunk-MBLF236G.mjs.map +1 -0
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.d.mts +13 -2
  13. package/dist/components/index.d.ts +13 -2
  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 +78 -78
  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 +1 -1
  29. package/src/components/forms/EditorSheet.tsx +21 -1
  30. package/src/components/forms/__tests__/EditorSheet.spec.tsx +40 -1
  31. package/src/features/notification/components/notifications/PushNotificationProvider.tsx +14 -2
  32. package/src/features/notification/components/notifications/__tests__/PushNotificationProvider.spec.tsx +11 -0
  33. package/dist/chunk-UGDYZW4K.js.map +0 -1
  34. package/dist/chunk-YEZGASBX.mjs.map +0 -1
  35. /package/dist/{BlockNoteEditor-HNP5UAJT.mjs.map → BlockNoteEditor-KSOVYIOL.mjs.map} +0 -0
@@ -31,7 +31,7 @@
31
31
 
32
32
 
33
33
 
34
- var _chunkUGDYZW4Kjs = require('../../chunk-UGDYZW4K.js');
34
+ var _chunkB6WMZXRYjs = require('../../chunk-B6WMZXRY.js');
35
35
  require('../../chunk-3EPNHTMH.js');
36
36
  require('../../chunk-I5BQLY7V.js');
37
37
  require('../../chunk-G4JR3SFV.js');
@@ -229,7 +229,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
229
229
  };
230
230
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
231
231
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
232
- _chunkUGDYZW4Kjs.DateRangeSelector,
232
+ _chunkB6WMZXRYjs.DateRangeSelector,
233
233
  {
234
234
  onDateChange: (range) => {
235
235
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -273,7 +273,7 @@ function Segmented({
273
273
  children: options.map((option) => {
274
274
  const selected = option.value === value;
275
275
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
276
- _chunkUGDYZW4Kjs.Button,
276
+ _chunkB6WMZXRYjs.Button,
277
277
  {
278
278
  type: "button",
279
279
  size: "sm",
@@ -509,7 +509,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
509
509
  error
510
510
  ]
511
511
  );
512
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
512
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
513
513
  }, "AnalyticsAdminProvider");
514
514
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
515
515
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -529,7 +529,7 @@ var _lucidereact = require('lucide-react');
529
529
  var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
530
530
  function AnalyticsAdminTiles({ summary }) {
531
531
  const t = _nextintl.useTranslations.call(void 0, );
532
- const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
532
+ const { decimal } = _chunkB6WMZXRYjs.useUsageFormatters.call(void 0, );
533
533
  const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
534
534
  const current = rowFor("current");
535
535
  const previous = rowFor("previous");
@@ -542,7 +542,7 @@ function AnalyticsAdminTiles({ summary }) {
542
542
  testId: "analytics-tile-visitors",
543
543
  label: t("analytics.admin.tiles.visitors"),
544
544
  value: decimal(current.visitors, 0),
545
- delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
545
+ delta: _chunkB6WMZXRYjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
546
546
  previousLabel,
547
547
  decimal
548
548
  }
@@ -553,7 +553,7 @@ function AnalyticsAdminTiles({ summary }) {
553
553
  testId: "analytics-tile-sessions",
554
554
  label: t("analytics.admin.tiles.sessions"),
555
555
  value: decimal(current.sessions, 0),
556
- delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
556
+ delta: _chunkB6WMZXRYjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
557
557
  previousLabel,
558
558
  decimal
559
559
  }
@@ -564,7 +564,7 @@ function AnalyticsAdminTiles({ summary }) {
564
564
  testId: "analytics-tile-page-views",
565
565
  label: t("analytics.admin.tiles.page_views"),
566
566
  value: decimal(current.pageViews, 0),
567
- delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
567
+ delta: _chunkB6WMZXRYjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
568
568
  previousLabel,
569
569
  decimal
570
570
  }
@@ -577,7 +577,7 @@ function AnalyticsAdminTiles({ summary }) {
577
577
  testId: "analytics-tile-pages-per-session",
578
578
  label: t("analytics.admin.tiles.pages_per_session"),
579
579
  value: decimal(current.pagesPerSession, 1),
580
- delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
580
+ delta: _chunkB6WMZXRYjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
581
581
  decimal
582
582
  }
583
583
  ),
@@ -602,8 +602,8 @@ function LeadTile({
602
602
  previousLabel,
603
603
  decimal
604
604
  }) {
605
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "grid gap-1", children: [
606
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.MicroLabel, { children: label }),
605
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.CardContent, { className: "grid gap-1", children: [
606
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.MicroLabel, { children: label }),
607
607
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
608
608
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
609
609
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -619,8 +619,8 @@ function SupportingTile({
619
619
  delta,
620
620
  decimal
621
621
  }) {
622
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "grid gap-1", children: [
623
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.MicroLabel, { children: label }),
622
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.CardContent, { className: "grid gap-1", children: [
623
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.MicroLabel, { children: label }),
624
624
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
625
625
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
626
626
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -671,15 +671,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
671
671
  route: t("analytics.admin.dimensions.route"),
672
672
  landing: t("analytics.admin.dimensions.landing")
673
673
  };
674
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
675
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsList, { className: "max-md:w-full max-md:justify-start max-md:overflow-x-auto", children: ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
676
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
674
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
675
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TabsList, { className: "max-md:w-full max-md:justify-start max-md:overflow-x-auto", children: ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
676
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
677
677
  ] });
678
678
  }
679
679
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
680
680
  function BreakdownRows({ rows }) {
681
681
  const t = _nextintl.useTranslations.call(void 0, );
682
- const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
682
+ const { decimal } = _chunkB6WMZXRYjs.useUsageFormatters.call(void 0, );
683
683
  const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
684
684
  if (sortedRows.length === 0) {
685
685
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
@@ -688,18 +688,18 @@ function BreakdownRows({ rows }) {
688
688
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
689
689
  // would swallow the overflow before this scroller ever saw it — hence the
690
690
  // child override. Wide tables must scroll, never widen the page.
691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
692
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Table, { children: [
692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { children: [
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
697
697
  ] }) }),
698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
700
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
701
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
702
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
700
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
703
703
  ] }, row.id)) })
704
704
  ] }) })
705
705
  );
@@ -714,48 +714,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
714
714
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
715
715
  const t = _nextintl.useTranslations.call(void 0, );
716
716
  const locale = _nextintl.useLocale.call(void 0, );
717
- const generateUrl = _chunkUGDYZW4Kjs.usePageUrlGenerator.call(void 0, );
718
- const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
717
+ const generateUrl = _chunkB6WMZXRYjs.usePageUrlGenerator.call(void 0, );
718
+ const { decimal } = _chunkB6WMZXRYjs.useUsageFormatters.call(void 0, );
719
719
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
720
720
  if (rows.length === 0) {
721
721
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
722
722
  }
723
723
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
724
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
725
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
727
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
730
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
724
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Table, { children: [
725
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { children: [
726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
731
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
732
732
  ] }) }),
733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: rows.map((row) => {
733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableBody, { children: rows.map((row) => {
734
734
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
735
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
736
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
737
- _chunkUGDYZW4Kjs.Link,
735
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
737
+ _chunkB6WMZXRYjs.Link,
738
738
  {
739
739
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
740
740
  "data-testid": `analytics-session-link-${row.id}`,
741
741
  children: dateTime.format(row.startedAt)
742
742
  }
743
743
  ) }),
744
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
744
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
745
745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
746
746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
747
747
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
749
749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
750
750
  ] }) }),
751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: source }),
752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.landingRoute }),
753
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs", children: source }),
752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs", children: row.landingRoute }),
753
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
755
755
  ] }, row.id);
756
756
  }) })
757
757
  ] }) }),
758
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
758
+ hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
759
759
  ] });
760
760
  }
761
761
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -787,7 +787,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
787
787
  }, "inferGranularity");
788
788
  function AnalyticsTimelineChart({ rows, className }) {
789
789
  const t = _nextintl.useTranslations.call(void 0, );
790
- const { compact, bucketDate, decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
790
+ const { compact, bucketDate, decimal } = _chunkB6WMZXRYjs.useUsageFormatters.call(void 0, );
791
791
  const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
792
792
  const mode = resolvedTheme === "dark" ? "dark" : "light";
793
793
  const chartData = _react.useMemo.call(void 0, () => {
@@ -822,7 +822,7 @@ function AnalyticsTimelineChart({ rows, className }) {
822
822
  // rtl-ok: deliberate LTR island (chart)
823
823
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
824
824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
825
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartContainer, { config: chartConfig, className: "aspect-auto h-72 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _recharts.BarChart, { accessibilityLayer: true, data: chartData, margin: { top: 8, right: 8, bottom: 0, left: 0 }, children: [
825
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.ChartContainer, { config: chartConfig, className: "aspect-auto h-72 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _recharts.BarChart, { accessibilityLayer: true, data: chartData, margin: { top: 8, right: 8, bottom: 0, left: 0 }, children: [
826
826
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
827
827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
828
828
  _recharts.XAxis,
@@ -846,10 +846,10 @@ function AnalyticsTimelineChart({ rows, className }) {
846
846
  }
847
847
  ),
848
848
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
849
- _chunkUGDYZW4Kjs.ChartTooltip,
849
+ _chunkB6WMZXRYjs.ChartTooltip,
850
850
  {
851
851
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunkUGDYZW4Kjs.ChartTooltipContent,
852
+ _chunkB6WMZXRYjs.ChartTooltipContent,
853
853
  {
854
854
  labelFormatter: (value) => bucketDate(String(value), granularity),
855
855
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -857,13 +857,13 @@ function AnalyticsTimelineChart({ rows, className }) {
857
857
  )
858
858
  }
859
859
  ),
860
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartLegendContent, {}) }),
860
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.ChartLegendContent, {}) }),
861
861
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
862
862
  _recharts.Bar,
863
863
  {
864
864
  dataKey: series,
865
865
  maxBarSize: 28,
866
- fill: _chunkUGDYZW4Kjs.seriesColor.call(void 0, index, mode),
866
+ fill: _chunkB6WMZXRYjs.seriesColor.call(void 0, index, mode),
867
867
  stroke: "var(--background)",
868
868
  strokeWidth: 2,
869
869
  radius: [4, 4, 0, 0]
@@ -892,25 +892,25 @@ function AnalyticsAdminContainer() {
892
892
  error
893
893
  } = useAnalyticsAdmin();
894
894
  if (error) {
895
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
895
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
896
896
  }
897
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
898
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
897
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
898
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
899
899
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
900
900
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
901
901
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
902
902
  ] }),
903
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
904
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
905
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
903
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Card, { children: [
904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
905
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
906
906
  ] }),
907
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
909
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
907
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Card, { children: [
908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
909
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
910
910
  ] }),
911
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
912
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
913
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
911
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Card, { children: [
912
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
913
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
914
914
  AnalyticsSessionsTable,
915
915
  {
916
916
  rows: sessions,
@@ -933,7 +933,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
933
933
  function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
934
934
  const t = _nextintl.useTranslations.call(void 0, );
935
935
  const locale = _nextintl.useLocale.call(void 0, );
936
- const generateUrl = _chunkUGDYZW4Kjs.usePageUrlGenerator.call(void 0, );
936
+ const generateUrl = _chunkB6WMZXRYjs.usePageUrlGenerator.call(void 0, );
937
937
  const [session, setSession] = _react.useState.call(void 0, void 0);
938
938
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
939
939
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -989,26 +989,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
989
989
  const title = { type: t("analytics.admin.panels.journey") };
990
990
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
991
991
  if (error) {
992
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
992
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
993
993
  }
994
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
994
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
995
995
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
996
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
997
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "flex flex-col gap-3", children: [
996
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
997
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.CardContent, { className: "flex flex-col gap-3", children: [
998
998
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
999
999
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
1000
1000
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
1001
1001
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
1002
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1003
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1002
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1003
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1004
1004
  ] }),
1005
1005
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1006
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1007
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1008
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1006
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1008
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1010
1010
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1011
- _chunkUGDYZW4Kjs.DetailField,
1011
+ _chunkB6WMZXRYjs.DetailField,
1012
1012
  {
1013
1013
  label: t("analytics.admin.columns.visitor"),
1014
1014
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1016,31 +1016,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1016
1016
  )
1017
1017
  ] })
1018
1018
  ] }) }),
1019
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
1020
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1021
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1019
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Card, { children: [
1020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1022
1022
  // The package's <Table> wraps itself in an `overflow-x-clip`
1023
1023
  // container — hence the child override, so wide rows scroll.
1024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
1025
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
1026
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1027
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1024
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Table, { children: [
1025
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { children: [
1026
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1029
1029
  ] }) }),
1030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: pageViews.map((pageView, index) => {
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableBody, { children: pageViews.map((pageView, index) => {
1031
1031
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1032
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1034
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1035
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: pageView.path })
1032
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1035
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.TableCell, { className: "text-xs", children: pageView.path })
1036
1036
  ] }, pageView.id);
1037
1037
  }) })
1038
1038
  ] }) })
1039
1039
  ) })
1040
1040
  ] }),
1041
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
1042
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1043
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1041
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB6WMZXRYjs.Card, { children: [
1042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1043
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1044
1044
  AnalyticsSessionsTable,
1045
1045
  {
1046
1046
  rows: otherSessions,
@@ -1052,7 +1052,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1052
1052
  ] })
1053
1053
  ] }) });
1054
1054
  }, "renderBody");
1055
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1055
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB6WMZXRYjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1056
1056
  }
1057
1057
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1058
1058
  function unit(locale, name, value) {
@@ -31,7 +31,7 @@ import {
31
31
  seriesColor,
32
32
  usePageUrlGenerator,
33
33
  useUsageFormatters
34
- } from "../../chunk-YEZGASBX.mjs";
34
+ } from "../../chunk-MBLF236G.mjs";
35
35
  import "../../chunk-VOXD3ZLY.mjs";
36
36
  import "../../chunk-TY5YWBLL.mjs";
37
37
  import "../../chunk-PW42LRSL.mjs";