@carlonicora/nextjs-jsonapi 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/{BlockNoteEditor-PNAVMGHB.js → BlockNoteEditor-TIMGYKAA.js} +19 -19
  2. package/dist/{BlockNoteEditor-PNAVMGHB.js.map → BlockNoteEditor-TIMGYKAA.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-3PS3HYVI.mjs → BlockNoteEditor-YFJMXJEU.mjs} +4 -4
  4. package/dist/billing/index.d.mts +40 -1
  5. package/dist/billing/index.d.ts +40 -1
  6. package/dist/billing/index.js +519 -462
  7. package/dist/billing/index.js.map +1 -1
  8. package/dist/billing/index.mjs +298 -241
  9. package/dist/billing/index.mjs.map +1 -1
  10. package/dist/{chunk-QYUYQO2M.js → chunk-7HKJNUW7.js} +1144 -953
  11. package/dist/chunk-7HKJNUW7.js.map +1 -0
  12. package/dist/{chunk-MN2BUSEU.mjs → chunk-DJWNNV52.mjs} +2 -2
  13. package/dist/{chunk-EQEW64CH.mjs → chunk-FS4RVV3K.mjs} +242 -1
  14. package/dist/chunk-FS4RVV3K.mjs.map +1 -0
  15. package/dist/{chunk-FSMXD3N7.mjs → chunk-G4YS52SO.mjs} +2547 -2356
  16. package/dist/chunk-G4YS52SO.mjs.map +1 -0
  17. package/dist/{chunk-OHJQYVSI.js → chunk-OTEDZ6YW.js} +7 -7
  18. package/dist/{chunk-OHJQYVSI.js.map → chunk-OTEDZ6YW.js.map} +1 -1
  19. package/dist/{chunk-X5TPKMBS.js → chunk-RTOC53EZ.js} +247 -6
  20. package/dist/chunk-RTOC53EZ.js.map +1 -0
  21. package/dist/client/index.d.mts +1 -1
  22. package/dist/client/index.d.ts +1 -1
  23. package/dist/client/index.js +4 -4
  24. package/dist/client/index.mjs +3 -3
  25. package/dist/components/index.d.mts +137 -4
  26. package/dist/components/index.d.ts +137 -4
  27. package/dist/components/index.js +16 -4
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/index.mjs +15 -3
  30. package/dist/{tokenusage-admin.module-5wJ_tZTj.d.ts → config-BIjrg5wd.d.ts} +39 -1
  31. package/dist/{tokenusage-admin.module-DQVT4O4j.d.mts → config-BRUjtCd1.d.mts} +39 -1
  32. package/dist/{content.fields-xH3TGvVk.d.mts → content.fields-1AlHDtDb.d.mts} +1 -0
  33. package/dist/{content.fields-xH3TGvVk.d.ts → content.fields-1AlHDtDb.d.ts} +1 -0
  34. package/dist/contexts/index.d.mts +22 -1
  35. package/dist/contexts/index.d.ts +22 -1
  36. package/dist/contexts/index.js +8 -4
  37. package/dist/contexts/index.js.map +1 -1
  38. package/dist/contexts/index.mjs +7 -3
  39. package/dist/core/index.d.mts +6 -3
  40. package/dist/core/index.d.ts +6 -3
  41. package/dist/core/index.js +8 -2
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/index.mjs +7 -1
  44. package/dist/features/help/index.js +37 -37
  45. package/dist/features/help/index.mjs +3 -3
  46. package/dist/features/tokenusage/index.d.mts +413 -14
  47. package/dist/features/tokenusage/index.d.ts +413 -14
  48. package/dist/features/tokenusage/index.js +481 -120
  49. package/dist/features/tokenusage/index.js.map +1 -1
  50. package/dist/features/tokenusage/index.mjs +431 -70
  51. package/dist/features/tokenusage/index.mjs.map +1 -1
  52. package/dist/index.d.mts +3 -3
  53. package/dist/index.d.ts +3 -3
  54. package/dist/index.js +9 -3
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.mjs +8 -2
  57. package/dist/server/index.js +3 -3
  58. package/dist/server/index.mjs +1 -1
  59. package/package.json +1 -1
  60. package/src/billing/index.ts +1 -0
  61. package/src/components/index.ts +1 -0
  62. package/src/contexts/index.ts +1 -0
  63. package/src/core/index.ts +10 -0
  64. package/src/core/registry/ModuleRegistry.ts +4 -0
  65. package/src/features/administration/components/AdminIndexContainer.tsx +150 -0
  66. package/src/features/administration/components/__tests__/AdminIndexContainer.spec.tsx +96 -0
  67. package/src/features/administration/components/index.ts +1 -0
  68. package/src/features/administration/contexts/AdministrationContext.tsx +47 -0
  69. package/src/features/administration/contexts/index.ts +1 -0
  70. package/src/features/administration/data/admin-section.types.ts +30 -0
  71. package/src/features/administration/i18n-keys.ts +26 -0
  72. package/src/features/administration/index.ts +3 -0
  73. package/src/features/billing/contexts/BillingContext.tsx +95 -0
  74. package/src/features/billing/contexts/index.ts +1 -0
  75. package/src/features/billing/index.ts +1 -0
  76. package/src/features/billing/stripe-product/components/containers/ProductsAdminContainer.tsx +39 -27
  77. package/src/features/billing/stripe-product/components/containers/ProductsAdminPageContainer.tsx +27 -0
  78. package/src/features/billing/stripe-product/components/containers/index.ts +1 -0
  79. package/src/features/company/components/containers/CompaniesListContainer.tsx +25 -0
  80. package/src/features/company/components/containers/index.ts +1 -0
  81. package/src/features/company/components/lists/CompaniesList.tsx +12 -1
  82. package/src/features/company/contexts/CompanyContext.tsx +13 -1
  83. package/src/features/tokenusage/components/TokenUsageAdminContainer.tsx +20 -4
  84. package/src/features/tokenusage/components/TokenUsageAdminTiles.tsx +31 -18
  85. package/src/features/tokenusage/components/TokenUsageBreakdownTable.tsx +13 -13
  86. package/src/features/tokenusage/components/TokenUsageRankedBar.tsx +24 -7
  87. package/src/features/tokenusage/components/TokenUsageReportContainer.tsx +102 -0
  88. package/src/features/tokenusage/components/TokenUsageReportFilterBar.tsx +34 -0
  89. package/src/features/tokenusage/components/TokenUsageReportTiles.tsx +161 -0
  90. package/src/features/tokenusage/components/TokenUsageTimelineChart.tsx +15 -13
  91. package/src/features/tokenusage/components/__tests__/TokenUsageAdminTiles.spec.tsx +4 -2
  92. package/src/features/tokenusage/components/__tests__/TokenUsageRankedBar.spec.tsx +3 -1
  93. package/src/features/tokenusage/contexts/TokenUsageAdminContext.tsx +6 -3
  94. package/src/features/tokenusage/contexts/TokenUsageReportContext.tsx +199 -0
  95. package/src/features/tokenusage/data/TokenUsageReportService.ts +65 -0
  96. package/src/features/tokenusage/data/index.ts +9 -0
  97. package/src/features/tokenusage/data/tokenusage-report-breakdown.interface.ts +12 -0
  98. package/src/features/tokenusage/data/tokenusage-report-breakdown.ts +94 -0
  99. package/src/features/tokenusage/data/tokenusage-report-summary.interface.ts +12 -0
  100. package/src/features/tokenusage/data/tokenusage-report-summary.ts +87 -0
  101. package/src/features/tokenusage/data/tokenusage-report-timeline.interface.ts +13 -0
  102. package/src/features/tokenusage/data/tokenusage-report-timeline.ts +94 -0
  103. package/src/features/tokenusage/data/tokenusage-report.types.ts +51 -0
  104. package/src/features/tokenusage/i18n-keys.ts +28 -0
  105. package/src/features/tokenusage/index.ts +18 -0
  106. package/src/features/tokenusage/lib/config.ts +22 -0
  107. package/src/features/tokenusage/lib/formatters.ts +100 -0
  108. package/src/features/tokenusage/lib/metrics.ts +8 -26
  109. package/src/features/tokenusage/lib/palette.ts +41 -14
  110. package/src/features/tokenusage/tokenusage-admin.module.ts +4 -0
  111. package/src/features/tokenusage/tokenusage.modules.ts +40 -0
  112. package/src/features/user/components/containers/PlatformUsersContainer.tsx +23 -0
  113. package/src/features/user/components/containers/index.ts +1 -0
  114. package/src/features/user/components/lists/PlatformUsersList.tsx +45 -0
  115. package/src/features/user/components/lists/index.ts +1 -0
  116. package/src/features/user/data/user.fields.ts +1 -0
  117. package/src/features/user/hooks/useUserTableStructure.tsx +17 -0
  118. package/src/shadcnui/ui/chart.tsx +30 -3
  119. package/dist/chunk-EQEW64CH.mjs.map +0 -1
  120. package/dist/chunk-FSMXD3N7.mjs.map +0 -1
  121. package/dist/chunk-QYUYQO2M.js.map +0 -1
  122. package/dist/chunk-X5TPKMBS.js.map +0 -1
  123. /package/dist/{BlockNoteEditor-3PS3HYVI.mjs.map → BlockNoteEditor-YFJMXJEU.mjs.map} +0 -0
  124. /package/dist/{chunk-MN2BUSEU.mjs.map → chunk-DJWNNV52.mjs.map} +0 -0
package/dist/index.d.mts CHANGED
@@ -2,13 +2,13 @@ export { A as ApiData } from './ApiData-DPKNfY-9.mjs';
2
2
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.mjs';
3
3
  export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys, c as createJsonApiInclusion } from './ApiRequestDataTypeInterface-CYEcRUrh.mjs';
4
4
  export { A as ApiResponseInterface } from './ApiResponseInterface-rsXRL_Hn.mjs';
5
- import { A as AbstractApiData } from './tokenusage-admin.module-DQVT4O4j.mjs';
6
- export { b as TokenUsageAdminBreakdownModule, T as TokenUsageAdminSummaryModule, a as TokenUsageAdminTimelineModule } from './tokenusage-admin.module-DQVT4O4j.mjs';
5
+ import { A as AbstractApiData } from './config-BRUjtCd1.mjs';
6
+ export { b as TokenUsageAdminBreakdownModule, T as TokenUsageAdminSummaryModule, a as TokenUsageAdminTimelineModule, c as configureTokenUsage, g as getTokenUsageCurrency, t as tokenUsageModules } from './config-BRUjtCd1.mjs';
7
7
  import { A as AbstractService } from './AbstractService-B0T7h8fX.mjs';
8
8
  export { H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, T as TotalRef, b as clearLastApiMeta, c as clearLastApiTotal, d as getGlobalErrorHandler, a as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './AbstractService-B0T7h8fX.mjs';
9
9
  export { AppModuleDefinitions, Assistant, AssistantAction, AssistantActionInput, AssistantActionInterface, AssistantActionModule, AssistantActionService, AssistantActionStatus, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, EndpointCreator, EndpointQuery, EntityAiStatus, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceModule, StripePriceService, StripeProduct, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, isRemoteImageSrc, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.mjs';
10
10
  export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-Ce8FcllX.mjs';
11
- export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-xH3TGvVk.mjs';
11
+ export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-1AlHDtDb.mjs';
12
12
  export { ClassValue } from 'clsx';
13
13
  export { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials, d as getLucideIcon, e as getLucideIconByModule, f as getLucideIconByModuleName } from './AuthComponent-Cik96ElA.mjs';
14
14
  export { A as Action, d as ModuleDefinition, a as ModuleFactory, c as ModulePermissionDefinition, M as ModuleWithPermissions, P as PageUrl, b as PermissionCheck, e as PermissionConfig, f as PermissionModule, g as PermissionUser } from './types-Bq_UA8Lg.mjs';
package/dist/index.d.ts CHANGED
@@ -2,13 +2,13 @@ export { A as ApiData } from './ApiData-DPKNfY-9.js';
2
2
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.js';
3
3
  export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys, c as createJsonApiInclusion } from './ApiRequestDataTypeInterface-CYEcRUrh.js';
4
4
  export { A as ApiResponseInterface } from './ApiResponseInterface-CWLvSCvS.js';
5
- import { A as AbstractApiData } from './tokenusage-admin.module-5wJ_tZTj.js';
6
- export { b as TokenUsageAdminBreakdownModule, T as TokenUsageAdminSummaryModule, a as TokenUsageAdminTimelineModule } from './tokenusage-admin.module-5wJ_tZTj.js';
5
+ import { A as AbstractApiData } from './config-BIjrg5wd.js';
6
+ export { b as TokenUsageAdminBreakdownModule, T as TokenUsageAdminSummaryModule, a as TokenUsageAdminTimelineModule, c as configureTokenUsage, g as getTokenUsageCurrency, t as tokenUsageModules } from './config-BIjrg5wd.js';
7
7
  import { A as AbstractService } from './AbstractService-Cew0PD0L.js';
8
8
  export { H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, T as TotalRef, b as clearLastApiMeta, c as clearLastApiTotal, d as getGlobalErrorHandler, a as getLastApiMeta, g as getLastApiTotal, s as setGlobalErrorHandler } from './AbstractService-Cew0PD0L.js';
9
9
  export { AppModuleDefinitions, Assistant, AssistantAction, AssistantActionInput, AssistantActionInterface, AssistantActionModule, AssistantActionService, AssistantActionStatus, AssistantMessage, AssistantMessageModule, AssistantMessageService, AssistantModule, AssistantService, AuditLog, AuditLogInterface, AuditLogModule, AuditLogService, Auth, AuthModule, AuthorModule, BackupCodeVerify, BackupCodeVerifyInput, BackupCodeVerifyModule, Billing, BillingModule, BillingService, BlockDiffOptions, BlockNoteDiffUtil, BlockNoteWordDiffRendererUtil, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, EndpointCreator, EndpointQuery, EntityAiStatus, EntityObject, Feature, FeatureModule, FormatOption, FoundationModuleDefinitions, HowTo, HowToFields, HowToModule, HowToService, InviteValidation, JsonApiDataFactory, MOBILE_BREAKPOINT, Module, ModuleDefinitions, ModuleModule, ModulePathsModule, ModuleRegistrar, ModuleRegistry, Modules, Notification, NotificationFields, NotificationModule, OAuthClient, OAuthModule, OAuthService, Passkey, PasskeyAuthenticationOptions, PasskeyAuthenticationOptionsInput, PasskeyAuthenticationOptionsInterface, PasskeyAuthenticationOptionsModule, PasskeyModule, PasskeyRegistrationOptions, PasskeyRegistrationOptionsInput, PasskeyRegistrationOptionsInterface, PasskeyRegistrationOptionsModule, PasskeyRegistrationVerify, PasskeyRegistrationVerifyInput, PasskeyRegistrationVerifyModule, PasskeyRename, PasskeyRenameInput, PasskeyRenameModule, PasskeyVerifyLogin, PasskeyVerifyLoginInput, PasskeyVerifyLoginModule, PaymentMethod, PermissionMappingModule, Push, PushInput, PushInterface, PushModule, RbacMatrixModule, ReferralModule, ReferralService, ReferralStats, ReferralStatsModule, RehydrationFactory, Role, RoleModule, S3, S3Module, SearchResultInterface, StripeCustomer, StripeCustomerModule, StripeCustomerService, StripeInvoice, StripeInvoiceModule, StripeInvoiceService, StripePaymentMethodModule, StripePrice, StripePriceModule, StripePriceService, StripeProduct, StripeProductModule, StripeProductService, StripePromotionCode, StripePromotionCodeModule, StripePromotionCodeService, StripeSubscription, StripeSubscriptionModule, StripeSubscriptionService, StripeUsage, StripeUsageModule, StripeUsageService, TableOptions, ToastOptions, TotpAuthenticator, TotpAuthenticatorModule, TotpSetup, TotpSetupInput, TotpSetupInterface, TotpSetupModule, TotpVerify, TotpVerifyInput, TotpVerifyLogin, TotpVerifyLoginInput, TotpVerifyLoginModule, TotpVerifyModule, TwoFactorChallenge, TwoFactorChallengeInput, TwoFactorChallengeModule, TwoFactorEnable, TwoFactorEnableInput, TwoFactorEnableModule, TwoFactorService, TwoFactorStatus, TwoFactorStatusInterface, TwoFactorStatusModule, User, UserModule, UserObject, VIEWPORT_COOKIE_NAME, Waitlist, WaitlistInput, WaitlistInterface, WaitlistModule, WaitlistService, WaitlistStats, WaitlistStatsInterface, WaitlistStatsModule, WaitlistStatus, WordDiff, checkPermissions, checkPermissionsFromServer, cn, composeRefs, dismissToast, entityObjectSchema, exists, formatCodiceFiscale, formatDate, formatLocalDate, formatPartitaIva, getBootstrapper, getClientGlobalErrorHandler, getTableComponents, getTableOptions, getValueFromPath, hasBootstrapper, isRemoteImageSrc, rehydrate, rehydrateList, resetBootstrapStore, setBootstrapper, setClientGlobalErrorHandler, showCustomToast, showError, showToast, translateData, translateResponse, tryBootstrap, useComposedRefs, useIsMobile, userObjectSchema, validateCodiceFiscale, validateItalianTaxCode, validatePartitaIva } from './core/index.js';
10
10
  export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-Dh0BpbP2.js';
11
- export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-xH3TGvVk.js';
11
+ export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-1AlHDtDb.js';
12
12
  export { ClassValue } from 'clsx';
13
13
  export { A as AuthComponent, P as PasskeyInterface, T as TotpAuthenticatorInterface, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials, d as getLucideIcon, e as getLucideIconByModule, f as getLucideIconByModuleName } from './AuthComponent-DTTKu3VK.js';
14
14
  export { A as Action, d as ModuleDefinition, a as ModuleFactory, c as ModulePermissionDefinition, M as ModuleWithPermissions, P as PageUrl, b as PermissionCheck, e as PermissionConfig, f as PermissionModule, g as PermissionUser } from './types-bsm8Fp55.js';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- var _chunkOHJQYVSIjs = require('./chunk-OHJQYVSI.js');
21
+ var _chunkOTEDZ6YWjs = require('./chunk-OTEDZ6YW.js');
22
22
 
23
23
 
24
24
 
@@ -216,7 +216,10 @@ var _chunkOHJQYVSIjs = require('./chunk-OHJQYVSI.js');
216
216
 
217
217
 
218
218
 
219
- var _chunkX5TPKMBSjs = require('./chunk-X5TPKMBS.js');
219
+
220
+
221
+
222
+ var _chunkRTOC53EZjs = require('./chunk-RTOC53EZ.js');
220
223
  require('./chunk-LXKSUWAV.js');
221
224
  require('./chunk-IBS6NI7D.js');
222
225
 
@@ -457,5 +460,8 @@ require('./chunk-7QVYU63E.js');
457
460
 
458
461
 
459
462
 
460
- exports.ACTION_TYPES = _chunkOHJQYVSIjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkX5TPKMBSjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkX5TPKMBSjs.AbstractApiData; exports.AbstractService = _chunkX5TPKMBSjs.AbstractService; exports.Action = _chunkX5TPKMBSjs.Action; exports.Assistant = _chunkX5TPKMBSjs.Assistant; exports.AssistantAction = _chunkX5TPKMBSjs.AssistantAction; exports.AssistantActionModule = _chunkX5TPKMBSjs.AssistantActionModule; exports.AssistantActionService = _chunkX5TPKMBSjs.AssistantActionService; exports.AssistantMessage = _chunkX5TPKMBSjs.AssistantMessage; exports.AssistantMessageModule = _chunkX5TPKMBSjs.AssistantMessageModule; exports.AssistantMessageService = _chunkX5TPKMBSjs.AssistantMessageService; exports.AssistantModule = _chunkX5TPKMBSjs.AssistantModule; exports.AssistantService = _chunkX5TPKMBSjs.AssistantService; exports.AuditLog = _chunkX5TPKMBSjs.AuditLog; exports.AuditLogModule = _chunkX5TPKMBSjs.AuditLogModule; exports.AuditLogService = _chunkX5TPKMBSjs.AuditLogService; exports.Auth = _chunkX5TPKMBSjs.Auth; exports.AuthComponent = _chunkX5TPKMBSjs.AuthComponent; exports.AuthModule = _chunkX5TPKMBSjs.AuthModule; exports.AuthService = _chunkX5TPKMBSjs.AuthService; exports.AuthorModule = _chunkX5TPKMBSjs.AuthorModule; exports.BackupCodeVerify = _chunkX5TPKMBSjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkX5TPKMBSjs.BackupCodeVerifyModule; exports.Billing = _chunkX5TPKMBSjs.Billing; exports.BillingModule = _chunkX5TPKMBSjs.BillingModule; exports.BillingService = _chunkX5TPKMBSjs.BillingService; exports.BlockNoteDiffUtil = _chunkX5TPKMBSjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkX5TPKMBSjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkOHJQYVSIjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkX5TPKMBSjs.Chunk; exports.ChunkModule = _chunkX5TPKMBSjs.ChunkModule; exports.ClientAbstractService = _chunkX5TPKMBSjs.ClientAbstractService; exports.ClientHttpMethod = _chunkX5TPKMBSjs.ClientHttpMethod; exports.Company = _chunkX5TPKMBSjs.Company; exports.CompanyFields = _chunkX5TPKMBSjs.CompanyFields; exports.CompanyModule = _chunkX5TPKMBSjs.CompanyModule; exports.CompanyService = _chunkX5TPKMBSjs.CompanyService; exports.Content = _chunkX5TPKMBSjs.Content; exports.ContentFields = _chunkX5TPKMBSjs.ContentFields; exports.ContentModule = _chunkX5TPKMBSjs.ContentModule; exports.ContentService = _chunkX5TPKMBSjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkX5TPKMBSjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkFPO4DLZNjs.DataClassRegistry; exports.DataClassRegistry = _chunkFPO4DLZNjs.DataClassRegistry; exports.EndpointCreator = _chunkX5TPKMBSjs.EndpointCreator; exports.EntityAiStatus = _chunkX5TPKMBSjs.EntityAiStatus; exports.Feature = _chunkX5TPKMBSjs.Feature; exports.FeatureModule = _chunkX5TPKMBSjs.FeatureModule; exports.FeatureService = _chunkX5TPKMBSjs.FeatureService; exports.HowTo = _chunkX5TPKMBSjs.HowTo; exports.HowToFields = _chunkX5TPKMBSjs.HowToFields; exports.HowToModule = _chunkX5TPKMBSjs.HowToModule; exports.HowToService = _chunkX5TPKMBSjs.HowToService; exports.HttpMethod = _chunkX5TPKMBSjs.HttpMethod; exports.InvoiceStatus = _chunkX5TPKMBSjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkFPO4DLZNjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkX5TPKMBSjs.MOBILE_BREAKPOINT; exports.Module = _chunkX5TPKMBSjs.Module; exports.ModuleModule = _chunkX5TPKMBSjs.ModuleModule; exports.ModulePaths = _chunkX5TPKMBSjs.ModulePaths; exports.ModulePathsModule = _chunkX5TPKMBSjs.ModulePathsModule; exports.ModuleRegistrar = _chunkX5TPKMBSjs.ModuleRegistrar; exports.ModuleRegistry = _chunkX5TPKMBSjs.ModuleRegistry; exports.Modules = _chunkX5TPKMBSjs.Modules; exports.Notification = _chunkX5TPKMBSjs.Notification; exports.NotificationFields = _chunkX5TPKMBSjs.NotificationFields; exports.NotificationModule = _chunkX5TPKMBSjs.NotificationModule; exports.NotificationService = _chunkX5TPKMBSjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkX5TPKMBSjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkX5TPKMBSjs.OAuthClient; exports.OAuthModule = _chunkX5TPKMBSjs.OAuthModule; exports.OAuthService = _chunkX5TPKMBSjs.OAuthService; exports.Passkey = _chunkX5TPKMBSjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkX5TPKMBSjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkX5TPKMBSjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkX5TPKMBSjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkX5TPKMBSjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkX5TPKMBSjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkX5TPKMBSjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkX5TPKMBSjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkX5TPKMBSjs.PasskeyRename; exports.PasskeyRenameModule = _chunkX5TPKMBSjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkX5TPKMBSjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkX5TPKMBSjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkX5TPKMBSjs.PaymentMethod; exports.PermissionMapping = _chunkX5TPKMBSjs.PermissionMapping; exports.PermissionMappingModule = _chunkX5TPKMBSjs.PermissionMappingModule; exports.Push = _chunkX5TPKMBSjs.Push; exports.PushModule = _chunkX5TPKMBSjs.PushModule; exports.PushService = _chunkX5TPKMBSjs.PushService; exports.RbacMatrixModel = _chunkX5TPKMBSjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkX5TPKMBSjs.RbacMatrixModule; exports.RbacService = _chunkOHJQYVSIjs.RbacService; exports.ReferralModule = _chunkX5TPKMBSjs.ReferralModule; exports.ReferralService = _chunkX5TPKMBSjs.ReferralService; exports.ReferralStats = _chunkX5TPKMBSjs.ReferralStats; exports.ReferralStatsModule = _chunkX5TPKMBSjs.ReferralStatsModule; exports.RehydrationFactory = _chunkX5TPKMBSjs.RehydrationFactory; exports.Role = _chunkX5TPKMBSjs.Role; exports.RoleFields = _chunkX5TPKMBSjs.RoleFields; exports.RoleModule = _chunkX5TPKMBSjs.RoleModule; exports.RoleService = _chunkX5TPKMBSjs.RoleService; exports.S3 = _chunkX5TPKMBSjs.S3; exports.S3Module = _chunkX5TPKMBSjs.S3Module; exports.S3Service = _chunkX5TPKMBSjs.S3Service; exports.StripeCustomer = _chunkX5TPKMBSjs.StripeCustomer; exports.StripeCustomerModule = _chunkX5TPKMBSjs.StripeCustomerModule; exports.StripeCustomerService = _chunkX5TPKMBSjs.StripeCustomerService; exports.StripeInvoice = _chunkX5TPKMBSjs.StripeInvoice; exports.StripeInvoiceModule = _chunkX5TPKMBSjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkX5TPKMBSjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkX5TPKMBSjs.StripePaymentMethodModule; exports.StripePrice = _chunkX5TPKMBSjs.StripePrice; exports.StripePriceModule = _chunkX5TPKMBSjs.StripePriceModule; exports.StripePriceService = _chunkX5TPKMBSjs.StripePriceService; exports.StripeProduct = _chunkX5TPKMBSjs.StripeProduct; exports.StripeProductModule = _chunkX5TPKMBSjs.StripeProductModule; exports.StripeProductService = _chunkX5TPKMBSjs.StripeProductService; exports.StripePromotionCode = _chunkX5TPKMBSjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkX5TPKMBSjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkX5TPKMBSjs.StripePromotionCodeService; exports.StripeSubscription = _chunkX5TPKMBSjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkX5TPKMBSjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkX5TPKMBSjs.StripeSubscriptionService; exports.StripeUsage = _chunkX5TPKMBSjs.StripeUsage; exports.StripeUsageModule = _chunkX5TPKMBSjs.StripeUsageModule; exports.StripeUsageService = _chunkX5TPKMBSjs.StripeUsageService; exports.SubscriptionStatus = _chunkX5TPKMBSjs.SubscriptionStatus; exports.TableOptions = _chunkX5TPKMBSjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkX5TPKMBSjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkX5TPKMBSjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkX5TPKMBSjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkX5TPKMBSjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkX5TPKMBSjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkX5TPKMBSjs.TotpSetup; exports.TotpSetupModule = _chunkX5TPKMBSjs.TotpSetupModule; exports.TotpVerify = _chunkX5TPKMBSjs.TotpVerify; exports.TotpVerifyLogin = _chunkX5TPKMBSjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkX5TPKMBSjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkX5TPKMBSjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkX5TPKMBSjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkX5TPKMBSjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkX5TPKMBSjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkX5TPKMBSjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkX5TPKMBSjs.TwoFactorService; exports.TwoFactorStatus = _chunkX5TPKMBSjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkX5TPKMBSjs.TwoFactorStatusModule; exports.User = _chunkX5TPKMBSjs.User; exports.UserFields = _chunkX5TPKMBSjs.UserFields; exports.UserModule = _chunkX5TPKMBSjs.UserModule; exports.UserService = _chunkX5TPKMBSjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkX5TPKMBSjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkX5TPKMBSjs.Waitlist; exports.WaitlistModule = _chunkX5TPKMBSjs.WaitlistModule; exports.WaitlistService = _chunkX5TPKMBSjs.WaitlistService; exports.WaitlistStats = _chunkX5TPKMBSjs.WaitlistStats; exports.WaitlistStatsModule = _chunkX5TPKMBSjs.WaitlistStatsModule; exports.checkPermissions = _chunkX5TPKMBSjs.checkPermissions; exports.checkPermissionsFromServer = _chunkX5TPKMBSjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkX5TPKMBSjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkX5TPKMBSjs.clearLastApiTotal; exports.cn = _chunkX5TPKMBSjs.cn; exports.composeRefs = _chunkX5TPKMBSjs.composeRefs; exports.configureAuth = _chunkX5TPKMBSjs.configureAuth; exports.configureI18n = _chunkOHJQYVSIjs.configureI18n; exports.configureJsonApi = _chunkOHJQYVSIjs.configureJsonApi; exports.configureLogin = _chunkOHJQYVSIjs.configureLogin; exports.configureReferral = _chunkOHJQYVSIjs.configureReferral; exports.configureRoles = _chunkOHJQYVSIjs.configureRoles; exports.configureWaitlist = _chunkOHJQYVSIjs.configureWaitlist; exports.createJsonApiInclusion = _chunkX5TPKMBSjs.createJsonApiInclusion; exports.dismissToast = _chunkX5TPKMBSjs.dismissToast; exports.entityObjectSchema = _chunkX5TPKMBSjs.entityObjectSchema; exports.exists = _chunkX5TPKMBSjs.exists; exports.formatCodiceFiscale = _chunkX5TPKMBSjs.formatCodiceFiscale; exports.formatDate = _chunkX5TPKMBSjs.formatDate; exports.formatLocalDate = _chunkX5TPKMBSjs.formatLocalDate; exports.formatPartitaIva = _chunkX5TPKMBSjs.formatPartitaIva; exports.getApiUrl = _chunkOHJQYVSIjs.getApiUrl; exports.getAppUrl = _chunkOHJQYVSIjs.getAppUrl; exports.getBootstrapper = _chunkFPO4DLZNjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkX5TPKMBSjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkX5TPKMBSjs.getGlobalErrorHandler; exports.getIcon = _chunkX5TPKMBSjs.getIcon; exports.getIconByModule = _chunkX5TPKMBSjs.getIconByModule; exports.getIconByModuleName = _chunkX5TPKMBSjs.getIconByModuleName; exports.getInitials = _chunkX5TPKMBSjs.getInitials; exports.getLastApiMeta = _chunkX5TPKMBSjs.getLastApiMeta; exports.getLastApiTotal = _chunkX5TPKMBSjs.getLastApiTotal; exports.getLucideIcon = _chunkX5TPKMBSjs.getLucideIcon; exports.getLucideIconByModule = _chunkX5TPKMBSjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkX5TPKMBSjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkOHJQYVSIjs.getPublicApiUrl; exports.getReferralConfig = _chunkOHJQYVSIjs.getReferralConfig; exports.getRoleId = _chunkOHJQYVSIjs.getRoleId; exports.getStripePublishableKey = _chunkOHJQYVSIjs.getStripePublishableKey; exports.getTableComponents = _chunkX5TPKMBSjs.getTableComponents; exports.getTableOptions = _chunkX5TPKMBSjs.getTableOptions; exports.getTokenHandler = _chunkX5TPKMBSjs.getTokenHandler; exports.getTrackablePages = _chunkOHJQYVSIjs.getTrackablePages; exports.getValueFromPath = _chunkX5TPKMBSjs.getValueFromPath; exports.getWaitlistConfig = _chunkOHJQYVSIjs.getWaitlistConfig; exports.hasBootstrapper = _chunkFPO4DLZNjs.hasBootstrapper; exports.isReferralEnabled = _chunkOHJQYVSIjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkX5TPKMBSjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkOHJQYVSIjs.isRolesConfigured; exports.rehydrate = _chunkX5TPKMBSjs.rehydrate; exports.rehydrateList = _chunkX5TPKMBSjs.rehydrateList; exports.resetBootstrapStore = _chunkFPO4DLZNjs.resetBootstrapStore; exports.setBootstrapper = _chunkFPO4DLZNjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkX5TPKMBSjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkX5TPKMBSjs.setGlobalErrorHandler; exports.showCustomToast = _chunkX5TPKMBSjs.showCustomToast; exports.showError = _chunkX5TPKMBSjs.showError; exports.showToast = _chunkX5TPKMBSjs.showToast; exports.translateData = _chunkFPO4DLZNjs.translateData; exports.translateResponse = _chunkFPO4DLZNjs.translateResponse; exports.tryBootstrap = _chunkFPO4DLZNjs.tryBootstrap; exports.useComposedRefs = _chunkX5TPKMBSjs.useComposedRefs; exports.useIsMobile = _chunkX5TPKMBSjs.useIsMobile; exports.userObjectSchema = _chunkX5TPKMBSjs.userObjectSchema; exports.validateCodiceFiscale = _chunkX5TPKMBSjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkX5TPKMBSjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkX5TPKMBSjs.validatePartitaIva;
463
+
464
+
465
+
466
+ exports.ACTION_TYPES = _chunkOTEDZ6YWjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkRTOC53EZjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkRTOC53EZjs.AbstractApiData; exports.AbstractService = _chunkRTOC53EZjs.AbstractService; exports.Action = _chunkRTOC53EZjs.Action; exports.Assistant = _chunkRTOC53EZjs.Assistant; exports.AssistantAction = _chunkRTOC53EZjs.AssistantAction; exports.AssistantActionModule = _chunkRTOC53EZjs.AssistantActionModule; exports.AssistantActionService = _chunkRTOC53EZjs.AssistantActionService; exports.AssistantMessage = _chunkRTOC53EZjs.AssistantMessage; exports.AssistantMessageModule = _chunkRTOC53EZjs.AssistantMessageModule; exports.AssistantMessageService = _chunkRTOC53EZjs.AssistantMessageService; exports.AssistantModule = _chunkRTOC53EZjs.AssistantModule; exports.AssistantService = _chunkRTOC53EZjs.AssistantService; exports.AuditLog = _chunkRTOC53EZjs.AuditLog; exports.AuditLogModule = _chunkRTOC53EZjs.AuditLogModule; exports.AuditLogService = _chunkRTOC53EZjs.AuditLogService; exports.Auth = _chunkRTOC53EZjs.Auth; exports.AuthComponent = _chunkRTOC53EZjs.AuthComponent; exports.AuthModule = _chunkRTOC53EZjs.AuthModule; exports.AuthService = _chunkRTOC53EZjs.AuthService; exports.AuthorModule = _chunkRTOC53EZjs.AuthorModule; exports.BackupCodeVerify = _chunkRTOC53EZjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkRTOC53EZjs.BackupCodeVerifyModule; exports.Billing = _chunkRTOC53EZjs.Billing; exports.BillingModule = _chunkRTOC53EZjs.BillingModule; exports.BillingService = _chunkRTOC53EZjs.BillingService; exports.BlockNoteDiffUtil = _chunkRTOC53EZjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkRTOC53EZjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkOTEDZ6YWjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkRTOC53EZjs.Chunk; exports.ChunkModule = _chunkRTOC53EZjs.ChunkModule; exports.ClientAbstractService = _chunkRTOC53EZjs.ClientAbstractService; exports.ClientHttpMethod = _chunkRTOC53EZjs.ClientHttpMethod; exports.Company = _chunkRTOC53EZjs.Company; exports.CompanyFields = _chunkRTOC53EZjs.CompanyFields; exports.CompanyModule = _chunkRTOC53EZjs.CompanyModule; exports.CompanyService = _chunkRTOC53EZjs.CompanyService; exports.Content = _chunkRTOC53EZjs.Content; exports.ContentFields = _chunkRTOC53EZjs.ContentFields; exports.ContentModule = _chunkRTOC53EZjs.ContentModule; exports.ContentService = _chunkRTOC53EZjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkRTOC53EZjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkFPO4DLZNjs.DataClassRegistry; exports.DataClassRegistry = _chunkFPO4DLZNjs.DataClassRegistry; exports.EndpointCreator = _chunkRTOC53EZjs.EndpointCreator; exports.EntityAiStatus = _chunkRTOC53EZjs.EntityAiStatus; exports.Feature = _chunkRTOC53EZjs.Feature; exports.FeatureModule = _chunkRTOC53EZjs.FeatureModule; exports.FeatureService = _chunkRTOC53EZjs.FeatureService; exports.HowTo = _chunkRTOC53EZjs.HowTo; exports.HowToFields = _chunkRTOC53EZjs.HowToFields; exports.HowToModule = _chunkRTOC53EZjs.HowToModule; exports.HowToService = _chunkRTOC53EZjs.HowToService; exports.HttpMethod = _chunkRTOC53EZjs.HttpMethod; exports.InvoiceStatus = _chunkRTOC53EZjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkFPO4DLZNjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkRTOC53EZjs.MOBILE_BREAKPOINT; exports.Module = _chunkRTOC53EZjs.Module; exports.ModuleModule = _chunkRTOC53EZjs.ModuleModule; exports.ModulePaths = _chunkRTOC53EZjs.ModulePaths; exports.ModulePathsModule = _chunkRTOC53EZjs.ModulePathsModule; exports.ModuleRegistrar = _chunkRTOC53EZjs.ModuleRegistrar; exports.ModuleRegistry = _chunkRTOC53EZjs.ModuleRegistry; exports.Modules = _chunkRTOC53EZjs.Modules; exports.Notification = _chunkRTOC53EZjs.Notification; exports.NotificationFields = _chunkRTOC53EZjs.NotificationFields; exports.NotificationModule = _chunkRTOC53EZjs.NotificationModule; exports.NotificationService = _chunkRTOC53EZjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkRTOC53EZjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkRTOC53EZjs.OAuthClient; exports.OAuthModule = _chunkRTOC53EZjs.OAuthModule; exports.OAuthService = _chunkRTOC53EZjs.OAuthService; exports.Passkey = _chunkRTOC53EZjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkRTOC53EZjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkRTOC53EZjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkRTOC53EZjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkRTOC53EZjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkRTOC53EZjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkRTOC53EZjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkRTOC53EZjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkRTOC53EZjs.PasskeyRename; exports.PasskeyRenameModule = _chunkRTOC53EZjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkRTOC53EZjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkRTOC53EZjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkRTOC53EZjs.PaymentMethod; exports.PermissionMapping = _chunkRTOC53EZjs.PermissionMapping; exports.PermissionMappingModule = _chunkRTOC53EZjs.PermissionMappingModule; exports.Push = _chunkRTOC53EZjs.Push; exports.PushModule = _chunkRTOC53EZjs.PushModule; exports.PushService = _chunkRTOC53EZjs.PushService; exports.RbacMatrixModel = _chunkRTOC53EZjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkRTOC53EZjs.RbacMatrixModule; exports.RbacService = _chunkOTEDZ6YWjs.RbacService; exports.ReferralModule = _chunkRTOC53EZjs.ReferralModule; exports.ReferralService = _chunkRTOC53EZjs.ReferralService; exports.ReferralStats = _chunkRTOC53EZjs.ReferralStats; exports.ReferralStatsModule = _chunkRTOC53EZjs.ReferralStatsModule; exports.RehydrationFactory = _chunkRTOC53EZjs.RehydrationFactory; exports.Role = _chunkRTOC53EZjs.Role; exports.RoleFields = _chunkRTOC53EZjs.RoleFields; exports.RoleModule = _chunkRTOC53EZjs.RoleModule; exports.RoleService = _chunkRTOC53EZjs.RoleService; exports.S3 = _chunkRTOC53EZjs.S3; exports.S3Module = _chunkRTOC53EZjs.S3Module; exports.S3Service = _chunkRTOC53EZjs.S3Service; exports.StripeCustomer = _chunkRTOC53EZjs.StripeCustomer; exports.StripeCustomerModule = _chunkRTOC53EZjs.StripeCustomerModule; exports.StripeCustomerService = _chunkRTOC53EZjs.StripeCustomerService; exports.StripeInvoice = _chunkRTOC53EZjs.StripeInvoice; exports.StripeInvoiceModule = _chunkRTOC53EZjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkRTOC53EZjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkRTOC53EZjs.StripePaymentMethodModule; exports.StripePrice = _chunkRTOC53EZjs.StripePrice; exports.StripePriceModule = _chunkRTOC53EZjs.StripePriceModule; exports.StripePriceService = _chunkRTOC53EZjs.StripePriceService; exports.StripeProduct = _chunkRTOC53EZjs.StripeProduct; exports.StripeProductModule = _chunkRTOC53EZjs.StripeProductModule; exports.StripeProductService = _chunkRTOC53EZjs.StripeProductService; exports.StripePromotionCode = _chunkRTOC53EZjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkRTOC53EZjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkRTOC53EZjs.StripePromotionCodeService; exports.StripeSubscription = _chunkRTOC53EZjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkRTOC53EZjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkRTOC53EZjs.StripeSubscriptionService; exports.StripeUsage = _chunkRTOC53EZjs.StripeUsage; exports.StripeUsageModule = _chunkRTOC53EZjs.StripeUsageModule; exports.StripeUsageService = _chunkRTOC53EZjs.StripeUsageService; exports.SubscriptionStatus = _chunkRTOC53EZjs.SubscriptionStatus; exports.TableOptions = _chunkRTOC53EZjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkRTOC53EZjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkRTOC53EZjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkRTOC53EZjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkRTOC53EZjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkRTOC53EZjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkRTOC53EZjs.TotpSetup; exports.TotpSetupModule = _chunkRTOC53EZjs.TotpSetupModule; exports.TotpVerify = _chunkRTOC53EZjs.TotpVerify; exports.TotpVerifyLogin = _chunkRTOC53EZjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkRTOC53EZjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkRTOC53EZjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkRTOC53EZjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkRTOC53EZjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkRTOC53EZjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkRTOC53EZjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkRTOC53EZjs.TwoFactorService; exports.TwoFactorStatus = _chunkRTOC53EZjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkRTOC53EZjs.TwoFactorStatusModule; exports.User = _chunkRTOC53EZjs.User; exports.UserFields = _chunkRTOC53EZjs.UserFields; exports.UserModule = _chunkRTOC53EZjs.UserModule; exports.UserService = _chunkRTOC53EZjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkRTOC53EZjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkRTOC53EZjs.Waitlist; exports.WaitlistModule = _chunkRTOC53EZjs.WaitlistModule; exports.WaitlistService = _chunkRTOC53EZjs.WaitlistService; exports.WaitlistStats = _chunkRTOC53EZjs.WaitlistStats; exports.WaitlistStatsModule = _chunkRTOC53EZjs.WaitlistStatsModule; exports.checkPermissions = _chunkRTOC53EZjs.checkPermissions; exports.checkPermissionsFromServer = _chunkRTOC53EZjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkRTOC53EZjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkRTOC53EZjs.clearLastApiTotal; exports.cn = _chunkRTOC53EZjs.cn; exports.composeRefs = _chunkRTOC53EZjs.composeRefs; exports.configureAuth = _chunkRTOC53EZjs.configureAuth; exports.configureI18n = _chunkOTEDZ6YWjs.configureI18n; exports.configureJsonApi = _chunkOTEDZ6YWjs.configureJsonApi; exports.configureLogin = _chunkOTEDZ6YWjs.configureLogin; exports.configureReferral = _chunkOTEDZ6YWjs.configureReferral; exports.configureRoles = _chunkOTEDZ6YWjs.configureRoles; exports.configureTokenUsage = _chunkRTOC53EZjs.configureTokenUsage; exports.configureWaitlist = _chunkOTEDZ6YWjs.configureWaitlist; exports.createJsonApiInclusion = _chunkRTOC53EZjs.createJsonApiInclusion; exports.dismissToast = _chunkRTOC53EZjs.dismissToast; exports.entityObjectSchema = _chunkRTOC53EZjs.entityObjectSchema; exports.exists = _chunkRTOC53EZjs.exists; exports.formatCodiceFiscale = _chunkRTOC53EZjs.formatCodiceFiscale; exports.formatDate = _chunkRTOC53EZjs.formatDate; exports.formatLocalDate = _chunkRTOC53EZjs.formatLocalDate; exports.formatPartitaIva = _chunkRTOC53EZjs.formatPartitaIva; exports.getApiUrl = _chunkOTEDZ6YWjs.getApiUrl; exports.getAppUrl = _chunkOTEDZ6YWjs.getAppUrl; exports.getBootstrapper = _chunkFPO4DLZNjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkRTOC53EZjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkRTOC53EZjs.getGlobalErrorHandler; exports.getIcon = _chunkRTOC53EZjs.getIcon; exports.getIconByModule = _chunkRTOC53EZjs.getIconByModule; exports.getIconByModuleName = _chunkRTOC53EZjs.getIconByModuleName; exports.getInitials = _chunkRTOC53EZjs.getInitials; exports.getLastApiMeta = _chunkRTOC53EZjs.getLastApiMeta; exports.getLastApiTotal = _chunkRTOC53EZjs.getLastApiTotal; exports.getLucideIcon = _chunkRTOC53EZjs.getLucideIcon; exports.getLucideIconByModule = _chunkRTOC53EZjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkRTOC53EZjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkOTEDZ6YWjs.getPublicApiUrl; exports.getReferralConfig = _chunkOTEDZ6YWjs.getReferralConfig; exports.getRoleId = _chunkOTEDZ6YWjs.getRoleId; exports.getStripePublishableKey = _chunkOTEDZ6YWjs.getStripePublishableKey; exports.getTableComponents = _chunkRTOC53EZjs.getTableComponents; exports.getTableOptions = _chunkRTOC53EZjs.getTableOptions; exports.getTokenHandler = _chunkRTOC53EZjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkRTOC53EZjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkOTEDZ6YWjs.getTrackablePages; exports.getValueFromPath = _chunkRTOC53EZjs.getValueFromPath; exports.getWaitlistConfig = _chunkOTEDZ6YWjs.getWaitlistConfig; exports.hasBootstrapper = _chunkFPO4DLZNjs.hasBootstrapper; exports.isReferralEnabled = _chunkOTEDZ6YWjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkRTOC53EZjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkOTEDZ6YWjs.isRolesConfigured; exports.rehydrate = _chunkRTOC53EZjs.rehydrate; exports.rehydrateList = _chunkRTOC53EZjs.rehydrateList; exports.resetBootstrapStore = _chunkFPO4DLZNjs.resetBootstrapStore; exports.setBootstrapper = _chunkFPO4DLZNjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkRTOC53EZjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkRTOC53EZjs.setGlobalErrorHandler; exports.showCustomToast = _chunkRTOC53EZjs.showCustomToast; exports.showError = _chunkRTOC53EZjs.showError; exports.showToast = _chunkRTOC53EZjs.showToast; exports.tokenUsageModules = _chunkRTOC53EZjs.tokenUsageModules; exports.translateData = _chunkFPO4DLZNjs.translateData; exports.translateResponse = _chunkFPO4DLZNjs.translateResponse; exports.tryBootstrap = _chunkFPO4DLZNjs.tryBootstrap; exports.useComposedRefs = _chunkRTOC53EZjs.useComposedRefs; exports.useIsMobile = _chunkRTOC53EZjs.useIsMobile; exports.userObjectSchema = _chunkRTOC53EZjs.userObjectSchema; exports.validateCodiceFiscale = _chunkRTOC53EZjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkRTOC53EZjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkRTOC53EZjs.validatePartitaIva;
461
467
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,y6aAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,qnbAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/index.js"}
package/dist/index.mjs CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  getWaitlistConfig,
19
19
  isReferralEnabled,
20
20
  isRolesConfigured
21
- } from "./chunk-MN2BUSEU.mjs";
21
+ } from "./chunk-DJWNNV52.mjs";
22
22
  import {
23
23
  AVAILABLE_OAUTH_SCOPES,
24
24
  AbstractApiData,
@@ -179,6 +179,7 @@ import {
179
179
  cn,
180
180
  composeRefs,
181
181
  configureAuth,
182
+ configureTokenUsage,
182
183
  createJsonApiInclusion,
183
184
  dismissToast,
184
185
  entityObjectSchema,
@@ -201,6 +202,7 @@ import {
201
202
  getTableComponents,
202
203
  getTableOptions,
203
204
  getTokenHandler,
205
+ getTokenUsageCurrency,
204
206
  getValueFromPath,
205
207
  isRemoteImageSrc,
206
208
  rehydrate,
@@ -210,13 +212,14 @@ import {
210
212
  showCustomToast,
211
213
  showError,
212
214
  showToast,
215
+ tokenUsageModules,
213
216
  useComposedRefs,
214
217
  useIsMobile,
215
218
  userObjectSchema,
216
219
  validateCodiceFiscale,
217
220
  validateItalianTaxCode,
218
221
  validatePartitaIva
219
- } from "./chunk-EQEW64CH.mjs";
222
+ } from "./chunk-FS4RVV3K.mjs";
220
223
  import "./chunk-AUXK7QSA.mjs";
221
224
  import "./chunk-C7C7VY4F.mjs";
222
225
  import {
@@ -402,6 +405,7 @@ export {
402
405
  configureLogin,
403
406
  configureReferral,
404
407
  configureRoles,
408
+ configureTokenUsage,
405
409
  configureWaitlist,
406
410
  createJsonApiInclusion,
407
411
  dismissToast,
@@ -432,6 +436,7 @@ export {
432
436
  getTableComponents,
433
437
  getTableOptions,
434
438
  getTokenHandler,
439
+ getTokenUsageCurrency,
435
440
  getTrackablePages,
436
441
  getValueFromPath,
437
442
  getWaitlistConfig,
@@ -448,6 +453,7 @@ export {
448
453
  showCustomToast,
449
454
  showError,
450
455
  showToast,
456
+ tokenUsageModules,
451
457
  translateData,
452
458
  translateResponse,
453
459
  tryBootstrap,
@@ -15,7 +15,7 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkX5TPKMBSjs = require('../chunk-X5TPKMBS.js');
18
+ var _chunkRTOC53EZjs = require('../chunk-RTOC53EZ.js');
19
19
  require('../chunk-LXKSUWAV.js');
20
20
  require('../chunk-IBS6NI7D.js');
21
21
 
@@ -86,7 +86,7 @@ var ServerSession = class {
86
86
  if (!rawModules) return false;
87
87
  const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
88
88
  const selectedModule = modules.find((module) => module.id === params.module.moduleId);
89
- return _chunkX5TPKMBSjs.checkPermissionsFromServer.call(void 0, {
89
+ return _chunkRTOC53EZjs.checkPermissionsFromServer.call(void 0, {
90
90
  module: params.module,
91
91
  action: params.action,
92
92
  data: params.data,
@@ -296,5 +296,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete")
296
296
 
297
297
 
298
298
 
299
- exports.ServerAuthService = _chunkX5TPKMBSjs.AuthService; exports.ServerCompanyService = _chunkX5TPKMBSjs.CompanyService; exports.ServerContentService = _chunkX5TPKMBSjs.ContentService; exports.ServerFeatureService = _chunkX5TPKMBSjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkX5TPKMBSjs.NotificationService; exports.ServerPushService = _chunkX5TPKMBSjs.PushService; exports.ServerRoleService = _chunkX5TPKMBSjs.RoleService; exports.ServerS3Service = _chunkX5TPKMBSjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkX5TPKMBSjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
299
+ exports.ServerAuthService = _chunkRTOC53EZjs.AuthService; exports.ServerCompanyService = _chunkRTOC53EZjs.CompanyService; exports.ServerContentService = _chunkRTOC53EZjs.ContentService; exports.ServerFeatureService = _chunkRTOC53EZjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkRTOC53EZjs.NotificationService; exports.ServerPushService = _chunkRTOC53EZjs.PushService; exports.ServerRoleService = _chunkRTOC53EZjs.RoleService; exports.ServerS3Service = _chunkRTOC53EZjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkRTOC53EZjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
300
300
  //# sourceMappingURL=index.js.map
@@ -15,7 +15,7 @@ import {
15
15
  S3Service,
16
16
  UserService,
17
17
  checkPermissionsFromServer
18
- } from "../chunk-EQEW64CH.mjs";
18
+ } from "../chunk-FS4RVV3K.mjs";
19
19
  import "../chunk-AUXK7QSA.mjs";
20
20
  import "../chunk-C7C7VY4F.mjs";
21
21
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "Next.js JSON:API client with server/client support and caching",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -1,5 +1,6 @@
1
1
  // Billing components - separate entry point to avoid loading Stripe.js globally
2
2
  export * from "../features/billing/components";
3
+ export * from "../features/billing/contexts";
3
4
  export * from "../features/billing/stripe-customer/components";
4
5
  export * from "../features/billing/stripe-invoice/components";
5
6
  export * from "../features/billing/stripe-price/components";
@@ -20,6 +20,7 @@ export { parseFiscalData } from "../utils/fiscal-utils";
20
20
 
21
21
  // Feature components
22
22
  export * from "../features/auth/components";
23
+ export * from "../features/administration";
23
24
  // Billing components moved to separate entry point: @carlonicora/nextjs-jsonapi/billing
24
25
  export * from "../features/company/components";
25
26
  export * from "../features/content/components";
@@ -1,3 +1,4 @@
1
+ export * from "../features/administration/contexts";
1
2
  export * from "../features/company/contexts/CompanyContext";
2
3
  export * from "../features/notification/contexts/NotificationContext";
3
4
  export * from "../features/onboarding/contexts";
package/src/core/index.ts CHANGED
@@ -98,4 +98,14 @@ export * from "../features/referral/referral-stats.module";
98
98
  // them in its bootstrapper without pulling the feature's client bundle —
99
99
  // same placement as waitlist-stats and referral-stats above.
100
100
  export * from "../features/tokenusage/tokenusage-admin.module";
101
+ // The full six-module bundle (administrative + self-service). Same placement
102
+ // rationale as the line above: a bootstrapper needs it, and it must not drag
103
+ // the feature's recharts client bundle in.
104
+ export * from "../features/tokenusage/tokenusage.modules";
105
+ // configureTokenUsage() is called from the app's bootstrap file, which is
106
+ // evaluated on the server as well as the client. Reaching it through the
107
+ // client-marked ./tokenusage barrel makes it a client function, and calling one
108
+ // from the server throws at module evaluation — so it is exported here, exactly
109
+ // like configureJsonApi. lib/config holds no React and no charting code.
110
+ export * from "../features/tokenusage/lib/config";
101
111
  export * from "../features/audit-log";
@@ -63,6 +63,10 @@ export interface FoundationModuleDefinitions {
63
63
  TokenUsageAdminSummary: ModuleWithPermissions;
64
64
  TokenUsageAdminTimeline: ModuleWithPermissions;
65
65
  TokenUsageAdminBreakdown: ModuleWithPermissions;
66
+ // Self-service token-usage reporting modules
67
+ TokenUsageReportSummary: ModuleWithPermissions;
68
+ TokenUsageReportTimeline: ModuleWithPermissions;
69
+ TokenUsageReportBreakdown: ModuleWithPermissions;
66
70
  }
67
71
 
68
72
  // App-specific modules - apps will augment this interface ONLY
@@ -0,0 +1,150 @@
1
+ "use client";
2
+
3
+ import { Building2Icon, CoinsIcon, CreditCardIcon, ShieldCheckIcon, UsersIcon } from "lucide-react";
4
+ import { useTranslations } from "next-intl";
5
+ import { getStripePublishableKey } from "../../../client/config";
6
+ import { MicroLabel, RoundPageContainer } from "../../../components";
7
+ import { Link } from "../../../shadcnui";
8
+ import { AdministrationProvider } from "../contexts/AdministrationContext";
9
+ import type { AdminGroup, AdminSection } from "../data/admin-section.types";
10
+
11
+ /**
12
+ * The sections every NJA project has. Hrefs are constants rather than props:
13
+ * the path convention IS the contract that makes this component reusable, and
14
+ * it already exists in the package (see TOKEN_USAGE_ADMIN_PAGE_URL in
15
+ * features/tokenusage/contexts/TokenUsageAdminContext.tsx).
16
+ */
17
+ const PLATFORM_SECTIONS: AdminSection[] = [
18
+ {
19
+ key: "companies",
20
+ icon: Building2Icon,
21
+ labelKey: "entities.companies",
22
+ labelValues: { count: 2 },
23
+ descriptionKey: "administration.companies.description",
24
+ href: "/administration/companies",
25
+ },
26
+ {
27
+ key: "users",
28
+ icon: UsersIcon,
29
+ labelKey: "entities.users",
30
+ labelValues: { count: 2 },
31
+ descriptionKey: "administration.users.description",
32
+ href: "/administration/users",
33
+ },
34
+ {
35
+ key: "token-usage",
36
+ icon: CoinsIcon,
37
+ labelKey: "token_usage.admin.title",
38
+ descriptionKey: "administration.token_usage.description",
39
+ href: "/administration/token-usage",
40
+ },
41
+ {
42
+ key: "rbac",
43
+ icon: ShieldCheckIcon,
44
+ labelKey: "entities.rbac",
45
+ labelValues: { count: 2 },
46
+ descriptionKey: "administration.rbac.description",
47
+ href: "/administration/rbac",
48
+ },
49
+ ];
50
+
51
+ /**
52
+ * The only conditional entry. getStripePublishableKey comes from /client rather
53
+ * than isStripeConfigured() from /billing on purpose: /billing exists to keep
54
+ * Stripe.js out of the global bundle, and isStripeConfigured lives in
55
+ * StripeProvider.tsx, which imports @stripe/stripe-js at module scope. The two
56
+ * are the same check — isStripeConfigured is a one-line wrapper over this call.
57
+ */
58
+ const BILLING_SECTION: AdminSection = {
59
+ key: "billing",
60
+ icon: CreditCardIcon,
61
+ labelKey: "billing.admin.products.title",
62
+ descriptionKey: "administration.billing.description",
63
+ href: "/administration/billing",
64
+ };
65
+
66
+ /** Keys of the built-in platform sections, for `hiddenSections`. */
67
+ export type PlatformSectionKey = "companies" | "users" | "token-usage" | "rbac" | "billing";
68
+
69
+ type AdminIndexProps = {
70
+ /** Project-specific groups, appended after the built-in platform group. */
71
+ additionalGroups?: AdminGroup[];
72
+ /**
73
+ * Built-in sections to leave out. Every NJA project gets the same platform
74
+ * group by default, but a project whose backend does not wire a foundation
75
+ * must be able to drop its entry rather than advertise a route that throws —
76
+ * narr8, for instance, never calls `RbacModule.register()`, so it has no RBAC
77
+ * controllers at all.
78
+ */
79
+ hiddenSections?: PlatformSectionKey[];
80
+ };
81
+
82
+ /**
83
+ * The grid itself, with no page shell — this is what the specs render, because
84
+ * RoundPageContainer pulls in the app Header and its four header contexts.
85
+ */
86
+ export function AdminIndexGrid({ additionalGroups = [], hiddenSections = [] }: AdminIndexProps) {
87
+ const t = useTranslations();
88
+
89
+ const available = getStripePublishableKey() ? [...PLATFORM_SECTIONS, BILLING_SECTION] : PLATFORM_SECTIONS;
90
+
91
+ const platformGroup: AdminGroup = {
92
+ key: "platform",
93
+ labelKey: "administration.group.platform",
94
+ sections: available.filter((section) => !hiddenSections.includes(section.key as PlatformSectionKey)),
95
+ };
96
+
97
+ const groups = [platformGroup, ...additionalGroups].filter((group) => group.sections.length > 0);
98
+
99
+ return (
100
+ <div className="mx-auto flex w-full max-w-5xl flex-1 flex-col gap-8 py-8">
101
+ {/* No page title here: AdministrationProvider feeds "Administration" to
102
+ RoundPageContainerTitle, which owns the page's name. Repeating it as a
103
+ role-1 title would triple up with that strip and the breadcrumb. */}
104
+ <p className="text-muted-foreground text-sm">{t("administration.subtitle")}</p>
105
+
106
+ {groups.map((group) => (
107
+ <div key={group.key}>
108
+ <MicroLabel as="h3" className="mb-2 px-3">
109
+ {t(group.labelKey, group.labelValues)}
110
+ </MicroLabel>
111
+ <div className="grid grid-cols-1 gap-1 md:grid-cols-2 lg:grid-cols-3">
112
+ {group.sections.map((section) => (
113
+ <Link
114
+ key={section.key}
115
+ href={section.href}
116
+ className="text-foreground font-normal"
117
+ data-testid={`admin-index-${section.key}`}
118
+ >
119
+ <div className="hover:bg-muted/50 flex cursor-pointer items-center gap-3 rounded-md px-3 py-2">
120
+ <section.icon className="text-muted-foreground h-4 w-4 shrink-0" />
121
+ <div className="flex flex-col">
122
+ <span className="text-sm font-medium">{t(section.labelKey, section.labelValues)}</span>
123
+ <span className="text-muted-foreground text-xs">
124
+ {t(section.descriptionKey, section.descriptionValues)}
125
+ </span>
126
+ </div>
127
+ </div>
128
+ </Link>
129
+ ))}
130
+ </div>
131
+ </div>
132
+ ))}
133
+ </div>
134
+ );
135
+ }
136
+
137
+ /**
138
+ * Drop-in administration landing page. Mount it bare — it brings its own shell
139
+ * and its own page chrome (AdministrationProvider), so it does not inherit the
140
+ * title and breadcrumb of whatever page rendered before it.
141
+ */
142
+ export function AdminIndexContainer({ additionalGroups, hiddenSections }: AdminIndexProps) {
143
+ return (
144
+ <AdministrationProvider>
145
+ <RoundPageContainer>
146
+ <AdminIndexGrid additionalGroups={additionalGroups} hiddenSections={hiddenSections} />
147
+ </RoundPageContainer>
148
+ </AdministrationProvider>
149
+ );
150
+ }
@@ -0,0 +1,96 @@
1
+ import { render, screen } from "@testing-library/react";
2
+ import { BookOpenIcon } from "lucide-react";
3
+ import { beforeEach, describe, expect, it } from "vitest";
4
+ import { configureJsonApi } from "../../../../client/config";
5
+ import { configureI18n } from "../../../../i18n";
6
+ import { AdminIndexGrid } from "../AdminIndexContainer";
7
+ import type { AdminGroup } from "../../data/admin-section.types";
8
+
9
+ // next-intl is globally mocked in vitest.setup.ts with `t = (key) => key`, so
10
+ // every label below renders as its own key. That is what the assertions match.
11
+ const configure = (stripePublishableKey?: string) => {
12
+ configureJsonApi({ apiUrl: "http://api.test", stripePublishableKey });
13
+ configureI18n({
14
+ useRouter: () => ({
15
+ push: () => {},
16
+ replace: () => {},
17
+ back: () => {},
18
+ forward: () => {},
19
+ refresh: () => {},
20
+ prefetch: () => {},
21
+ }),
22
+ useTranslations: () => (key: string) => key,
23
+ usePathname: () => "/administration",
24
+ Link: ({ href, children, ...props }: any) => (
25
+ <a href={href} {...props}>
26
+ {children}
27
+ </a>
28
+ ),
29
+ });
30
+ };
31
+
32
+ const extraGroup: AdminGroup = {
33
+ key: "documentation",
34
+ labelKey: "administration.group.documentation",
35
+ sections: [
36
+ {
37
+ key: "howtos",
38
+ icon: BookOpenIcon,
39
+ labelKey: "entities.howtos",
40
+ labelValues: { count: 2 },
41
+ descriptionKey: "administration.howtos.description",
42
+ href: "/administration/howtos",
43
+ },
44
+ ],
45
+ };
46
+
47
+ describe("AdminIndexGrid", () => {
48
+ beforeEach(() => configure());
49
+
50
+ it("renders the four unconditional platform entries with their hrefs", () => {
51
+ render(<AdminIndexGrid />);
52
+
53
+ expect(screen.getByTestId("admin-index-companies")).toHaveAttribute("href", "/administration/companies");
54
+ expect(screen.getByTestId("admin-index-users")).toHaveAttribute("href", "/administration/users");
55
+ expect(screen.getByTestId("admin-index-token-usage")).toHaveAttribute("href", "/administration/token-usage");
56
+ expect(screen.getByTestId("admin-index-rbac")).toHaveAttribute("href", "/administration/rbac");
57
+ });
58
+
59
+ it("omits the billing entry when no Stripe publishable key is configured", () => {
60
+ render(<AdminIndexGrid />);
61
+
62
+ expect(screen.queryByTestId("admin-index-billing")).not.toBeInTheDocument();
63
+ });
64
+
65
+ it("includes the billing entry when a Stripe publishable key is configured", () => {
66
+ configure("pk_test_123");
67
+ render(<AdminIndexGrid />);
68
+
69
+ expect(screen.getByTestId("admin-index-billing")).toHaveAttribute("href", "/administration/billing");
70
+ });
71
+
72
+ it("appends additionalGroups after the platform group, in order", () => {
73
+ render(<AdminIndexGrid additionalGroups={[extraGroup]} />);
74
+
75
+ const headings = screen.getAllByRole("heading", { level: 3 }).map((h) => h.textContent);
76
+ expect(headings).toEqual(["administration.group.platform", "administration.group.documentation"]);
77
+ expect(screen.getByTestId("admin-index-howtos")).toHaveAttribute("href", "/administration/howtos");
78
+ });
79
+
80
+ it("skips a group that has no sections", () => {
81
+ render(
82
+ <AdminIndexGrid additionalGroups={[{ key: "empty", labelKey: "administration.group.empty", sections: [] }]} />,
83
+ );
84
+
85
+ expect(screen.queryByText("administration.group.empty")).not.toBeInTheDocument();
86
+ });
87
+
88
+ it("renders the subtitle but not a page title of its own", () => {
89
+ render(<AdminIndexGrid />);
90
+
91
+ expect(screen.getByText("administration.subtitle")).toBeInTheDocument();
92
+ // The page's name comes from AdministrationProvider via
93
+ // RoundPageContainerTitle, so the grid must not repeat it.
94
+ expect(screen.queryByText("administration.title")).not.toBeInTheDocument();
95
+ });
96
+ });
@@ -0,0 +1 @@
1
+ export { AdminIndexContainer, AdminIndexGrid } from "./AdminIndexContainer";
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import { useTranslations } from "next-intl";
4
+ import { createContext, ReactNode, useContext } from "react";
5
+ import { SharedProvider } from "../../../contexts/SharedContext";
6
+ import { BreadcrumbItemData } from "../../../interfaces";
7
+
8
+ interface AdministrationContextType {}
9
+
10
+ const AdministrationContext = createContext<AdministrationContextType | undefined>(undefined);
11
+
12
+ type AdministrationProviderProps = {
13
+ children: ReactNode;
14
+ };
15
+
16
+ /**
17
+ * Supplies the page chrome for every administration surface.
18
+ *
19
+ * `RoundPageContainerTitle` and the header breadcrumb both read
20
+ * `useSharedContext()`, and that context is provided far up the tree by the
21
+ * layout — so an administration page that provides nothing of its own silently
22
+ * inherits whatever the *previously rendered* page put there (a company name, a
23
+ * "Notifications" title). Wrapping in this provider replaces that value, which
24
+ * is why every administration container mounts inside it.
25
+ *
26
+ * Mirrors CommonProvider (contexts/CommonContext.tsx), which does the same job
27
+ * for the ordinary application shell.
28
+ */
29
+ export const AdministrationProvider = ({ children }: AdministrationProviderProps) => {
30
+ const t = useTranslations();
31
+
32
+ const breadcrumbs: BreadcrumbItemData[] = [];
33
+
34
+ return (
35
+ <SharedProvider value={{ breadcrumbs, title: { type: t(`administration.title`) } }}>
36
+ <AdministrationContext.Provider value={{}}>{children}</AdministrationContext.Provider>
37
+ </SharedProvider>
38
+ );
39
+ };
40
+
41
+ export const useAdministrationContext = (): AdministrationContextType => {
42
+ const context = useContext(AdministrationContext);
43
+ if (context === undefined) {
44
+ throw new Error("useAdministrationContext must be used within an AdministrationProvider");
45
+ }
46
+ return context;
47
+ };
@@ -0,0 +1 @@
1
+ export * from "./AdministrationContext";