@carlonicora/nextjs-jsonapi 6.14.1 → 6.16.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 (127) hide show
  1. package/dist/{BlockNoteEditor-UIAX72XW.js → BlockNoteEditor-GWDYMS6R.js} +20 -20
  2. package/dist/{BlockNoteEditor-UIAX72XW.js.map → BlockNoteEditor-GWDYMS6R.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-I3J6YYXK.mjs → BlockNoteEditor-HNP5UAJT.mjs} +5 -5
  4. package/dist/{BlockNoteViewer-HIUAJQRI.mjs → BlockNoteViewer-X4UEVI2A.mjs} +3 -3
  5. package/dist/{BlockNoteViewer-APBOPT4B.js → BlockNoteViewer-XYKFY77F.js} +4 -4
  6. package/dist/{BlockNoteViewer-APBOPT4B.js.map → BlockNoteViewer-XYKFY77F.js.map} +1 -1
  7. package/dist/EmailPurpose-DOsSqM5K.d.mts +3 -0
  8. package/dist/EmailPurpose-DOsSqM5K.d.ts +3 -0
  9. package/dist/billing/index.js +492 -492
  10. package/dist/billing/index.mjs +4 -4
  11. package/dist/{chunk-4XLDBOSE.js → chunk-A7Y5YW7Q.js} +1 -1
  12. package/dist/{chunk-4XLDBOSE.js.map → chunk-A7Y5YW7Q.js.map} +1 -1
  13. package/dist/{chunk-ZYSNJKOP.js → chunk-DFA566KY.js} +4 -4
  14. package/dist/{chunk-ZYSNJKOP.js.map → chunk-DFA566KY.js.map} +1 -1
  15. package/dist/{chunk-DJXSCARG.js → chunk-I5BQLY7V.js} +9 -9
  16. package/dist/{chunk-DJXSCARG.js.map → chunk-I5BQLY7V.js.map} +1 -1
  17. package/dist/{chunk-RFKSJIQB.mjs → chunk-KMPBSOFB.mjs} +138 -5
  18. package/dist/chunk-KMPBSOFB.mjs.map +1 -0
  19. package/dist/{chunk-UOTHRJD2.mjs → chunk-OKBJEIOP.mjs} +1 -1
  20. package/dist/chunk-OKBJEIOP.mjs.map +1 -0
  21. package/dist/{chunk-PMESKNKL.js → chunk-OO2DBP6L.js} +1106 -973
  22. package/dist/chunk-OO2DBP6L.js.map +1 -0
  23. package/dist/{chunk-HAW5PNJG.mjs → chunk-TY5YWBLL.mjs} +3 -3
  24. package/dist/{chunk-RT7XFGIN.js → chunk-UGDYZW4K.js} +1035 -997
  25. package/dist/chunk-UGDYZW4K.js.map +1 -0
  26. package/dist/{chunk-RYY7USSW.mjs → chunk-YEZGASBX.mjs} +50 -12
  27. package/dist/{chunk-RYY7USSW.mjs.map → chunk-YEZGASBX.mjs.map} +1 -1
  28. package/dist/{chunk-OUEYZOLB.mjs → chunk-YVKWACDP.mjs} +2 -2
  29. package/dist/client/index.js +5 -5
  30. package/dist/client/index.mjs +4 -4
  31. package/dist/components/editors/server.d.mts +7 -1
  32. package/dist/components/editors/server.d.ts +7 -1
  33. package/dist/components/editors/server.js +17 -4
  34. package/dist/components/editors/server.js.map +1 -1
  35. package/dist/components/editors/server.mjs +17 -4
  36. package/dist/components/editors/server.mjs.map +1 -1
  37. package/dist/components/index.d.mts +3 -2
  38. package/dist/components/index.d.ts +3 -2
  39. package/dist/components/index.js +5 -5
  40. package/dist/components/index.mjs +4 -4
  41. package/dist/contexts/index.js +5 -5
  42. package/dist/contexts/index.mjs +4 -4
  43. package/dist/core/index.d.mts +92 -7
  44. package/dist/core/index.d.ts +92 -7
  45. package/dist/core/index.js +7 -3
  46. package/dist/core/index.js.map +1 -1
  47. package/dist/core/index.mjs +6 -2
  48. package/dist/{email-automation-enrollment.fields-BZvF14qx.d.mts → email-automation-enrollment.fields-CPsgxLif.d.mts} +11 -1
  49. package/dist/{email-automation-enrollment.fields-Cp3VMzFq.d.ts → email-automation-enrollment.fields-CVicSamF.d.ts} +11 -1
  50. package/dist/email-automations/index.d.mts +19 -5
  51. package/dist/email-automations/index.d.ts +19 -5
  52. package/dist/email-automations/index.js +356 -129
  53. package/dist/email-automations/index.js.map +1 -1
  54. package/dist/email-automations/index.mjs +306 -79
  55. package/dist/email-automations/index.mjs.map +1 -1
  56. package/dist/features/analytics/index.js +121 -121
  57. package/dist/features/analytics/index.mjs +4 -4
  58. package/dist/features/analytics/server.js +5 -5
  59. package/dist/features/analytics/server.mjs +3 -3
  60. package/dist/features/blog/index.js +151 -151
  61. package/dist/features/blog/index.mjs +4 -4
  62. package/dist/features/blog/server.js +17 -17
  63. package/dist/features/blog/server.mjs +2 -2
  64. package/dist/features/help/index.js +38 -38
  65. package/dist/features/help/index.mjs +4 -4
  66. package/dist/features/tokenusage/index.js +127 -127
  67. package/dist/features/tokenusage/index.mjs +4 -4
  68. package/dist/index.d.mts +4 -3
  69. package/dist/index.d.ts +4 -3
  70. package/dist/index.js +8 -4
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.mjs +7 -3
  73. package/dist/offline/index.js +14 -14
  74. package/dist/offline/index.mjs +1 -1
  75. package/dist/{referral-admin.interface-RVO-ZTJz.d.mts → referral-admin.interface-DTj4LzXx.d.mts} +3 -0
  76. package/dist/{referral-admin.interface-CnytdDaQ.d.ts → referral-admin.interface-DeSCw3Pp.d.ts} +3 -0
  77. package/dist/server/index.js +4 -4
  78. package/dist/server/index.mjs +3 -3
  79. package/messages/en.json +35 -3
  80. package/messages/it.json +35 -3
  81. package/package.json +1 -1
  82. package/src/components/editors/server/__tests__/renderBlockNoteMarkdown.spec.ts +45 -0
  83. package/src/components/editors/server/renderBlockNoteHTML.ts +2 -18
  84. package/src/components/editors/server/renderBlockNoteMarkdown.ts +10 -0
  85. package/src/components/editors/server/serverEditor.ts +25 -0
  86. package/src/components/editors/server-entry.ts +1 -0
  87. package/src/core/index.ts +1 -0
  88. package/src/core/registry/ModuleRegistry.ts +1 -0
  89. package/src/features/email-automation/EmailAutomationCandidateModule.ts +12 -0
  90. package/src/features/email-automation/EmailAutomationModule.ts +1 -0
  91. package/src/features/email-automation/components/__tests__/EmailAutomationEditor.spec.tsx +74 -9
  92. package/src/features/email-automation/components/forms/EmailAutomationAddPersonDialog.tsx +226 -0
  93. package/src/features/email-automation/components/forms/EmailAutomationEditor.tsx +23 -0
  94. package/src/features/email-automation/components/forms/EmailStepEditor.tsx +7 -3
  95. package/src/features/email-automation/components/index.ts +1 -0
  96. package/src/features/email-automation/components/lists/EmailAutomationRecipientsList.tsx +38 -20
  97. package/src/features/email-automation/components/lists/EmailAutomationsList.tsx +1 -0
  98. package/src/features/email-automation/components/unsubscribe/EmailUnsubscribe.tsx +9 -4
  99. package/src/features/email-automation/data/EmailAutomation.ts +9 -0
  100. package/src/features/email-automation/data/EmailAutomationCandidate.ts +66 -0
  101. package/src/features/email-automation/data/EmailAutomationCandidateInterface.ts +19 -0
  102. package/src/features/email-automation/data/EmailAutomationEnrollment.ts +16 -2
  103. package/src/features/email-automation/data/EmailAutomationEnrollmentInterface.ts +7 -0
  104. package/src/features/email-automation/data/EmailAutomationInterface.ts +3 -0
  105. package/src/features/email-automation/data/EmailAutomationService.ts +53 -1
  106. package/src/features/email-automation/data/EmailPurpose.ts +1 -0
  107. package/src/features/email-automation/data/__tests__/email-automation-models.spec.ts +70 -0
  108. package/src/features/email-automation/data/email-automation.fields.ts +1 -0
  109. package/src/features/email-automation/data/index.ts +2 -0
  110. package/src/features/email-automation/hooks/useEmailAutomationTableStructure.tsx +19 -0
  111. package/src/features/email-automation/index.ts +2 -0
  112. package/src/features/email-blast/EmailBlastModule.ts +1 -0
  113. package/src/features/email-blast/components/forms/EmailBlastEditor.tsx +33 -4
  114. package/src/features/email-blast/components/lists/EmailBlastsList.tsx +1 -0
  115. package/src/features/email-blast/data/EmailBlast.ts +10 -1
  116. package/src/features/email-blast/data/EmailBlastInterface.ts +3 -0
  117. package/src/features/email-blast/data/__tests__/EmailBlast.spec.ts +18 -0
  118. package/src/features/email-blast/data/email-blast.fields.ts +1 -0
  119. package/src/features/email-blast/hooks/useEmailBlastTableStructure.tsx +15 -0
  120. package/dist/chunk-PMESKNKL.js.map +0 -1
  121. package/dist/chunk-RFKSJIQB.mjs.map +0 -1
  122. package/dist/chunk-RT7XFGIN.js.map +0 -1
  123. package/dist/chunk-UOTHRJD2.mjs.map +0 -1
  124. /package/dist/{BlockNoteEditor-I3J6YYXK.mjs.map → BlockNoteEditor-HNP5UAJT.mjs.map} +0 -0
  125. /package/dist/{BlockNoteViewer-HIUAJQRI.mjs.map → BlockNoteViewer-X4UEVI2A.mjs.map} +0 -0
  126. /package/dist/{chunk-HAW5PNJG.mjs.map → chunk-TY5YWBLL.mjs.map} +0 -0
  127. /package/dist/{chunk-OUEYZOLB.mjs.map → chunk-YVKWACDP.mjs.map} +0 -0
@@ -31,9 +31,9 @@
31
31
 
32
32
 
33
33
 
34
- var _chunkRT7XFGINjs = require('../../chunk-RT7XFGIN.js');
34
+ var _chunkUGDYZW4Kjs = require('../../chunk-UGDYZW4K.js');
35
35
  require('../../chunk-3EPNHTMH.js');
36
- require('../../chunk-DJXSCARG.js');
36
+ require('../../chunk-I5BQLY7V.js');
37
37
  require('../../chunk-G4JR3SFV.js');
38
38
 
39
39
 
@@ -45,12 +45,12 @@ require('../../chunk-G4JR3SFV.js');
45
45
 
46
46
 
47
47
 
48
- var _chunkPMESKNKLjs = require('../../chunk-PMESKNKL.js');
48
+ var _chunkOO2DBP6Ljs = require('../../chunk-OO2DBP6L.js');
49
49
  require('../../chunk-DGN3PR2F.js');
50
50
 
51
51
 
52
52
 
53
- var _chunk4XLDBOSEjs = require('../../chunk-4XLDBOSE.js');
53
+ var _chunkA7Y5YW7Qjs = require('../../chunk-A7Y5YW7Q.js');
54
54
  require('../../chunk-KV4N7DEG.js');
55
55
  require('../../chunk-WCEYT3GG.js');
56
56
  require('../../chunk-WUNSG3IN.js');
@@ -66,7 +66,7 @@ var _react = require('react');
66
66
  var _uuid = require('uuid');
67
67
 
68
68
  // src/features/analytics/data/AnalyticsService.ts
69
- var AnalyticsService = class extends _chunkPMESKNKLjs.AbstractService {
69
+ var AnalyticsService = class extends _chunkOO2DBP6Ljs.AbstractService {
70
70
  static {
71
71
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
72
72
  }
@@ -78,9 +78,9 @@ var AnalyticsService = class extends _chunkPMESKNKLjs.AbstractService {
78
78
  static async track(input) {
79
79
  try {
80
80
  await this.callApi({
81
- type: _chunk4XLDBOSEjs.Modules.AnalyticsEvent,
81
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsEvent,
82
82
  method: "POST" /* POST */,
83
- endpoint: new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsEvent }).generate(),
83
+ endpoint: new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsEvent }).generate(),
84
84
  input,
85
85
  suppressGlobalError: true
86
86
  });
@@ -229,7 +229,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
229
229
  };
230
230
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
231
231
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-md:w-full max-md:[&_#date]:w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
232
- _chunkRT7XFGINjs.DateRangeSelector,
232
+ _chunkUGDYZW4Kjs.DateRangeSelector,
233
233
  {
234
234
  onDateChange: (range) => {
235
235
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -273,13 +273,13 @@ function Segmented({
273
273
  children: options.map((option) => {
274
274
  const selected = option.value === value;
275
275
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
276
- _chunkRT7XFGINjs.Button,
276
+ _chunkUGDYZW4Kjs.Button,
277
277
  {
278
278
  type: "button",
279
279
  size: "sm",
280
280
  variant: selected ? "default" : "ghost",
281
281
  "aria-pressed": selected,
282
- className: _chunkPMESKNKLjs.cn.call(void 0, !selected && "text-muted-foreground"),
282
+ className: _chunkOO2DBP6Ljs.cn.call(void 0, !selected && "text-muted-foreground"),
283
283
  onClick: () => onSelect(option.value),
284
284
  children: option.label
285
285
  },
@@ -299,45 +299,45 @@ function withFilters(endpoint, filters) {
299
299
  return endpoint;
300
300
  }
301
301
  _chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
302
- var AnalyticsAdminService = class extends _chunkPMESKNKLjs.AbstractService {
302
+ var AnalyticsAdminService = class extends _chunkOO2DBP6Ljs.AbstractService {
303
303
  static {
304
304
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
305
305
  }
306
306
  /** Headline tiles: one row per window (current, previous). */
307
307
  static async getSummary(filters) {
308
- const endpoint = withFilters(new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsSummary }), filters);
308
+ const endpoint = withFilters(new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary }), filters);
309
309
  return this.callApi({
310
- type: _chunk4XLDBOSEjs.Modules.AnalyticsSummary,
310
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary,
311
311
  method: "GET" /* GET */,
312
312
  endpoint: endpoint.generate()
313
313
  });
314
314
  }
315
315
  static async getTimeline(params) {
316
- const endpoint = withFilters(new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsTimeline }), params);
316
+ const endpoint = withFilters(new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsTimeline }), params);
317
317
  endpoint.addAdditionalParam("granularity", params.granularity);
318
318
  return this.callApi({
319
- type: _chunk4XLDBOSEjs.Modules.AnalyticsTimeline,
319
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsTimeline,
320
320
  method: "GET" /* GET */,
321
321
  endpoint: endpoint.generate()
322
322
  });
323
323
  }
324
324
  static async getBreakdown(params) {
325
- const endpoint = withFilters(new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsBreakdown }), params);
325
+ const endpoint = withFilters(new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsBreakdown }), params);
326
326
  endpoint.addAdditionalParam("dimension", params.dimension);
327
327
  if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
328
328
  return this.callApi({
329
- type: _chunk4XLDBOSEjs.Modules.AnalyticsBreakdown,
329
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsBreakdown,
330
330
  method: "GET" /* GET */,
331
331
  endpoint: endpoint.generate()
332
332
  });
333
333
  }
334
334
  /** Newest sessions first, cursor-paginated through `next`. */
335
335
  static async getSessions(params) {
336
- const endpoint = withFilters(new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsSession }), params);
336
+ const endpoint = withFilters(new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession }), params);
337
337
  if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
338
338
  if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
339
339
  return this.callApi({
340
- type: _chunk4XLDBOSEjs.Modules.AnalyticsSession,
340
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession,
341
341
  method: "GET" /* GET */,
342
342
  endpoint: endpoint.generate(),
343
343
  next: params.next
@@ -345,20 +345,20 @@ var AnalyticsAdminService = class extends _chunkPMESKNKLjs.AbstractService {
345
345
  }
346
346
  static async getSession(params) {
347
347
  return this.callApi({
348
- type: _chunk4XLDBOSEjs.Modules.AnalyticsSession,
348
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession,
349
349
  method: "GET" /* GET */,
350
- endpoint: new (0, _chunk4XLDBOSEjs.EndpointCreator)({ endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsSession, id: params.id }).generate()
350
+ endpoint: new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, id: params.id }).generate()
351
351
  });
352
352
  }
353
353
  /** The journey: every page view of one session, oldest first. */
354
354
  static async getSessionPageViews(params) {
355
355
  return this.callApi({
356
- type: _chunk4XLDBOSEjs.Modules.AnalyticsPageView,
356
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsPageView,
357
357
  method: "GET" /* GET */,
358
- endpoint: new (0, _chunk4XLDBOSEjs.EndpointCreator)({
359
- endpoint: _chunk4XLDBOSEjs.Modules.AnalyticsSession,
358
+ endpoint: new (0, _chunkA7Y5YW7Qjs.EndpointCreator)({
359
+ endpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession,
360
360
  id: params.sessionId,
361
- childEndpoint: _chunk4XLDBOSEjs.Modules.AnalyticsPageView
361
+ childEndpoint: _chunkA7Y5YW7Qjs.Modules.AnalyticsPageView
362
362
  }).generate()
363
363
  });
364
364
  }
@@ -454,7 +454,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
454
454
  const sessionsNext = {};
455
455
  try {
456
456
  const nextSessions = await AnalyticsAdminService.next({
457
- type: _chunk4XLDBOSEjs.Modules.AnalyticsSession,
457
+ type: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession,
458
458
  endpoint: sessionsNextPage,
459
459
  next: sessionsNext
460
460
  });
@@ -509,7 +509,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
509
509
  error
510
510
  ]
511
511
  );
512
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
512
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
513
513
  }, "AnalyticsAdminProvider");
514
514
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
515
515
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -529,7 +529,7 @@ var _lucidereact = require('lucide-react');
529
529
  var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
530
530
  function AnalyticsAdminTiles({ summary }) {
531
531
  const t = _nextintl.useTranslations.call(void 0, );
532
- const { decimal } = _chunkRT7XFGINjs.useUsageFormatters.call(void 0, );
532
+ const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
533
533
  const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
534
534
  const current = rowFor("current");
535
535
  const previous = rowFor("previous");
@@ -542,7 +542,7 @@ function AnalyticsAdminTiles({ summary }) {
542
542
  testId: "analytics-tile-visitors",
543
543
  label: t("analytics.admin.tiles.visitors"),
544
544
  value: decimal(current.visitors, 0),
545
- delta: _chunkRT7XFGINjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
545
+ delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
546
546
  previousLabel,
547
547
  decimal
548
548
  }
@@ -553,7 +553,7 @@ function AnalyticsAdminTiles({ summary }) {
553
553
  testId: "analytics-tile-sessions",
554
554
  label: t("analytics.admin.tiles.sessions"),
555
555
  value: decimal(current.sessions, 0),
556
- delta: _chunkRT7XFGINjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
556
+ delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
557
557
  previousLabel,
558
558
  decimal
559
559
  }
@@ -564,7 +564,7 @@ function AnalyticsAdminTiles({ summary }) {
564
564
  testId: "analytics-tile-page-views",
565
565
  label: t("analytics.admin.tiles.page_views"),
566
566
  value: decimal(current.pageViews, 0),
567
- delta: _chunkRT7XFGINjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
567
+ delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
568
568
  previousLabel,
569
569
  decimal
570
570
  }
@@ -577,7 +577,7 @@ function AnalyticsAdminTiles({ summary }) {
577
577
  testId: "analytics-tile-pages-per-session",
578
578
  label: t("analytics.admin.tiles.pages_per_session"),
579
579
  value: decimal(current.pagesPerSession, 1),
580
- delta: _chunkRT7XFGINjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
580
+ delta: _chunkUGDYZW4Kjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
581
581
  decimal
582
582
  }
583
583
  ),
@@ -602,8 +602,8 @@ function LeadTile({
602
602
  previousLabel,
603
603
  decimal
604
604
  }) {
605
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.CardContent, { className: "grid gap-1", children: [
606
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.MicroLabel, { children: label }),
605
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "grid gap-1", children: [
606
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.MicroLabel, { children: label }),
607
607
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
608
608
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
609
609
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -619,8 +619,8 @@ function SupportingTile({
619
619
  delta,
620
620
  decimal
621
621
  }) {
622
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.CardContent, { className: "grid gap-1", children: [
623
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.MicroLabel, { children: label }),
622
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "grid gap-1", children: [
623
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.MicroLabel, { children: label }),
624
624
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
625
625
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
626
626
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -643,7 +643,7 @@ function Delta({
643
643
  "span",
644
644
  {
645
645
  "data-testid": testId,
646
- className: _chunkPMESKNKLjs.cn.call(void 0,
646
+ className: _chunkOO2DBP6Ljs.cn.call(void 0,
647
647
  "inline-flex items-center gap-0.5 text-xs tabular-nums",
648
648
  increased ? "text-success" : "text-destructive"
649
649
  ),
@@ -671,15 +671,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
671
671
  route: t("analytics.admin.dimensions.route"),
672
672
  landing: t("analytics.admin.dimensions.landing")
673
673
  };
674
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
675
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.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, _chunkRT7XFGINjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
676
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
674
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
675
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsList, { className: "max-md:w-full max-md:justify-start max-md:overflow-x-auto", children: ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
676
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
677
677
  ] });
678
678
  }
679
679
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
680
680
  function BreakdownRows({ rows }) {
681
681
  const t = _nextintl.useTranslations.call(void 0, );
682
- const { decimal } = _chunkRT7XFGINjs.useUsageFormatters.call(void 0, );
682
+ const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
683
683
  const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
684
684
  if (sortedRows.length === 0) {
685
685
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
@@ -688,18 +688,18 @@ function BreakdownRows({ rows }) {
688
688
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
689
689
  // would swallow the overflow before this scroller ever saw it — hence the
690
690
  // child override. Wide tables must scroll, never widen the page.
691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Table, { children: [
692
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { children: [
693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
697
697
  ] }) }),
698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
700
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
701
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
702
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
700
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
703
703
  ] }, row.id)) })
704
704
  ] }) })
705
705
  );
@@ -714,48 +714,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
714
714
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
715
715
  const t = _nextintl.useTranslations.call(void 0, );
716
716
  const locale = _nextintl.useLocale.call(void 0, );
717
- const generateUrl = _chunkRT7XFGINjs.usePageUrlGenerator.call(void 0, );
718
- const { decimal } = _chunkRT7XFGINjs.useUsageFormatters.call(void 0, );
717
+ const generateUrl = _chunkUGDYZW4Kjs.usePageUrlGenerator.call(void 0, );
718
+ const { decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
719
719
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
720
720
  if (rows.length === 0) {
721
721
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
722
722
  }
723
723
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
724
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Table, { children: [
725
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { children: [
726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
727
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
730
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
724
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
725
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
731
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
732
732
  ] }) }),
733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableBody, { children: rows.map((row) => {
733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: rows.map((row) => {
734
734
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
735
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
736
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
737
- _chunkRT7XFGINjs.Link,
735
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
737
+ _chunkUGDYZW4Kjs.Link,
738
738
  {
739
739
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
740
740
  "data-testid": `analytics-session-link-${row.id}`,
741
741
  children: dateTime.format(row.startedAt)
742
742
  }
743
743
  ) }),
744
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
744
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
745
745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
746
746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
747
747
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
749
749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
750
750
  ] }) }),
751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs", children: source }),
752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs", children: row.landingRoute }),
753
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: source }),
752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: row.landingRoute }),
753
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
755
755
  ] }, row.id);
756
756
  }) })
757
757
  ] }) }),
758
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
758
+ hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
759
759
  ] });
760
760
  }
761
761
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -787,7 +787,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
787
787
  }, "inferGranularity");
788
788
  function AnalyticsTimelineChart({ rows, className }) {
789
789
  const t = _nextintl.useTranslations.call(void 0, );
790
- const { compact, bucketDate, decimal } = _chunkRT7XFGINjs.useUsageFormatters.call(void 0, );
790
+ const { compact, bucketDate, decimal } = _chunkUGDYZW4Kjs.useUsageFormatters.call(void 0, );
791
791
  const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
792
792
  const mode = resolvedTheme === "dark" ? "dark" : "light";
793
793
  const chartData = _react.useMemo.call(void 0, () => {
@@ -822,7 +822,7 @@ function AnalyticsTimelineChart({ rows, className }) {
822
822
  // rtl-ok: deliberate LTR island (chart)
823
823
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
824
824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
825
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.ChartContainer, { config: chartConfig, className: "aspect-auto h-72 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _recharts.BarChart, { accessibilityLayer: true, data: chartData, margin: { top: 8, right: 8, bottom: 0, left: 0 }, children: [
825
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartContainer, { config: chartConfig, className: "aspect-auto h-72 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _recharts.BarChart, { accessibilityLayer: true, data: chartData, margin: { top: 8, right: 8, bottom: 0, left: 0 }, children: [
826
826
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
827
827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
828
828
  _recharts.XAxis,
@@ -846,10 +846,10 @@ function AnalyticsTimelineChart({ rows, className }) {
846
846
  }
847
847
  ),
848
848
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
849
- _chunkRT7XFGINjs.ChartTooltip,
849
+ _chunkUGDYZW4Kjs.ChartTooltip,
850
850
  {
851
851
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunkRT7XFGINjs.ChartTooltipContent,
852
+ _chunkUGDYZW4Kjs.ChartTooltipContent,
853
853
  {
854
854
  labelFormatter: (value) => bucketDate(String(value), granularity),
855
855
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -857,13 +857,13 @@ function AnalyticsTimelineChart({ rows, className }) {
857
857
  )
858
858
  }
859
859
  ),
860
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.ChartLegendContent, {}) }),
860
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.ChartLegendContent, {}) }),
861
861
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
862
862
  _recharts.Bar,
863
863
  {
864
864
  dataKey: series,
865
865
  maxBarSize: 28,
866
- fill: _chunkRT7XFGINjs.seriesColor.call(void 0, index, mode),
866
+ fill: _chunkUGDYZW4Kjs.seriesColor.call(void 0, index, mode),
867
867
  stroke: "var(--background)",
868
868
  strokeWidth: 2,
869
869
  radius: [4, 4, 0, 0]
@@ -892,25 +892,25 @@ function AnalyticsAdminContainer() {
892
892
  error
893
893
  } = useAnalyticsAdmin();
894
894
  if (error) {
895
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
895
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
896
896
  }
897
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
898
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
897
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
898
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
899
899
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
900
900
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
901
901
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
902
902
  ] }),
903
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Card, { children: [
904
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
905
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
903
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
905
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
906
906
  ] }),
907
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Card, { children: [
908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
909
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
907
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
909
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
910
910
  ] }),
911
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Card, { children: [
912
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
913
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
911
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
912
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
913
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
914
914
  AnalyticsSessionsTable,
915
915
  {
916
916
  rows: sessions,
@@ -933,7 +933,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
933
933
  function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
934
934
  const t = _nextintl.useTranslations.call(void 0, );
935
935
  const locale = _nextintl.useLocale.call(void 0, );
936
- const generateUrl = _chunkRT7XFGINjs.usePageUrlGenerator.call(void 0, );
936
+ const generateUrl = _chunkUGDYZW4Kjs.usePageUrlGenerator.call(void 0, );
937
937
  const [session, setSession] = _react.useState.call(void 0, void 0);
938
938
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
939
939
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -989,26 +989,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
989
989
  const title = { type: t("analytics.admin.panels.journey") };
990
990
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
991
991
  if (error) {
992
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
992
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
993
993
  }
994
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
994
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
995
995
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
996
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
997
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.CardContent, { className: "flex flex-col gap-3", children: [
996
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.RoundPageContainer, { module: _chunkA7Y5YW7Qjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
997
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.CardContent, { className: "flex flex-col gap-3", children: [
998
998
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
999
999
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
1000
1000
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
1001
1001
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
1002
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1003
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1002
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1003
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1004
1004
  ] }),
1005
1005
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1006
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1007
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1008
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1006
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1008
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1010
1010
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1011
- _chunkRT7XFGINjs.DetailField,
1011
+ _chunkUGDYZW4Kjs.DetailField,
1012
1012
  {
1013
1013
  label: t("analytics.admin.columns.visitor"),
1014
1014
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1016,31 +1016,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1016
1016
  )
1017
1017
  ] })
1018
1018
  ] }) }),
1019
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Card, { children: [
1020
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1021
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1019
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
1020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1022
1022
  // The package's <Table> wraps itself in an `overflow-x-clip`
1023
1023
  // container — hence the child override, so wide rows scroll.
1024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Table, { children: [
1025
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { children: [
1026
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1027
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1024
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto [&_[data-slot=table-container]]:overflow-x-visible", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Table, { children: [
1025
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { children: [
1026
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1029
1029
  ] }) }),
1030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableBody, { children: pageViews.map((pageView, index) => {
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableBody, { children: pageViews.map((pageView, index) => {
1031
1031
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1032
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1034
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1035
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.TableCell, { className: "text-xs", children: pageView.path })
1032
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1035
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.TableCell, { className: "text-xs", children: pageView.path })
1036
1036
  ] }, pageView.id);
1037
1037
  }) })
1038
1038
  ] }) })
1039
1039
  ) })
1040
1040
  ] }),
1041
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRT7XFGINjs.Card, { children: [
1042
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1043
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1041
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUGDYZW4Kjs.Card, { children: [
1042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1043
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1044
1044
  AnalyticsSessionsTable,
1045
1045
  {
1046
1046
  rows: otherSessions,
@@ -1052,7 +1052,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1052
1052
  ] })
1053
1053
  ] }) });
1054
1054
  }, "renderBody");
1055
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRT7XFGINjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1055
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUGDYZW4Kjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1056
1056
  }
1057
1057
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1058
1058
  function unit(locale, name, value) {
@@ -1160,5 +1160,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
1160
1160
 
1161
1161
 
1162
1162
 
1163
- exports.ANALYTICS_ADMIN_I18N_KEYS = ANALYTICS_ADMIN_I18N_KEYS; exports.ANALYTICS_DIMENSIONS = ANALYTICS_DIMENSIONS; exports.ANALYTICS_GRANULARITIES = ANALYTICS_GRANULARITIES; exports.ANALYTICS_SECTIONS = ANALYTICS_SECTIONS; exports.AnalyticsAdminContainer = AnalyticsAdminContainer; exports.AnalyticsAdminFilterBar = AnalyticsAdminFilterBar; exports.AnalyticsAdminPageContainer = AnalyticsAdminPageContainer; exports.AnalyticsAdminProvider = AnalyticsAdminProvider; exports.AnalyticsAdminService = AnalyticsAdminService; exports.AnalyticsAdminTiles = AnalyticsAdminTiles; exports.AnalyticsBreakdown = _chunkPMESKNKLjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkPMESKNKLjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkPMESKNKLjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkPMESKNKLjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkPMESKNKLjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkPMESKNKLjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkPMESKNKLjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
1163
+ exports.ANALYTICS_ADMIN_I18N_KEYS = ANALYTICS_ADMIN_I18N_KEYS; exports.ANALYTICS_DIMENSIONS = ANALYTICS_DIMENSIONS; exports.ANALYTICS_GRANULARITIES = ANALYTICS_GRANULARITIES; exports.ANALYTICS_SECTIONS = ANALYTICS_SECTIONS; exports.AnalyticsAdminContainer = AnalyticsAdminContainer; exports.AnalyticsAdminFilterBar = AnalyticsAdminFilterBar; exports.AnalyticsAdminPageContainer = AnalyticsAdminPageContainer; exports.AnalyticsAdminProvider = AnalyticsAdminProvider; exports.AnalyticsAdminService = AnalyticsAdminService; exports.AnalyticsAdminTiles = AnalyticsAdminTiles; exports.AnalyticsBreakdown = _chunkOO2DBP6Ljs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkOO2DBP6Ljs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkOO2DBP6Ljs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkOO2DBP6Ljs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkOO2DBP6Ljs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkOO2DBP6Ljs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkOO2DBP6Ljs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
1164
1164
  //# sourceMappingURL=index.js.map