@carlonicora/nextjs-jsonapi 6.9.0 → 6.10.1

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 (51) hide show
  1. package/dist/{BlockNoteEditor-WN73IHXR.mjs → BlockNoteEditor-GK3DRTOP.mjs} +49 -15
  2. package/dist/BlockNoteEditor-GK3DRTOP.mjs.map +1 -0
  3. package/dist/{BlockNoteEditor-XXH3VBZ7.js → BlockNoteEditor-YOKJOVV3.js} +64 -30
  4. package/dist/BlockNoteEditor-YOKJOVV3.js.map +1 -0
  5. package/dist/billing/index.js +436 -435
  6. package/dist/billing/index.js.map +1 -1
  7. package/dist/billing/index.mjs +8 -7
  8. package/dist/billing/index.mjs.map +1 -1
  9. package/dist/{chunk-ZCM4JLM7.js → chunk-4UFMLTL2.js} +73 -71
  10. package/dist/chunk-4UFMLTL2.js.map +1 -0
  11. package/dist/{chunk-Q4XLE3QO.mjs → chunk-THZAK7S3.mjs} +9 -7
  12. package/dist/{chunk-Q4XLE3QO.mjs.map → chunk-THZAK7S3.mjs.map} +1 -1
  13. package/dist/client/index.js +2 -2
  14. package/dist/client/index.mjs +1 -1
  15. package/dist/components/index.d.mts +12 -5
  16. package/dist/components/index.d.ts +12 -5
  17. package/dist/components/index.js +2 -2
  18. package/dist/components/index.mjs +1 -1
  19. package/dist/contexts/index.js +2 -2
  20. package/dist/contexts/index.mjs +1 -1
  21. package/dist/email-automations/index.js +58 -58
  22. package/dist/email-automations/index.mjs +1 -1
  23. package/dist/features/analytics/index.js +87 -87
  24. package/dist/features/analytics/index.mjs +1 -1
  25. package/dist/features/blog/index.js +93 -93
  26. package/dist/features/blog/index.mjs +1 -1
  27. package/dist/features/help/index.js +31 -31
  28. package/dist/features/help/index.mjs +1 -1
  29. package/dist/features/tokenusage/index.js +77 -77
  30. package/dist/features/tokenusage/index.mjs +1 -1
  31. package/messages/en.json +4 -2
  32. package/messages/it.json +4 -2
  33. package/package.json +1 -1
  34. package/src/components/editors/BlockNoteEditor.tsx +69 -14
  35. package/src/components/editors/__tests__/BlockNoteEditor.ai.spec.tsx +295 -0
  36. package/src/features/assistant/components/containers/AssistantPageContainer.tsx +20 -9
  37. package/src/features/assistant/components/containers/__tests__/AssistantPageContainer.spec.tsx +116 -0
  38. package/src/features/assistant/components/parts/AssistantThread.tsx +2 -1
  39. package/src/features/assistant-message/components/MessageItem.tsx +1 -1
  40. package/src/features/assistant-message/components/MessageList.tsx +1 -1
  41. package/src/features/assistant-message/components/parts/MessageSourcesContainer.tsx +1 -1
  42. package/src/features/assistant-message/components/parts/MessageSourcesPanel.tsx +1 -1
  43. package/src/features/assistant-message/components/parts/__tests__/MessageSourcesPanel.spec.tsx +17 -1
  44. package/src/features/assistant-message/components/parts/__tests__/SuggestedQuestionsTab.spec.tsx +22 -0
  45. package/src/features/assistant-message/components/parts/tabs/SuggestedQuestionsTab.tsx +5 -3
  46. package/src/features/billing/i18n-keys.ts +2 -0
  47. package/src/features/billing/stripe-subscription/components/widgets/ProrationPreview.tsx +1 -2
  48. package/src/features/billing/stripe-subscription/components/wizards/WizardStepReview.tsx +16 -5
  49. package/dist/BlockNoteEditor-WN73IHXR.mjs.map +0 -1
  50. package/dist/BlockNoteEditor-XXH3VBZ7.js.map +0 -1
  51. package/dist/chunk-ZCM4JLM7.js.map +0 -1
@@ -33,7 +33,7 @@ var _chunkG3YKDIALjs = require('../../chunk-G3YKDIAL.js');
33
33
 
34
34
 
35
35
 
36
- var _chunkZCM4JLM7js = require('../../chunk-ZCM4JLM7.js');
36
+ var _chunk4UFMLTL2js = require('../../chunk-4UFMLTL2.js');
37
37
  require('../../chunk-KRQRJA4J.js');
38
38
  require('../../chunk-G4JR3SFV.js');
39
39
 
@@ -226,7 +226,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
226
226
  };
227
227
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
228
228
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
229
- _chunkZCM4JLM7js.DateRangeSelector,
229
+ _chunk4UFMLTL2js.DateRangeSelector,
230
230
  {
231
231
  onDateChange: (range) => {
232
232
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -270,7 +270,7 @@ function Segmented({
270
270
  children: options.map((option) => {
271
271
  const selected = option.value === value;
272
272
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
273
- _chunkZCM4JLM7js.Button,
273
+ _chunk4UFMLTL2js.Button,
274
274
  {
275
275
  type: "button",
276
276
  size: "sm",
@@ -506,7 +506,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
506
506
  error
507
507
  ]
508
508
  );
509
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
509
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
510
510
  }, "AnalyticsAdminProvider");
511
511
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
512
512
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -599,8 +599,8 @@ function LeadTile({
599
599
  previousLabel,
600
600
  decimal
601
601
  }) {
602
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.CardContent, { className: "grid gap-1", children: [
603
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.MicroLabel, { children: label }),
602
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.CardContent, { className: "grid gap-1", children: [
603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.MicroLabel, { children: label }),
604
604
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
605
605
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
606
606
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -616,8 +616,8 @@ function SupportingTile({
616
616
  delta,
617
617
  decimal
618
618
  }) {
619
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.CardContent, { className: "grid gap-1", children: [
620
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.MicroLabel, { children: label }),
619
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.CardContent, { className: "grid gap-1", children: [
620
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.MicroLabel, { children: label }),
621
621
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
622
622
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
623
623
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -668,9 +668,9 @@ function AnalyticsBreakdownTable({ breakdowns }) {
668
668
  route: t("analytics.admin.dimensions.route"),
669
669
  landing: t("analytics.admin.dimensions.landing")
670
670
  };
671
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
672
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.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, _chunkZCM4JLM7js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
673
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
671
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
672
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.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, _chunk4UFMLTL2js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
673
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
674
674
  ] });
675
675
  }
676
676
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
@@ -685,18 +685,18 @@ function BreakdownRows({ rows }) {
685
685
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
686
686
  // would swallow the overflow before this scroller ever saw it — hence the
687
687
  // child override. Wide tables must scroll, never widen the page.
688
- /* @__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, _chunkZCM4JLM7js.Table, { children: [
689
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { children: [
690
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
692
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
688
+ /* @__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, _chunk4UFMLTL2js.Table, { children: [
689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { children: [
690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
694
694
  ] }) }),
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
697
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
700
700
  ] }, row.id)) })
701
701
  ] }) })
702
702
  );
@@ -711,48 +711,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
711
711
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
712
712
  const t = _nextintl.useTranslations.call(void 0, );
713
713
  const locale = _nextintl.useLocale.call(void 0, );
714
- const generateUrl = _chunkZCM4JLM7js.usePageUrlGenerator.call(void 0, );
714
+ const generateUrl = _chunk4UFMLTL2js.usePageUrlGenerator.call(void 0, );
715
715
  const { decimal } = _chunkG3YKDIALjs.useUsageFormatters.call(void 0, );
716
716
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
717
717
  if (rows.length === 0) {
718
718
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
719
719
  }
720
720
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
721
- /* @__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, _chunkZCM4JLM7js.Table, { children: [
722
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { children: [
723
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
724
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
725
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
727
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
721
+ /* @__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, _chunk4UFMLTL2js.Table, { children: [
722
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { children: [
723
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
724
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
725
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
729
729
  ] }) }),
730
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableBody, { children: rows.map((row) => {
730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableBody, { children: rows.map((row) => {
731
731
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
732
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
734
- _chunkZCM4JLM7js.Link,
732
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
734
+ _chunk4UFMLTL2js.Link,
735
735
  {
736
736
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
737
737
  "data-testid": `analytics-session-link-${row.id}`,
738
738
  children: dateTime.format(row.startedAt)
739
739
  }
740
740
  ) }),
741
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
741
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
742
742
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
743
743
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
744
744
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
745
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
745
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
746
746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
747
747
  ] }) }),
748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs", children: source }),
749
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs", children: row.landingRoute }),
750
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs", children: source }),
749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs", children: row.landingRoute }),
750
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
752
752
  ] }, row.id);
753
753
  }) })
754
754
  ] }) }),
755
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
755
+ hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
756
756
  ] });
757
757
  }
758
758
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -819,7 +819,7 @@ function AnalyticsTimelineChart({ rows, className }) {
819
819
  // rtl-ok: deliberate LTR island (chart)
820
820
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
821
821
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
822
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.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: [
822
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.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: [
823
823
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
824
824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
825
825
  _recharts.XAxis,
@@ -843,10 +843,10 @@ function AnalyticsTimelineChart({ rows, className }) {
843
843
  }
844
844
  ),
845
845
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
846
- _chunkZCM4JLM7js.ChartTooltip,
846
+ _chunk4UFMLTL2js.ChartTooltip,
847
847
  {
848
848
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
849
- _chunkZCM4JLM7js.ChartTooltipContent,
849
+ _chunk4UFMLTL2js.ChartTooltipContent,
850
850
  {
851
851
  labelFormatter: (value) => bucketDate(String(value), granularity),
852
852
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -854,7 +854,7 @@ function AnalyticsTimelineChart({ rows, className }) {
854
854
  )
855
855
  }
856
856
  ),
857
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.ChartLegendContent, {}) }),
857
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.ChartLegendContent, {}) }),
858
858
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
859
859
  _recharts.Bar,
860
860
  {
@@ -889,25 +889,25 @@ function AnalyticsAdminContainer() {
889
889
  error
890
890
  } = useAnalyticsAdmin();
891
891
  if (error) {
892
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
892
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
893
893
  }
894
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
895
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.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: [
894
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
895
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.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: [
896
896
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
897
897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
898
898
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
899
899
  ] }),
900
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Card, { children: [
901
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
902
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
900
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Card, { children: [
901
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
902
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
903
903
  ] }),
904
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Card, { children: [
905
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
906
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
904
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Card, { children: [
905
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
906
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
907
907
  ] }),
908
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Card, { children: [
909
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
910
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
908
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Card, { children: [
909
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
910
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
911
911
  AnalyticsSessionsTable,
912
912
  {
913
913
  rows: sessions,
@@ -930,7 +930,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
930
930
  function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
931
931
  const t = _nextintl.useTranslations.call(void 0, );
932
932
  const locale = _nextintl.useLocale.call(void 0, );
933
- const generateUrl = _chunkZCM4JLM7js.usePageUrlGenerator.call(void 0, );
933
+ const generateUrl = _chunk4UFMLTL2js.usePageUrlGenerator.call(void 0, );
934
934
  const [session, setSession] = _react.useState.call(void 0, void 0);
935
935
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
936
936
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -986,26 +986,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
986
986
  const title = { type: t("analytics.admin.panels.journey") };
987
987
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
988
988
  if (error) {
989
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
989
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
990
990
  }
991
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
991
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
992
992
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
993
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.RoundPageContainer, { module: _chunkSQTXJPREjs.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: [
994
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.CardContent, { className: "flex flex-col gap-3", children: [
993
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.RoundPageContainer, { module: _chunkSQTXJPREjs.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: [
994
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.CardContent, { className: "flex flex-col gap-3", children: [
995
995
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
996
996
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
997
997
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
998
998
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
999
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1000
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
999
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1000
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1001
1001
  ] }),
1002
1002
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1003
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1004
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1005
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1006
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1003
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1004
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1005
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1006
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1007
1007
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1008
- _chunkZCM4JLM7js.DetailField,
1008
+ _chunk4UFMLTL2js.DetailField,
1009
1009
  {
1010
1010
  label: t("analytics.admin.columns.visitor"),
1011
1011
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1013,31 +1013,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1013
1013
  )
1014
1014
  ] })
1015
1015
  ] }) }),
1016
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Card, { children: [
1017
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1018
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1016
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Card, { children: [
1017
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1018
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.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
1019
  // The package's <Table> wraps itself in an `overflow-x-clip`
1020
1020
  // container — hence the child override, so wide rows scroll.
1021
- /* @__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, _chunkZCM4JLM7js.Table, { children: [
1022
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { children: [
1023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1025
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1021
+ /* @__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, _chunk4UFMLTL2js.Table, { children: [
1022
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { children: [
1023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1024
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1025
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1026
1026
  ] }) }),
1027
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableBody, { children: pageViews.map((pageView, index) => {
1027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableBody, { children: pageViews.map((pageView, index) => {
1028
1028
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1029
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1031
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1032
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.TableCell, { className: "text-xs", children: pageView.path })
1029
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1031
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1032
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.TableCell, { className: "text-xs", children: pageView.path })
1033
1033
  ] }, pageView.id);
1034
1034
  }) })
1035
1035
  ] }) })
1036
1036
  ) })
1037
1037
  ] }),
1038
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZCM4JLM7js.Card, { children: [
1039
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1040
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1038
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4UFMLTL2js.Card, { children: [
1039
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1040
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1041
1041
  AnalyticsSessionsTable,
1042
1042
  {
1043
1043
  rows: otherSessions,
@@ -1049,7 +1049,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1049
1049
  ] })
1050
1050
  ] }) });
1051
1051
  }, "renderBody");
1052
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZCM4JLM7js.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1052
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4UFMLTL2js.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1053
1053
  }
1054
1054
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1055
1055
  function unit(locale, name, value) {
@@ -33,7 +33,7 @@ import {
33
33
  TabsList,
34
34
  TabsTrigger,
35
35
  usePageUrlGenerator
36
- } from "../../chunk-Q4XLE3QO.mjs";
36
+ } from "../../chunk-THZAK7S3.mjs";
37
37
  import "../../chunk-AWLTSKMM.mjs";
38
38
  import "../../chunk-PW42LRSL.mjs";
39
39
  import {