@carlonicora/nextjs-jsonapi 4.0.7 → 4.1.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 (59) hide show
  1. package/dist/{BlockNoteEditor-J7EF7BRX.js → BlockNoteEditor-6CBMNJPU.js} +9 -9
  2. package/dist/{BlockNoteEditor-J7EF7BRX.js.map → BlockNoteEditor-6CBMNJPU.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-KOHN3SSR.mjs → BlockNoteEditor-7N66JABP.mjs} +2 -2
  4. package/dist/billing/index.js +335 -335
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-3W3VVX2N.mjs → chunk-HQKTQBUC.mjs} +89 -29
  7. package/dist/chunk-HQKTQBUC.mjs.map +1 -0
  8. package/dist/{chunk-3M7D6NXU.js → chunk-MJVEKDM4.js} +320 -260
  9. package/dist/chunk-MJVEKDM4.js.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 +10 -1
  13. package/dist/components/index.d.ts +10 -1
  14. package/dist/components/index.js +4 -2
  15. package/dist/components/index.js.map +1 -1
  16. package/dist/components/index.mjs +3 -1
  17. package/dist/contexts/index.js +2 -2
  18. package/dist/contexts/index.mjs +1 -1
  19. package/dist/features/analytics/index.js +88 -88
  20. package/dist/features/analytics/index.mjs +1 -1
  21. package/dist/features/help/index.js +31 -31
  22. package/dist/features/help/index.mjs +1 -1
  23. package/dist/features/tokenusage/index.js +75 -75
  24. package/dist/features/tokenusage/index.mjs +1 -1
  25. package/dist/next-config/index.d.mts +8 -1
  26. package/dist/next-config/index.d.ts +8 -1
  27. package/dist/next-config/index.js +31 -9
  28. package/dist/next-config/index.js.map +1 -1
  29. package/dist/next-config/index.mjs +31 -9
  30. package/dist/next-config/index.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/src/features/company/components/details/CompanyContent.tsx +9 -2
  33. package/src/features/company/components/forms/CompanyEditor.tsx +2 -0
  34. package/src/features/company/hooks/useSubscriptionStatus.test.ts +76 -10
  35. package/src/features/company/hooks/useSubscriptionStatus.ts +9 -9
  36. package/src/features/how-to/components/containers/HowToCommand.spec.tsx +79 -6
  37. package/src/features/how-to/components/containers/HowToCommand.tsx +12 -2
  38. package/src/features/how-to/components/forms/HowToSelector.spec.tsx +85 -0
  39. package/src/features/how-to/components/forms/HowToSelector.tsx +1 -0
  40. package/src/features/role/components/forms/UserRoleAdd.spec.tsx +71 -0
  41. package/src/features/role/components/forms/UserRoleAdd.tsx +1 -0
  42. package/src/features/user/components/forms/UserSelector.spec.tsx +85 -0
  43. package/src/features/user/components/forms/UserSelector.tsx +1 -0
  44. package/src/features/user/components/lists/UserListInAdd.spec.tsx +84 -0
  45. package/src/features/user/components/lists/UserListInAdd.tsx +1 -0
  46. package/src/features/user/components/widgets/UserSearchPopover.spec.tsx +68 -0
  47. package/src/features/user/components/widgets/UserSearchPopover.tsx +1 -0
  48. package/src/next-config/__tests__/createNextConfig.test.ts +45 -3
  49. package/src/next-config/csp.ts +25 -4
  50. package/src/next-config/index.ts +19 -12
  51. package/src/shadcnui/custom/multi-select.spec.tsx +70 -0
  52. package/src/shadcnui/custom/multi-select.tsx +26 -2
  53. package/src/shadcnui/custom/multiple-selector.spec.tsx +111 -0
  54. package/src/shadcnui/custom/multiple-selector.tsx +33 -10
  55. package/src/shadcnui/ui/command.spec.ts +26 -0
  56. package/src/shadcnui/ui/command.tsx +13 -1
  57. package/dist/chunk-3M7D6NXU.js.map +0 -1
  58. package/dist/chunk-3W3VVX2N.mjs.map +0 -1
  59. /package/dist/{BlockNoteEditor-KOHN3SSR.mjs.map → BlockNoteEditor-7N66JABP.mjs.map} +0 -0
@@ -33,7 +33,7 @@ var _chunkC2WQXUL5js = require('../../chunk-C2WQXUL5.js');
33
33
 
34
34
 
35
35
 
36
- var _chunk3M7D6NXUjs = require('../../chunk-3M7D6NXU.js');
36
+ var _chunkMJVEKDM4js = require('../../chunk-MJVEKDM4.js');
37
37
  require('../../chunk-7ZRQOLSV.js');
38
38
  require('../../chunk-G4JR3SFV.js');
39
39
 
@@ -224,7 +224,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
224
224
  };
225
225
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
226
226
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
227
- _chunk3M7D6NXUjs.DateRangeSelector,
227
+ _chunkMJVEKDM4js.DateRangeSelector,
228
228
  {
229
229
  onDateChange: (range) => {
230
230
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -268,7 +268,7 @@ function Segmented({
268
268
  children: options.map((option) => {
269
269
  const selected = option.value === value;
270
270
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
271
- _chunk3M7D6NXUjs.Button,
271
+ _chunkMJVEKDM4js.Button,
272
272
  {
273
273
  type: "button",
274
274
  size: "sm",
@@ -388,7 +388,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
388
388
  sessionPageUrl = ANALYTICS_SESSION_PAGE_URL
389
389
  }) => {
390
390
  const t = _nextintl.useTranslations.call(void 0, );
391
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
391
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
392
392
  const [filters, setFilterState] = _react.useState.call(void 0, () => {
393
393
  const range = defaultRange();
394
394
  return {
@@ -512,7 +512,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
512
512
  error
513
513
  ]
514
514
  );
515
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
515
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
516
516
  }, "AnalyticsAdminProvider");
517
517
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
518
518
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -605,8 +605,8 @@ function LeadTile({
605
605
  previousLabel,
606
606
  decimal
607
607
  }) {
608
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.CardContent, { className: "grid gap-1", children: [
609
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.MicroLabel, { children: label }),
608
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.CardContent, { className: "grid gap-1", children: [
609
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.MicroLabel, { children: label }),
610
610
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
611
611
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
612
612
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -622,8 +622,8 @@ function SupportingTile({
622
622
  delta,
623
623
  decimal
624
624
  }) {
625
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.CardContent, { className: "grid gap-1", children: [
626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.MicroLabel, { children: label }),
625
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.CardContent, { className: "grid gap-1", children: [
626
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.MicroLabel, { children: label }),
627
627
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
628
628
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
629
629
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -674,9 +674,9 @@ function AnalyticsBreakdownTable({ breakdowns }) {
674
674
  route: t("analytics.admin.dimensions.route"),
675
675
  landing: t("analytics.admin.dimensions.landing")
676
676
  };
677
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
678
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.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, _chunk3M7D6NXUjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
679
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
677
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
678
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.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, _chunkMJVEKDM4js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
679
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
680
680
  ] });
681
681
  }
682
682
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
@@ -691,18 +691,18 @@ function BreakdownRows({ rows }) {
691
691
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
692
692
  // would swallow the overflow before this scroller ever saw it — hence the
693
693
  // child override. Wide tables must scroll, never widen the page.
694
- /* @__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, _chunk3M7D6NXUjs.Table, { children: [
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { children: [
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
697
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
694
+ /* @__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, _chunkMJVEKDM4js.Table, { children: [
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { children: [
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
700
700
  ] }) }),
701
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
702
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
703
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
704
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
705
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
703
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
704
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
705
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
706
706
  ] }, row.id)) })
707
707
  ] }) })
708
708
  );
@@ -717,48 +717,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
717
717
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
718
718
  const t = _nextintl.useTranslations.call(void 0, );
719
719
  const locale = _nextintl.useLocale.call(void 0, );
720
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
720
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
721
721
  const { decimal } = _chunkC2WQXUL5js.useUsageFormatters.call(void 0, );
722
722
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
723
723
  if (rows.length === 0) {
724
724
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
725
725
  }
726
726
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
727
- /* @__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, _chunk3M7D6NXUjs.Table, { children: [
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { children: [
729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
730
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
732
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
734
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
727
+ /* @__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, _chunkMJVEKDM4js.Table, { children: [
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { children: [
729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
731
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
732
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
734
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
735
735
  ] }) }),
736
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableBody, { children: rows.map((row) => {
736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableBody, { children: rows.map((row) => {
737
737
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
738
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
739
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
740
- _chunk3M7D6NXUjs.Link,
738
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
739
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
740
+ _chunkMJVEKDM4js.Link,
741
741
  {
742
742
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
743
743
  "data-testid": `analytics-session-link-${row.id}`,
744
744
  children: dateTime.format(row.startedAt)
745
745
  }
746
746
  ) }),
747
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
747
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
748
748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
749
749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
750
750
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
752
752
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
753
753
  ] }) }),
754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs", children: source }),
755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs", children: row.landingRoute }),
756
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
757
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs", children: source }),
755
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs", children: row.landingRoute }),
756
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
757
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
758
758
  ] }, row.id);
759
759
  }) })
760
760
  ] }) }),
761
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
761
+ hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
762
762
  ] });
763
763
  }
764
764
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -825,7 +825,7 @@ function AnalyticsTimelineChart({ rows, className }) {
825
825
  // rtl-ok: deliberate LTR island (chart)
826
826
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
827
827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
828
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.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: [
828
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.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: [
829
829
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
830
830
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
831
831
  _recharts.XAxis,
@@ -849,10 +849,10 @@ function AnalyticsTimelineChart({ rows, className }) {
849
849
  }
850
850
  ),
851
851
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunk3M7D6NXUjs.ChartTooltip,
852
+ _chunkMJVEKDM4js.ChartTooltip,
853
853
  {
854
854
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
855
- _chunk3M7D6NXUjs.ChartTooltipContent,
855
+ _chunkMJVEKDM4js.ChartTooltipContent,
856
856
  {
857
857
  labelFormatter: (value) => bucketDate(String(value), granularity),
858
858
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -860,7 +860,7 @@ function AnalyticsTimelineChart({ rows, className }) {
860
860
  )
861
861
  }
862
862
  ),
863
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.ChartLegendContent, {}) }),
863
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.ChartLegendContent, {}) }),
864
864
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
865
865
  _recharts.Bar,
866
866
  {
@@ -895,25 +895,25 @@ function AnalyticsAdminContainer() {
895
895
  error
896
896
  } = useAnalyticsAdmin();
897
897
  if (error) {
898
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
898
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
899
899
  }
900
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
901
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
900
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true });
901
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
902
902
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
903
903
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
904
904
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
905
905
  ] }),
906
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Card, { children: [
907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
906
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Card, { children: [
907
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
909
909
  ] }),
910
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Card, { children: [
911
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
912
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
910
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Card, { children: [
911
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
912
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
913
913
  ] }),
914
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Card, { children: [
915
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
916
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
914
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Card, { children: [
915
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
916
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
917
917
  AnalyticsSessionsTable,
918
918
  {
919
919
  rows: sessions,
@@ -936,7 +936,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
936
936
  function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL2 }) {
937
937
  const t = _nextintl.useTranslations.call(void 0, );
938
938
  const locale = _nextintl.useLocale.call(void 0, );
939
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
939
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
940
940
  const [session, setSession] = _react.useState.call(void 0, void 0);
941
941
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
942
942
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -992,26 +992,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
992
992
  const title = { type: t("analytics.admin.panels.journey") };
993
993
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
994
994
  if (error) {
995
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
995
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
996
996
  }
997
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
997
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true });
998
998
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
999
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
1000
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.CardContent, { className: "flex flex-col gap-3", children: [
999
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
1000
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.CardContent, { className: "flex flex-col gap-3", children: [
1001
1001
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
1002
1002
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
1003
1003
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
1004
1004
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
1005
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1006
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1005
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1006
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1007
1007
  ] }),
1008
1008
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1010
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1011
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1012
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1010
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1011
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1012
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1013
1013
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1014
- _chunk3M7D6NXUjs.DetailField,
1014
+ _chunkMJVEKDM4js.DetailField,
1015
1015
  {
1016
1016
  label: t("analytics.admin.columns.visitor"),
1017
1017
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1019,31 +1019,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1019
1019
  )
1020
1020
  ] })
1021
1021
  ] }) }),
1022
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Card, { children: [
1023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.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
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Card, { children: [
1023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1024
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1025
1025
  // The package's <Table> wraps itself in an `overflow-x-clip`
1026
1026
  // container — hence the child override, so wide rows scroll.
1027
- /* @__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, _chunk3M7D6NXUjs.Table, { children: [
1028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { children: [
1029
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1031
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1027
+ /* @__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, _chunkMJVEKDM4js.Table, { children: [
1028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { children: [
1029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1031
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1032
1032
  ] }) }),
1033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableBody, { children: pageViews.map((pageView, index) => {
1033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableBody, { children: pageViews.map((pageView, index) => {
1034
1034
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1035
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1036
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1037
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1038
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TableCell, { className: "text-xs", children: pageView.path })
1035
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1036
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1037
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1038
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TableCell, { className: "text-xs", children: pageView.path })
1039
1039
  ] }, pageView.id);
1040
1040
  }) })
1041
1041
  ] }) })
1042
1042
  ) })
1043
1043
  ] }),
1044
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Card, { children: [
1045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1046
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1044
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Card, { children: [
1045
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1046
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1047
1047
  AnalyticsSessionsTable,
1048
1048
  {
1049
1049
  rows: otherSessions,
@@ -1055,7 +1055,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1055
1055
  ] })
1056
1056
  ] }) });
1057
1057
  }, "renderBody");
1058
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1058
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1059
1059
  }
1060
1060
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1061
1061
  function unit(locale, name, value) {
@@ -33,7 +33,7 @@ import {
33
33
  TabsList,
34
34
  TabsTrigger,
35
35
  usePageUrlGenerator
36
- } from "../../chunk-3W3VVX2N.mjs";
36
+ } from "../../chunk-HQKTQBUC.mjs";
37
37
  import "../../chunk-XTOEN5GN.mjs";
38
38
  import "../../chunk-PW42LRSL.mjs";
39
39
  import {
@@ -23,7 +23,7 @@ var _chunkYBZVWLPHjs = require('../../chunk-YBZVWLPH.js');
23
23
 
24
24
 
25
25
 
26
- var _chunk3M7D6NXUjs = require('../../chunk-3M7D6NXU.js');
26
+ var _chunkMJVEKDM4js = require('../../chunk-MJVEKDM4.js');
27
27
 
28
28
 
29
29
  var _chunk7ZRQOLSVjs = require('../../chunk-7ZRQOLSV.js');
@@ -76,29 +76,29 @@ var _lucidereact = require('lucide-react');
76
76
 
77
77
 
78
78
  function HelpAssistantSheet({ open, onOpenChange }) {
79
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
80
- _chunk3M7D6NXUjs.SheetContent,
79
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Sheet, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
80
+ _chunkMJVEKDM4js.SheetContent,
81
81
  {
82
82
  side: "end",
83
83
  className: "flex w-full flex-col data-[side=right]:sm:max-w-2xl data-[side=right]:lg:max-w-3xl data-[side=left]:sm:max-w-2xl data-[side=left]:lg:max-w-3xl",
84
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
84
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.AssistantProvider, { manageUrl: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAssistantSheetBody, {}) })
85
85
  }
86
86
  ) });
87
87
  }
88
88
  _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheet, "HelpAssistantSheet");
89
89
  function HelpAssistantSheetBody() {
90
90
  const t = _nextintl.useTranslations.call(void 0, );
91
- const ctx = _chunk3M7D6NXUjs.useAssistantContext.call(void 0, );
91
+ const ctx = _chunkMJVEKDM4js.useAssistantContext.call(void 0, );
92
92
  const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
93
93
  const send = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (content) => ctx.sendMessage(content, { howToMode: true }), "send");
94
94
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
95
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.SheetHeader, { children: [
96
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SheetTitle, { children: t("help.askAi.sheet.title") }),
97
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
95
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.SheetHeader, { children: [
96
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SheetTitle, { children: t("help.askAi.sheet.title") }),
97
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SheetDescription, { children: t("help.askAi.sheet.subtitle") })
98
98
  ] }),
99
- !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
99
+ !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.AssistantEmptyState, { onSend: send }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
100
100
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
101
- _chunk3M7D6NXUjs.AssistantThread,
101
+ _chunkMJVEKDM4js.AssistantThread,
102
102
  {
103
103
  messages: ctx.messages,
104
104
  sending: ctx.sending,
@@ -108,7 +108,7 @@ function HelpAssistantSheetBody() {
108
108
  onRetry: ctx.retrySend
109
109
  }
110
110
  ),
111
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.AssistantComposer, { onSend: send, disabled: ctx.sending })
111
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.AssistantComposer, { onSend: send, disabled: ctx.sending })
112
112
  ] })
113
113
  ] });
114
114
  }
@@ -118,20 +118,20 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAssistantSheetBody, "HelpAssistantSheet
118
118
 
119
119
  function HelpAskAi() {
120
120
  const t = _nextintl.useTranslations.call(void 0, );
121
- const { currentUser } = _chunk3M7D6NXUjs.useCurrentUserContext.call(void 0, );
121
+ const { currentUser } = _chunkMJVEKDM4js.useCurrentUserContext.call(void 0, );
122
122
  const [open, setOpen] = _react.useState.call(void 0, false);
123
123
  const disabled = !currentUser;
124
124
  if (disabled) {
125
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Tooltip, { children: [
126
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Button, { variant: "outline", size: "sm", disabled: true }), children: [
125
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Tooltip, { children: [
126
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Button, { variant: "outline", size: "sm", disabled: true }), children: [
127
127
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
128
128
  t("help.askAi.button")
129
129
  ] }),
130
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.TooltipContent, { children: t("help.askAi.loginTooltip") })
130
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.TooltipContent, { children: t("help.askAi.loginTooltip") })
131
131
  ] });
132
132
  }
133
133
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
134
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
134
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: [
135
135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SparklesIcon, { className: "h-4 w-4" }),
136
136
  t("help.askAi.button")
137
137
  ] }),
@@ -144,7 +144,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpAskAi, "HelpAskAi");
144
144
 
145
145
  function HelpHeader() {
146
146
  const t = _nextintl.useTranslations.call(void 0, );
147
- const { currentUser } = _chunk3M7D6NXUjs.useCurrentUserContext.call(void 0, );
147
+ const { currentUser } = _chunkMJVEKDM4js.useCurrentUserContext.call(void 0, );
148
148
  const { brand } = useHelp();
149
149
  const logo = _optionalChain([brand, 'optionalAccess', _ => _.logo]);
150
150
  const label = _nullishCoalesce(_optionalChain([brand, 'optionalAccess', _2 => _2.label]), () => ( "Help"));
@@ -160,7 +160,7 @@ function HelpHeader() {
160
160
  ] }),
161
161
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 max-md:shrink-0", children: [
162
162
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpAskAi, {}),
163
- currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref, className: _chunk3M7D6NXUjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login", className: _chunk3M7D6NXUjs.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.login") })
163
+ currentUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: appHref, className: _chunkMJVEKDM4js.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.openApp") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: "/login", className: _chunkMJVEKDM4js.buttonVariants.call(void 0, { variant: "outline", size: "sm" }), children: t("help.header.login") })
164
164
  ] })
165
165
  ] });
166
166
  }
@@ -202,7 +202,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, useHelpFilter, "useHelpFilter");
202
202
 
203
203
  function HelpSideNav() {
204
204
  const t = _nextintl.useTranslations.call(void 0, );
205
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
205
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
206
206
  const pathname = _navigation.usePathname.call(void 0, );
207
207
  const [articles, setArticles] = _react.useState.call(void 0, []);
208
208
  _react.useEffect.call(void 0, () => {
@@ -283,7 +283,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpSideNav, "HelpSideNav");
283
283
  function HelpArticleBody(props) {
284
284
  const t = _nextintl.useTranslations.call(void 0, );
285
285
  const format = _nextintl.useFormatter.call(void 0, );
286
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
286
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
287
287
  const { howToType, title, summary, updatedAt, prev, next, children } = props;
288
288
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: "prose dark:prose-invert max-w-none", children: [
289
289
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: "text-muted-foreground mb-2 text-xs", children: [
@@ -340,7 +340,7 @@ function HelpTOC({ headings }) {
340
340
  }, [headings]);
341
341
  if (headings.length === 0) return null;
342
342
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": t("help.toc.title"), className: "hidden lg:block", children: [
343
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.MicroLabel, { className: "mb-2", children: t("help.toc.title") }),
343
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.MicroLabel, { className: "mb-2", children: t("help.toc.title") }),
344
344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "space-y-1 text-sm", children: headings.map((h) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { style: { paddingInlineStart: `${(h.depth - 2) * 0.75}rem` }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
345
345
  "a",
346
346
  {
@@ -361,7 +361,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpTOC, "HelpTOC");
361
361
 
362
362
  function HelpHint({ contextKey }) {
363
363
  const t = _nextintl.useTranslations.call(void 0, );
364
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
364
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
365
365
  const [open, setOpen] = _react.useState.call(void 0, false);
366
366
  const [picked, setPicked] = _react.useState.call(void 0, null);
367
367
  const [articles, setArticles] = _react.useState.call(void 0, []);
@@ -379,7 +379,7 @@ function HelpHint({ contextKey }) {
379
379
  if (matches.length === 0) return null;
380
380
  const active = _nullishCoalesce(picked, () => ( (matches.length === 1 ? matches[0] : null)));
381
381
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
382
- _chunk3M7D6NXUjs.Sheet,
382
+ _chunkMJVEKDM4js.Sheet,
383
383
  {
384
384
  open,
385
385
  onOpenChange: (o) => {
@@ -387,11 +387,11 @@ function HelpHint({ contextKey }) {
387
387
  if (!o) setPicked(null);
388
388
  },
389
389
  children: [
390
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.Button, { variant: "ghost", size: "icon-sm", "aria-label": t("help.hint.trigger") }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.HelpCircleIcon, { className: "h-4 w-4" }) }),
391
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.SheetContent, { side: "end", className: "w-full max-w-md sm:max-w-lg", children: [
392
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3M7D6NXUjs.SheetHeader, { children: [
393
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SheetTitle, { children: active ? active.name : t("help.hint.pickArticle") }),
394
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
390
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SheetTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.Button, { variant: "ghost", size: "icon-sm", "aria-label": t("help.hint.trigger") }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.HelpCircleIcon, { className: "h-4 w-4" }) }),
391
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.SheetContent, { side: "end", className: "w-full max-w-md sm:max-w-lg", children: [
392
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMJVEKDM4js.SheetHeader, { children: [
393
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SheetTitle, { children: active ? active.name : t("help.hint.pickArticle") }),
394
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.SheetDescription, { children: _nullishCoalesce(_optionalChain([active, 'optionalAccess', _4 => _4.summary]), () => ( "")) })
395
395
  ] }),
396
396
  active ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-4 space-y-3", children: [
397
397
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: active.summary }),
@@ -423,7 +423,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, HelpHint, "HelpHint");
423
423
 
424
424
  function HelpSearchResultRow({ result, onSelect }) {
425
425
  const t = _nextintl.useTranslations.call(void 0, );
426
- const generateUrl = _chunk3M7D6NXUjs.usePageUrlGenerator.call(void 0, );
426
+ const generateUrl = _chunkMJVEKDM4js.usePageUrlGenerator.call(void 0, );
427
427
  const [article, setArticle] = _react.useState.call(void 0, null);
428
428
  _react.useEffect.call(void 0, () => {
429
429
  let active = true;
@@ -434,7 +434,7 @@ function HelpSearchResultRow({ result, onSelect }) {
434
434
  }, [result.id]);
435
435
  if (!article) {
436
436
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
437
- _chunk3M7D6NXUjs.CommandItem,
437
+ _chunkMJVEKDM4js.CommandItem,
438
438
  {
439
439
  value: result.id,
440
440
  disabled: true,
@@ -443,7 +443,7 @@ function HelpSearchResultRow({ result, onSelect }) {
443
443
  }
444
444
  );
445
445
  }
446
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M7D6NXUjs.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
446
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJVEKDM4js.CommandItem, { value: result.id, onSelect, className: "cursor-pointer p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
447
447
  _link2.default,
448
448
  {
449
449
  href: generateUrl({ page: `/help/${article.howToType}/${article.slug}` }),
@@ -23,7 +23,7 @@ import {
23
23
  useAssistantContext,
24
24
  useCurrentUserContext,
25
25
  usePageUrlGenerator
26
- } from "../../chunk-3W3VVX2N.mjs";
26
+ } from "../../chunk-HQKTQBUC.mjs";
27
27
  import {
28
28
  _getStaticHelpContent
29
29
  } from "../../chunk-XTOEN5GN.mjs";