@carlonicora/nextjs-jsonapi 6.12.2 → 6.13.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 (254) hide show
  1. package/dist/{ApiData-DPKNfY-9.d.mts → ApiData-Be8yxCOX.d.mts} +2 -0
  2. package/dist/{ApiData-DPKNfY-9.d.ts → ApiData-Be8yxCOX.d.ts} +2 -0
  3. package/dist/{BlockNoteEditor-75ED2CN2.mjs → BlockNoteEditor-22Q4DJBU.mjs} +20 -8
  4. package/dist/BlockNoteEditor-22Q4DJBU.mjs.map +1 -0
  5. package/dist/{BlockNoteEditor-7M5QW2YQ.js → BlockNoteEditor-2VLPSEKS.js} +34 -22
  6. package/dist/BlockNoteEditor-2VLPSEKS.js.map +1 -0
  7. package/dist/{BlockNoteViewer-WGCDB7IJ.js → BlockNoteViewer-2XYASA5Y.js} +8 -5
  8. package/dist/BlockNoteViewer-2XYASA5Y.js.map +1 -0
  9. package/dist/{BlockNoteViewer-MTGS6YJV.mjs → BlockNoteViewer-NBW2H6LC.mjs} +7 -4
  10. package/dist/{BlockNoteViewer-MTGS6YJV.mjs.map → BlockNoteViewer-NBW2H6LC.mjs.map} +1 -1
  11. package/dist/{JsonApiRequest-A66XK5WT.mjs → JsonApiRequest-F6TMJ42G.mjs} +2 -2
  12. package/dist/JsonApiRequest-WISJZSDE.js +26 -0
  13. package/dist/{JsonApiRequest-FZGPLNUF.js.map → JsonApiRequest-WISJZSDE.js.map} +1 -1
  14. package/dist/billing/index.js +499 -494
  15. package/dist/billing/index.js.map +1 -1
  16. package/dist/billing/index.mjs +13 -8
  17. package/dist/billing/index.mjs.map +1 -1
  18. package/dist/chunk-27LQDGNP.mjs +317 -0
  19. package/dist/chunk-27LQDGNP.mjs.map +1 -0
  20. package/dist/{chunk-V3YDVJ63.js → chunk-2H342HNN.js} +948 -921
  21. package/dist/chunk-2H342HNN.js.map +1 -0
  22. package/dist/{chunk-KSYQEKJX.js → chunk-2SV4SS6N.js} +14 -14
  23. package/dist/{chunk-KSYQEKJX.js.map → chunk-2SV4SS6N.js.map} +1 -1
  24. package/dist/{chunk-4FNGWALA.mjs → chunk-47BBY5KA.mjs} +6 -4
  25. package/dist/{chunk-4FNGWALA.mjs.map → chunk-47BBY5KA.mjs.map} +1 -1
  26. package/dist/chunk-6JUCIWDC.mjs +570 -0
  27. package/dist/chunk-6JUCIWDC.mjs.map +1 -0
  28. package/dist/chunk-7DBJTNSU.mjs +1049 -0
  29. package/dist/chunk-7DBJTNSU.mjs.map +1 -0
  30. package/dist/chunk-7JZHPMGW.mjs +704 -0
  31. package/dist/chunk-7JZHPMGW.mjs.map +1 -0
  32. package/dist/{chunk-L6PYFQTO.js → chunk-7ZHTPFFT.js} +16 -14
  33. package/dist/chunk-7ZHTPFFT.js.map +1 -0
  34. package/dist/chunk-B6JGKDP2.js +214 -0
  35. package/dist/chunk-B6JGKDP2.js.map +1 -0
  36. package/dist/{chunk-3YW35YHQ.mjs → chunk-BH6JWIKI.mjs} +5 -5
  37. package/dist/chunk-BZ5J2FIV.js +570 -0
  38. package/dist/chunk-BZ5J2FIV.js.map +1 -0
  39. package/dist/{chunk-V5MI7RNB.mjs → chunk-DGWOVYEC.mjs} +2 -2
  40. package/dist/chunk-DOCIFE6A.mjs +212 -0
  41. package/dist/chunk-DOCIFE6A.mjs.map +1 -0
  42. package/dist/chunk-GB6DBFYY.js +25 -0
  43. package/dist/chunk-GB6DBFYY.js.map +1 -0
  44. package/dist/{chunk-RXQYEEKZ.mjs → chunk-H4NLDX5G.mjs} +51 -24
  45. package/dist/chunk-H4NLDX5G.mjs.map +1 -0
  46. package/dist/{chunk-EWCY6QJA.mjs → chunk-JJMMT24D.mjs} +37 -3
  47. package/dist/chunk-JJMMT24D.mjs.map +1 -0
  48. package/dist/{chunk-JTPRJNT2.js → chunk-KMW7UNL2.js} +38 -3
  49. package/dist/chunk-KMW7UNL2.js.map +1 -0
  50. package/dist/chunk-MHB36MYE.js +317 -0
  51. package/dist/chunk-MHB36MYE.js.map +1 -0
  52. package/dist/{chunk-FF4EIQ6H.js → chunk-MOGEGWXW.js} +1039 -1680
  53. package/dist/chunk-MOGEGWXW.js.map +1 -0
  54. package/dist/{chunk-AA52ORW2.mjs → chunk-P445QGOC.mjs} +61 -702
  55. package/dist/chunk-P445QGOC.mjs.map +1 -0
  56. package/dist/chunk-PV4Z5W6V.js +212 -0
  57. package/dist/chunk-PV4Z5W6V.js.map +1 -0
  58. package/dist/chunk-PXDUJ47N.js +1049 -0
  59. package/dist/chunk-PXDUJ47N.js.map +1 -0
  60. package/dist/{chunk-GHE4VT2R.js → chunk-QKNGZDSQ.js} +2 -2
  61. package/dist/{chunk-GHE4VT2R.js.map → chunk-QKNGZDSQ.js.map} +1 -1
  62. package/dist/chunk-W62MHDWM.js +704 -0
  63. package/dist/chunk-W62MHDWM.js.map +1 -0
  64. package/dist/chunk-XXP3TQHF.mjs +25 -0
  65. package/dist/chunk-XXP3TQHF.mjs.map +1 -0
  66. package/dist/chunk-YRKIFYOE.mjs +214 -0
  67. package/dist/chunk-YRKIFYOE.mjs.map +1 -0
  68. package/dist/{chunk-O3PDL2CV.js → chunk-Z4POQWFG.js} +40 -6
  69. package/dist/chunk-Z4POQWFG.js.map +1 -0
  70. package/dist/{chunk-PI56A4DG.mjs → chunk-ZLTOUZN2.mjs} +37 -2
  71. package/dist/chunk-ZLTOUZN2.mjs.map +1 -0
  72. package/dist/client/index.d.mts +2 -2
  73. package/dist/client/index.d.ts +2 -2
  74. package/dist/client/index.js +14 -9
  75. package/dist/client/index.js.map +1 -1
  76. package/dist/client/index.mjs +24 -19
  77. package/dist/components/index.d.mts +7 -1
  78. package/dist/components/index.d.ts +7 -1
  79. package/dist/components/index.js +11 -7
  80. package/dist/components/index.js.map +1 -1
  81. package/dist/components/index.mjs +10 -6
  82. package/dist/contexts/index.d.mts +1 -1
  83. package/dist/contexts/index.d.ts +1 -1
  84. package/dist/contexts/index.js +11 -7
  85. package/dist/contexts/index.js.map +1 -1
  86. package/dist/contexts/index.mjs +10 -6
  87. package/dist/core/index.d.mts +128 -2
  88. package/dist/core/index.d.ts +128 -2
  89. package/dist/core/index.js +17 -4
  90. package/dist/core/index.js.map +1 -1
  91. package/dist/core/index.mjs +22 -9
  92. package/dist/email-automations/index.js +101 -96
  93. package/dist/email-automations/index.js.map +1 -1
  94. package/dist/email-automations/index.mjs +13 -8
  95. package/dist/email-automations/index.mjs.map +1 -1
  96. package/dist/features/analytics/index.js +128 -123
  97. package/dist/features/analytics/index.js.map +1 -1
  98. package/dist/features/analytics/index.mjs +13 -8
  99. package/dist/features/analytics/index.mjs.map +1 -1
  100. package/dist/features/analytics/server.js +11 -8
  101. package/dist/features/analytics/server.js.map +1 -1
  102. package/dist/features/analytics/server.mjs +9 -6
  103. package/dist/features/analytics/server.mjs.map +1 -1
  104. package/dist/features/blog/index.js +158 -153
  105. package/dist/features/blog/index.js.map +1 -1
  106. package/dist/features/blog/index.mjs +14 -9
  107. package/dist/features/blog/index.mjs.map +1 -1
  108. package/dist/features/blog/server.js +30 -26
  109. package/dist/features/blog/server.js.map +1 -1
  110. package/dist/features/blog/server.mjs +10 -6
  111. package/dist/features/blog/server.mjs.map +1 -1
  112. package/dist/features/help/index.js +44 -40
  113. package/dist/features/help/index.js.map +1 -1
  114. package/dist/features/help/index.mjs +10 -6
  115. package/dist/features/help/index.mjs.map +1 -1
  116. package/dist/features/tokenusage/index.js +134 -129
  117. package/dist/features/tokenusage/index.js.map +1 -1
  118. package/dist/features/tokenusage/index.mjs +13 -8
  119. package/dist/features/tokenusage/index.mjs.map +1 -1
  120. package/dist/index.d.mts +2 -2
  121. package/dist/index.d.ts +2 -2
  122. package/dist/index.js +18 -5
  123. package/dist/index.js.map +1 -1
  124. package/dist/index.mjs +24 -11
  125. package/dist/lifecycle-4GUOTB46.js +23 -0
  126. package/dist/lifecycle-4GUOTB46.js.map +1 -0
  127. package/dist/lifecycle-LKGPRBS7.mjs +23 -0
  128. package/dist/local-transport-7H3SPZSA.js +15 -0
  129. package/dist/local-transport-7H3SPZSA.js.map +1 -0
  130. package/dist/local-transport-QYFKA6AN.mjs +15 -0
  131. package/dist/local-transport-QYFKA6AN.mjs.map +1 -0
  132. package/dist/offline/index.d.mts +607 -0
  133. package/dist/offline/index.d.ts +607 -0
  134. package/dist/offline/index.js +1052 -0
  135. package/dist/offline/index.js.map +1 -0
  136. package/dist/offline/index.mjs +1052 -0
  137. package/dist/offline/index.mjs.map +1 -0
  138. package/dist/offline/sqlite/device-worker.mjs +62 -0
  139. package/dist/offline/sqlite/index.mjs +17392 -0
  140. package/dist/offline/sqlite/sqlite3-opfs-async-proxy.js +881 -0
  141. package/dist/offline/sqlite/sqlite3.wasm +0 -0
  142. package/dist/request-KTBV6HHH.js +10 -0
  143. package/dist/request-KTBV6HHH.js.map +1 -0
  144. package/dist/request-SQOUNWZ4.mjs +10 -0
  145. package/dist/request-SQOUNWZ4.mjs.map +1 -0
  146. package/dist/server/cachedGet.d.mts +1 -1
  147. package/dist/server/cachedGet.d.ts +1 -1
  148. package/dist/server/cachedGet.stub.d.mts +1 -1
  149. package/dist/server/cachedGet.stub.d.ts +1 -1
  150. package/dist/server/index.d.mts +28 -2
  151. package/dist/server/index.d.ts +28 -2
  152. package/dist/server/index.js +18 -8
  153. package/dist/server/index.js.map +1 -1
  154. package/dist/server/index.mjs +18 -8
  155. package/dist/{useSocket-IRHtk2xc.d.ts → useSocket-Bo9M0t0J.d.ts} +3 -1
  156. package/dist/{useSocket-C8fqU4od.d.mts → useSocket-J5qanQPN.d.mts} +3 -1
  157. package/dist/write-through-FDQ7N4YI.js +15 -0
  158. package/dist/write-through-FDQ7N4YI.js.map +1 -0
  159. package/dist/write-through-R25VQMH6.mjs +15 -0
  160. package/dist/write-through-R25VQMH6.mjs.map +1 -0
  161. package/package.json +7 -1
  162. package/pwa/sw.js +277 -26
  163. package/src/client/request.ts +37 -0
  164. package/src/components/editors/BlockNoteEditor.tsx +14 -0
  165. package/src/components/editors/__tests__/BlockNoteEditor.empty-change.spec.tsx +205 -0
  166. package/src/contexts/SocketContext.tsx +7 -1
  167. package/src/contexts/__tests__/SocketContext.session.spec.tsx +52 -5
  168. package/src/core/factories/RehydrationFactory.ts +28 -8
  169. package/src/core/factories/__tests__/RehydrationFactory.spec.ts +33 -0
  170. package/src/core/index.ts +3 -0
  171. package/src/core/interfaces/ApiData.ts +2 -0
  172. package/src/core/registry/ModuleRegistry.ts +3 -0
  173. package/src/features/auth/components/forms/Logout.tsx +8 -1
  174. package/src/features/auth/components/forms/__tests__/Logout.spec.tsx +62 -0
  175. package/src/hooks/__tests__/useSocket.pause.spec.ts +39 -0
  176. package/src/hooks/useSocket.ts +20 -1
  177. package/src/offline/__tests__/answer-builders.spec.ts +176 -0
  178. package/src/offline/__tests__/device-switch.spec.ts +179 -0
  179. package/src/offline/__tests__/generic-answers.spec.ts +380 -0
  180. package/src/offline/__tests__/local-transport.spec.ts +150 -0
  181. package/src/offline/__tests__/logout.spec.ts +122 -0
  182. package/src/offline/__tests__/offline-fixtures.ts +89 -0
  183. package/src/offline/__tests__/router.spec.ts +56 -0
  184. package/src/offline/__tests__/state.spec.ts +62 -0
  185. package/src/offline/__tests__/write-through.spec.ts +137 -0
  186. package/src/offline/config.ts +229 -0
  187. package/src/offline/configure.ts +14 -0
  188. package/src/offline/device-switch.ts +75 -0
  189. package/src/offline/generic-answers.ts +706 -0
  190. package/src/offline/index.ts +67 -0
  191. package/src/offline/local-transport.ts +189 -0
  192. package/src/offline/logout.ts +41 -0
  193. package/src/offline/router.ts +41 -0
  194. package/src/offline/server/__tests__/build-offline-manifest.spec.ts +76 -0
  195. package/src/offline/server/build-offline-manifest.ts +49 -0
  196. package/src/offline/state-hooks.ts +10 -0
  197. package/src/offline/state.ts +143 -0
  198. package/src/offline/store/DeviceStore.ts +112 -0
  199. package/src/offline/store/__tests__/device-store-lifecycle.spec.ts +343 -0
  200. package/src/offline/store/__tests__/shared-database.spec.ts +151 -0
  201. package/src/offline/store/__tests__/sql-device-store.spec.ts +399 -0
  202. package/src/offline/store/lifecycle.ts +315 -0
  203. package/src/offline/store/schema.ts +101 -0
  204. package/src/offline/store/shared-database.ts +321 -0
  205. package/src/offline/store/sql-device-store.ts +469 -0
  206. package/src/offline/store/worker-client.ts +71 -0
  207. package/src/offline/store/worker.ts +87 -0
  208. package/src/offline/sync/__tests__/conflicts.spec.ts +185 -0
  209. package/src/offline/sync/__tests__/queue-drain.spec.ts +364 -0
  210. package/src/offline/sync/__tests__/runtime.spec.ts +337 -0
  211. package/src/offline/sync/__tests__/sync-fixtures.ts +103 -0
  212. package/src/offline/sync/__tests__/sync-root.spec.ts +727 -0
  213. package/src/offline/sync/artwork-cache.ts +67 -0
  214. package/src/offline/sync/conflicts.ts +211 -0
  215. package/src/offline/sync/counts.ts +39 -0
  216. package/src/offline/sync/drain-queue.ts +246 -0
  217. package/src/offline/sync/known-roots.ts +37 -0
  218. package/src/offline/sync/models/OfflineChangeSet.ts +34 -0
  219. package/src/offline/sync/models/OfflineChangeSetInterface.ts +54 -0
  220. package/src/offline/sync/models/RootSync.ts +68 -0
  221. package/src/offline/sync/models/RootSyncInterface.ts +20 -0
  222. package/src/offline/sync/models/__tests__/OfflineChangeSet.spec.ts +47 -0
  223. package/src/offline/sync/models/__tests__/RootSync.spec.ts +54 -0
  224. package/src/offline/sync/models/index.ts +5 -0
  225. package/src/offline/sync/models/offline.modules.ts +14 -0
  226. package/src/offline/sync/runtime.ts +226 -0
  227. package/src/offline/sync/session-refresh.ts +32 -0
  228. package/src/offline/sync/sync-root.ts +336 -0
  229. package/src/offline/sync/waiting.ts +40 -0
  230. package/src/offline/types.ts +115 -0
  231. package/src/offline/write-through.ts +189 -0
  232. package/src/pwa/__tests__/sw.spec.ts +358 -1
  233. package/src/server/index.ts +5 -0
  234. package/src/unified/__tests__/JsonApiRequest.offline.spec.ts +243 -0
  235. package/dist/BlockNoteEditor-75ED2CN2.mjs.map +0 -1
  236. package/dist/BlockNoteEditor-7M5QW2YQ.js.map +0 -1
  237. package/dist/BlockNoteViewer-WGCDB7IJ.js.map +0 -1
  238. package/dist/JsonApiRequest-FZGPLNUF.js +0 -26
  239. package/dist/chunk-AA52ORW2.mjs.map +0 -1
  240. package/dist/chunk-EWCY6QJA.mjs.map +0 -1
  241. package/dist/chunk-FF4EIQ6H.js.map +0 -1
  242. package/dist/chunk-JTPRJNT2.js.map +0 -1
  243. package/dist/chunk-L6PYFQTO.js.map +0 -1
  244. package/dist/chunk-O3PDL2CV.js.map +0 -1
  245. package/dist/chunk-PI56A4DG.mjs.map +0 -1
  246. package/dist/chunk-RXQYEEKZ.mjs.map +0 -1
  247. package/dist/chunk-V3YDVJ63.js.map +0 -1
  248. package/dist/request-5RLK2AM3.mjs +0 -9
  249. package/dist/request-EUGTI3BE.js +0 -9
  250. package/dist/request-EUGTI3BE.js.map +0 -1
  251. /package/dist/{JsonApiRequest-A66XK5WT.mjs.map → JsonApiRequest-F6TMJ42G.mjs.map} +0 -0
  252. /package/dist/{chunk-3YW35YHQ.mjs.map → chunk-BH6JWIKI.mjs.map} +0 -0
  253. /package/dist/{chunk-V5MI7RNB.mjs.map → chunk-DGWOVYEC.mjs.map} +0 -0
  254. /package/dist/{request-5RLK2AM3.mjs.map → lifecycle-LKGPRBS7.mjs.map} +0 -0
@@ -31,8 +31,9 @@
31
31
 
32
32
 
33
33
 
34
- var _chunkV3YDVJ63js = require('../../chunk-V3YDVJ63.js');
35
- require('../../chunk-L6PYFQTO.js');
34
+ var _chunk2H342HNNjs = require('../../chunk-2H342HNN.js');
35
+ require('../../chunk-3EPNHTMH.js');
36
+ require('../../chunk-7ZHTPFFT.js');
36
37
  require('../../chunk-G4JR3SFV.js');
37
38
 
38
39
 
@@ -44,13 +45,17 @@ require('../../chunk-G4JR3SFV.js');
44
45
 
45
46
 
46
47
 
48
+ var _chunkMOGEGWXWjs = require('../../chunk-MOGEGWXW.js');
49
+ require('../../chunk-GB6DBFYY.js');
50
+
47
51
 
48
52
 
49
- var _chunkFF4EIQ6Hjs = require('../../chunk-FF4EIQ6H.js');
50
- require('../../chunk-GHE4VT2R.js');
53
+ var _chunkBZ5J2FIVjs = require('../../chunk-BZ5J2FIV.js');
54
+ require('../../chunk-PV4Z5W6V.js');
55
+ require('../../chunk-KMW7UNL2.js');
56
+ require('../../chunk-MHB36MYE.js');
57
+ require('../../chunk-QKNGZDSQ.js');
51
58
  require('../../chunk-LXKSUWAV.js');
52
- require('../../chunk-JTPRJNT2.js');
53
- require('../../chunk-3EPNHTMH.js');
54
59
 
55
60
 
56
61
  var _chunk7QVYU63Ejs = require('../../chunk-7QVYU63E.js');
@@ -61,7 +66,7 @@ var _react = require('react');
61
66
  var _uuid = require('uuid');
62
67
 
63
68
  // src/features/analytics/data/AnalyticsService.ts
64
- var AnalyticsService = class extends _chunkFF4EIQ6Hjs.AbstractService {
69
+ var AnalyticsService = class extends _chunkMOGEGWXWjs.AbstractService {
65
70
  static {
66
71
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsService");
67
72
  }
@@ -73,9 +78,9 @@ var AnalyticsService = class extends _chunkFF4EIQ6Hjs.AbstractService {
73
78
  static async track(input) {
74
79
  try {
75
80
  await this.callApi({
76
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsEvent,
81
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsEvent,
77
82
  method: "POST" /* POST */,
78
- endpoint: new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsEvent }).generate(),
83
+ endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsEvent }).generate(),
79
84
  input,
80
85
  suppressGlobalError: true
81
86
  });
@@ -224,7 +229,7 @@ function AnalyticsAdminFilterBar({ section, granularity, onChange }) {
224
229
  };
225
230
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
226
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,
227
- _chunkV3YDVJ63js.DateRangeSelector,
232
+ _chunk2H342HNNjs.DateRangeSelector,
228
233
  {
229
234
  onDateChange: (range) => {
230
235
  if (!_optionalChain([range, 'optionalAccess', _ => _.from]) || !_optionalChain([range, 'optionalAccess', _2 => _2.to])) return;
@@ -268,13 +273,13 @@ function Segmented({
268
273
  children: options.map((option) => {
269
274
  const selected = option.value === value;
270
275
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
271
- _chunkV3YDVJ63js.Button,
276
+ _chunk2H342HNNjs.Button,
272
277
  {
273
278
  type: "button",
274
279
  size: "sm",
275
280
  variant: selected ? "default" : "ghost",
276
281
  "aria-pressed": selected,
277
- className: _chunkFF4EIQ6Hjs.cn.call(void 0, !selected && "text-muted-foreground"),
282
+ className: _chunkMOGEGWXWjs.cn.call(void 0, !selected && "text-muted-foreground"),
278
283
  onClick: () => onSelect(option.value),
279
284
  children: option.label
280
285
  },
@@ -294,45 +299,45 @@ function withFilters(endpoint, filters) {
294
299
  return endpoint;
295
300
  }
296
301
  _chunk7QVYU63Ejs.__name.call(void 0, withFilters, "withFilters");
297
- var AnalyticsAdminService = class extends _chunkFF4EIQ6Hjs.AbstractService {
302
+ var AnalyticsAdminService = class extends _chunkMOGEGWXWjs.AbstractService {
298
303
  static {
299
304
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AnalyticsAdminService");
300
305
  }
301
306
  /** Headline tiles: one row per window (current, previous). */
302
307
  static async getSummary(filters) {
303
- const endpoint = withFilters(new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsSummary }), filters);
308
+ const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary }), filters);
304
309
  return this.callApi({
305
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsSummary,
310
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary,
306
311
  method: "GET" /* GET */,
307
312
  endpoint: endpoint.generate()
308
313
  });
309
314
  }
310
315
  static async getTimeline(params) {
311
- const endpoint = withFilters(new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsTimeline }), params);
316
+ const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsTimeline }), params);
312
317
  endpoint.addAdditionalParam("granularity", params.granularity);
313
318
  return this.callApi({
314
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsTimeline,
319
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsTimeline,
315
320
  method: "GET" /* GET */,
316
321
  endpoint: endpoint.generate()
317
322
  });
318
323
  }
319
324
  static async getBreakdown(params) {
320
- const endpoint = withFilters(new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsBreakdown }), params);
325
+ const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsBreakdown }), params);
321
326
  endpoint.addAdditionalParam("dimension", params.dimension);
322
327
  if (params.limit !== void 0) endpoint.addAdditionalParam("limit", String(params.limit));
323
328
  return this.callApi({
324
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsBreakdown,
329
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsBreakdown,
325
330
  method: "GET" /* GET */,
326
331
  endpoint: endpoint.generate()
327
332
  });
328
333
  }
329
334
  /** Newest sessions first, cursor-paginated through `next`. */
330
335
  static async getSessions(params) {
331
- const endpoint = withFilters(new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession }), params);
336
+ const endpoint = withFilters(new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession }), params);
332
337
  if (params.visitorId) endpoint.addAdditionalParam("visitorId", params.visitorId);
333
338
  if (params.userId) endpoint.addAdditionalParam("userId", params.userId);
334
339
  return this.callApi({
335
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession,
340
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
336
341
  method: "GET" /* GET */,
337
342
  endpoint: endpoint.generate(),
338
343
  next: params.next
@@ -340,20 +345,20 @@ var AnalyticsAdminService = class extends _chunkFF4EIQ6Hjs.AbstractService {
340
345
  }
341
346
  static async getSession(params) {
342
347
  return this.callApi({
343
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession,
348
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
344
349
  method: "GET" /* GET */,
345
- endpoint: new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({ endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession, id: params.id }).generate()
350
+ endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, id: params.id }).generate()
346
351
  });
347
352
  }
348
353
  /** The journey: every page view of one session, oldest first. */
349
354
  static async getSessionPageViews(params) {
350
355
  return this.callApi({
351
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsPageView,
356
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsPageView,
352
357
  method: "GET" /* GET */,
353
- endpoint: new (0, _chunkFF4EIQ6Hjs.EndpointCreator)({
354
- endpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession,
358
+ endpoint: new (0, _chunkBZ5J2FIVjs.EndpointCreator)({
359
+ endpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
355
360
  id: params.sessionId,
356
- childEndpoint: _chunkFF4EIQ6Hjs.Modules.AnalyticsPageView
361
+ childEndpoint: _chunkBZ5J2FIVjs.Modules.AnalyticsPageView
357
362
  }).generate()
358
363
  });
359
364
  }
@@ -449,7 +454,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
449
454
  const sessionsNext = {};
450
455
  try {
451
456
  const nextSessions = await AnalyticsAdminService.next({
452
- type: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession,
457
+ type: _chunkBZ5J2FIVjs.Modules.AnalyticsSession,
453
458
  endpoint: sessionsNextPage,
454
459
  next: sessionsNext
455
460
  });
@@ -504,7 +509,7 @@ var AnalyticsAdminProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
504
509
  error
505
510
  ]
506
511
  );
507
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminContext.Provider, { value: contextValue, children }) });
508
513
  }, "AnalyticsAdminProvider");
509
514
  var useAnalyticsAdmin = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
510
515
  const ctx = _react.useContext.call(void 0, AnalyticsAdminContext);
@@ -524,7 +529,7 @@ var _lucidereact = require('lucide-react');
524
529
  var ZERO = { visitors: 0, sessions: 0, pageViews: 0, pagesPerSession: 0, consentShare: 0 };
525
530
  function AnalyticsAdminTiles({ summary }) {
526
531
  const t = _nextintl.useTranslations.call(void 0, );
527
- const { decimal } = _chunkV3YDVJ63js.useUsageFormatters.call(void 0, );
532
+ const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
528
533
  const rowFor = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (window2) => _nullishCoalesce(summary.find((r) => r.section === "total" && r.window === window2), () => ( ZERO)), "rowFor");
529
534
  const current = rowFor("current");
530
535
  const previous = rowFor("previous");
@@ -537,7 +542,7 @@ function AnalyticsAdminTiles({ summary }) {
537
542
  testId: "analytics-tile-visitors",
538
543
  label: t("analytics.admin.tiles.visitors"),
539
544
  value: decimal(current.visitors, 0),
540
- delta: _chunkV3YDVJ63js.percentageDelta.call(void 0, current.visitors, previous.visitors),
545
+ delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.visitors, previous.visitors),
541
546
  previousLabel,
542
547
  decimal
543
548
  }
@@ -548,7 +553,7 @@ function AnalyticsAdminTiles({ summary }) {
548
553
  testId: "analytics-tile-sessions",
549
554
  label: t("analytics.admin.tiles.sessions"),
550
555
  value: decimal(current.sessions, 0),
551
- delta: _chunkV3YDVJ63js.percentageDelta.call(void 0, current.sessions, previous.sessions),
556
+ delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.sessions, previous.sessions),
552
557
  previousLabel,
553
558
  decimal
554
559
  }
@@ -559,7 +564,7 @@ function AnalyticsAdminTiles({ summary }) {
559
564
  testId: "analytics-tile-page-views",
560
565
  label: t("analytics.admin.tiles.page_views"),
561
566
  value: decimal(current.pageViews, 0),
562
- delta: _chunkV3YDVJ63js.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
567
+ delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.pageViews, previous.pageViews),
563
568
  previousLabel,
564
569
  decimal
565
570
  }
@@ -572,7 +577,7 @@ function AnalyticsAdminTiles({ summary }) {
572
577
  testId: "analytics-tile-pages-per-session",
573
578
  label: t("analytics.admin.tiles.pages_per_session"),
574
579
  value: decimal(current.pagesPerSession, 1),
575
- delta: _chunkV3YDVJ63js.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
580
+ delta: _chunk2H342HNNjs.percentageDelta.call(void 0, current.pagesPerSession, previous.pagesPerSession),
576
581
  decimal
577
582
  }
578
583
  ),
@@ -597,8 +602,8 @@ function LeadTile({
597
602
  previousLabel,
598
603
  decimal
599
604
  }) {
600
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.CardContent, { className: "grid gap-1", children: [
601
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.MicroLabel, { children: label }),
605
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "grid gap-1", children: [
606
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.MicroLabel, { children: label }),
602
607
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-primary text-xl font-semibold tabular-nums", children: value }),
603
608
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1", children: [
604
609
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal }),
@@ -614,8 +619,8 @@ function SupportingTile({
614
619
  delta,
615
620
  decimal
616
621
  }) {
617
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.CardContent, { className: "grid gap-1", children: [
618
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.MicroLabel, { children: label }),
622
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { "data-testid": testId, size: "sm", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "grid gap-1", children: [
623
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.MicroLabel, { children: label }),
619
624
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
620
625
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm font-medium tabular-nums", children: value }),
621
626
  delta !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Delta, { testId: `${testId}-delta`, delta, decimal })
@@ -638,7 +643,7 @@ function Delta({
638
643
  "span",
639
644
  {
640
645
  "data-testid": testId,
641
- className: _chunkFF4EIQ6Hjs.cn.call(void 0,
646
+ className: _chunkMOGEGWXWjs.cn.call(void 0,
642
647
  "inline-flex items-center gap-0.5 text-xs tabular-nums",
643
648
  increased ? "text-success" : "text-destructive"
644
649
  ),
@@ -666,15 +671,15 @@ function AnalyticsBreakdownTable({ breakdowns }) {
666
671
  route: t("analytics.admin.dimensions.route"),
667
672
  landing: t("analytics.admin.dimensions.landing")
668
673
  };
669
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
670
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunkV3YDVJ63js.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
671
- ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
674
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Tabs, { defaultValue: ANALYTICS_DIMENSIONS[0], children: [
675
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.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, _chunk2H342HNNjs.TabsTrigger, { value: dimension, children: labels[dimension] }, dimension)) }),
676
+ ANALYTICS_DIMENSIONS.map((dimension) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TabsContent, { value: dimension, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreakdownRows, { rows: _nullishCoalesce(breakdowns[dimension], () => ( [])) }) }, dimension))
672
677
  ] });
673
678
  }
674
679
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsBreakdownTable, "AnalyticsBreakdownTable");
675
680
  function BreakdownRows({ rows }) {
676
681
  const t = _nextintl.useTranslations.call(void 0, );
677
- const { decimal } = _chunkV3YDVJ63js.useUsageFormatters.call(void 0, );
682
+ const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
678
683
  const sortedRows = _react.useMemo.call(void 0, () => [...rows].sort((a, b) => b.visitors - a.visitors), [rows]);
679
684
  if (sortedRows.length === 0) {
680
685
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
@@ -683,18 +688,18 @@ function BreakdownRows({ rows }) {
683
688
  // The package's <Table> wraps itself in an `overflow-x-clip` container, which
684
689
  // would swallow the overflow before this scroller ever saw it — hence the
685
690
  // child override. Wide tables must scroll, never widen the page.
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, _chunkV3YDVJ63js.Table, { children: [
687
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { children: [
688
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
689
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
690
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.Table, { children: [
692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
693
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.key") }),
694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.visitors") }),
695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.sessions") }),
696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.page_views") })
692
697
  ] }) }),
693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
697
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableBody, { children: sortedRows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-breakdown-row-${row.id}`, children: [
699
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.key === OTHER_KEY ? t("analytics.admin.other") : row.key }),
700
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.visitors, 0) }),
701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.sessions, 0) }),
702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) })
698
703
  ] }, row.id)) })
699
704
  ] }) })
700
705
  );
@@ -709,48 +714,48 @@ var VISITOR_SUFFIX_LENGTH = 6;
709
714
  function AnalyticsSessionsTable({ rows, sessionPageUrl, onLoadMore, hasMore }) {
710
715
  const t = _nextintl.useTranslations.call(void 0, );
711
716
  const locale = _nextintl.useLocale.call(void 0, );
712
- const generateUrl = _chunkV3YDVJ63js.usePageUrlGenerator.call(void 0, );
713
- const { decimal } = _chunkV3YDVJ63js.useUsageFormatters.call(void 0, );
717
+ const generateUrl = _chunk2H342HNNjs.usePageUrlGenerator.call(void 0, );
718
+ const { decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
714
719
  const dateTime = _react.useMemo.call(void 0, () => new Intl.DateTimeFormat(locale, { dateStyle: "short", timeStyle: "short" }), [locale]);
715
720
  if (rows.length === 0) {
716
721
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") });
717
722
  }
718
723
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
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, _chunkV3YDVJ63js.Table, { children: [
720
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { children: [
721
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
722
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
723
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
724
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
725
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
726
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.Table, { children: [
725
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
726
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.started") }),
727
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.visitor") }),
728
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.source") }),
729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.landing") }),
730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.pages") }),
731
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.device") })
727
732
  ] }) }),
728
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableBody, { children: rows.map((row) => {
733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableBody, { children: rows.map((row) => {
729
734
  const source = [_nullishCoalesce(row.utmSource, () => ( row.referrerHost)), row.utmMedium].filter(Boolean).join(" / ");
730
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
732
- _chunkV3YDVJ63js.Link,
735
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-session-row-${row.id}`, children: [
736
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs tabular-nums", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
737
+ _chunk2H342HNNjs.Link,
733
738
  {
734
739
  href: generateUrl({ page: sessionPageUrl, id: row.id }),
735
740
  "data-testid": `analytics-session-link-${row.id}`,
736
741
  children: dateTime.format(row.startedAt)
737
742
  }
738
743
  ) }),
739
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
740
745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.user.name }),
741
746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: row.user.email })
742
747
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
743
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
744
749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs tabular-nums", children: row.visitorId.slice(-VISITOR_SUFFIX_LENGTH) })
745
750
  ] }) }),
746
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-xs", children: source }),
747
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-xs", children: row.landingRoute }),
748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
749
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
751
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: source }),
752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: row.landingRoute }),
753
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-end text-xs tabular-nums", children: decimal(row.pageViews, 0) }),
754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-muted-foreground text-xs", children: row.deviceType })
750
755
  ] }, row.id);
751
756
  }) })
752
757
  ] }) }),
753
- hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.Button, { type: "button", variant: "outline", size: "sm", onClick: onLoadMore, children: t("analytics.admin.load_more") }) })
754
759
  ] });
755
760
  }
756
761
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsSessionsTable, "AnalyticsSessionsTable");
@@ -782,7 +787,7 @@ var inferGranularity = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (buc
782
787
  }, "inferGranularity");
783
788
  function AnalyticsTimelineChart({ rows, className }) {
784
789
  const t = _nextintl.useTranslations.call(void 0, );
785
- const { compact, bucketDate, decimal } = _chunkV3YDVJ63js.useUsageFormatters.call(void 0, );
790
+ const { compact, bucketDate, decimal } = _chunk2H342HNNjs.useUsageFormatters.call(void 0, );
786
791
  const { resolvedTheme } = _nextthemes.useTheme.call(void 0, );
787
792
  const mode = resolvedTheme === "dark" ? "dark" : "light";
788
793
  const chartData = _react.useMemo.call(void 0, () => {
@@ -817,7 +822,7 @@ function AnalyticsTimelineChart({ rows, className }) {
817
822
  // rtl-ok: deliberate LTR island (chart)
818
823
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className, dir: "ltr", children: [
819
824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", "data-testid": "analytics-timeline-data", children: JSON.stringify(chartData) }),
820
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.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: [
821
826
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _recharts.CartesianGrid, { vertical: false }),
822
827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
823
828
  _recharts.XAxis,
@@ -841,10 +846,10 @@ function AnalyticsTimelineChart({ rows, className }) {
841
846
  }
842
847
  ),
843
848
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
844
- _chunkV3YDVJ63js.ChartTooltip,
849
+ _chunk2H342HNNjs.ChartTooltip,
845
850
  {
846
851
  content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
847
- _chunkV3YDVJ63js.ChartTooltipContent,
852
+ _chunk2H342HNNjs.ChartTooltipContent,
848
853
  {
849
854
  labelFormatter: (value) => bucketDate(String(value), granularity),
850
855
  valueFormatter: (value) => decimal(Number(value), 0)
@@ -852,13 +857,13 @@ function AnalyticsTimelineChart({ rows, className }) {
852
857
  )
853
858
  }
854
859
  ),
855
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.ChartLegendContent, {}) }),
860
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.ChartLegend, { content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.ChartLegendContent, {}) }),
856
861
  SERIES.map((series, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
857
862
  _recharts.Bar,
858
863
  {
859
864
  dataKey: series,
860
865
  maxBarSize: 28,
861
- fill: _chunkV3YDVJ63js.seriesColor.call(void 0, index, mode),
866
+ fill: _chunk2H342HNNjs.seriesColor.call(void 0, index, mode),
862
867
  stroke: "var(--background)",
863
868
  strokeWidth: 2,
864
869
  radius: [4, 4, 0, 0]
@@ -887,25 +892,25 @@ function AnalyticsAdminContainer() {
887
892
  error
888
893
  } = useAnalyticsAdmin();
889
894
  if (error) {
890
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
891
896
  }
892
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
893
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.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, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true });
898
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSummary, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-4 p-4", children: [
894
899
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
895
900
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsAdminTiles, { summary }),
896
901
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-xs", children: t("analytics.admin.tiles.summarised_note") })
897
902
  ] }),
898
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Card, { children: [
899
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
900
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
903
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.over_time") }) }),
905
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsTimelineChart, { rows: timeline }) })
901
906
  ] }),
902
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Card, { children: [
903
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
904
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
907
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.breakdown") }) }),
909
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AnalyticsBreakdownTable, { breakdowns }) })
905
910
  ] }),
906
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Card, { children: [
907
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
908
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
911
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
912
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.sessions") }) }),
913
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
909
914
  AnalyticsSessionsTable,
910
915
  {
911
916
  rows: sessions,
@@ -928,7 +933,7 @@ var OTHER_SESSIONS_WINDOW_DAYS = 395;
928
933
  function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_URL }) {
929
934
  const t = _nextintl.useTranslations.call(void 0, );
930
935
  const locale = _nextintl.useLocale.call(void 0, );
931
- const generateUrl = _chunkV3YDVJ63js.usePageUrlGenerator.call(void 0, );
936
+ const generateUrl = _chunk2H342HNNjs.usePageUrlGenerator.call(void 0, );
932
937
  const [session, setSession] = _react.useState.call(void 0, void 0);
933
938
  const [pageViews, setPageViews] = _react.useState.call(void 0, []);
934
939
  const [otherSessions, setOtherSessions] = _react.useState.call(void 0, []);
@@ -984,26 +989,26 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
984
989
  const title = { type: t("analytics.admin.panels.journey") };
985
990
  const renderBody = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
986
991
  if (error) {
987
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-destructive text-xs/relaxed", children: error }) }) }) }) });
988
993
  }
989
- if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
994
+ if (isLoading || !session) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.Modules.AnalyticsSession, fullWidth: true, forceHeader: true });
990
995
  const source = [_nullishCoalesce(session.utmSource, () => ( session.referrerHost)), session.utmMedium, session.utmCampaign].filter(Boolean).join(" / ");
991
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.RoundPageContainer, { module: _chunkFF4EIQ6Hjs.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, _chunkV3YDVJ63js.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.CardContent, { className: "flex flex-col gap-3", children: [
996
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.RoundPageContainer, { module: _chunkBZ5J2FIVjs.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, _chunk2H342HNNjs.Card, { "data-testid": "analytics-journey-attribution", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.CardContent, { className: "flex flex-col gap-3", children: [
993
998
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center gap-2", children: [
994
999
  session.user ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-col", children: [
995
1000
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm", children: session.user.name }),
996
1001
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground text-xs", children: session.user.email })
997
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
998
- session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
1002
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.anonymous") }),
1003
+ session.consented ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGreen", children: t("analytics.admin.consented") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.Badge, { variant: "softGray", children: t("analytics.admin.not_consented") })
999
1004
  ] }),
1000
1005
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-3 sm:grid-cols-3", children: [
1001
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1002
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1003
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1004
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1006
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.started"), value: dateTime.format(session.startedAt) }),
1007
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.source"), value: source }),
1008
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.landing"), value: session.landingRoute }),
1009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.DetailField, { label: t("analytics.admin.columns.device"), value: session.deviceType }),
1005
1010
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1006
- _chunkV3YDVJ63js.DetailField,
1011
+ _chunk2H342HNNjs.DetailField,
1007
1012
  {
1008
1013
  label: t("analytics.admin.columns.visitor"),
1009
1014
  value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: session.visitorId })
@@ -1011,31 +1016,31 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1011
1016
  )
1012
1017
  ] })
1013
1018
  ] }) }),
1014
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Card, { children: [
1015
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1016
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.Card, { children: [
1020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.columns.pages") }) }),
1021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: pageViews.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground text-sm", children: t("analytics.admin.no_data") }) : (
1017
1022
  // The package's <Table> wraps itself in an `overflow-x-clip`
1018
1023
  // container — hence the child override, so wide rows scroll.
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, _chunkV3YDVJ63js.Table, { children: [
1020
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { children: [
1021
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1022
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunk2H342HNNjs.Table, { children: [
1025
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { children: [
1026
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.time") }),
1027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-end text-xs font-medium", children: t("analytics.admin.columns.gap") }),
1028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableHead, { className: "text-xs font-medium", children: t("analytics.admin.columns.path") })
1024
1029
  ] }) }),
1025
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableBody, { children: pageViews.map((pageView, index) => {
1030
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableBody, { children: pageViews.map((pageView, index) => {
1026
1031
  const previous = index > 0 ? pageViews[index - 1] : void 0;
1027
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1028
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1029
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.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, _chunkV3YDVJ63js.TableCell, { className: "text-xs", children: pageView.path })
1032
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.TableRow, { "data-testid": `analytics-pageview-row-${pageView.id}`, children: [
1033
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.TableCell, { className: "text-xs tabular-nums", children: dateTime.format(pageView.createdAt) }),
1034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.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, _chunk2H342HNNjs.TableCell, { className: "text-xs", children: pageView.path })
1031
1036
  ] }, pageView.id);
1032
1037
  }) })
1033
1038
  ] }) })
1034
1039
  ) })
1035
1040
  ] }),
1036
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV3YDVJ63js.Card, { children: [
1037
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1038
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1041
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2H342HNNjs.Card, { children: [
1042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardTitle, { children: t("analytics.admin.panels.other_sessions") }) }),
1043
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.CardContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1039
1044
  AnalyticsSessionsTable,
1040
1045
  {
1041
1046
  rows: otherSessions,
@@ -1047,7 +1052,7 @@ function AnalyticsJourneyContainer({ sessionId, pageUrl = ANALYTICS_ADMIN_PAGE_U
1047
1052
  ] })
1048
1053
  ] }) });
1049
1054
  }, "renderBody");
1050
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3YDVJ63js.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1055
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2H342HNNjs.SharedProvider, { value: { breadcrumbs: breadcrumb, title }, children: renderBody() });
1051
1056
  }
1052
1057
  _chunk7QVYU63Ejs.__name.call(void 0, AnalyticsJourneyContainer, "AnalyticsJourneyContainer");
1053
1058
  function unit(locale, name, value) {
@@ -1155,5 +1160,5 @@ var ANALYTICS_ADMIN_I18N_KEYS = [
1155
1160
 
1156
1161
 
1157
1162
 
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 = _chunkFF4EIQ6Hjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkFF4EIQ6Hjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkFF4EIQ6Hjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkFF4EIQ6Hjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkFF4EIQ6Hjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkFF4EIQ6Hjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkFF4EIQ6Hjs.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 = _chunkMOGEGWXWjs.AnalyticsBreakdown; exports.AnalyticsBreakdownTable = AnalyticsBreakdownTable; exports.AnalyticsEvent = _chunkMOGEGWXWjs.AnalyticsEvent; exports.AnalyticsJourneyContainer = AnalyticsJourneyContainer; exports.AnalyticsJourneyPageContainer = AnalyticsJourneyPageContainer; exports.AnalyticsPageView = _chunkMOGEGWXWjs.AnalyticsPageView; exports.AnalyticsService = AnalyticsService; exports.AnalyticsSession = _chunkMOGEGWXWjs.AnalyticsSession; exports.AnalyticsSessionsTable = AnalyticsSessionsTable; exports.AnalyticsSummary = _chunkMOGEGWXWjs.AnalyticsSummary; exports.AnalyticsTimeline = _chunkMOGEGWXWjs.AnalyticsTimeline; exports.AnalyticsTimelineChart = AnalyticsTimelineChart; exports.AnalyticsTracker = AnalyticsTracker; exports.analyticsModules = _chunkMOGEGWXWjs.analyticsModules; exports.useAnalyticsAdmin = useAnalyticsAdmin;
1159
1164
  //# sourceMappingURL=index.js.map