@carlonicora/nextjs-jsonapi 5.4.0 → 5.5.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 (148) hide show
  1. package/dist/{BlockNoteEditor-YQL2SGFR.mjs → BlockNoteEditor-GVQCKRMU.mjs} +5 -5
  2. package/dist/{BlockNoteEditor-4YCAIEPT.js → BlockNoteEditor-THBJH2UR.js} +20 -20
  3. package/dist/{BlockNoteEditor-4YCAIEPT.js.map → BlockNoteEditor-THBJH2UR.js.map} +1 -1
  4. package/dist/{BlockNoteViewer-AEJKJ27Q.mjs → BlockNoteViewer-U6E3DS4F.mjs} +3 -3
  5. package/dist/{BlockNoteViewer-YL3J7J2Y.js → BlockNoteViewer-VZOVKTFO.js} +4 -4
  6. package/dist/{BlockNoteViewer-YL3J7J2Y.js.map → BlockNoteViewer-VZOVKTFO.js.map} +1 -1
  7. package/dist/billing/index.js +442 -442
  8. package/dist/billing/index.mjs +4 -4
  9. package/dist/{chunk-XCHSX3VC.mjs → chunk-3CGROPF3.mjs} +2 -2
  10. package/dist/{chunk-QMYQRPQC.mjs → chunk-6SQYXUVP.mjs} +2 -2
  11. package/dist/{chunk-NFBOSPNJ.js → chunk-G6UE6MEP.js} +59 -19
  12. package/dist/chunk-G6UE6MEP.js.map +1 -0
  13. package/dist/{chunk-YNCQSWQW.js → chunk-S4YJ5WCW.js} +8 -8
  14. package/dist/{chunk-YNCQSWQW.js.map → chunk-S4YJ5WCW.js.map} +1 -1
  15. package/dist/{chunk-3NLAXVIN.js → chunk-TY5FYP3G.js} +917 -881
  16. package/dist/chunk-TY5FYP3G.js.map +1 -0
  17. package/dist/{chunk-WC63PJSC.mjs → chunk-VC5A3AUZ.mjs} +61 -21
  18. package/dist/chunk-VC5A3AUZ.mjs.map +1 -0
  19. package/dist/{chunk-6DC2WVVB.mjs → chunk-W7F5BDSV.mjs} +2 -2
  20. package/dist/{chunk-5PPG6PL7.js → chunk-WPYT4UKJ.js} +3 -3
  21. package/dist/{chunk-5PPG6PL7.js.map → chunk-WPYT4UKJ.js.map} +1 -1
  22. package/dist/{chunk-EUKTBOI2.mjs → chunk-X5WIUUNG.mjs} +1471 -1435
  23. package/dist/chunk-X5WIUUNG.mjs.map +1 -0
  24. package/dist/{chunk-YW4ZCEWB.js → chunk-YDYVJM4I.js} +4 -4
  25. package/dist/{chunk-YW4ZCEWB.js.map → chunk-YDYVJM4I.js.map} +1 -1
  26. package/dist/client/index.js +5 -5
  27. package/dist/client/index.js.map +1 -1
  28. package/dist/client/index.mjs +4 -4
  29. package/dist/components/editors/server.d.mts +15 -0
  30. package/dist/components/editors/server.d.ts +15 -0
  31. package/dist/components/editors/server.js +38 -0
  32. package/dist/components/editors/server.js.map +1 -0
  33. package/dist/components/editors/server.mjs +38 -0
  34. package/dist/components/editors/server.mjs.map +1 -0
  35. package/dist/components/index.d.mts +33 -10
  36. package/dist/components/index.d.ts +33 -10
  37. package/dist/components/index.js +7 -5
  38. package/dist/components/index.js.map +1 -1
  39. package/dist/components/index.mjs +8 -6
  40. package/dist/contexts/index.d.mts +9 -1
  41. package/dist/contexts/index.d.ts +9 -1
  42. package/dist/contexts/index.js +5 -5
  43. package/dist/contexts/index.mjs +4 -4
  44. package/dist/core/index.js +4 -4
  45. package/dist/core/index.js.map +1 -1
  46. package/dist/core/index.mjs +3 -3
  47. package/dist/email-automations/index.d.mts +3 -0
  48. package/dist/email-automations/index.d.ts +3 -0
  49. package/dist/email-automations/index.js +99 -95
  50. package/dist/email-automations/index.js.map +1 -1
  51. package/dist/email-automations/index.mjs +30 -26
  52. package/dist/email-automations/index.mjs.map +1 -1
  53. package/dist/features/analytics/index.d.mts +11 -4
  54. package/dist/features/analytics/index.d.ts +11 -4
  55. package/dist/features/analytics/index.js +127 -135
  56. package/dist/features/analytics/index.js.map +1 -1
  57. package/dist/features/analytics/index.mjs +16 -24
  58. package/dist/features/analytics/index.mjs.map +1 -1
  59. package/dist/features/analytics/server.d.mts +5 -2
  60. package/dist/features/analytics/server.d.ts +5 -2
  61. package/dist/features/analytics/server.js +7 -7
  62. package/dist/features/analytics/server.js.map +1 -1
  63. package/dist/features/analytics/server.mjs +5 -5
  64. package/dist/features/analytics/server.mjs.map +1 -1
  65. package/dist/features/blog/index.d.mts +12 -2
  66. package/dist/features/blog/index.d.ts +12 -2
  67. package/dist/features/blog/index.js +206 -195
  68. package/dist/features/blog/index.js.map +1 -1
  69. package/dist/features/blog/index.mjs +71 -60
  70. package/dist/features/blog/index.mjs.map +1 -1
  71. package/dist/features/blog/server.d.mts +4 -1
  72. package/dist/features/blog/server.d.ts +4 -1
  73. package/dist/features/blog/server.js +49 -21
  74. package/dist/features/blog/server.js.map +1 -1
  75. package/dist/features/blog/server.mjs +36 -8
  76. package/dist/features/blog/server.mjs.map +1 -1
  77. package/dist/features/help/index.js +38 -38
  78. package/dist/features/help/index.mjs +4 -4
  79. package/dist/features/tokenusage/index.d.mts +1 -3
  80. package/dist/features/tokenusage/index.d.ts +1 -3
  81. package/dist/features/tokenusage/index.js +127 -135
  82. package/dist/features/tokenusage/index.js.map +1 -1
  83. package/dist/features/tokenusage/index.mjs +10 -18
  84. package/dist/features/tokenusage/index.mjs.map +1 -1
  85. package/dist/index.js +5 -5
  86. package/dist/index.js.map +1 -1
  87. package/dist/index.mjs +4 -4
  88. package/dist/server/index.js +4 -4
  89. package/dist/server/index.mjs +3 -3
  90. package/package.json +9 -1
  91. package/src/components/editors/server/BlockNoteServerContent.tsx +28 -0
  92. package/src/components/editors/server/__tests__/renderBlockNoteHTML.spec.ts +44 -0
  93. package/src/components/editors/server/renderBlockNoteHTML.ts +26 -0
  94. package/src/components/editors/server-entry.ts +7 -0
  95. package/src/components/index.ts +1 -0
  96. package/src/components/viewers/BlockNoteStaticViewer.tsx +44 -0
  97. package/src/features/administration/components/AdminIndexContainer.tsx +61 -33
  98. package/src/features/administration/components/__tests__/AdminIndexContainer.spec.tsx +61 -1
  99. package/src/features/administration/components/index.ts +2 -1
  100. package/src/features/administration/contexts/AdministrationContext.tsx +11 -3
  101. package/src/features/administration/contexts/__tests__/AdministrationContext.spec.tsx +40 -0
  102. package/src/features/ai-connection/ai-connection.module.ts +2 -0
  103. package/src/features/ai-connection/contexts/AiConnectionsContext.tsx +3 -16
  104. package/src/features/ai-connection/contexts/__tests__/AiConnectionsContext.spec.tsx +33 -0
  105. package/src/features/analytics/__tests__/server-entry.spec.tsx +2 -1
  106. package/src/features/analytics/analytics.modules.ts +22 -5
  107. package/src/features/analytics/components/AnalyticsAdminContainer.tsx +4 -3
  108. package/src/features/analytics/components/AnalyticsAdminPageContainer.tsx +6 -3
  109. package/src/features/analytics/components/AnalyticsJourneyContainer.tsx +4 -3
  110. package/src/features/analytics/components/__tests__/AnalyticsJourneyContainer.spec.tsx +11 -0
  111. package/src/features/analytics/components/__tests__/AnalyticsPageContainers.spec.tsx +12 -1
  112. package/src/features/analytics/components/server/AnalyticsAdminPage.tsx +6 -3
  113. package/src/features/analytics/contexts/AnalyticsAdminContext.tsx +8 -17
  114. package/src/features/analytics/contexts/__tests__/AnalyticsAdminContext.spec.tsx +17 -0
  115. package/src/features/billing/stripe-price/stripe-price.module.ts +2 -0
  116. package/src/features/billing/stripe-product/stripe-product.module.ts +2 -0
  117. package/src/features/blog/components/admin/BlogAdminContainer.tsx +13 -6
  118. package/src/features/blog/components/admin/BlogCategoriesList.tsx +1 -1
  119. package/src/features/blog/components/admin/BlogCoverImageField.tsx +1 -1
  120. package/src/features/blog/components/admin/BlogPostContainer.tsx +0 -1
  121. package/src/features/blog/components/admin/BlogPostEditor.tsx +42 -33
  122. package/src/features/blog/components/admin/BlogPostTranslationEditor.tsx +12 -4
  123. package/src/features/blog/components/admin/BlogPostsList.tsx +1 -1
  124. package/src/features/blog/components/public/BlogPostCard.tsx +2 -9
  125. package/src/features/blog/components/public/BlogPostMeta.tsx +2 -2
  126. package/src/features/blog/components/public/BlogPostView.tsx +9 -3
  127. package/src/features/blog/components/public/__tests__/BlogList.spec.tsx +2 -0
  128. package/src/features/blog/components/public/__tests__/BlogPostView.spec.tsx +17 -11
  129. package/src/features/blog/server/fetchers.ts +57 -8
  130. package/src/features/email-automation/components/containers/EmailAutomationsListContainer.tsx +12 -3
  131. package/src/features/rbac/contexts/RbacContext.tsx +4 -7
  132. package/src/features/rbac/contexts/__tests__/RbacContext.spec.tsx +42 -0
  133. package/src/features/tokenusage/components/TokenUsageAdminContainer.tsx +4 -3
  134. package/src/features/tokenusage/contexts/TokenUsageAdminContext.tsx +3 -18
  135. package/src/features/tokenusage/contexts/__tests__/TokenUsageAdminContext.spec.tsx +17 -0
  136. package/src/features/tokenusage/tokenusage-admin.module.ts +4 -3
  137. package/src/features/tokenusage/tokenusage.modules.ts +12 -2
  138. package/src/features/user/contexts/UserContext.tsx +18 -3
  139. package/src/features/user/contexts/__tests__/UserContext.spec.tsx +95 -0
  140. package/dist/chunk-3NLAXVIN.js.map +0 -1
  141. package/dist/chunk-EUKTBOI2.mjs.map +0 -1
  142. package/dist/chunk-NFBOSPNJ.js.map +0 -1
  143. package/dist/chunk-WC63PJSC.mjs.map +0 -1
  144. /package/dist/{BlockNoteEditor-YQL2SGFR.mjs.map → BlockNoteEditor-GVQCKRMU.mjs.map} +0 -0
  145. /package/dist/{BlockNoteViewer-AEJKJ27Q.mjs.map → BlockNoteViewer-U6E3DS4F.mjs.map} +0 -0
  146. /package/dist/{chunk-XCHSX3VC.mjs.map → chunk-3CGROPF3.mjs.map} +0 -0
  147. /package/dist/{chunk-QMYQRPQC.mjs.map → chunk-6SQYXUVP.mjs.map} +0 -0
  148. /package/dist/{chunk-6DC2WVVB.mjs.map → chunk-W7F5BDSV.mjs.map} +0 -0
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk5PPG6PL7js = require('../../chunk-5PPG6PL7.js');
6
+ var _chunkWPYT4UKJjs = require('../../chunk-WPYT4UKJ.js');
7
7
 
8
8
 
9
9
 
@@ -33,8 +33,8 @@ var _chunk5PPG6PL7js = require('../../chunk-5PPG6PL7.js');
33
33
 
34
34
 
35
35
 
36
- var _chunk3NLAXVINjs = require('../../chunk-3NLAXVIN.js');
37
- require('../../chunk-YNCQSWQW.js');
36
+ var _chunkTY5FYP3Gjs = require('../../chunk-TY5FYP3G.js');
37
+ require('../../chunk-S4YJ5WCW.js');
38
38
  require('../../chunk-G4JR3SFV.js');
39
39
 
40
40
 
@@ -48,10 +48,10 @@ require('../../chunk-G4JR3SFV.js');
48
48
 
49
49
 
50
50
 
51
- var _chunkNFBOSPNJjs = require('../../chunk-NFBOSPNJ.js');
51
+ var _chunkG6UE6MEPjs = require('../../chunk-G6UE6MEP.js');
52
+ require('../../chunk-GHE4VT2R.js');
52
53
  require('../../chunk-LXKSUWAV.js');
53
54
  require('../../chunk-JTPRJNT2.js');
54
- require('../../chunk-GHE4VT2R.js');
55
55
  require('../../chunk-3EPNHTMH.js');
56
56
 
57
57
 
@@ -63,7 +63,7 @@ var _react = require('react');
63
63
  var _uuid = require('uuid');
64
64
 
65
65
  // src/features/analytics/data/AnalyticsService.ts
66
- var AnalyticsService = class extends _chunkNFBOSPNJjs.AbstractService {
66
+ var AnalyticsService = class extends _chunkG6UE6MEPjs.AbstractService {
67
67
  static {
68
68
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
69
69
  }
@@ -75,9 +75,9 @@ var AnalyticsService = class extends _chunkNFBOSPNJjs.AbstractService {
75
75
  static async track(input) {
76
76
  try {
77
77
  await this.callApi({
78
- type: _chunkNFBOSPNJjs.Modules.AnalyticsEvent,
78
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsEvent,
79
79
  method: "POST" /* POST */,
80
- endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsEvent }).generate(),
80
+ endpoint: new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsEvent }).generate(),
81
81
  input,
82
82
  suppressGlobalError: true
83
83
  });
@@ -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
- _chunk3NLAXVINjs.DateRangeSelector,
227
+ _chunkTY5FYP3Gjs.DateRangeSelector,
228
228
  {
229
229
  onDateChange: (range) => {
230
230
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -268,13 +268,13 @@ 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
- _chunk3NLAXVINjs.Button,
271
+ _chunkTY5FYP3Gjs.Button,
272
272
  {
273
273
  type: "button",
274
274
  size: "sm",
275
275
  variant: selected ? "default" : "ghost",
276
276
  "aria-pressed": selected,
277
- className: _chunkNFBOSPNJjs.cn.call(void 0, !selected && "text-muted-foreground"),
277
+ className: _chunkG6UE6MEPjs.cn.call(void 0, !selected && "text-muted-foreground"),
278
278
  onClick: () => onSelect(option.value),
279
279
  children: option.label
280
280
  },
@@ -294,45 +294,45 @@ function withFilters(endpoint, filters) {
294
294
  return endpoint;
295
295
  }
296
296
  _chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
297
- var AnalyticsAdminService = class extends _chunkNFBOSPNJjs.AbstractService {
297
+ var AnalyticsAdminService = class extends _chunkG6UE6MEPjs.AbstractService {
298
298
  static {
299
299
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
300
300
  }
301
301
  /** Headline tiles: one row per window (current, previous). */
302
302
  static async getSummary(filters) {
303
- const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSummary }), filters);
303
+ const endpoint = withFilters(new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsSummary }), filters);
304
304
  return this.callApi({
305
- type: _chunkNFBOSPNJjs.Modules.AnalyticsSummary,
305
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsSummary,
306
306
  method: "GET" /* GET */,
307
307
  endpoint: endpoint.generate()
308
308
  });
309
309
  }
310
310
  static async getTimeline(params) {
311
- const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsTimeline }), params);
311
+ const endpoint = withFilters(new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsTimeline }), params);
312
312
  endpoint.addAdditionalParam("granularity", params.granularity);
313
313
  return this.callApi({
314
- type: _chunkNFBOSPNJjs.Modules.AnalyticsTimeline,
314
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsTimeline,
315
315
  method: "GET" /* GET */,
316
316
  endpoint: endpoint.generate()
317
317
  });
318
318
  }
319
319
  static async getBreakdown(params) {
320
- const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsBreakdown }), params);
320
+ const endpoint = withFilters(new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsBreakdown }), params);
321
321
  endpoint.addAdditionalParam("dimension", params.dimension);
322
322
  if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
323
323
  return this.callApi({
324
- type: _chunkNFBOSPNJjs.Modules.AnalyticsBreakdown,
324
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsBreakdown,
325
325
  method: "GET" /* GET */,
326
326
  endpoint: endpoint.generate()
327
327
  });
328
328
  }
329
329
  /** Newest sessions first, cursor-paginated through `next`. */
330
330
  static async getSessions(params) {
331
- const endpoint = withFilters(new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession }), params);
331
+ const endpoint = withFilters(new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsSession }), params);
332
332
  if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
333
333
  if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
334
334
  return this.callApi({
335
- type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
335
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsSession,
336
336
  method: "GET" /* GET */,
337
337
  endpoint: endpoint.generate(),
338
338
  next: params.next
@@ -340,20 +340,20 @@ var AnalyticsAdminService = class extends _chunkNFBOSPNJjs.AbstractService {
340
340
  }
341
341
  static async getSession(params) {
342
342
  return this.callApi({
343
- type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
343
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsSession,
344
344
  method: "GET" /* GET */,
345
- endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({ endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession, id: params.id }).generate()
345
+ endpoint: new (0, _chunkG6UE6MEPjs.EndpointCreator)({ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsSession, id: params.id }).generate()
346
346
  });
347
347
  }
348
348
  /** The journey: every page view of one session, oldest first. */
349
349
  static async getSessionPageViews(params) {
350
350
  return this.callApi({
351
- type: _chunkNFBOSPNJjs.Modules.AnalyticsPageView,
351
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsPageView,
352
352
  method: "GET" /* GET */,
353
- endpoint: new (0, _chunkNFBOSPNJjs.EndpointCreator)({
354
- endpoint: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
353
+ endpoint: new (0, _chunkG6UE6MEPjs.EndpointCreator)({
354
+ endpoint: _chunkG6UE6MEPjs.Modules.AnalyticsSession,
355
355
  id: params.sessionId,
356
- childEndpoint: _chunkNFBOSPNJjs.Modules.AnalyticsPageView
356
+ childEndpoint: _chunkG6UE6MEPjs.Modules.AnalyticsPageView
357
357
  }).generate()
358
358
  });
359
359
  }
@@ -361,7 +361,6 @@ var AnalyticsAdminService = class extends _chunkNFBOSPNJjs.AbstractService {
361
361
 
362
362
  // src/features/analytics/contexts/AnalyticsAdminContext.tsx
363
363
 
364
- var ANALYTICS_ADMIN_PAGE_URL = "/administration/analytics";
365
364
  var ANALYTICS_SESSION_PAGE_URL = "/administration/analytics/sessions";
366
365
  var BREAKDOWN_LIMIT = 20;
367
366
  var DEFAULT_RANGE_DAYS = 30;
@@ -384,11 +383,9 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
384
383
  children,
385
384
  initialFrom,
386
385
  initialTo,
387
- pageUrl = ANALYTICS_ADMIN_PAGE_URL,
388
386
  sessionPageUrl = ANALYTICS_SESSION_PAGE_URL
389
387
  }) => {
390
388
  const t = _nextintl.useTranslations.call(void 0, );
391
- const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
392
389
  const [filters, setFilterState] = _react.useState.call(void 0, () => {
393
390
  const range = defaultRange();
394
391
  return {
@@ -452,7 +449,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
452
449
  const sessionsNext = {};
453
450
  try {
454
451
  const nextSessions = await AnalyticsAdminService.next({
455
- type: _chunkNFBOSPNJjs.Modules.AnalyticsSession,
452
+ type: _chunkG6UE6MEPjs.Modules.AnalyticsSession,
456
453
  endpoint: sessionsNextPage,
457
454
  next: sessionsNext
458
455
  });
@@ -463,12 +460,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
463
460
  setError(err instanceof Error ? err.message : String(err));
464
461
  }
465
462
  }, [sessionsNextPage]);
466
- const breadcrumb = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => [
467
- {
468
- name: t("analytics.admin.title"),
469
- href: generateUrl({ page: pageUrl })
470
- }
471
- ], "breadcrumb");
463
+ const breadcrumb = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => [{ name: t("analytics.admin.title") }], "breadcrumb");
472
464
  const title = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => ({
473
465
  type: t("analytics.admin.title"),
474
466
  functions: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -512,7 +504,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
512
504
  error
513
505
  ]
514
506
  );
515
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
507
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
516
508
  }, "AnalyticsAdminProvider");
517
509
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
518
510
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -532,7 +524,7 @@ var _lucidereact = require('lucide-react');
532
524
  var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
533
525
  function AnalyticsAdminTiles({ summary }) {
534
526
  const t = _nextintl.useTranslations.call(void 0, );
535
- const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
527
+ const { decimal } = _chunkWPYT4UKJjs.useUsageFormatters.call(void 0, );
536
528
  const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
537
529
  const current = rowFor("current");
538
530
  const previous = rowFor("previous");
@@ -545,7 +537,7 @@ function AnalyticsAdminTiles({ summary }) {
545
537
  testId: "analytics-tile-visitors",
546
538
  label: t("analytics.admin.tiles.visitors"),
547
539
  value: decimal(current.visitors, 0),
548
- delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.visitors, previous.visitors),
540
+ delta: _chunkWPYT4UKJjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
549
541
  previousLabel,
550
542
  decimal
551
543
  }
@@ -556,7 +548,7 @@ function AnalyticsAdminTiles({ summary }) {
556
548
  testId: "analytics-tile-sessions",
557
549
  label: t("analytics.admin.tiles.sessions"),
558
550
  value: decimal(current.sessions, 0),
559
- delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.sessions, previous.sessions),
551
+ delta: _chunkWPYT4UKJjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
560
552
  previousLabel,
561
553
  decimal
562
554
  }
@@ -567,7 +559,7 @@ function AnalyticsAdminTiles({ summary }) {
567
559
  testId: "analytics-tile-page-views",
568
560
  label: t("analytics.admin.tiles.page_views"),
569
561
  value: decimal(current.pageViews, 0),
570
- delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
562
+ delta: _chunkWPYT4UKJjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
571
563
  previousLabel,
572
564
  decimal
573
565
  }
@@ -580,7 +572,7 @@ function AnalyticsAdminTiles({ summary }) {
580
572
  testId: "analytics-tile-pages-per-session",
581
573
  label: t("analytics.admin.tiles.pages_per_session"),
582
574
  value: decimal(current.pagesPerSession, 1),
583
- delta: _chunk5PPG6PL7js.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
575
+ delta: _chunkWPYT4UKJjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
584
576
  decimal
585
577
  }
586
578
  ),
@@ -605,8 +597,8 @@ function LeadTile({
605
597
  previousLabel,
606
598
  decimal
607
599
  }) {
608
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "grid gap-1", children: [
609
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.MicroLabel, { children: label }),
600
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.CardContent, { className: "grid gap-1", children: [
601
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.MicroLabel, { children: label }),
610
602
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
611
603
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
612
604
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -622,8 +614,8 @@ function SupportingTile({
622
614
  delta,
623
615
  decimal
624
616
  }) {
625
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "grid gap-1", children: [
626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.MicroLabel, { children: label }),
617
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.CardContent, { className: "grid gap-1", children: [
618
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.MicroLabel, { children: label }),
627
619
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
628
620
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
629
621
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -646,7 +638,7 @@ function Delta({
646
638
  "span",
647
639
  {
648
640
  "data-testid": testId,
649
- className: _chunkNFBOSPNJjs.cn.call(void 0,
641
+ className: _chunkG6UE6MEPjs.cn.call(void 0,
650
642
  "inline-flex items-center gap-0.5 text-xs tabular-nums",
651
643
  increased ? "text-success" : "text-destructive"
652
644
  ),
@@ -674,15 +666,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
674
666
  route: t("analytics.admin.dimensions.route"),
675
667
  landing: t("analytics.admin.dimensions.landing")
676
668
  };
677
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
678
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
679
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
669
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
670
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.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, _chunkTY5FYP3Gjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
671
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
680
672
  ] });
681
673
  }
682
674
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
683
675
  function BreakdownRows({ rows }) {
684
676
  const t = _nextintl.useTranslations.call(void 0, );
685
- const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
677
+ const { decimal } = _chunkWPYT4UKJjs.useUsageFormatters.call(void 0, );
686
678
  const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
687
679
  if (sortedRows.length === 0) {
688
680
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
@@ -691,18 +683,18 @@ function BreakdownRows({ rows }) {
691
683
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
692
684
  // would swallow the overflow before this scroller ever saw it — hence the
693
685
  // 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, _chunk3NLAXVINjs.Table, { children: [
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
697
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
686
+ /* @__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, _chunkTY5FYP3Gjs.Table, { children: [
687
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { children: [
688
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
690
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
700
692
  ] }) }),
701
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
702
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
703
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
704
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
705
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
706
698
  ] }, row.id)) })
707
699
  ] }) })
708
700
  );
@@ -717,48 +709,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
717
709
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
718
710
  const t = _nextintl.useTranslations.call(void 0, );
719
711
  const locale = _nextintl.useLocale.call(void 0, );
720
- const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
721
- const { decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
712
+ const generateUrl = _chunkTY5FYP3Gjs.usePageUrlGenerator.call(void 0, );
713
+ const { decimal } = _chunkWPYT4UKJjs.useUsageFormatters.call(void 0, );
722
714
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
723
715
  if (rows.length === 0) {
724
716
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
725
717
  }
726
718
  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, _chunk3NLAXVINjs.Table, { children: [
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
730
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
732
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
734
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
719
+ /* @__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, _chunkTY5FYP3Gjs.Table, { children: [
720
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { children: [
721
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
722
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
723
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
724
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
725
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
735
727
  ] }) }),
736
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: rows.map((row) => {
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableBody, { children: rows.map((row) => {
737
729
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
738
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
739
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
740
- _chunk3NLAXVINjs.Link,
730
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
731
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
732
+ _chunkTY5FYP3Gjs.Link,
741
733
  {
742
734
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
743
735
  "data-testid": `analytics-session-link-${row.id}`,
744
736
  children: dateTime.format(row.startedAt)
745
737
  }
746
738
  ) }),
747
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
739
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
748
740
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
749
741
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
750
742
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
743
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
752
744
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
753
745
  ] }) }),
754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: source }),
755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: row.landingRoute }),
756
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
757
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
746
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs", children: source }),
747
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs", children: row.landingRoute }),
748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
758
750
  ] }, row.id);
759
751
  }) })
760
752
  ] }) }),
761
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
753
+ hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
762
754
  ] });
763
755
  }
764
756
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -790,7 +782,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
790
782
  }, "inferGranularity");
791
783
  function AnalyticsTimelineChart({ rows, className }) {
792
784
  const t = _nextintl.useTranslations.call(void 0, );
793
- const { compact, bucketDate, decimal } = _chunk5PPG6PL7js.useUsageFormatters.call(void 0, );
785
+ const { compact, bucketDate, decimal } = _chunkWPYT4UKJjs.useUsageFormatters.call(void 0, );
794
786
  const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
795
787
  const mode = resolvedTheme === "dark" ? "dark" : "light";
796
788
  const chartData = _react.useMemo.call(void 0, () => {
@@ -825,7 +817,7 @@ function AnalyticsTimelineChart({ rows, className }) {
825
817
  // rtl-ok: deliberate LTR island (chart)
826
818
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
827
819
  /* @__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, _chunk3NLAXVINjs.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: [
820
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.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
821
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
830
822
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
831
823
  _recharts.XAxis,
@@ -849,10 +841,10 @@ function AnalyticsTimelineChart({ rows, className }) {
849
841
  }
850
842
  ),
851
843
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunk3NLAXVINjs.ChartTooltip,
844
+ _chunkTY5FYP3Gjs.ChartTooltip,
853
845
  {
854
846
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
855
- _chunk3NLAXVINjs.ChartTooltipContent,
847
+ _chunkTY5FYP3Gjs.ChartTooltipContent,
856
848
  {
857
849
  labelFormatter: (value) => bucketDate(String(value), granularity),
858
850
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -860,13 +852,13 @@ function AnalyticsTimelineChart({ rows, className }) {
860
852
  )
861
853
  }
862
854
  ),
863
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.ChartLegendContent, {}) }),
855
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.ChartLegendContent, {}) }),
864
856
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
865
857
  _recharts.Bar,
866
858
  {
867
859
  dataKey: series,
868
860
  maxBarSize: 28,
869
- fill: _chunk5PPG6PL7js.seriesColor.call(void 0, index, mode),
861
+ fill: _chunkWPYT4UKJjs.seriesColor.call(void 0, index, mode),
870
862
  stroke: "var(--background)",
871
863
  strokeWidth: 2,
872
864
  radius: [4, 4, 0, 0]
@@ -895,25 +887,25 @@ function AnalyticsAdminContainer() {
895
887
  error
896
888
  } = useAnalyticsAdmin();
897
889
  if (error) {
898
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
890
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
899
891
  }
900
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
901
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
892
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
893
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.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: [
902
894
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
903
895
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
904
896
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
905
897
  ] }),
906
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
898
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Card, { children: [
899
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
900
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
909
901
  ] }),
910
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
911
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
912
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
902
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Card, { children: [
903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
913
905
  ] }),
914
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
915
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
916
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
906
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Card, { children: [
907
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
917
909
  AnalyticsSessionsTable,
918
910
  {
919
911
  rows: sessions,
@@ -931,12 +923,12 @@ _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsAdminContainer, "AnalyticsAdminCon
931
923
 
932
924
 
933
925
 
934
- var ANALYTICS_ADMIN_PAGE_URL2 = "/administration/analytics";
926
+ var ANALYTICS_ADMIN_PAGE_URL = "/administration/analytics";
935
927
  var OTHER_SESSIONS_WINDOW_DAYS = 395;
936
- function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL2 }) {
928
+ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
937
929
  const t = _nextintl.useTranslations.call(void 0, );
938
930
  const locale = _nextintl.useLocale.call(void 0, );
939
- const generateUrl = _chunk3NLAXVINjs.usePageUrlGenerator.call(void 0, );
931
+ const generateUrl = _chunkTY5FYP3Gjs.usePageUrlGenerator.call(void 0, );
940
932
  const [session, setSession] = _react.useState.call(void 0, void 0);
941
933
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
942
934
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -992,26 +984,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
992
984
  const title = { type: t("analytics.admin.panels.journey") };
993
985
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
994
986
  if (error) {
995
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
987
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
996
988
  }
997
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.RoundPageContainer, { fullWidth: true, forceHeader: true });
989
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
998
990
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
999
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.CardContent, { className: "flex flex-col gap-3", children: [
991
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.RoundPageContainer, { module: _chunkG6UE6MEPjs.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: [
992
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.CardContent, { className: "flex flex-col gap-3", children: [
1001
993
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
1002
994
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
1003
995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
1004
996
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
1005
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1006
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
997
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
998
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1007
999
  ] }),
1008
1000
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1009
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1010
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1011
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1012
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1001
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1002
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1003
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1004
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1013
1005
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1014
- _chunk3NLAXVINjs.DetailField,
1006
+ _chunkTY5FYP3Gjs.DetailField,
1015
1007
  {
1016
1008
  label: t("analytics.admin.columns.visitor"),
1017
1009
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1019,31 +1011,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1019
1011
  )
1020
1012
  ] })
1021
1013
  ] }) }),
1022
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
1023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1014
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Card, { children: [
1015
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1016
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.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
1017
  // The package's <Table> wraps itself in an `overflow-x-clip`
1026
1018
  // 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, _chunk3NLAXVINjs.Table, { children: [
1028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { children: [
1029
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1030
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1031
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1019
+ /* @__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, _chunkTY5FYP3Gjs.Table, { children: [
1020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { children: [
1021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1022
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1032
1024
  ] }) }),
1033
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableBody, { children: pageViews.map((pageView, index) => {
1025
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableBody, { children: pageViews.map((pageView, index) => {
1034
1026
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1035
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1036
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1037
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.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, _chunk3NLAXVINjs.TableCell, { className: "text-xs", children: pageView.path })
1027
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1029
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-end text-xs tabular-nums", children: previous ? formatGap(pageView.createdAt.getTime() - previous.createdAt.getTime()) : "\u2014" }),
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.TableCell, { className: "text-xs", children: pageView.path })
1039
1031
  ] }, pageView.id);
1040
1032
  }) })
1041
1033
  ] }) })
1042
1034
  ) })
1043
1035
  ] }),
1044
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3NLAXVINjs.Card, { children: [
1045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1046
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1036
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTY5FYP3Gjs.Card, { children: [
1037
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1038
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1047
1039
  AnalyticsSessionsTable,
1048
1040
  {
1049
1041
  rows: otherSessions,
@@ -1055,7 +1047,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1055
1047
  ] })
1056
1048
  ] }) });
1057
1049
  }, "renderBody");
1058
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3NLAXVINjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1050
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTY5FYP3Gjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1059
1051
  }
1060
1052
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1061
1053
  function unit(locale, name, value) {
@@ -1065,8 +1057,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, unit, "unit");
1065
1057
 
1066
1058
  // src/features/analytics/components/AnalyticsAdminPageContainer.tsx
1067
1059
 
1068
- function AnalyticsAdminPageContainer({ pageUrl, sessionPageUrl }) {
1069
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminProvider, { pageUrl, sessionPageUrl, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContainer, {}) });
1060
+ function AnalyticsAdminPageContainer({ sessionPageUrl }) {
1061
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminProvider, { sessionPageUrl, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContainer, {}) });
1070
1062
  }
1071
1063
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsAdminPageContainer, "AnalyticsAdminPageContainer");
1072
1064
 
@@ -1163,5 +1155,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
1163
1155
 
1164
1156
 
1165
1157
 
1166
- 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 = _chunkNFBOSPNJjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkNFBOSPNJjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkNFBOSPNJjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkNFBOSPNJjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkNFBOSPNJjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkNFBOSPNJjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkNFBOSPNJjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
1158
+ 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 = _chunkG6UE6MEPjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkG6UE6MEPjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkG6UE6MEPjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkG6UE6MEPjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkG6UE6MEPjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkG6UE6MEPjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkG6UE6MEPjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
1167
1159
  //# sourceMappingURL=index.js.map