@carlonicora/nextjs-jsonapi 3.3.3 → 3.3.4

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 (52) hide show
  1. package/dist/{BlockNoteEditor-4LBUVIW6.js → BlockNoteEditor-J4TQJSHZ.js} +19 -19
  2. package/dist/{BlockNoteEditor-4LBUVIW6.js.map → BlockNoteEditor-J4TQJSHZ.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-CSPPZOZQ.mjs → BlockNoteEditor-ZNEXXORX.mjs} +4 -4
  4. package/dist/billing/index.js +398 -398
  5. package/dist/billing/index.mjs +3 -3
  6. package/dist/{chunk-S2C5V2XZ.js → chunk-6T6QB6K2.js} +6 -2
  7. package/dist/chunk-6T6QB6K2.js.map +1 -0
  8. package/dist/{chunk-KW6LYVFJ.mjs → chunk-G6B7RZWJ.mjs} +5 -1
  9. package/dist/chunk-G6B7RZWJ.mjs.map +1 -0
  10. package/dist/{chunk-SVCOFVQF.mjs → chunk-GCE4C7FG.mjs} +7 -8
  11. package/dist/chunk-GCE4C7FG.mjs.map +1 -0
  12. package/dist/{chunk-2PEPIH26.js → chunk-KCZ6SPUQ.js} +820 -821
  13. package/dist/chunk-KCZ6SPUQ.js.map +1 -0
  14. package/dist/{chunk-RUEY6XSS.mjs → chunk-RZDY4CIF.mjs} +2 -2
  15. package/dist/{chunk-OHG2YWNA.js → chunk-X2MQ3WHX.js} +7 -7
  16. package/dist/{chunk-OHG2YWNA.js.map → chunk-X2MQ3WHX.js.map} +1 -1
  17. package/dist/client/index.js +4 -4
  18. package/dist/client/index.mjs +3 -3
  19. package/dist/components/index.d.mts +4 -0
  20. package/dist/components/index.d.ts +4 -0
  21. package/dist/components/index.js +4 -4
  22. package/dist/components/index.mjs +3 -3
  23. package/dist/contexts/index.js +4 -4
  24. package/dist/contexts/index.mjs +3 -3
  25. package/dist/core/index.d.mts +11 -1
  26. package/dist/core/index.d.ts +11 -1
  27. package/dist/core/index.js +4 -2
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/index.mjs +3 -1
  30. package/dist/features/help/index.js +37 -37
  31. package/dist/features/help/index.mjs +3 -3
  32. package/dist/features/tokenusage/index.js +101 -101
  33. package/dist/features/tokenusage/index.mjs +3 -3
  34. package/dist/index.d.mts +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.js +5 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.mjs +4 -2
  39. package/dist/server/index.js +3 -3
  40. package/dist/server/index.mjs +1 -1
  41. package/package.json +1 -1
  42. package/src/features/auth/components/forms/Logout.tsx +11 -3
  43. package/src/features/auth/components/forms/__tests__/Logout.spec.tsx +13 -9
  44. package/src/features/user/contexts/CurrentUserContext.tsx +2 -1
  45. package/src/features/user/data/index.ts +1 -0
  46. package/src/features/user/data/user.storage.ts +9 -0
  47. package/dist/chunk-2PEPIH26.js.map +0 -1
  48. package/dist/chunk-KW6LYVFJ.mjs.map +0 -1
  49. package/dist/chunk-S2C5V2XZ.js.map +0 -1
  50. package/dist/chunk-SVCOFVQF.mjs.map +0 -1
  51. /package/dist/{BlockNoteEditor-CSPPZOZQ.mjs.map → BlockNoteEditor-ZNEXXORX.mjs.map} +0 -0
  52. /package/dist/{chunk-RUEY6XSS.mjs.map → chunk-RZDY4CIF.mjs.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- 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, ENV, 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, StripePriceFields, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, 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';
1
+ 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, CURRENT_USER_STORAGE_KEY, Chunk, ChunkInput, ChunkModule, ClientAbstractService, ClientHttpMethod, ClientNextRef, ClientPreviousRef, ClientSelfRef, ClientTotalRef, CodiceFiscaleValidationOptions, Company, CompanyFields, CompanyModule, Content, ContentModule, DataClass, DataClass as DataClassRegistry, DiffBlock, DiffResult, ENV, 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, StripePriceFields, StripePriceModule, StripePriceService, StripeProduct, StripeProductFields, 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';
2
2
  export { A as ApiData } from './ApiData-DPKNfY-9.js';
3
3
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from './ApiDataInterface-BcZeXy5X.js';
4
4
  export { A as ApiRequestDataTypeInterface, F as FieldSelector, G as GetterKeys, c as createJsonApiInclusion } from './ApiRequestDataTypeInterface-CYEcRUrh.js';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- var _chunkOHG2YWNAjs = require('./chunk-OHG2YWNA.js');
21
+ var _chunkX2MQ3WHXjs = require('./chunk-X2MQ3WHX.js');
22
22
 
23
23
 
24
24
 
@@ -225,7 +225,8 @@ var _chunkOHG2YWNAjs = require('./chunk-OHG2YWNA.js');
225
225
 
226
226
 
227
227
 
228
- var _chunkS2C5V2XZjs = require('./chunk-S2C5V2XZ.js');
228
+
229
+ var _chunk6T6QB6K2js = require('./chunk-6T6QB6K2.js');
229
230
  require('./chunk-LXKSUWAV.js');
230
231
  require('./chunk-IBS6NI7D.js');
231
232
 
@@ -477,5 +478,6 @@ require('./chunk-7QVYU63E.js');
477
478
 
478
479
 
479
480
 
480
- exports.ACTION_TYPES = _chunkOHG2YWNAjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkS2C5V2XZjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkS2C5V2XZjs.AbstractApiData; exports.AbstractService = _chunkS2C5V2XZjs.AbstractService; exports.Action = _chunkS2C5V2XZjs.Action; exports.AiConnection = _chunkS2C5V2XZjs.AiConnection; exports.AiConnectionFields = _chunkS2C5V2XZjs.AiConnectionFields; exports.AiConnectionModule = _chunkS2C5V2XZjs.AiConnectionModule; exports.AiConnectionService = _chunkS2C5V2XZjs.AiConnectionService; exports.Assistant = _chunkS2C5V2XZjs.Assistant; exports.AssistantAction = _chunkS2C5V2XZjs.AssistantAction; exports.AssistantActionModule = _chunkS2C5V2XZjs.AssistantActionModule; exports.AssistantActionService = _chunkS2C5V2XZjs.AssistantActionService; exports.AssistantMessage = _chunkS2C5V2XZjs.AssistantMessage; exports.AssistantMessageModule = _chunkS2C5V2XZjs.AssistantMessageModule; exports.AssistantMessageService = _chunkS2C5V2XZjs.AssistantMessageService; exports.AssistantModule = _chunkS2C5V2XZjs.AssistantModule; exports.AssistantService = _chunkS2C5V2XZjs.AssistantService; exports.AuditLog = _chunkS2C5V2XZjs.AuditLog; exports.AuditLogModule = _chunkS2C5V2XZjs.AuditLogModule; exports.AuditLogService = _chunkS2C5V2XZjs.AuditLogService; exports.Auth = _chunkS2C5V2XZjs.Auth; exports.AuthComponent = _chunkS2C5V2XZjs.AuthComponent; exports.AuthModule = _chunkS2C5V2XZjs.AuthModule; exports.AuthService = _chunkS2C5V2XZjs.AuthService; exports.AuthorModule = _chunkS2C5V2XZjs.AuthorModule; exports.BackupCodeVerify = _chunkS2C5V2XZjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkS2C5V2XZjs.BackupCodeVerifyModule; exports.Billing = _chunkS2C5V2XZjs.Billing; exports.BillingModule = _chunkS2C5V2XZjs.BillingModule; exports.BillingService = _chunkS2C5V2XZjs.BillingService; exports.BlockNoteDiffUtil = _chunkS2C5V2XZjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkS2C5V2XZjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkOHG2YWNAjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.Chunk = _chunkS2C5V2XZjs.Chunk; exports.ChunkModule = _chunkS2C5V2XZjs.ChunkModule; exports.ClientAbstractService = _chunkS2C5V2XZjs.ClientAbstractService; exports.ClientHttpMethod = _chunkS2C5V2XZjs.ClientHttpMethod; exports.Company = _chunkS2C5V2XZjs.Company; exports.CompanyFields = _chunkS2C5V2XZjs.CompanyFields; exports.CompanyModule = _chunkS2C5V2XZjs.CompanyModule; exports.CompanyService = _chunkS2C5V2XZjs.CompanyService; exports.Content = _chunkS2C5V2XZjs.Content; exports.ContentFields = _chunkS2C5V2XZjs.ContentFields; exports.ContentModule = _chunkS2C5V2XZjs.ContentModule; exports.ContentService = _chunkS2C5V2XZjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkS2C5V2XZjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkW42MYR3Yjs.DataClassRegistry; exports.DataClassRegistry = _chunkW42MYR3Yjs.DataClassRegistry; exports.ENV = _chunkW42MYR3Yjs.ENV; exports.EndpointCreator = _chunkS2C5V2XZjs.EndpointCreator; exports.EntityAiStatus = _chunkS2C5V2XZjs.EntityAiStatus; exports.Feature = _chunkS2C5V2XZjs.Feature; exports.FeatureModule = _chunkS2C5V2XZjs.FeatureModule; exports.FeatureService = _chunkS2C5V2XZjs.FeatureService; exports.HowTo = _chunkS2C5V2XZjs.HowTo; exports.HowToFields = _chunkS2C5V2XZjs.HowToFields; exports.HowToModule = _chunkS2C5V2XZjs.HowToModule; exports.HowToService = _chunkS2C5V2XZjs.HowToService; exports.HttpMethod = _chunkS2C5V2XZjs.HttpMethod; exports.InvoiceStatus = _chunkS2C5V2XZjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkW42MYR3Yjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkS2C5V2XZjs.MOBILE_BREAKPOINT; exports.Module = _chunkS2C5V2XZjs.Module; exports.ModuleModule = _chunkS2C5V2XZjs.ModuleModule; exports.ModulePaths = _chunkS2C5V2XZjs.ModulePaths; exports.ModulePathsModule = _chunkS2C5V2XZjs.ModulePathsModule; exports.ModuleRegistrar = _chunkS2C5V2XZjs.ModuleRegistrar; exports.ModuleRegistry = _chunkS2C5V2XZjs.ModuleRegistry; exports.Modules = _chunkS2C5V2XZjs.Modules; exports.Notification = _chunkS2C5V2XZjs.Notification; exports.NotificationFields = _chunkS2C5V2XZjs.NotificationFields; exports.NotificationModule = _chunkS2C5V2XZjs.NotificationModule; exports.NotificationService = _chunkS2C5V2XZjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkS2C5V2XZjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkS2C5V2XZjs.OAuthClient; exports.OAuthModule = _chunkS2C5V2XZjs.OAuthModule; exports.OAuthService = _chunkS2C5V2XZjs.OAuthService; exports.Passkey = _chunkS2C5V2XZjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkS2C5V2XZjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkS2C5V2XZjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkS2C5V2XZjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkS2C5V2XZjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkS2C5V2XZjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkS2C5V2XZjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkS2C5V2XZjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkS2C5V2XZjs.PasskeyRename; exports.PasskeyRenameModule = _chunkS2C5V2XZjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkS2C5V2XZjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkS2C5V2XZjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkS2C5V2XZjs.PaymentMethod; exports.PermissionMapping = _chunkS2C5V2XZjs.PermissionMapping; exports.PermissionMappingModule = _chunkS2C5V2XZjs.PermissionMappingModule; exports.Push = _chunkS2C5V2XZjs.Push; exports.PushModule = _chunkS2C5V2XZjs.PushModule; exports.PushService = _chunkS2C5V2XZjs.PushService; exports.RbacMatrixModel = _chunkS2C5V2XZjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkS2C5V2XZjs.RbacMatrixModule; exports.RbacService = _chunkOHG2YWNAjs.RbacService; exports.ReferralModule = _chunkS2C5V2XZjs.ReferralModule; exports.ReferralService = _chunkS2C5V2XZjs.ReferralService; exports.ReferralStats = _chunkS2C5V2XZjs.ReferralStats; exports.ReferralStatsModule = _chunkS2C5V2XZjs.ReferralStatsModule; exports.RehydrationFactory = _chunkS2C5V2XZjs.RehydrationFactory; exports.Role = _chunkS2C5V2XZjs.Role; exports.RoleFields = _chunkS2C5V2XZjs.RoleFields; exports.RoleModule = _chunkS2C5V2XZjs.RoleModule; exports.RoleService = _chunkS2C5V2XZjs.RoleService; exports.S3 = _chunkS2C5V2XZjs.S3; exports.S3Module = _chunkS2C5V2XZjs.S3Module; exports.S3Service = _chunkS2C5V2XZjs.S3Service; exports.StripeCustomer = _chunkS2C5V2XZjs.StripeCustomer; exports.StripeCustomerModule = _chunkS2C5V2XZjs.StripeCustomerModule; exports.StripeCustomerService = _chunkS2C5V2XZjs.StripeCustomerService; exports.StripeInvoice = _chunkS2C5V2XZjs.StripeInvoice; exports.StripeInvoiceModule = _chunkS2C5V2XZjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkS2C5V2XZjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkS2C5V2XZjs.StripePaymentMethodModule; exports.StripePrice = _chunkS2C5V2XZjs.StripePrice; exports.StripePriceFields = _chunkS2C5V2XZjs.StripePriceFields; exports.StripePriceModule = _chunkS2C5V2XZjs.StripePriceModule; exports.StripePriceService = _chunkS2C5V2XZjs.StripePriceService; exports.StripeProduct = _chunkS2C5V2XZjs.StripeProduct; exports.StripeProductFields = _chunkS2C5V2XZjs.StripeProductFields; exports.StripeProductModule = _chunkS2C5V2XZjs.StripeProductModule; exports.StripeProductService = _chunkS2C5V2XZjs.StripeProductService; exports.StripePromotionCode = _chunkS2C5V2XZjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkS2C5V2XZjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkS2C5V2XZjs.StripePromotionCodeService; exports.StripeSubscription = _chunkS2C5V2XZjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkS2C5V2XZjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkS2C5V2XZjs.StripeSubscriptionService; exports.StripeUsage = _chunkS2C5V2XZjs.StripeUsage; exports.StripeUsageModule = _chunkS2C5V2XZjs.StripeUsageModule; exports.StripeUsageService = _chunkS2C5V2XZjs.StripeUsageService; exports.SubscriptionStatus = _chunkS2C5V2XZjs.SubscriptionStatus; exports.TableOptions = _chunkS2C5V2XZjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkS2C5V2XZjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkS2C5V2XZjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkS2C5V2XZjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkS2C5V2XZjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkS2C5V2XZjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkS2C5V2XZjs.TotpSetup; exports.TotpSetupModule = _chunkS2C5V2XZjs.TotpSetupModule; exports.TotpVerify = _chunkS2C5V2XZjs.TotpVerify; exports.TotpVerifyLogin = _chunkS2C5V2XZjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkS2C5V2XZjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkS2C5V2XZjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkS2C5V2XZjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkS2C5V2XZjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkS2C5V2XZjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkS2C5V2XZjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkS2C5V2XZjs.TwoFactorService; exports.TwoFactorStatus = _chunkS2C5V2XZjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkS2C5V2XZjs.TwoFactorStatusModule; exports.User = _chunkS2C5V2XZjs.User; exports.UserFields = _chunkS2C5V2XZjs.UserFields; exports.UserModule = _chunkS2C5V2XZjs.UserModule; exports.UserService = _chunkS2C5V2XZjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkS2C5V2XZjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkS2C5V2XZjs.Waitlist; exports.WaitlistModule = _chunkS2C5V2XZjs.WaitlistModule; exports.WaitlistService = _chunkS2C5V2XZjs.WaitlistService; exports.WaitlistStats = _chunkS2C5V2XZjs.WaitlistStats; exports.WaitlistStatsModule = _chunkS2C5V2XZjs.WaitlistStatsModule; exports.checkPermissions = _chunkS2C5V2XZjs.checkPermissions; exports.checkPermissionsFromServer = _chunkS2C5V2XZjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkS2C5V2XZjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkS2C5V2XZjs.clearLastApiTotal; exports.cn = _chunkS2C5V2XZjs.cn; exports.composeRefs = _chunkS2C5V2XZjs.composeRefs; exports.configureAuth = _chunkS2C5V2XZjs.configureAuth; exports.configureI18n = _chunkOHG2YWNAjs.configureI18n; exports.configureJsonApi = _chunkOHG2YWNAjs.configureJsonApi; exports.configureLogin = _chunkOHG2YWNAjs.configureLogin; exports.configureReferral = _chunkOHG2YWNAjs.configureReferral; exports.configureRoles = _chunkOHG2YWNAjs.configureRoles; exports.configureTokenUsage = _chunkS2C5V2XZjs.configureTokenUsage; exports.configureWaitlist = _chunkOHG2YWNAjs.configureWaitlist; exports.createJsonApiInclusion = _chunkS2C5V2XZjs.createJsonApiInclusion; exports.dismissToast = _chunkS2C5V2XZjs.dismissToast; exports.entityObjectSchema = _chunkS2C5V2XZjs.entityObjectSchema; exports.exists = _chunkS2C5V2XZjs.exists; exports.formatCodiceFiscale = _chunkS2C5V2XZjs.formatCodiceFiscale; exports.formatDate = _chunkS2C5V2XZjs.formatDate; exports.formatLocalDate = _chunkS2C5V2XZjs.formatLocalDate; exports.formatPartitaIva = _chunkS2C5V2XZjs.formatPartitaIva; exports.getApiUrl = _chunkOHG2YWNAjs.getApiUrl; exports.getAppUrl = _chunkOHG2YWNAjs.getAppUrl; exports.getBootstrapper = _chunkW42MYR3Yjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkS2C5V2XZjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkS2C5V2XZjs.getGlobalErrorHandler; exports.getIcon = _chunkS2C5V2XZjs.getIcon; exports.getIconByModule = _chunkS2C5V2XZjs.getIconByModule; exports.getIconByModuleName = _chunkS2C5V2XZjs.getIconByModuleName; exports.getInitials = _chunkS2C5V2XZjs.getInitials; exports.getLastApiMeta = _chunkS2C5V2XZjs.getLastApiMeta; exports.getLastApiTotal = _chunkS2C5V2XZjs.getLastApiTotal; exports.getLucideIcon = _chunkS2C5V2XZjs.getLucideIcon; exports.getLucideIconByModule = _chunkS2C5V2XZjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkS2C5V2XZjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkOHG2YWNAjs.getPublicApiUrl; exports.getReferralConfig = _chunkOHG2YWNAjs.getReferralConfig; exports.getRoleId = _chunkOHG2YWNAjs.getRoleId; exports.getStripePublishableKey = _chunkOHG2YWNAjs.getStripePublishableKey; exports.getTableComponents = _chunkS2C5V2XZjs.getTableComponents; exports.getTableOptions = _chunkS2C5V2XZjs.getTableOptions; exports.getTokenHandler = _chunkS2C5V2XZjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkS2C5V2XZjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkOHG2YWNAjs.getTrackablePages; exports.getValueFromPath = _chunkS2C5V2XZjs.getValueFromPath; exports.getWaitlistConfig = _chunkOHG2YWNAjs.getWaitlistConfig; exports.hasBootstrapper = _chunkW42MYR3Yjs.hasBootstrapper; exports.isReferralEnabled = _chunkOHG2YWNAjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkS2C5V2XZjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkOHG2YWNAjs.isRolesConfigured; exports.rehydrate = _chunkS2C5V2XZjs.rehydrate; exports.rehydrateList = _chunkS2C5V2XZjs.rehydrateList; exports.resetBootstrapStore = _chunkW42MYR3Yjs.resetBootstrapStore; exports.setBootstrapper = _chunkW42MYR3Yjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkS2C5V2XZjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkS2C5V2XZjs.setGlobalErrorHandler; exports.showCustomToast = _chunkS2C5V2XZjs.showCustomToast; exports.showError = _chunkS2C5V2XZjs.showError; exports.showToast = _chunkS2C5V2XZjs.showToast; exports.tokenUsageModules = _chunkS2C5V2XZjs.tokenUsageModules; exports.translateData = _chunkW42MYR3Yjs.translateData; exports.translateResponse = _chunkW42MYR3Yjs.translateResponse; exports.tryBootstrap = _chunkW42MYR3Yjs.tryBootstrap; exports.useComposedRefs = _chunkS2C5V2XZjs.useComposedRefs; exports.useIsMobile = _chunkS2C5V2XZjs.useIsMobile; exports.userObjectSchema = _chunkS2C5V2XZjs.userObjectSchema; exports.validateCodiceFiscale = _chunkS2C5V2XZjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkS2C5V2XZjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkS2C5V2XZjs.validatePartitaIva;
481
+
482
+ exports.ACTION_TYPES = _chunkX2MQ3WHXjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunk6T6QB6K2js.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunk6T6QB6K2js.AbstractApiData; exports.AbstractService = _chunk6T6QB6K2js.AbstractService; exports.Action = _chunk6T6QB6K2js.Action; exports.AiConnection = _chunk6T6QB6K2js.AiConnection; exports.AiConnectionFields = _chunk6T6QB6K2js.AiConnectionFields; exports.AiConnectionModule = _chunk6T6QB6K2js.AiConnectionModule; exports.AiConnectionService = _chunk6T6QB6K2js.AiConnectionService; exports.Assistant = _chunk6T6QB6K2js.Assistant; exports.AssistantAction = _chunk6T6QB6K2js.AssistantAction; exports.AssistantActionModule = _chunk6T6QB6K2js.AssistantActionModule; exports.AssistantActionService = _chunk6T6QB6K2js.AssistantActionService; exports.AssistantMessage = _chunk6T6QB6K2js.AssistantMessage; exports.AssistantMessageModule = _chunk6T6QB6K2js.AssistantMessageModule; exports.AssistantMessageService = _chunk6T6QB6K2js.AssistantMessageService; exports.AssistantModule = _chunk6T6QB6K2js.AssistantModule; exports.AssistantService = _chunk6T6QB6K2js.AssistantService; exports.AuditLog = _chunk6T6QB6K2js.AuditLog; exports.AuditLogModule = _chunk6T6QB6K2js.AuditLogModule; exports.AuditLogService = _chunk6T6QB6K2js.AuditLogService; exports.Auth = _chunk6T6QB6K2js.Auth; exports.AuthComponent = _chunk6T6QB6K2js.AuthComponent; exports.AuthModule = _chunk6T6QB6K2js.AuthModule; exports.AuthService = _chunk6T6QB6K2js.AuthService; exports.AuthorModule = _chunk6T6QB6K2js.AuthorModule; exports.BackupCodeVerify = _chunk6T6QB6K2js.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunk6T6QB6K2js.BackupCodeVerifyModule; exports.Billing = _chunk6T6QB6K2js.Billing; exports.BillingModule = _chunk6T6QB6K2js.BillingModule; exports.BillingService = _chunk6T6QB6K2js.BillingService; exports.BlockNoteDiffUtil = _chunk6T6QB6K2js.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunk6T6QB6K2js.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkX2MQ3WHXjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunk6T6QB6K2js.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunk6T6QB6K2js.Chunk; exports.ChunkModule = _chunk6T6QB6K2js.ChunkModule; exports.ClientAbstractService = _chunk6T6QB6K2js.ClientAbstractService; exports.ClientHttpMethod = _chunk6T6QB6K2js.ClientHttpMethod; exports.Company = _chunk6T6QB6K2js.Company; exports.CompanyFields = _chunk6T6QB6K2js.CompanyFields; exports.CompanyModule = _chunk6T6QB6K2js.CompanyModule; exports.CompanyService = _chunk6T6QB6K2js.CompanyService; exports.Content = _chunk6T6QB6K2js.Content; exports.ContentFields = _chunk6T6QB6K2js.ContentFields; exports.ContentModule = _chunk6T6QB6K2js.ContentModule; exports.ContentService = _chunk6T6QB6K2js.ContentService; exports.DEFAULT_GRANT_TYPES = _chunk6T6QB6K2js.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkW42MYR3Yjs.DataClassRegistry; exports.DataClassRegistry = _chunkW42MYR3Yjs.DataClassRegistry; exports.ENV = _chunkW42MYR3Yjs.ENV; exports.EndpointCreator = _chunk6T6QB6K2js.EndpointCreator; exports.EntityAiStatus = _chunk6T6QB6K2js.EntityAiStatus; exports.Feature = _chunk6T6QB6K2js.Feature; exports.FeatureModule = _chunk6T6QB6K2js.FeatureModule; exports.FeatureService = _chunk6T6QB6K2js.FeatureService; exports.HowTo = _chunk6T6QB6K2js.HowTo; exports.HowToFields = _chunk6T6QB6K2js.HowToFields; exports.HowToModule = _chunk6T6QB6K2js.HowToModule; exports.HowToService = _chunk6T6QB6K2js.HowToService; exports.HttpMethod = _chunk6T6QB6K2js.HttpMethod; exports.InvoiceStatus = _chunk6T6QB6K2js.InvoiceStatus; exports.JsonApiDataFactory = _chunkW42MYR3Yjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunk6T6QB6K2js.MOBILE_BREAKPOINT; exports.Module = _chunk6T6QB6K2js.Module; exports.ModuleModule = _chunk6T6QB6K2js.ModuleModule; exports.ModulePaths = _chunk6T6QB6K2js.ModulePaths; exports.ModulePathsModule = _chunk6T6QB6K2js.ModulePathsModule; exports.ModuleRegistrar = _chunk6T6QB6K2js.ModuleRegistrar; exports.ModuleRegistry = _chunk6T6QB6K2js.ModuleRegistry; exports.Modules = _chunk6T6QB6K2js.Modules; exports.Notification = _chunk6T6QB6K2js.Notification; exports.NotificationFields = _chunk6T6QB6K2js.NotificationFields; exports.NotificationModule = _chunk6T6QB6K2js.NotificationModule; exports.NotificationService = _chunk6T6QB6K2js.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunk6T6QB6K2js.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunk6T6QB6K2js.OAuthClient; exports.OAuthModule = _chunk6T6QB6K2js.OAuthModule; exports.OAuthService = _chunk6T6QB6K2js.OAuthService; exports.Passkey = _chunk6T6QB6K2js.Passkey; exports.PasskeyAuthenticationOptions = _chunk6T6QB6K2js.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunk6T6QB6K2js.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunk6T6QB6K2js.PasskeyModule; exports.PasskeyRegistrationOptions = _chunk6T6QB6K2js.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunk6T6QB6K2js.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunk6T6QB6K2js.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunk6T6QB6K2js.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunk6T6QB6K2js.PasskeyRename; exports.PasskeyRenameModule = _chunk6T6QB6K2js.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunk6T6QB6K2js.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunk6T6QB6K2js.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunk6T6QB6K2js.PaymentMethod; exports.PermissionMapping = _chunk6T6QB6K2js.PermissionMapping; exports.PermissionMappingModule = _chunk6T6QB6K2js.PermissionMappingModule; exports.Push = _chunk6T6QB6K2js.Push; exports.PushModule = _chunk6T6QB6K2js.PushModule; exports.PushService = _chunk6T6QB6K2js.PushService; exports.RbacMatrixModel = _chunk6T6QB6K2js.RbacMatrixModel; exports.RbacMatrixModule = _chunk6T6QB6K2js.RbacMatrixModule; exports.RbacService = _chunkX2MQ3WHXjs.RbacService; exports.ReferralModule = _chunk6T6QB6K2js.ReferralModule; exports.ReferralService = _chunk6T6QB6K2js.ReferralService; exports.ReferralStats = _chunk6T6QB6K2js.ReferralStats; exports.ReferralStatsModule = _chunk6T6QB6K2js.ReferralStatsModule; exports.RehydrationFactory = _chunk6T6QB6K2js.RehydrationFactory; exports.Role = _chunk6T6QB6K2js.Role; exports.RoleFields = _chunk6T6QB6K2js.RoleFields; exports.RoleModule = _chunk6T6QB6K2js.RoleModule; exports.RoleService = _chunk6T6QB6K2js.RoleService; exports.S3 = _chunk6T6QB6K2js.S3; exports.S3Module = _chunk6T6QB6K2js.S3Module; exports.S3Service = _chunk6T6QB6K2js.S3Service; exports.StripeCustomer = _chunk6T6QB6K2js.StripeCustomer; exports.StripeCustomerModule = _chunk6T6QB6K2js.StripeCustomerModule; exports.StripeCustomerService = _chunk6T6QB6K2js.StripeCustomerService; exports.StripeInvoice = _chunk6T6QB6K2js.StripeInvoice; exports.StripeInvoiceModule = _chunk6T6QB6K2js.StripeInvoiceModule; exports.StripeInvoiceService = _chunk6T6QB6K2js.StripeInvoiceService; exports.StripePaymentMethodModule = _chunk6T6QB6K2js.StripePaymentMethodModule; exports.StripePrice = _chunk6T6QB6K2js.StripePrice; exports.StripePriceFields = _chunk6T6QB6K2js.StripePriceFields; exports.StripePriceModule = _chunk6T6QB6K2js.StripePriceModule; exports.StripePriceService = _chunk6T6QB6K2js.StripePriceService; exports.StripeProduct = _chunk6T6QB6K2js.StripeProduct; exports.StripeProductFields = _chunk6T6QB6K2js.StripeProductFields; exports.StripeProductModule = _chunk6T6QB6K2js.StripeProductModule; exports.StripeProductService = _chunk6T6QB6K2js.StripeProductService; exports.StripePromotionCode = _chunk6T6QB6K2js.StripePromotionCode; exports.StripePromotionCodeModule = _chunk6T6QB6K2js.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunk6T6QB6K2js.StripePromotionCodeService; exports.StripeSubscription = _chunk6T6QB6K2js.StripeSubscription; exports.StripeSubscriptionModule = _chunk6T6QB6K2js.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunk6T6QB6K2js.StripeSubscriptionService; exports.StripeUsage = _chunk6T6QB6K2js.StripeUsage; exports.StripeUsageModule = _chunk6T6QB6K2js.StripeUsageModule; exports.StripeUsageService = _chunk6T6QB6K2js.StripeUsageService; exports.SubscriptionStatus = _chunk6T6QB6K2js.SubscriptionStatus; exports.TableOptions = _chunk6T6QB6K2js.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunk6T6QB6K2js.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunk6T6QB6K2js.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunk6T6QB6K2js.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunk6T6QB6K2js.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunk6T6QB6K2js.TotpAuthenticatorModule; exports.TotpSetup = _chunk6T6QB6K2js.TotpSetup; exports.TotpSetupModule = _chunk6T6QB6K2js.TotpSetupModule; exports.TotpVerify = _chunk6T6QB6K2js.TotpVerify; exports.TotpVerifyLogin = _chunk6T6QB6K2js.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunk6T6QB6K2js.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunk6T6QB6K2js.TotpVerifyModule; exports.TwoFactorChallenge = _chunk6T6QB6K2js.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunk6T6QB6K2js.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunk6T6QB6K2js.TwoFactorEnable; exports.TwoFactorEnableModule = _chunk6T6QB6K2js.TwoFactorEnableModule; exports.TwoFactorService = _chunk6T6QB6K2js.TwoFactorService; exports.TwoFactorStatus = _chunk6T6QB6K2js.TwoFactorStatus; exports.TwoFactorStatusModule = _chunk6T6QB6K2js.TwoFactorStatusModule; exports.User = _chunk6T6QB6K2js.User; exports.UserFields = _chunk6T6QB6K2js.UserFields; exports.UserModule = _chunk6T6QB6K2js.UserModule; exports.UserService = _chunk6T6QB6K2js.UserService; exports.VIEWPORT_COOKIE_NAME = _chunk6T6QB6K2js.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunk6T6QB6K2js.Waitlist; exports.WaitlistModule = _chunk6T6QB6K2js.WaitlistModule; exports.WaitlistService = _chunk6T6QB6K2js.WaitlistService; exports.WaitlistStats = _chunk6T6QB6K2js.WaitlistStats; exports.WaitlistStatsModule = _chunk6T6QB6K2js.WaitlistStatsModule; exports.checkPermissions = _chunk6T6QB6K2js.checkPermissions; exports.checkPermissionsFromServer = _chunk6T6QB6K2js.checkPermissionsFromServer; exports.clearLastApiMeta = _chunk6T6QB6K2js.clearLastApiMeta; exports.clearLastApiTotal = _chunk6T6QB6K2js.clearLastApiTotal; exports.cn = _chunk6T6QB6K2js.cn; exports.composeRefs = _chunk6T6QB6K2js.composeRefs; exports.configureAuth = _chunk6T6QB6K2js.configureAuth; exports.configureI18n = _chunkX2MQ3WHXjs.configureI18n; exports.configureJsonApi = _chunkX2MQ3WHXjs.configureJsonApi; exports.configureLogin = _chunkX2MQ3WHXjs.configureLogin; exports.configureReferral = _chunkX2MQ3WHXjs.configureReferral; exports.configureRoles = _chunkX2MQ3WHXjs.configureRoles; exports.configureTokenUsage = _chunk6T6QB6K2js.configureTokenUsage; exports.configureWaitlist = _chunkX2MQ3WHXjs.configureWaitlist; exports.createJsonApiInclusion = _chunk6T6QB6K2js.createJsonApiInclusion; exports.dismissToast = _chunk6T6QB6K2js.dismissToast; exports.entityObjectSchema = _chunk6T6QB6K2js.entityObjectSchema; exports.exists = _chunk6T6QB6K2js.exists; exports.formatCodiceFiscale = _chunk6T6QB6K2js.formatCodiceFiscale; exports.formatDate = _chunk6T6QB6K2js.formatDate; exports.formatLocalDate = _chunk6T6QB6K2js.formatLocalDate; exports.formatPartitaIva = _chunk6T6QB6K2js.formatPartitaIva; exports.getApiUrl = _chunkX2MQ3WHXjs.getApiUrl; exports.getAppUrl = _chunkX2MQ3WHXjs.getAppUrl; exports.getBootstrapper = _chunkW42MYR3Yjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunk6T6QB6K2js.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunk6T6QB6K2js.getGlobalErrorHandler; exports.getIcon = _chunk6T6QB6K2js.getIcon; exports.getIconByModule = _chunk6T6QB6K2js.getIconByModule; exports.getIconByModuleName = _chunk6T6QB6K2js.getIconByModuleName; exports.getInitials = _chunk6T6QB6K2js.getInitials; exports.getLastApiMeta = _chunk6T6QB6K2js.getLastApiMeta; exports.getLastApiTotal = _chunk6T6QB6K2js.getLastApiTotal; exports.getLucideIcon = _chunk6T6QB6K2js.getLucideIcon; exports.getLucideIconByModule = _chunk6T6QB6K2js.getLucideIconByModule; exports.getLucideIconByModuleName = _chunk6T6QB6K2js.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkX2MQ3WHXjs.getPublicApiUrl; exports.getReferralConfig = _chunkX2MQ3WHXjs.getReferralConfig; exports.getRoleId = _chunkX2MQ3WHXjs.getRoleId; exports.getStripePublishableKey = _chunkX2MQ3WHXjs.getStripePublishableKey; exports.getTableComponents = _chunk6T6QB6K2js.getTableComponents; exports.getTableOptions = _chunk6T6QB6K2js.getTableOptions; exports.getTokenHandler = _chunk6T6QB6K2js.getTokenHandler; exports.getTokenUsageCurrency = _chunk6T6QB6K2js.getTokenUsageCurrency; exports.getTrackablePages = _chunkX2MQ3WHXjs.getTrackablePages; exports.getValueFromPath = _chunk6T6QB6K2js.getValueFromPath; exports.getWaitlistConfig = _chunkX2MQ3WHXjs.getWaitlistConfig; exports.hasBootstrapper = _chunkW42MYR3Yjs.hasBootstrapper; exports.isReferralEnabled = _chunkX2MQ3WHXjs.isReferralEnabled; exports.isRemoteImageSrc = _chunk6T6QB6K2js.isRemoteImageSrc; exports.isRolesConfigured = _chunkX2MQ3WHXjs.isRolesConfigured; exports.rehydrate = _chunk6T6QB6K2js.rehydrate; exports.rehydrateList = _chunk6T6QB6K2js.rehydrateList; exports.resetBootstrapStore = _chunkW42MYR3Yjs.resetBootstrapStore; exports.setBootstrapper = _chunkW42MYR3Yjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunk6T6QB6K2js.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunk6T6QB6K2js.setGlobalErrorHandler; exports.showCustomToast = _chunk6T6QB6K2js.showCustomToast; exports.showError = _chunk6T6QB6K2js.showError; exports.showToast = _chunk6T6QB6K2js.showToast; exports.tokenUsageModules = _chunk6T6QB6K2js.tokenUsageModules; exports.translateData = _chunkW42MYR3Yjs.translateData; exports.translateResponse = _chunkW42MYR3Yjs.translateResponse; exports.tryBootstrap = _chunkW42MYR3Yjs.tryBootstrap; exports.useComposedRefs = _chunk6T6QB6K2js.useComposedRefs; exports.useIsMobile = _chunk6T6QB6K2js.useIsMobile; exports.userObjectSchema = _chunk6T6QB6K2js.userObjectSchema; exports.validateCodiceFiscale = _chunk6T6QB6K2js.validateCodiceFiscale; exports.validateItalianTaxCode = _chunk6T6QB6K2js.validateItalianTaxCode; exports.validatePartitaIva = _chunk6T6QB6K2js.validatePartitaIva;
481
483
  //# 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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,2hcAAC","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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ymcAAC","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-RUEY6XSS.mjs";
21
+ } from "./chunk-RZDY4CIF.mjs";
22
22
  import {
23
23
  AVAILABLE_OAUTH_SCOPES,
24
24
  AbstractApiData,
@@ -52,6 +52,7 @@ import {
52
52
  BillingService,
53
53
  BlockNoteDiffUtil,
54
54
  BlockNoteWordDiffRendererUtil,
55
+ CURRENT_USER_STORAGE_KEY,
55
56
  Chunk,
56
57
  ChunkModule,
57
58
  ClientAbstractService,
@@ -225,7 +226,7 @@ import {
225
226
  validateCodiceFiscale,
226
227
  validateItalianTaxCode,
227
228
  validatePartitaIva
228
- } from "./chunk-KW6LYVFJ.mjs";
229
+ } from "./chunk-G6B7RZWJ.mjs";
229
230
  import "./chunk-AUXK7QSA.mjs";
230
231
  import "./chunk-C7C7VY4F.mjs";
231
232
  import {
@@ -276,6 +277,7 @@ export {
276
277
  BlockNoteDiffUtil,
277
278
  BlockNoteWordDiffRendererUtil,
278
279
  COMPANY_ADMINISTRATOR_ROLE_ID,
280
+ CURRENT_USER_STORAGE_KEY,
279
281
  Chunk,
280
282
  ChunkModule,
281
283
  ClientAbstractService,
@@ -15,7 +15,7 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkS2C5V2XZjs = require('../chunk-S2C5V2XZ.js');
18
+ var _chunk6T6QB6K2js = require('../chunk-6T6QB6K2.js');
19
19
  require('../chunk-LXKSUWAV.js');
20
20
  require('../chunk-IBS6NI7D.js');
21
21
 
@@ -87,7 +87,7 @@ var ServerSession = class {
87
87
  if (!rawModules) return false;
88
88
  const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
89
89
  const selectedModule = modules.find((module) => module.id === params.module.moduleId);
90
- return _chunkS2C5V2XZjs.checkPermissionsFromServer.call(void 0, {
90
+ return _chunk6T6QB6K2js.checkPermissionsFromServer.call(void 0, {
91
91
  module: params.module,
92
92
  action: params.action,
93
93
  data: params.data,
@@ -297,5 +297,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete")
297
297
 
298
298
 
299
299
 
300
- exports.ServerAuthService = _chunkS2C5V2XZjs.AuthService; exports.ServerCompanyService = _chunkS2C5V2XZjs.CompanyService; exports.ServerContentService = _chunkS2C5V2XZjs.ContentService; exports.ServerFeatureService = _chunkS2C5V2XZjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkS2C5V2XZjs.NotificationService; exports.ServerPushService = _chunkS2C5V2XZjs.PushService; exports.ServerRoleService = _chunkS2C5V2XZjs.RoleService; exports.ServerS3Service = _chunkS2C5V2XZjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkS2C5V2XZjs.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
+ exports.ServerAuthService = _chunk6T6QB6K2js.AuthService; exports.ServerCompanyService = _chunk6T6QB6K2js.CompanyService; exports.ServerContentService = _chunk6T6QB6K2js.ContentService; exports.ServerFeatureService = _chunk6T6QB6K2js.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunk6T6QB6K2js.NotificationService; exports.ServerPushService = _chunk6T6QB6K2js.PushService; exports.ServerRoleService = _chunk6T6QB6K2js.RoleService; exports.ServerS3Service = _chunk6T6QB6K2js.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunk6T6QB6K2js.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;
301
301
  //# sourceMappingURL=index.js.map
@@ -15,7 +15,7 @@ import {
15
15
  S3Service,
16
16
  UserService,
17
17
  checkPermissionsFromServer
18
- } from "../chunk-KW6LYVFJ.mjs";
18
+ } from "../chunk-G6B7RZWJ.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": "3.3.3",
3
+ "version": "3.3.4",
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",
@@ -2,10 +2,15 @@
2
2
 
3
3
  import { useEffect } from "react";
4
4
  import { usePageUrlGenerator } from "../../../../hooks";
5
+ import { CURRENT_USER_STORAGE_KEY } from "../../../user/data/user.storage";
5
6
  import { AuthService } from "../../data/auth.service";
6
7
  import { clearClientStorage } from "../../utils/clearClientStorage";
7
8
 
8
9
  interface LogoutProps {
10
+ /**
11
+ * Extra app-owned localStorage keys to drop alongside the session. The
12
+ * library's own `user` key is always cleared and does not need listing.
13
+ */
9
14
  storageKeys?: string[];
10
15
  }
11
16
 
@@ -14,9 +19,12 @@ export function Logout({ storageKeys }: LogoutProps) {
14
19
 
15
20
  useEffect(() => {
16
21
  const logOut = async () => {
17
- if (storageKeys?.length) {
18
- clearClientStorage(storageKeys);
19
- }
22
+ // `CurrentUserProvider` persists the user in localStorage, so clearing the
23
+ // cookies alone leaves the client believing the session is still alive:
24
+ // the server renders as anonymous while every `useCurrentUserContext()`
25
+ // consumer still reads the old user. The key belongs to this library, so
26
+ // clearing it is this component's job — never the consuming app's.
27
+ clearClientStorage([CURRENT_USER_STORAGE_KEY, ...(storageKeys ?? [])]);
20
28
  await AuthService.logout();
21
29
  window.location.href = generateUrl({ page: `/` });
22
30
  };
@@ -21,6 +21,7 @@ vi.mock("../../../utils/clearClientStorage", () => ({
21
21
  }));
22
22
 
23
23
  // Import mocked modules for assertions
24
+ import { CURRENT_USER_STORAGE_KEY } from "../../../../user/data/user.storage";
24
25
  import { AuthService } from "../../../data/auth.service";
25
26
  import { clearClientStorage } from "../../../utils/clearClientStorage";
26
27
 
@@ -53,8 +54,8 @@ describe("Logout", () => {
53
54
  });
54
55
 
55
56
  describe("Scenario: Clears storage when storageKeys provided", () => {
56
- it("should call clearClientStorage with provided keys before AuthService.logout", async () => {
57
- const storageKeys = ["user", "person", "recentPages"];
57
+ it("should call clearClientStorage with the user key plus the provided keys, before AuthService.logout", async () => {
58
+ const storageKeys = ["person", "recentPages"];
58
59
  const callOrder: string[] = [];
59
60
 
60
61
  vi.mocked(clearClientStorage).mockImplementation(() => {
@@ -67,7 +68,7 @@ describe("Logout", () => {
67
68
  render(<Logout storageKeys={storageKeys} />);
68
69
 
69
70
  await waitFor(() => {
70
- expect(clearClientStorage).toHaveBeenCalledWith(storageKeys);
71
+ expect(clearClientStorage).toHaveBeenCalledWith([CURRENT_USER_STORAGE_KEY, ...storageKeys]);
71
72
  });
72
73
 
73
74
  expect(AuthService.logout).toHaveBeenCalled();
@@ -76,7 +77,7 @@ describe("Logout", () => {
76
77
  });
77
78
 
78
79
  it("should redirect to home page after logout", async () => {
79
- const storageKeys = ["user"];
80
+ const storageKeys = ["person"];
80
81
 
81
82
  render(<Logout storageKeys={storageKeys} />);
82
83
 
@@ -86,25 +87,28 @@ describe("Logout", () => {
86
87
  });
87
88
  });
88
89
 
89
- describe("Scenario: Backward compatible without storageKeys", () => {
90
- it("should not call clearClientStorage when storageKeys is not provided", async () => {
90
+ // The persisted user belongs to this library, not to the consuming app: leaving
91
+ // it behind makes the client keep rendering a signed-in UI after the cookies are
92
+ // gone. Clearing it must never depend on the caller remembering to ask.
93
+ describe("Scenario: Always clears the persisted current user", () => {
94
+ it("should call clearClientStorage with the user key when storageKeys is not provided", async () => {
91
95
  render(<Logout />);
92
96
 
93
97
  await waitFor(() => {
94
98
  expect(AuthService.logout).toHaveBeenCalled();
95
99
  });
96
100
 
97
- expect(clearClientStorage).not.toHaveBeenCalled();
101
+ expect(clearClientStorage).toHaveBeenCalledWith([CURRENT_USER_STORAGE_KEY]);
98
102
  });
99
103
 
100
- it("should not call clearClientStorage when storageKeys is empty array", async () => {
104
+ it("should call clearClientStorage with the user key when storageKeys is an empty array", async () => {
101
105
  render(<Logout storageKeys={[]} />);
102
106
 
103
107
  await waitFor(() => {
104
108
  expect(AuthService.logout).toHaveBeenCalled();
105
109
  });
106
110
 
107
- expect(clearClientStorage).not.toHaveBeenCalled();
111
+ expect(clearClientStorage).toHaveBeenCalledWith([CURRENT_USER_STORAGE_KEY]);
108
112
  });
109
113
 
110
114
  it("should still redirect to home page without storageKeys", async () => {
@@ -13,6 +13,7 @@ import { CompanyInterface } from "../../company/data/company.interface";
13
13
  import { FeatureInterface } from "../../feature";
14
14
  import { RoleInterface } from "../../role";
15
15
  import { UserInterface, UserService } from "../data";
16
+ import { CURRENT_USER_STORAGE_KEY } from "../data/user.storage";
16
17
 
17
18
  export interface CurrentUserContextType<T extends UserInterface = UserInterface> {
18
19
  currentUser: T | null;
@@ -36,7 +37,7 @@ export interface CurrentUserContextType<T extends UserInterface = UserInterface>
36
37
  isRefreshing: boolean;
37
38
  }
38
39
 
39
- const userAtom = atomWithStorage("user", null);
40
+ const userAtom = atomWithStorage(CURRENT_USER_STORAGE_KEY, null);
40
41
 
41
42
  const CurrentUserContext = createContext<CurrentUserContextType | undefined>(undefined);
42
43
 
@@ -2,3 +2,4 @@ export * from "./user";
2
2
  export * from "./user.fields";
3
3
  export * from "./user.interface";
4
4
  export * from "./user.service";
5
+ export * from "./user.storage";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * localStorage key backing the `CurrentUserProvider` atom.
3
+ *
4
+ * Owned by this library, not by the apps that consume it: `<Logout />` clears
5
+ * it on every sign-out. Kept in its own module so both the provider that writes
6
+ * it and the component that clears it can reference the same constant without
7
+ * importing each other.
8
+ */
9
+ export const CURRENT_USER_STORAGE_KEY = "user";