@carlonicora/nextjs-jsonapi 6.10.1 → 6.11.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 (116) hide show
  1. package/dist/{AbstractApiData-XLhBP5Tl.d.mts → AbstractApiData-CKy8tbde.d.mts} +6 -0
  2. package/dist/{AbstractApiData-DtitRWPz.d.ts → AbstractApiData-rgvs0cdY.d.ts} +6 -0
  3. package/dist/{BlockNoteEditor-GK3DRTOP.mjs → BlockNoteEditor-5WM5DX3J.mjs} +4 -4
  4. package/dist/{BlockNoteEditor-YOKJOVV3.js → BlockNoteEditor-GY5R25YI.js} +19 -19
  5. package/dist/{BlockNoteEditor-YOKJOVV3.js.map → BlockNoteEditor-GY5R25YI.js.map} +1 -1
  6. package/dist/{BlockNoteViewer-EKAWVLIR.js → BlockNoteViewer-FLUHEXE6.js} +3 -3
  7. package/dist/{BlockNoteViewer-EKAWVLIR.js.map → BlockNoteViewer-FLUHEXE6.js.map} +1 -1
  8. package/dist/{BlockNoteViewer-RWRI3QO2.mjs → BlockNoteViewer-UCA3LV3N.mjs} +2 -2
  9. package/dist/billing/index.js +491 -491
  10. package/dist/billing/index.mjs +3 -3
  11. package/dist/{chunk-THZAK7S3.mjs → chunk-3PRLRCMF.mjs} +1281 -603
  12. package/dist/chunk-3PRLRCMF.mjs.map +1 -0
  13. package/dist/{chunk-AWLTSKMM.mjs → chunk-6RLATJ2L.mjs} +2 -2
  14. package/dist/{chunk-6HFRXEF5.mjs → chunk-BGLOFZ3K.mjs} +296 -6
  15. package/dist/chunk-BGLOFZ3K.mjs.map +1 -0
  16. package/dist/{chunk-KRQRJA4J.js → chunk-FNPXCYHO.js} +8 -8
  17. package/dist/{chunk-KRQRJA4J.js.map → chunk-FNPXCYHO.js.map} +1 -1
  18. package/dist/{chunk-4UFMLTL2.js → chunk-MP3DV2I5.js} +1647 -969
  19. package/dist/chunk-MP3DV2I5.js.map +1 -0
  20. package/dist/{chunk-RNZ3IK5J.js → chunk-OHJSI6L2.js} +4 -4
  21. package/dist/{chunk-RNZ3IK5J.js.map → chunk-OHJSI6L2.js.map} +1 -1
  22. package/dist/{chunk-SQTXJPRE.js → chunk-YGEOX2XX.js} +297 -7
  23. package/dist/chunk-YGEOX2XX.js.map +1 -0
  24. package/dist/{chunk-DPAM7BCE.mjs → chunk-YP6W4AB5.mjs} +2 -2
  25. package/dist/client/index.js +4 -4
  26. package/dist/client/index.mjs +3 -3
  27. package/dist/components/index.d.mts +68 -30
  28. package/dist/components/index.d.ts +68 -30
  29. package/dist/components/index.js +10 -4
  30. package/dist/components/index.js.map +1 -1
  31. package/dist/components/index.mjs +9 -3
  32. package/dist/contexts/index.js +4 -4
  33. package/dist/contexts/index.mjs +3 -3
  34. package/dist/core/index.d.mts +160 -4
  35. package/dist/core/index.d.ts +160 -4
  36. package/dist/core/index.js +14 -2
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/index.mjs +13 -1
  39. package/dist/email-automations/index.js +93 -93
  40. package/dist/email-automations/index.mjs +3 -3
  41. package/dist/features/analytics/index.d.mts +1 -1
  42. package/dist/features/analytics/index.d.ts +1 -1
  43. package/dist/features/analytics/index.js +120 -122
  44. package/dist/features/analytics/index.js.map +1 -1
  45. package/dist/features/analytics/index.mjs +7 -9
  46. package/dist/features/analytics/index.mjs.map +1 -1
  47. package/dist/features/analytics/server.js +4 -4
  48. package/dist/features/analytics/server.mjs +2 -2
  49. package/dist/features/blog/index.js +150 -150
  50. package/dist/features/blog/index.mjs +3 -3
  51. package/dist/features/blog/server.js +16 -16
  52. package/dist/features/blog/server.mjs +1 -1
  53. package/dist/features/help/index.js +37 -37
  54. package/dist/features/help/index.mjs +3 -3
  55. package/dist/features/tokenusage/index.d.mts +1 -1
  56. package/dist/features/tokenusage/index.d.ts +1 -1
  57. package/dist/features/tokenusage/index.js +126 -128
  58. package/dist/features/tokenusage/index.js.map +1 -1
  59. package/dist/features/tokenusage/index.mjs +14 -16
  60. package/dist/features/tokenusage/index.mjs.map +1 -1
  61. package/dist/index.d.mts +3 -3
  62. package/dist/index.d.ts +3 -3
  63. package/dist/index.js +15 -3
  64. package/dist/index.js.map +1 -1
  65. package/dist/index.mjs +14 -2
  66. package/dist/{HandbookSectionInterface-BPgqqwgw.d.mts → referral-admin.interface-C87ApGMR.d.mts} +42 -2
  67. package/dist/{HandbookSectionInterface-_51oA3om.d.ts → referral-admin.interface-CMwl5NiV.d.ts} +42 -2
  68. package/dist/server/index.js +3 -3
  69. package/dist/server/index.mjs +2 -2
  70. package/messages/en.json +78 -1
  71. package/messages/it.json +78 -1
  72. package/package.json +1 -1
  73. package/src/core/abstracts/AbstractApiData.ts +14 -3
  74. package/src/core/abstracts/__tests__/readIncludedWithMeta.spec.ts +103 -0
  75. package/src/core/index.ts +2 -0
  76. package/src/core/registry/ModuleRegistry.ts +5 -0
  77. package/src/features/referral/__tests__/referral-admin-models.spec.ts +122 -0
  78. package/src/features/referral/__tests__/referral-admin-service.spec.ts +70 -0
  79. package/src/features/referral/__tests__/referral-code-capture.spec.tsx +105 -0
  80. package/src/features/referral/__tests__/referral-invite-errors.spec.tsx +82 -0
  81. package/src/features/referral/__tests__/referral-visit-service.spec.ts +47 -0
  82. package/src/features/referral/__tests__/referrals-admin-container.spec.tsx +230 -0
  83. package/src/features/referral/components/ReferralCodeCapture.tsx +3 -0
  84. package/src/features/referral/components/ReferralDialog.tsx +9 -13
  85. package/src/features/referral/components/ReferralWidget.tsx +75 -45
  86. package/src/features/referral/components/ReferralsAdminFunnel.tsx +74 -0
  87. package/src/features/referral/components/ReferralsAdminTiles.tsx +128 -0
  88. package/src/features/referral/components/containers/ReferralsAdminContainer.tsx +205 -0
  89. package/src/features/referral/components/index.ts +3 -0
  90. package/src/features/referral/data/ReferralAdminReferral.ts +65 -0
  91. package/src/features/referral/data/ReferralAdminReferrer.ts +65 -0
  92. package/src/features/referral/data/ReferralAdminService.ts +51 -0
  93. package/src/features/referral/data/ReferralAdminSummary.ts +60 -0
  94. package/src/features/referral/data/ReferralService.ts +20 -0
  95. package/src/features/referral/data/ReferralVisit.ts +23 -0
  96. package/src/features/referral/data/index.ts +5 -0
  97. package/src/features/referral/hooks/index.ts +2 -0
  98. package/src/features/referral/hooks/useReferralAdminReferralTableStructure.tsx +127 -0
  99. package/src/features/referral/hooks/useReferralAdminReferrerTableStructure.tsx +229 -0
  100. package/src/features/referral/hooks/useReferralInvite.ts +2 -0
  101. package/src/features/referral/index.ts +1 -0
  102. package/src/features/referral/interfaces/index.ts +1 -0
  103. package/src/features/referral/interfaces/referral-admin.interface.ts +45 -0
  104. package/src/features/referral/referral-admin.modules.ts +32 -0
  105. package/dist/chunk-3TNGKMJU.mjs +0 -115
  106. package/dist/chunk-3TNGKMJU.mjs.map +0 -1
  107. package/dist/chunk-4UFMLTL2.js.map +0 -1
  108. package/dist/chunk-6HFRXEF5.mjs.map +0 -1
  109. package/dist/chunk-G3YKDIAL.js +0 -115
  110. package/dist/chunk-G3YKDIAL.js.map +0 -1
  111. package/dist/chunk-SQTXJPRE.js.map +0 -1
  112. package/dist/chunk-THZAK7S3.mjs.map +0 -1
  113. /package/dist/{BlockNoteEditor-GK3DRTOP.mjs.map → BlockNoteEditor-5WM5DX3J.mjs.map} +0 -0
  114. /package/dist/{BlockNoteViewer-RWRI3QO2.mjs.map → BlockNoteViewer-UCA3LV3N.mjs.map} +0 -0
  115. /package/dist/{chunk-AWLTSKMM.mjs.map → chunk-6RLATJ2L.mjs.map} +0 -0
  116. /package/dist/{chunk-DPAM7BCE.mjs.map → chunk-YP6W4AB5.mjs.map} +0 -0
@@ -4,7 +4,7 @@ var _chunkG4JR3SFVjs = require('./chunk-G4JR3SFV.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkSQTXJPREjs = require('./chunk-SQTXJPRE.js');
7
+ var _chunkYGEOX2XXjs = require('./chunk-YGEOX2XX.js');
8
8
 
9
9
 
10
10
  var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
@@ -40,7 +40,7 @@ var ServerSession = class {
40
40
  const headerStore = await _headers.headers.call(void 0, );
41
41
  const token = _optionalChain([cookieStore, 'access', _ => _.get, 'call', _2 => _2("token"), 'optionalAccess', _3 => _3.value]) || void 0;
42
42
  const roles = _optionalChain([cookieStore, 'access', _4 => _4.get, 'call', _5 => _5("roles"), 'optionalAccess', _6 => _6.value]);
43
- const viewportCookie = _optionalChain([cookieStore, 'access', _7 => _7.get, 'call', _8 => _8(_chunkSQTXJPREjs.VIEWPORT_COOKIE_NAME), 'optionalAccess', _9 => _9.value]);
43
+ const viewportCookie = _optionalChain([cookieStore, 'access', _7 => _7.get, 'call', _8 => _8(_chunkYGEOX2XXjs.VIEWPORT_COOKIE_NAME), 'optionalAccess', _9 => _9.value]);
44
44
  return {
45
45
  isLogged: !!token,
46
46
  isAdministrator: !!roles && roles.includes(_chunkG4JR3SFVjs.getRoleId.call(void 0, ).Administrator),
@@ -88,7 +88,7 @@ var ServerSession = class {
88
88
  if (!rawModules) return false;
89
89
  const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
90
90
  const selectedModule = modules.find((module) => module.id === params.module.moduleId);
91
- return _chunkSQTXJPREjs.checkPermissionsFromServer.call(void 0, {
91
+ return _chunkYGEOX2XXjs.checkPermissionsFromServer.call(void 0, {
92
92
  module: params.module,
93
93
  action: params.action,
94
94
  data: params.data,
@@ -104,4 +104,4 @@ var ServerSession = class {
104
104
 
105
105
 
106
106
  exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.updateCacheTag = updateCacheTag; exports.ServerSession = ServerSession;
107
- //# sourceMappingURL=chunk-RNZ3IK5J.js.map
107
+ //# sourceMappingURL=chunk-OHJSI6L2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RNZ3IK5J.js","../src/server/cache.ts","../src/server/ServerSession.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-RNZ3IK5J.js","sourcesContent":[null,"// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag, updateTag } from \"next/cache\";\n\nimport type { CacheProfile } from \"./cacheProfiles\";\n\nexport { CACHE_PROFILES, type CacheProfile } from \"./cacheProfiles\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * With `\"max\"` the tagged entries are marked stale and served stale-while-revalidate\n * (a one-year window): the next request still gets the old data while fresh data loads\n * in the background. It is not an immediate invalidation. A Server Action that must\n * read its own write uses `updateCacheTag` instead.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile whose `expire` bounds how long stale data may be served (defaults to \"max\")\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile, see `invalidateCacheTag` (defaults to \"max\", stale-while-revalidate)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n\n/**\n * Expire a cache tag immediately, so the same request reads fresh data (read-your-own-writes).\n * Wraps `updateTag`, which works in Server Actions only. Route Handlers use `invalidateCacheTag`.\n *\n * @param tag - The cache tag to expire\n */\nexport async function updateCacheTag(tag: string): Promise<void> {\n updateTag(tag);\n}\n","import { cookies, headers } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { userAgent } from \"next/server\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\nimport { getRoleId } from \"../roles/config\";\nimport { VIEWPORT_COOKIE_NAME } from \"../utils/use-mobile\";\n\nexport interface SessionSnapshot {\n isLogged: boolean;\n isAdministrator: boolean;\n token?: string;\n sidebarOpen: boolean;\n isMobile: boolean;\n}\n\nexport class ServerSession {\n static async read(): Promise<SessionSnapshot> {\n const cookieStore = await cookies();\n const headerStore = await headers();\n\n const token = cookieStore.get(\"token\")?.value || undefined;\n const roles = cookieStore.get(\"roles\")?.value;\n const viewportCookie = cookieStore.get(VIEWPORT_COOKIE_NAME)?.value;\n\n return {\n isLogged: !!token,\n isAdministrator: !!roles && roles.includes(getRoleId().Administrator),\n token,\n sidebarOpen: cookieStore.get(\"sidebar_state\")?.value !== \"false\",\n isMobile: viewportCookie ? viewportCookie === \"1\" : userAgent({ headers: headerStore }).device.type === \"mobile\",\n };\n }\n\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-OHJSI6L2.js","../src/server/cache.ts","../src/server/ServerSession.ts"],"names":[],"mappings":"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","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-OHJSI6L2.js","sourcesContent":[null,"// Server-only utilities (NOT server actions - these cannot be called from client components)\n\nimport { revalidateTag, updateTag } from \"next/cache\";\n\nimport type { CacheProfile } from \"./cacheProfiles\";\n\nexport { CACHE_PROFILES, type CacheProfile } from \"./cacheProfiles\";\n\n/**\n * Revalidate a cache tag to invalidate cached data.\n * Next.js 16+ requires a profile parameter.\n *\n * With `\"max\"` the tagged entries are marked stale and served stale-while-revalidate\n * (a one-year window): the next request still gets the old data while fresh data loads\n * in the background. It is not an immediate invalidation. A Server Action that must\n * read its own write uses `updateCacheTag` instead.\n *\n * @param tag - The cache tag to invalidate\n * @param profile - The cache profile whose `expire` bounds how long stale data may be served (defaults to \"max\")\n */\nexport async function invalidateCacheTag(tag: string, profile: CacheProfile = \"max\"): Promise<void> {\n revalidateTag(tag, profile);\n}\n\n/**\n * Revalidate multiple cache tags.\n *\n * @param tags - Array of cache tags to invalidate\n * @param profile - The cache profile, see `invalidateCacheTag` (defaults to \"max\", stale-while-revalidate)\n */\nexport async function invalidateCacheTags(tags: string[], profile: CacheProfile = \"max\"): Promise<void> {\n for (const tag of tags) {\n revalidateTag(tag, profile);\n }\n}\n\n/**\n * Expire a cache tag immediately, so the same request reads fresh data (read-your-own-writes).\n * Wraps `updateTag`, which works in Server Actions only. Route Handlers use `invalidateCacheTag`.\n *\n * @param tag - The cache tag to expire\n */\nexport async function updateCacheTag(tag: string): Promise<void> {\n updateTag(tag);\n}\n","import { cookies, headers } from \"next/headers\";\nimport { redirect } from \"next/navigation\";\nimport { userAgent } from \"next/server\";\nimport { ungzip } from \"pako\";\nimport { Action, checkPermissionsFromServer, ModuleWithPermissions } from \"../permissions\";\nimport { getRoleId } from \"../roles/config\";\nimport { VIEWPORT_COOKIE_NAME } from \"../utils/use-mobile\";\n\nexport interface SessionSnapshot {\n isLogged: boolean;\n isAdministrator: boolean;\n token?: string;\n sidebarOpen: boolean;\n isMobile: boolean;\n}\n\nexport class ServerSession {\n static async read(): Promise<SessionSnapshot> {\n const cookieStore = await cookies();\n const headerStore = await headers();\n\n const token = cookieStore.get(\"token\")?.value || undefined;\n const roles = cookieStore.get(\"roles\")?.value;\n const viewportCookie = cookieStore.get(VIEWPORT_COOKIE_NAME)?.value;\n\n return {\n isLogged: !!token,\n isAdministrator: !!roles && roles.includes(getRoleId().Administrator),\n token,\n sidebarOpen: cookieStore.get(\"sidebar_state\")?.value !== \"false\",\n isMobile: viewportCookie ? viewportCookie === \"1\" : userAgent({ headers: headerStore }).device.type === \"mobile\",\n };\n }\n\n static async isLogged() {\n const cookieStore = await cookies();\n const token = cookieStore.get(\"token\");\n\n if (!token || !token.value) return false;\n return true;\n }\n\n static async companyId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"companyId\")?.value ?? \"\";\n }\n\n static async userId() {\n const cookieStore = await cookies();\n return cookieStore.get(\"userId\")?.value ?? \"\";\n }\n\n static async checkPermission<M extends ModuleWithPermissions>(params: { module: M; action: Action; data?: any }) {\n if (!(await this.hasPermissionToModule(params))) redirect(`/401`);\n }\n\n static async hasRole(roleId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const roles = cookieStore.get(\"roles\")?.value;\n\n if (!roles || !roles.includes(roleId)) return false;\n\n return true;\n }\n\n static async hasFeature(featureId: string): Promise<boolean> {\n const cookieStore = await cookies();\n const features = cookieStore.get(\"features\")?.value;\n\n if (!features || !features.includes(featureId)) return false;\n\n return true;\n }\n\n static async hasPermissionToModule<M extends ModuleWithPermissions>(params: {\n module: M;\n action: Action;\n data?: any;\n }): Promise<boolean> {\n const cookieStore = await cookies();\n\n if (params.module.feature) {\n const features = cookieStore.get(\"features\")?.value;\n\n if (features && !features.includes(params.module.feature)) return false;\n }\n\n const rawModules = cookieStore.get(\"modules\")?.value;\n if (!rawModules) return false;\n\n const modules: {\n id: string;\n permissions: {\n create: boolean | string;\n read: boolean | string;\n update: boolean | string;\n delete: boolean | string;\n };\n }[] = JSON.parse(ungzip(Buffer.from(rawModules, \"base64\"), { toText: true }));\n\n const selectedModule = modules.find((module) => module.id === params.module.moduleId);\n\n return checkPermissionsFromServer({\n module: params.module,\n action: params.action,\n data: params.data,\n userId: await this.userId(),\n selectedModule: selectedModule,\n });\n\n // if (!selectedModule) return false;\n\n // if (!selectedModule.permissions[params.action]) return false;\n // if (typeof selectedModule.permissions[params.action] === \"boolean\")\n // return selectedModule.permissions[params.action] as boolean;\n\n // if (!params.data) return false;\n\n // return params.data[selectedModule.permissions[params.action] as string] === this.userId;\n }\n}\n"]}
@@ -41,7 +41,7 @@ var RehydrationFactory = class {
41
41
  };
42
42
 
43
43
  // src/core/abstracts/AbstractApiData.ts
44
- var AbstractApiData = (_class = class {
44
+ var AbstractApiData = (_class = class _AbstractApiData {
45
45
  static {
46
46
  _chunk7QVYU63Ejs.__name.call(void 0, this, "AbstractApiData");
47
47
  }
@@ -190,7 +190,7 @@ var AbstractApiData = (_class = class {
190
190
  included: data.included
191
191
  });
192
192
  if (item.meta) {
193
- Object.assign(entity2, item.meta);
193
+ _AbstractApiData._mergeMeta(entity2, item.meta);
194
194
  }
195
195
  result.push(entity2);
196
196
  }
@@ -211,7 +211,7 @@ var AbstractApiData = (_class = class {
211
211
  });
212
212
  const relationshipMeta2 = data.jsonApi.relationships[type].meta;
213
213
  if (relationshipMeta2) {
214
- Object.assign(entity2, relationshipMeta2);
214
+ _AbstractApiData._mergeMeta(entity2, relationshipMeta2);
215
215
  }
216
216
  return entity2;
217
217
  }
@@ -224,10 +224,20 @@ var AbstractApiData = (_class = class {
224
224
  });
225
225
  const relationshipMeta = data.jsonApi.relationships[type].meta;
226
226
  if (relationshipMeta) {
227
- Object.assign(entity, relationshipMeta);
227
+ _AbstractApiData._mergeMeta(entity, relationshipMeta);
228
228
  }
229
229
  return entity;
230
230
  }
231
+ /**
232
+ * Copies relationship meta onto a rehydrated entity as own data properties. Object.assign throws
233
+ * when the model declares a getter-only accessor of the same name (an app's `Chunk` with
234
+ * `get relevance()`); an own property shadows that getter, so the model reads the meta value.
235
+ */
236
+ static _mergeMeta(entity, meta) {
237
+ for (const [key, value] of Object.entries(meta)) {
238
+ Object.defineProperty(entity, key, { value, writable: true, enumerable: true, configurable: true });
239
+ }
240
+ }
231
241
  dehydrate() {
232
242
  return {
233
243
  jsonApi: this._jsonApi,
@@ -11643,7 +11653,260 @@ var ReferralService = class extends AbstractService {
11643
11653
  method: "POST" /* POST */,
11644
11654
  endpoint: endpoint.generate(),
11645
11655
  input: { email },
11646
- overridesJsonApiCreation: true
11656
+ overridesJsonApiCreation: true,
11657
+ // The widget turns the error code into a translated message; the global
11658
+ // handler would show the API's English text and swallow the failure.
11659
+ suppressGlobalError: true
11660
+ });
11661
+ }
11662
+ /**
11663
+ * Count one visit to a referral link. Answers 204 whatever the code.
11664
+ */
11665
+ static async recordVisit(params) {
11666
+ const endpoint = new EndpointCreator({ endpoint: Modules.ReferralVisit });
11667
+ await this.callApi({
11668
+ type: Modules.ReferralVisit,
11669
+ method: "POST" /* POST */,
11670
+ endpoint: endpoint.generate(),
11671
+ // The request layer builds the body through ReferralVisit.createJsonApi().
11672
+ input: { referralCode: params.referralCode },
11673
+ // A failed beacon must never show an error to a visitor.
11674
+ suppressGlobalError: true
11675
+ });
11676
+ }
11677
+ };
11678
+
11679
+ // src/features/referral/data/ReferralVisit.ts
11680
+ var ReferralVisit = class extends AbstractApiData {
11681
+ static {
11682
+ _chunk7QVYU63Ejs.__name.call(void 0, this, "ReferralVisit");
11683
+ }
11684
+ rehydrate(data) {
11685
+ super.rehydrate(data);
11686
+ return this;
11687
+ }
11688
+ createJsonApi(data) {
11689
+ return {
11690
+ data: {
11691
+ type: Modules.ReferralVisit.name,
11692
+ attributes: { referralCode: data.referralCode }
11693
+ }
11694
+ };
11695
+ }
11696
+ };
11697
+
11698
+ // src/features/referral/data/ReferralAdminSummary.ts
11699
+ var ReferralAdminSummary = class extends AbstractApiData {
11700
+ static {
11701
+ _chunk7QVYU63Ejs.__name.call(void 0, this, "ReferralAdminSummary");
11702
+ }
11703
+
11704
+
11705
+
11706
+
11707
+
11708
+
11709
+
11710
+
11711
+ get window() {
11712
+ return _nullishCoalesce(this._window, () => ( ""));
11713
+ }
11714
+ get visits() {
11715
+ return _nullishCoalesce(this._visits, () => ( 0));
11716
+ }
11717
+ get invitesSent() {
11718
+ return _nullishCoalesce(this._invitesSent, () => ( 0));
11719
+ }
11720
+ get signups() {
11721
+ return _nullishCoalesce(this._signups, () => ( 0));
11722
+ }
11723
+ get paying() {
11724
+ return _nullishCoalesce(this._paying, () => ( 0));
11725
+ }
11726
+ get creditsGiven() {
11727
+ return _nullishCoalesce(this._creditsGiven, () => ( 0));
11728
+ }
11729
+ get sharingCompanies() {
11730
+ return _nullishCoalesce(this._sharingCompanies, () => ( 0));
11731
+ }
11732
+ get eligibleCompanies() {
11733
+ return _nullishCoalesce(this._eligibleCompanies, () => ( 0));
11734
+ }
11735
+ rehydrate(data) {
11736
+ super.rehydrate(data);
11737
+ const attrs = data.jsonApi.attributes;
11738
+ this._window = attrs.window;
11739
+ this._visits = attrs.visits;
11740
+ this._invitesSent = attrs.invitesSent;
11741
+ this._signups = attrs.signups;
11742
+ this._paying = attrs.paying;
11743
+ this._creditsGiven = attrs.creditsGiven;
11744
+ this._sharingCompanies = attrs.sharingCompanies;
11745
+ this._eligibleCompanies = attrs.eligibleCompanies;
11746
+ return this;
11747
+ }
11748
+ /** The resource is read-only: there are no attributes to send. */
11749
+ createJsonApi(data) {
11750
+ return { data: { type: Modules.ReferralAdminSummary.name, id: data.id, attributes: {} } };
11751
+ }
11752
+ };
11753
+
11754
+ // src/features/referral/data/ReferralAdminReferrer.ts
11755
+ var ReferralAdminReferrer = class extends AbstractApiData {
11756
+ static {
11757
+ _chunk7QVYU63Ejs.__name.call(void 0, this, "ReferralAdminReferrer");
11758
+ }
11759
+
11760
+
11761
+
11762
+
11763
+
11764
+
11765
+
11766
+
11767
+
11768
+ get name() {
11769
+ return _nullishCoalesce(this._name, () => ( ""));
11770
+ }
11771
+ get email() {
11772
+ return _nullishCoalesce(this._email, () => ( ""));
11773
+ }
11774
+ get visits() {
11775
+ return _nullishCoalesce(this._visits, () => ( 0));
11776
+ }
11777
+ get invitesSent() {
11778
+ return _nullishCoalesce(this._invitesSent, () => ( 0));
11779
+ }
11780
+ get signupsLink() {
11781
+ return _nullishCoalesce(this._signupsLink, () => ( 0));
11782
+ }
11783
+ get signupsDirect() {
11784
+ return _nullishCoalesce(this._signupsDirect, () => ( 0));
11785
+ }
11786
+ get paying() {
11787
+ return _nullishCoalesce(this._paying, () => ( 0));
11788
+ }
11789
+ get creditsEarned() {
11790
+ return _nullishCoalesce(this._creditsEarned, () => ( 0));
11791
+ }
11792
+ get lastInviteAt() {
11793
+ return this._lastInviteAt;
11794
+ }
11795
+ rehydrate(data) {
11796
+ super.rehydrate(data);
11797
+ const attrs = data.jsonApi.attributes;
11798
+ this._name = attrs.name;
11799
+ this._email = attrs.email;
11800
+ this._visits = attrs.visits;
11801
+ this._invitesSent = attrs.invitesSent;
11802
+ this._signupsLink = attrs.signupsLink;
11803
+ this._signupsDirect = attrs.signupsDirect;
11804
+ this._paying = attrs.paying;
11805
+ this._creditsEarned = attrs.creditsEarned;
11806
+ this._lastInviteAt = attrs.lastInviteAt ? new Date(attrs.lastInviteAt) : void 0;
11807
+ return this;
11808
+ }
11809
+ /** The resource is read-only: there are no attributes to send. */
11810
+ createJsonApi(data) {
11811
+ return { data: { type: Modules.ReferralAdminReferrer.name, id: data.id, attributes: {} } };
11812
+ }
11813
+ };
11814
+
11815
+ // src/features/referral/data/ReferralAdminReferral.ts
11816
+ var ReferralAdminReferral = class extends AbstractApiData {
11817
+ static {
11818
+ _chunk7QVYU63Ejs.__name.call(void 0, this, "ReferralAdminReferral");
11819
+ }
11820
+
11821
+
11822
+
11823
+
11824
+
11825
+
11826
+
11827
+
11828
+
11829
+ get name() {
11830
+ return _nullishCoalesce(this._name, () => ( ""));
11831
+ }
11832
+ get email() {
11833
+ return _nullishCoalesce(this._email, () => ( ""));
11834
+ }
11835
+ get referrerName() {
11836
+ return _nullishCoalesce(this._referrerName, () => ( ""));
11837
+ }
11838
+ get referrerEmail() {
11839
+ return _nullishCoalesce(this._referrerEmail, () => ( ""));
11840
+ }
11841
+ get source() {
11842
+ return _nullishCoalesce(this._source, () => ( ""));
11843
+ }
11844
+ get status() {
11845
+ return _nullishCoalesce(this._status, () => ( ""));
11846
+ }
11847
+ get referredAt() {
11848
+ return _nullishCoalesce(this._referredAt, () => ( /* @__PURE__ */ new Date(0)));
11849
+ }
11850
+ get completedAt() {
11851
+ return this._completedAt;
11852
+ }
11853
+ get tokensAwarded() {
11854
+ return this._tokensAwarded;
11855
+ }
11856
+ rehydrate(data) {
11857
+ super.rehydrate(data);
11858
+ const attrs = data.jsonApi.attributes;
11859
+ this._name = attrs.name;
11860
+ this._email = attrs.email;
11861
+ this._referrerName = attrs.referrerName;
11862
+ this._referrerEmail = attrs.referrerEmail;
11863
+ this._source = attrs.source;
11864
+ this._status = attrs.status;
11865
+ this._referredAt = attrs.referredAt ? new Date(attrs.referredAt) : void 0;
11866
+ this._completedAt = attrs.completedAt ? new Date(attrs.completedAt) : void 0;
11867
+ this._tokensAwarded = _nullishCoalesce(attrs.tokensAwarded, () => ( void 0));
11868
+ return this;
11869
+ }
11870
+ /** The resource is read-only: there are no attributes to send. */
11871
+ createJsonApi(data) {
11872
+ return { data: { type: Modules.ReferralAdminReferral.name, id: data.id, attributes: {} } };
11873
+ }
11874
+ };
11875
+
11876
+ // src/features/referral/data/ReferralAdminService.ts
11877
+ var ReferralAdminService = class extends AbstractService {
11878
+ static {
11879
+ _chunk7QVYU63Ejs.__name.call(void 0, this, "ReferralAdminService");
11880
+ }
11881
+ /** Headline tiles: one row per window (`current`, plus `previous` unless the period is `all`). */
11882
+ static async getSummary(params) {
11883
+ const endpoint = new EndpointCreator({ endpoint: Modules.ReferralAdminSummary });
11884
+ endpoint.addAdditionalParam("period", params.period);
11885
+ return this.callApi({
11886
+ type: Modules.ReferralAdminSummary,
11887
+ method: "GET" /* GET */,
11888
+ endpoint: endpoint.generate()
11889
+ });
11890
+ }
11891
+ /** The referrers ranking, ordered by the allowlisted sort. */
11892
+ static async getReferrers(params) {
11893
+ const endpoint = new EndpointCreator({ endpoint: Modules.ReferralAdminReferrer });
11894
+ endpoint.addAdditionalParam("period", params.period);
11895
+ endpoint.addAdditionalParam("sort", params.sort);
11896
+ return this.callApi({
11897
+ type: Modules.ReferralAdminReferrer,
11898
+ method: "GET" /* GET */,
11899
+ endpoint: endpoint.generate()
11900
+ });
11901
+ }
11902
+ /** Every referral in the period, newest first. */
11903
+ static async getReferrals(params) {
11904
+ const endpoint = new EndpointCreator({ endpoint: Modules.ReferralAdminReferral });
11905
+ endpoint.addAdditionalParam("period", params.period);
11906
+ return this.callApi({
11907
+ type: Modules.ReferralAdminReferral,
11908
+ method: "GET" /* GET */,
11909
+ endpoint: endpoint.generate()
11647
11910
  });
11648
11911
  }
11649
11912
  };
@@ -11662,6 +11925,27 @@ var ReferralStatsModule = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
11662
11925
  model: ReferralStats
11663
11926
  }), "ReferralStatsModule");
11664
11927
 
11928
+ // src/features/referral/referral-admin.modules.ts
11929
+
11930
+ var referralAdminModules = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (factory) => ({
11931
+ ReferralVisit: factory({ name: "referrals/visits", model: ReferralVisit }),
11932
+ ReferralAdminSummary: factory({
11933
+ name: "referrals/administration/summary",
11934
+ model: ReferralAdminSummary,
11935
+ icon: _lucidereact.GiftIcon
11936
+ }),
11937
+ ReferralAdminReferrer: factory({
11938
+ name: "referrals/administration/referrers",
11939
+ model: ReferralAdminReferrer,
11940
+ icon: _lucidereact.GiftIcon
11941
+ }),
11942
+ ReferralAdminReferral: factory({
11943
+ name: "referrals/administration/referrals",
11944
+ model: ReferralAdminReferral,
11945
+ icon: _lucidereact.GiftIcon
11946
+ })
11947
+ }), "referralAdminModules");
11948
+
11665
11949
  // src/features/tokenusage/tokenusage-admin.module.ts
11666
11950
 
11667
11951
 
@@ -12990,5 +13274,11 @@ var AuditLogModule = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (facto
12990
13274
 
12991
13275
 
12992
13276
 
12993
- exports.RehydrationFactory = RehydrationFactory; exports.AbstractApiData = AbstractApiData; exports.getLastApiTotal = getLastApiTotal; exports.clearLastApiTotal = clearLastApiTotal; exports.getLastApiMeta = getLastApiMeta; exports.clearLastApiMeta = clearLastApiMeta; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.getI18nSupportedLocales = getI18nSupportedLocales; exports.HttpMethod = HttpMethod; exports.setGlobalErrorHandler = setGlobalErrorHandler; exports.getGlobalErrorHandler = getGlobalErrorHandler; exports.AbstractService = AbstractService; exports.configureClientJsonApi = configureClientJsonApi; exports.getClientApiUrl = getClientApiUrl; exports.getClientAppUrl = getClientAppUrl; exports.getClientTrackablePages = getClientTrackablePages; exports.buildClientUrl = buildClientUrl; exports.ClientJsonApiGet = ClientJsonApiGet; exports.ClientJsonApiPost = ClientJsonApiPost; exports.ClientJsonApiPut = ClientJsonApiPut; exports.ClientJsonApiPatch = ClientJsonApiPatch; exports.ClientJsonApiDelete = ClientJsonApiDelete; exports.ClientHttpMethod = ClientHttpMethod; exports.setClientGlobalErrorHandler = setClientGlobalErrorHandler; exports.getClientGlobalErrorHandler = getClientGlobalErrorHandler; exports.ClientAbstractService = ClientAbstractService; exports.ModuleRegistrar = ModuleRegistrar; exports.ModuleRegistry = ModuleRegistry; exports.Modules = Modules; exports.EndpointCreator = EndpointCreator; exports.createJsonApiInclusion = createJsonApiInclusion; exports.rehydrate = rehydrate; exports.rehydrateList = rehydrateList; exports.mergeMessages = mergeMessages; exports.cn = cn; exports.composeRefs = composeRefs; exports.useComposedRefs = useComposedRefs; exports.MOBILE_BREAKPOINT = MOBILE_BREAKPOINT; exports.VIEWPORT_COOKIE_NAME = VIEWPORT_COOKIE_NAME; exports.getViewportContext = getViewportContext; exports.measureViewport = measureViewport; exports.persistViewport = persistViewport; exports.subscribeViewport = subscribeViewport; exports.useIsMobile = useIsMobile; exports.formatLocalDate = formatLocalDate; exports.dateFormatLocale = dateFormatLocale; exports.formatDate = formatDate; exports.exists = exists; exports.TableOptions = TableOptions; exports.getTableOptions = getTableOptions; exports.getTableComponents = getTableComponents; exports.userObjectSchema = userObjectSchema; exports.entityObjectSchema = entityObjectSchema; exports.getInitials = getInitials; exports.isRemoteImageSrc = isRemoteImageSrc; exports.validatePartitaIva = validatePartitaIva; exports.validateCodiceFiscale = validateCodiceFiscale; exports.validateItalianTaxCode = validateItalianTaxCode; exports.formatPartitaIva = formatPartitaIva; exports.formatCodiceFiscale = formatCodiceFiscale; exports.BlockNoteDiffUtil = BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = BlockNoteWordDiffRendererUtil; exports.getIconByModule = getIconByModule; exports.getIcon = getIcon; exports.getIconByModuleName = getIconByModuleName; exports.getLucideIcon = getLucideIcon; exports.getLucideIconByModule = getLucideIconByModule; exports.getLucideIconByModuleName = getLucideIconByModuleName; exports.showToast = showToast; exports.showError = showError; exports.dismissToast = dismissToast; exports.showCustomToast = showCustomToast; exports.Action = Action; exports.checkPermissions = checkPermissions; exports.checkPermissionsFromServer = checkPermissionsFromServer; exports.getValueFromPath = getValueFromPath; exports.AccountDeletion = AccountDeletion; exports.AccountDeletionModule = AccountDeletionModule; exports.AccountDeletionService = AccountDeletionService; exports.ACCOUNT_DELETION_CANCELLED_KEY = ACCOUNT_DELETION_CANCELLED_KEY; exports.markAccountDeletionCancelled = markAccountDeletionCancelled; exports.consumeAccountDeletionCancelled = consumeAccountDeletionCancelled; exports.TotpAuthenticator = TotpAuthenticator; exports.TotpAuthenticatorModule = TotpAuthenticatorModule; exports.TotpSetup = TotpSetup; exports.TotpSetupModule = TotpSetupModule; exports.TotpVerify = TotpVerify; exports.TotpVerifyModule = TotpVerifyModule; exports.TotpVerifyLogin = TotpVerifyLogin; exports.TotpVerifyLoginModule = TotpVerifyLoginModule; exports.Passkey = Passkey; exports.PasskeyModule = PasskeyModule; exports.PasskeyRegistrationOptions = PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = PasskeyRegistrationVerifyModule; exports.PasskeyRename = PasskeyRename; exports.PasskeyRenameModule = PasskeyRenameModule; exports.PasskeyVerifyLogin = PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = PasskeyVerifyLoginModule; exports.PasskeyAuthenticationOptions = PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = PasskeyAuthenticationOptionsModule; exports.TwoFactorEnable = TwoFactorEnable; exports.TwoFactorEnableModule = TwoFactorEnableModule; exports.TwoFactorChallenge = TwoFactorChallenge; exports.TwoFactorChallengeModule = TwoFactorChallengeModule; exports.BackupCodeVerify = BackupCodeVerify; exports.BackupCodeVerifyModule = BackupCodeVerifyModule; exports.configureAuth = configureAuth; exports.getTokenHandler = getTokenHandler; exports.Auth = Auth; exports.AuthService = AuthService; exports.TwoFactorStatus = TwoFactorStatus; exports.TwoFactorService = TwoFactorService; exports.PendingRegistration = PendingRegistration; exports.AuthComponent = AuthComponent; exports.AuthModule = AuthModule; exports.TwoFactorStatusModule = TwoFactorStatusModule; exports.PendingRegistrationModule = PendingRegistrationModule; exports.BillingService = BillingService; exports.Billing = Billing; exports.SubscriptionStatus = SubscriptionStatus; exports.CREDIT_WARNING_DISMISS_SEGMENT = CREDIT_WARNING_DISMISS_SEGMENT; exports.isCreditWarningActive = isCreditWarningActive; exports.resolveChangePlanTarget = resolveChangePlanTarget; exports.BillingModule = BillingModule; exports.PaymentMethod = PaymentMethod; exports.StripeCustomer = StripeCustomer; exports.StripeCustomerService = StripeCustomerService; exports.StripeCustomerModule = StripeCustomerModule; exports.StripePaymentMethodModule = StripePaymentMethodModule; exports.StripeInvoice = StripeInvoice; exports.InvoiceStatus = InvoiceStatus; exports.StripeInvoiceService = StripeInvoiceService; exports.StripeInvoiceModule = StripeInvoiceModule; exports.StripePrice = StripePrice; exports.StripePriceFields = StripePriceFields; exports.StripePriceService = StripePriceService; exports.StripePriceModule = StripePriceModule; exports.StripeProduct = StripeProduct; exports.StripeProductFields = StripeProductFields; exports.StripeProductService = StripeProductService; exports.StripeProductModule = StripeProductModule; exports.StripeSubscription = StripeSubscription; exports.StripeSubscriptionService = StripeSubscriptionService; exports.StripeSubscriptionModule = StripeSubscriptionModule; exports.StripeUsage = StripeUsage; exports.StripeUsageService = StripeUsageService; exports.StripeUsageModule = StripeUsageModule; exports.StripePromotionCodeService = StripePromotionCodeService; exports.StripePromotionCode = StripePromotionCode; exports.StripePromotionCodeModule = StripePromotionCodeModule; exports.StripeCoupon = StripeCoupon; exports.StripeCouponFields = StripeCouponFields; exports.STRIPE_COUPON_REFRESH_SEGMENT = STRIPE_COUPON_REFRESH_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = STRIPE_COUPON_DETAIL_PAGE_URL; exports.StripeCouponModule = StripeCouponModule; exports.StripeCouponService = StripeCouponService; exports.StripeCouponCode = StripeCouponCode; exports.StripeCouponCodeFields = StripeCouponCodeFields; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.StripeCouponCodeModule = StripeCouponCodeModule; exports.StripeCouponCodeService = StripeCouponCodeService; exports.StripeCouponOffer = StripeCouponOffer; exports.couponPlacesLeft = couponPlacesLeft; exports.couponPlacesTotal = couponPlacesTotal; exports.formatInterval = formatInterval; exports.formatCurrency = formatCurrency; exports.formatFixed = formatFixed; exports.formatCouponDiscount = formatCouponDiscount; exports.toPromotionCodeResult = toPromotionCodeResult; exports.StripeCouponOfferModule = StripeCouponOfferModule; exports.AiConnection = AiConnection; exports.AiConnectionFields = AiConnectionFields; exports.AiConnectionService = AiConnectionService; exports.AiConnectionModule = AiConnectionModule; exports.Company = Company; exports.CompanyFields = CompanyFields; exports.CompanyService = CompanyService; exports.EntityAiStatus = EntityAiStatus; exports.CompanyModule = CompanyModule; exports.Content = Content; exports.ContentFields = ContentFields; exports.ContentService = ContentService; exports.ContentModule = ContentModule; exports.HowTo = HowTo; exports.HowToModule = HowToModule; exports.HowToFields = HowToFields; exports.HowToService = HowToService; exports.EmailAutomation = EmailAutomation; exports.EmailAutomationModule = EmailAutomationModule; exports.EmailAutomationStep = EmailAutomationStep; exports.EmailAutomationStepModule = EmailAutomationStepModule; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.EmailAutomationEnrollment = EmailAutomationEnrollment; exports.EmailAutomationEnrollmentModule = EmailAutomationEnrollmentModule; exports.EmailAutomationTrigger = EmailAutomationTrigger; exports.EmailAutomationTriggerModule = EmailAutomationTriggerModule; exports.EmailAutomationService = EmailAutomationService; exports.EmailAutomationStepService = EmailAutomationStepService; exports.EmailAutomationEnrollmentService = EmailAutomationEnrollmentService; exports.EmailAutomationFields = EmailAutomationFields; exports.EmailAutomationEnrollmentFields = EmailAutomationEnrollmentFields; exports.EmailBlast = EmailBlast; exports.EmailBlastModule = EmailBlastModule; exports.EMAIL_BLAST_UNSUBSCRIBE_TYPE = EMAIL_BLAST_UNSUBSCRIBE_TYPE; exports.EmailBlastDelivery = EmailBlastDelivery; exports.EmailBlastDeliveryModule = EmailBlastDeliveryModule; exports.EmailBlastAudience = EmailBlastAudience; exports.EmailBlastAudienceModule = EmailBlastAudienceModule; exports.EMAIL_BLAST_SEGMENTS = EMAIL_BLAST_SEGMENTS; exports.EmailBlastService = EmailBlastService; exports.EmailBlastDeliveryService = EmailBlastDeliveryService; exports.EmailBlastFields = EmailBlastFields; exports.BlogCategory = BlogCategory; exports.BlogCategoryTranslation = BlogCategoryTranslation; exports.BlogPost = BlogPost; exports.BlogPostTranslation = BlogPostTranslation; exports.BLOG_LIST_LAYOUTS = BLOG_LIST_LAYOUTS; exports.BLOG_POST_STATUSES = BLOG_POST_STATUSES; exports.BLOG_TRANSLATION_SOURCES = BLOG_TRANSLATION_SOURCES; exports.BLOG_SETTINGS_ID = BLOG_SETTINGS_ID; exports.BLOG_MODULE_ID = BLOG_MODULE_ID; exports.BLOG_UPLOAD_ROOT = BLOG_UPLOAD_ROOT; exports.BLOG_POST_UPLOAD_PREFIX = BLOG_POST_UPLOAD_PREFIX; exports.BLOG_CATEGORY_UPLOAD_PREFIX = BLOG_CATEGORY_UPLOAD_PREFIX; exports.BLOG_PUBLIC_PREFIX = BLOG_PUBLIC_PREFIX; exports.BLOG_ACTION = BLOG_ACTION; exports.BlogSettings = BlogSettings; exports.BlogPostModule = BlogPostModule; exports.BlogPostTranslationModule = BlogPostTranslationModule; exports.BlogCategoryModule = BlogCategoryModule; exports.BlogCategoryTranslationModule = BlogCategoryTranslationModule; exports.BlogSettingsModule = BlogSettingsModule; exports.BlogPostService = BlogPostService; exports.BlogPostTranslationService = BlogPostTranslationService; exports.BlogCategoryService = BlogCategoryService; exports.BlogCategoryTranslationService = BlogCategoryTranslationService; exports.BlogSettingsService = BlogSettingsService; exports.BlogPostFields = BlogPostFields; exports.BlogCategoryFields = BlogCategoryFields; exports.HandbookPage = HandbookPage; exports.HandbookPageModule = HandbookPageModule; exports.HandbookSection = HandbookSection; exports.HandbookSectionModule = HandbookSectionModule; exports.HandbookThreadMessage = HandbookThreadMessage; exports.HandbookThreadMessageModule = HandbookThreadMessageModule; exports.HandbookThread = HandbookThread; exports.HandbookThreadModule = HandbookThreadModule; exports.handbookPageTitle = handbookPageTitle; exports.handbookPageSummary = handbookPageSummary; exports.handbookPageContent = handbookPageContent; exports.handbookSectionTitle = handbookSectionTitle; exports.handbookSectionSummary = handbookSectionSummary; exports.HandbookPageFields = HandbookPageFields; exports.HandbookPageService = HandbookPageService; exports.HandbookSectionService = HandbookSectionService; exports.HandbookThreadMessageService = HandbookThreadMessageService; exports.HandbookThreadService = HandbookThreadService; exports.Assistant = Assistant; exports.AssistantModule = AssistantModule; exports.AssistantMessage = AssistantMessage; exports.AssistantService = AssistantService; exports.AssistantMessageModule = AssistantMessageModule; exports.AssistantMessageService = AssistantMessageService; exports.AssistantAction = AssistantAction; exports.AssistantActionModule = AssistantActionModule; exports.AssistantActionService = AssistantActionService; exports.Chunk = Chunk; exports.ChunkModule = ChunkModule; exports.Feature = Feature; exports.FeatureService = FeatureService; exports.FeatureModule = FeatureModule; exports.Module = Module; exports.ModuleModule = ModuleModule; exports.Notification = Notification; exports.NotificationFields = NotificationFields; exports.NotificationService = NotificationService; exports.NotificationModule = NotificationModule; exports.Push = Push; exports.PushService = PushService; exports.PushModule = PushModule; exports.Role = Role; exports.RoleFields = RoleFields; exports.RoleService = RoleService; exports.RoleModule = RoleModule; exports.S3 = S3; exports.S3Module = S3Module; exports.S3Service = S3Service; exports.User = User; exports.UserFields = UserFields; exports.UserService = UserService; exports.CURRENT_USER_STORAGE_KEY = CURRENT_USER_STORAGE_KEY; exports.AuthorModule = AuthorModule; exports.UserModule = UserModule; exports.OAuthClient = OAuthClient; exports.OAuthModule = OAuthModule; exports.OAuthService = OAuthService; exports.OAUTH_SCOPE_DISPLAY = OAUTH_SCOPE_DISPLAY; exports.AVAILABLE_OAUTH_SCOPES = AVAILABLE_OAUTH_SCOPES; exports.DEFAULT_GRANT_TYPES = DEFAULT_GRANT_TYPES; exports.Waitlist = Waitlist; exports.WaitlistService = WaitlistService; exports.WaitlistStats = WaitlistStats; exports.WaitlistFields = WaitlistFields; exports.WaitlistModule = WaitlistModule; exports.WaitlistStatsModule = WaitlistStatsModule; exports.PermissionMapping = PermissionMapping; exports.ModulePaths = ModulePaths; exports.RbacMatrixModel = RbacMatrixModel; exports.PermissionMappingModule = PermissionMappingModule; exports.ModulePathsModule = ModulePathsModule; exports.RbacMatrixModule = RbacMatrixModule; exports.ReferralStats = ReferralStats; exports.ReferralService = ReferralService; exports.ReferralModule = ReferralModule; exports.ReferralStatsModule = ReferralStatsModule; exports.TokenUsageAdminBreakdown = TokenUsageAdminBreakdown; exports.TokenUsageAdminSummary = TokenUsageAdminSummary; exports.TokenUsageAdminTimeline = TokenUsageAdminTimeline; exports.TokenUsageAdminSummaryModule = TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = TokenUsageAdminTimelineModule; exports.TokenUsageAdminBreakdownModule = TokenUsageAdminBreakdownModule; exports.TokenUsageReportBreakdown = TokenUsageReportBreakdown; exports.TokenUsageReportSummary = TokenUsageReportSummary; exports.TokenUsageReportTimeline = TokenUsageReportTimeline; exports.tokenUsageModules = tokenUsageModules; exports.AnalyticsBreakdown = AnalyticsBreakdown; exports.AnalyticsEvent = AnalyticsEvent; exports.AnalyticsPageView = AnalyticsPageView; exports.AnalyticsSession = AnalyticsSession; exports.AnalyticsSummary = AnalyticsSummary; exports.AnalyticsTimeline = AnalyticsTimeline; exports.analyticsModules = analyticsModules; exports.configureTokenUsage = configureTokenUsage; exports.getTokenUsageCurrency = getTokenUsageCurrency; exports.AuditLog = AuditLog; exports.AuditLogService = AuditLogService; exports.AuditLogModule = AuditLogModule;
12994
- //# sourceMappingURL=chunk-SQTXJPRE.js.map
13277
+
13278
+
13279
+
13280
+
13281
+
13282
+
13283
+ exports.RehydrationFactory = RehydrationFactory; exports.AbstractApiData = AbstractApiData; exports.getLastApiTotal = getLastApiTotal; exports.clearLastApiTotal = clearLastApiTotal; exports.getLastApiMeta = getLastApiMeta; exports.clearLastApiMeta = clearLastApiMeta; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.getI18nSupportedLocales = getI18nSupportedLocales; exports.HttpMethod = HttpMethod; exports.setGlobalErrorHandler = setGlobalErrorHandler; exports.getGlobalErrorHandler = getGlobalErrorHandler; exports.AbstractService = AbstractService; exports.configureClientJsonApi = configureClientJsonApi; exports.getClientApiUrl = getClientApiUrl; exports.getClientAppUrl = getClientAppUrl; exports.getClientTrackablePages = getClientTrackablePages; exports.buildClientUrl = buildClientUrl; exports.ClientJsonApiGet = ClientJsonApiGet; exports.ClientJsonApiPost = ClientJsonApiPost; exports.ClientJsonApiPut = ClientJsonApiPut; exports.ClientJsonApiPatch = ClientJsonApiPatch; exports.ClientJsonApiDelete = ClientJsonApiDelete; exports.ClientHttpMethod = ClientHttpMethod; exports.setClientGlobalErrorHandler = setClientGlobalErrorHandler; exports.getClientGlobalErrorHandler = getClientGlobalErrorHandler; exports.ClientAbstractService = ClientAbstractService; exports.ModuleRegistrar = ModuleRegistrar; exports.ModuleRegistry = ModuleRegistry; exports.Modules = Modules; exports.EndpointCreator = EndpointCreator; exports.createJsonApiInclusion = createJsonApiInclusion; exports.rehydrate = rehydrate; exports.rehydrateList = rehydrateList; exports.mergeMessages = mergeMessages; exports.cn = cn; exports.composeRefs = composeRefs; exports.useComposedRefs = useComposedRefs; exports.MOBILE_BREAKPOINT = MOBILE_BREAKPOINT; exports.VIEWPORT_COOKIE_NAME = VIEWPORT_COOKIE_NAME; exports.getViewportContext = getViewportContext; exports.measureViewport = measureViewport; exports.persistViewport = persistViewport; exports.subscribeViewport = subscribeViewport; exports.useIsMobile = useIsMobile; exports.formatLocalDate = formatLocalDate; exports.dateFormatLocale = dateFormatLocale; exports.formatDate = formatDate; exports.exists = exists; exports.TableOptions = TableOptions; exports.getTableOptions = getTableOptions; exports.getTableComponents = getTableComponents; exports.userObjectSchema = userObjectSchema; exports.entityObjectSchema = entityObjectSchema; exports.getInitials = getInitials; exports.isRemoteImageSrc = isRemoteImageSrc; exports.validatePartitaIva = validatePartitaIva; exports.validateCodiceFiscale = validateCodiceFiscale; exports.validateItalianTaxCode = validateItalianTaxCode; exports.formatPartitaIva = formatPartitaIva; exports.formatCodiceFiscale = formatCodiceFiscale; exports.BlockNoteDiffUtil = BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = BlockNoteWordDiffRendererUtil; exports.getIconByModule = getIconByModule; exports.getIcon = getIcon; exports.getIconByModuleName = getIconByModuleName; exports.getLucideIcon = getLucideIcon; exports.getLucideIconByModule = getLucideIconByModule; exports.getLucideIconByModuleName = getLucideIconByModuleName; exports.showToast = showToast; exports.showError = showError; exports.dismissToast = dismissToast; exports.showCustomToast = showCustomToast; exports.Action = Action; exports.checkPermissions = checkPermissions; exports.checkPermissionsFromServer = checkPermissionsFromServer; exports.getValueFromPath = getValueFromPath; exports.AccountDeletion = AccountDeletion; exports.AccountDeletionModule = AccountDeletionModule; exports.AccountDeletionService = AccountDeletionService; exports.ACCOUNT_DELETION_CANCELLED_KEY = ACCOUNT_DELETION_CANCELLED_KEY; exports.markAccountDeletionCancelled = markAccountDeletionCancelled; exports.consumeAccountDeletionCancelled = consumeAccountDeletionCancelled; exports.TotpAuthenticator = TotpAuthenticator; exports.TotpAuthenticatorModule = TotpAuthenticatorModule; exports.TotpSetup = TotpSetup; exports.TotpSetupModule = TotpSetupModule; exports.TotpVerify = TotpVerify; exports.TotpVerifyModule = TotpVerifyModule; exports.TotpVerifyLogin = TotpVerifyLogin; exports.TotpVerifyLoginModule = TotpVerifyLoginModule; exports.Passkey = Passkey; exports.PasskeyModule = PasskeyModule; exports.PasskeyRegistrationOptions = PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = PasskeyRegistrationVerifyModule; exports.PasskeyRename = PasskeyRename; exports.PasskeyRenameModule = PasskeyRenameModule; exports.PasskeyVerifyLogin = PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = PasskeyVerifyLoginModule; exports.PasskeyAuthenticationOptions = PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = PasskeyAuthenticationOptionsModule; exports.TwoFactorEnable = TwoFactorEnable; exports.TwoFactorEnableModule = TwoFactorEnableModule; exports.TwoFactorChallenge = TwoFactorChallenge; exports.TwoFactorChallengeModule = TwoFactorChallengeModule; exports.BackupCodeVerify = BackupCodeVerify; exports.BackupCodeVerifyModule = BackupCodeVerifyModule; exports.configureAuth = configureAuth; exports.getTokenHandler = getTokenHandler; exports.Auth = Auth; exports.AuthService = AuthService; exports.TwoFactorStatus = TwoFactorStatus; exports.TwoFactorService = TwoFactorService; exports.PendingRegistration = PendingRegistration; exports.AuthComponent = AuthComponent; exports.AuthModule = AuthModule; exports.TwoFactorStatusModule = TwoFactorStatusModule; exports.PendingRegistrationModule = PendingRegistrationModule; exports.BillingService = BillingService; exports.Billing = Billing; exports.SubscriptionStatus = SubscriptionStatus; exports.CREDIT_WARNING_DISMISS_SEGMENT = CREDIT_WARNING_DISMISS_SEGMENT; exports.isCreditWarningActive = isCreditWarningActive; exports.resolveChangePlanTarget = resolveChangePlanTarget; exports.BillingModule = BillingModule; exports.PaymentMethod = PaymentMethod; exports.StripeCustomer = StripeCustomer; exports.StripeCustomerService = StripeCustomerService; exports.StripeCustomerModule = StripeCustomerModule; exports.StripePaymentMethodModule = StripePaymentMethodModule; exports.StripeInvoice = StripeInvoice; exports.InvoiceStatus = InvoiceStatus; exports.StripeInvoiceService = StripeInvoiceService; exports.StripeInvoiceModule = StripeInvoiceModule; exports.StripePrice = StripePrice; exports.StripePriceFields = StripePriceFields; exports.StripePriceService = StripePriceService; exports.StripePriceModule = StripePriceModule; exports.StripeProduct = StripeProduct; exports.StripeProductFields = StripeProductFields; exports.StripeProductService = StripeProductService; exports.StripeProductModule = StripeProductModule; exports.StripeSubscription = StripeSubscription; exports.StripeSubscriptionService = StripeSubscriptionService; exports.StripeSubscriptionModule = StripeSubscriptionModule; exports.StripeUsage = StripeUsage; exports.StripeUsageService = StripeUsageService; exports.StripeUsageModule = StripeUsageModule; exports.StripePromotionCodeService = StripePromotionCodeService; exports.StripePromotionCode = StripePromotionCode; exports.StripePromotionCodeModule = StripePromotionCodeModule; exports.StripeCoupon = StripeCoupon; exports.StripeCouponFields = StripeCouponFields; exports.STRIPE_COUPON_REFRESH_SEGMENT = STRIPE_COUPON_REFRESH_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = STRIPE_COUPON_DETAIL_PAGE_URL; exports.StripeCouponModule = StripeCouponModule; exports.StripeCouponService = StripeCouponService; exports.StripeCouponCode = StripeCouponCode; exports.StripeCouponCodeFields = StripeCouponCodeFields; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.StripeCouponCodeModule = StripeCouponCodeModule; exports.StripeCouponCodeService = StripeCouponCodeService; exports.StripeCouponOffer = StripeCouponOffer; exports.couponPlacesLeft = couponPlacesLeft; exports.couponPlacesTotal = couponPlacesTotal; exports.formatInterval = formatInterval; exports.formatCurrency = formatCurrency; exports.formatFixed = formatFixed; exports.formatCouponDiscount = formatCouponDiscount; exports.toPromotionCodeResult = toPromotionCodeResult; exports.StripeCouponOfferModule = StripeCouponOfferModule; exports.AiConnection = AiConnection; exports.AiConnectionFields = AiConnectionFields; exports.AiConnectionService = AiConnectionService; exports.AiConnectionModule = AiConnectionModule; exports.Company = Company; exports.CompanyFields = CompanyFields; exports.CompanyService = CompanyService; exports.EntityAiStatus = EntityAiStatus; exports.CompanyModule = CompanyModule; exports.Content = Content; exports.ContentFields = ContentFields; exports.ContentService = ContentService; exports.ContentModule = ContentModule; exports.HowTo = HowTo; exports.HowToModule = HowToModule; exports.HowToFields = HowToFields; exports.HowToService = HowToService; exports.EmailAutomation = EmailAutomation; exports.EmailAutomationModule = EmailAutomationModule; exports.EmailAutomationStep = EmailAutomationStep; exports.EmailAutomationStepModule = EmailAutomationStepModule; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.EmailAutomationEnrollment = EmailAutomationEnrollment; exports.EmailAutomationEnrollmentModule = EmailAutomationEnrollmentModule; exports.EmailAutomationTrigger = EmailAutomationTrigger; exports.EmailAutomationTriggerModule = EmailAutomationTriggerModule; exports.EmailAutomationService = EmailAutomationService; exports.EmailAutomationStepService = EmailAutomationStepService; exports.EmailAutomationEnrollmentService = EmailAutomationEnrollmentService; exports.EmailAutomationFields = EmailAutomationFields; exports.EmailAutomationEnrollmentFields = EmailAutomationEnrollmentFields; exports.EmailBlast = EmailBlast; exports.EmailBlastModule = EmailBlastModule; exports.EMAIL_BLAST_UNSUBSCRIBE_TYPE = EMAIL_BLAST_UNSUBSCRIBE_TYPE; exports.EmailBlastDelivery = EmailBlastDelivery; exports.EmailBlastDeliveryModule = EmailBlastDeliveryModule; exports.EmailBlastAudience = EmailBlastAudience; exports.EmailBlastAudienceModule = EmailBlastAudienceModule; exports.EMAIL_BLAST_SEGMENTS = EMAIL_BLAST_SEGMENTS; exports.EmailBlastService = EmailBlastService; exports.EmailBlastDeliveryService = EmailBlastDeliveryService; exports.EmailBlastFields = EmailBlastFields; exports.BlogCategory = BlogCategory; exports.BlogCategoryTranslation = BlogCategoryTranslation; exports.BlogPost = BlogPost; exports.BlogPostTranslation = BlogPostTranslation; exports.BLOG_LIST_LAYOUTS = BLOG_LIST_LAYOUTS; exports.BLOG_POST_STATUSES = BLOG_POST_STATUSES; exports.BLOG_TRANSLATION_SOURCES = BLOG_TRANSLATION_SOURCES; exports.BLOG_SETTINGS_ID = BLOG_SETTINGS_ID; exports.BLOG_MODULE_ID = BLOG_MODULE_ID; exports.BLOG_UPLOAD_ROOT = BLOG_UPLOAD_ROOT; exports.BLOG_POST_UPLOAD_PREFIX = BLOG_POST_UPLOAD_PREFIX; exports.BLOG_CATEGORY_UPLOAD_PREFIX = BLOG_CATEGORY_UPLOAD_PREFIX; exports.BLOG_PUBLIC_PREFIX = BLOG_PUBLIC_PREFIX; exports.BLOG_ACTION = BLOG_ACTION; exports.BlogSettings = BlogSettings; exports.BlogPostModule = BlogPostModule; exports.BlogPostTranslationModule = BlogPostTranslationModule; exports.BlogCategoryModule = BlogCategoryModule; exports.BlogCategoryTranslationModule = BlogCategoryTranslationModule; exports.BlogSettingsModule = BlogSettingsModule; exports.BlogPostService = BlogPostService; exports.BlogPostTranslationService = BlogPostTranslationService; exports.BlogCategoryService = BlogCategoryService; exports.BlogCategoryTranslationService = BlogCategoryTranslationService; exports.BlogSettingsService = BlogSettingsService; exports.BlogPostFields = BlogPostFields; exports.BlogCategoryFields = BlogCategoryFields; exports.HandbookPage = HandbookPage; exports.HandbookPageModule = HandbookPageModule; exports.HandbookSection = HandbookSection; exports.HandbookSectionModule = HandbookSectionModule; exports.HandbookThreadMessage = HandbookThreadMessage; exports.HandbookThreadMessageModule = HandbookThreadMessageModule; exports.HandbookThread = HandbookThread; exports.HandbookThreadModule = HandbookThreadModule; exports.handbookPageTitle = handbookPageTitle; exports.handbookPageSummary = handbookPageSummary; exports.handbookPageContent = handbookPageContent; exports.handbookSectionTitle = handbookSectionTitle; exports.handbookSectionSummary = handbookSectionSummary; exports.HandbookPageFields = HandbookPageFields; exports.HandbookPageService = HandbookPageService; exports.HandbookSectionService = HandbookSectionService; exports.HandbookThreadMessageService = HandbookThreadMessageService; exports.HandbookThreadService = HandbookThreadService; exports.Assistant = Assistant; exports.AssistantModule = AssistantModule; exports.AssistantMessage = AssistantMessage; exports.AssistantService = AssistantService; exports.AssistantMessageModule = AssistantMessageModule; exports.AssistantMessageService = AssistantMessageService; exports.AssistantAction = AssistantAction; exports.AssistantActionModule = AssistantActionModule; exports.AssistantActionService = AssistantActionService; exports.Chunk = Chunk; exports.ChunkModule = ChunkModule; exports.Feature = Feature; exports.FeatureService = FeatureService; exports.FeatureModule = FeatureModule; exports.Module = Module; exports.ModuleModule = ModuleModule; exports.Notification = Notification; exports.NotificationFields = NotificationFields; exports.NotificationService = NotificationService; exports.NotificationModule = NotificationModule; exports.Push = Push; exports.PushService = PushService; exports.PushModule = PushModule; exports.Role = Role; exports.RoleFields = RoleFields; exports.RoleService = RoleService; exports.RoleModule = RoleModule; exports.S3 = S3; exports.S3Module = S3Module; exports.S3Service = S3Service; exports.User = User; exports.UserFields = UserFields; exports.UserService = UserService; exports.CURRENT_USER_STORAGE_KEY = CURRENT_USER_STORAGE_KEY; exports.AuthorModule = AuthorModule; exports.UserModule = UserModule; exports.OAuthClient = OAuthClient; exports.OAuthModule = OAuthModule; exports.OAuthService = OAuthService; exports.OAUTH_SCOPE_DISPLAY = OAUTH_SCOPE_DISPLAY; exports.AVAILABLE_OAUTH_SCOPES = AVAILABLE_OAUTH_SCOPES; exports.DEFAULT_GRANT_TYPES = DEFAULT_GRANT_TYPES; exports.Waitlist = Waitlist; exports.WaitlistService = WaitlistService; exports.WaitlistStats = WaitlistStats; exports.WaitlistFields = WaitlistFields; exports.WaitlistModule = WaitlistModule; exports.WaitlistStatsModule = WaitlistStatsModule; exports.PermissionMapping = PermissionMapping; exports.ModulePaths = ModulePaths; exports.RbacMatrixModel = RbacMatrixModel; exports.PermissionMappingModule = PermissionMappingModule; exports.ModulePathsModule = ModulePathsModule; exports.RbacMatrixModule = RbacMatrixModule; exports.ReferralStats = ReferralStats; exports.ReferralService = ReferralService; exports.ReferralVisit = ReferralVisit; exports.ReferralAdminSummary = ReferralAdminSummary; exports.ReferralAdminReferrer = ReferralAdminReferrer; exports.ReferralAdminReferral = ReferralAdminReferral; exports.ReferralAdminService = ReferralAdminService; exports.ReferralModule = ReferralModule; exports.ReferralStatsModule = ReferralStatsModule; exports.referralAdminModules = referralAdminModules; exports.TokenUsageAdminBreakdown = TokenUsageAdminBreakdown; exports.TokenUsageAdminSummary = TokenUsageAdminSummary; exports.TokenUsageAdminTimeline = TokenUsageAdminTimeline; exports.TokenUsageAdminSummaryModule = TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = TokenUsageAdminTimelineModule; exports.TokenUsageAdminBreakdownModule = TokenUsageAdminBreakdownModule; exports.TokenUsageReportBreakdown = TokenUsageReportBreakdown; exports.TokenUsageReportSummary = TokenUsageReportSummary; exports.TokenUsageReportTimeline = TokenUsageReportTimeline; exports.tokenUsageModules = tokenUsageModules; exports.AnalyticsBreakdown = AnalyticsBreakdown; exports.AnalyticsEvent = AnalyticsEvent; exports.AnalyticsPageView = AnalyticsPageView; exports.AnalyticsSession = AnalyticsSession; exports.AnalyticsSummary = AnalyticsSummary; exports.AnalyticsTimeline = AnalyticsTimeline; exports.analyticsModules = analyticsModules; exports.configureTokenUsage = configureTokenUsage; exports.getTokenUsageCurrency = getTokenUsageCurrency; exports.AuditLog = AuditLog; exports.AuditLogService = AuditLogService; exports.AuditLogModule = AuditLogModule;
13284
+ //# sourceMappingURL=chunk-YGEOX2XX.js.map