@carlonicora/nextjs-jsonapi 3.19.0 → 3.20.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 (61) hide show
  1. package/dist/{BlockNoteEditor-GJL7LTMQ.js → BlockNoteEditor-2WFPGK64.js} +19 -19
  2. package/dist/{BlockNoteEditor-GJL7LTMQ.js.map → BlockNoteEditor-2WFPGK64.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-WZQZKCKW.mjs → BlockNoteEditor-CTRQ6JWE.mjs} +4 -4
  4. package/dist/{BlockNoteViewer-SVVAZ6TQ.js → BlockNoteViewer-XCGBX4ST.js} +3 -3
  5. package/dist/{BlockNoteViewer-SVVAZ6TQ.js.map → BlockNoteViewer-XCGBX4ST.js.map} +1 -1
  6. package/dist/{BlockNoteViewer-RK2RKOB7.mjs → BlockNoteViewer-ZY4ZF3HO.mjs} +2 -2
  7. package/dist/billing/index.js +401 -401
  8. package/dist/billing/index.mjs +3 -3
  9. package/dist/{chunk-URMAOAAZ.mjs → chunk-CJHBL5AN.mjs} +1711 -1482
  10. package/dist/chunk-CJHBL5AN.mjs.map +1 -0
  11. package/dist/{chunk-YCFPSXLK.mjs → chunk-CK47KSFV.mjs} +6 -1
  12. package/dist/{chunk-YCFPSXLK.mjs.map → chunk-CK47KSFV.mjs.map} +1 -1
  13. package/dist/{chunk-ISVZZLKG.js → chunk-IQMJAYCJ.js} +1162 -933
  14. package/dist/chunk-IQMJAYCJ.js.map +1 -0
  15. package/dist/{chunk-TBSMAL5Y.js → chunk-MWZCCOTS.js} +6 -1
  16. package/dist/chunk-MWZCCOTS.js.map +1 -0
  17. package/dist/{chunk-ODH2LYWC.js → chunk-SYQMVTIC.js} +7 -7
  18. package/dist/{chunk-ODH2LYWC.js.map → chunk-SYQMVTIC.js.map} +1 -1
  19. package/dist/{chunk-IALPADOD.mjs → chunk-U55JQ4NY.mjs} +2 -2
  20. package/dist/client/index.js +4 -4
  21. package/dist/client/index.mjs +3 -3
  22. package/dist/components/index.d.mts +24 -2
  23. package/dist/components/index.d.ts +24 -2
  24. package/dist/components/index.js +8 -4
  25. package/dist/components/index.js.map +1 -1
  26. package/dist/components/index.mjs +7 -3
  27. package/dist/contexts/index.js +4 -4
  28. package/dist/contexts/index.mjs +3 -3
  29. package/dist/core/index.d.mts +3 -0
  30. package/dist/core/index.d.ts +3 -0
  31. package/dist/core/index.js +2 -2
  32. package/dist/core/index.mjs +1 -1
  33. package/dist/features/help/index.js +37 -37
  34. package/dist/features/help/index.mjs +3 -3
  35. package/dist/features/tokenusage/index.js +101 -101
  36. package/dist/features/tokenusage/index.mjs +3 -3
  37. package/dist/index.js +3 -3
  38. package/dist/index.mjs +2 -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/components/forms/FormLayout.tsx +1 -5
  43. package/src/features/notification/components/containers/NotificationsListContainer.tsx +35 -18
  44. package/src/features/notification/components/filters/NotificationViewSwitcher.tsx +48 -0
  45. package/src/features/notification/components/filters/index.ts +1 -0
  46. package/src/features/notification/components/index.ts +1 -0
  47. package/src/features/notification/components/lists/NotificationsList.tsx +59 -104
  48. package/src/features/notification/components/modals/NotificationModal.tsx +97 -27
  49. package/src/features/notification/components/modals/__tests__/NotificationModal.spec.tsx +15 -4
  50. package/src/features/notification/components/notifications/Notification.tsx +19 -14
  51. package/src/features/notification/components/notifications/NotificationIcon.tsx +37 -0
  52. package/src/features/notification/components/notifications/index.ts +1 -0
  53. package/src/features/notification/data/notification.fields.ts +4 -0
  54. package/src/features/notification/hooks/useNotificationTableStructure.tsx +186 -0
  55. package/src/features/notification/notification.module.ts +2 -0
  56. package/dist/chunk-ISVZZLKG.js.map +0 -1
  57. package/dist/chunk-TBSMAL5Y.js.map +0 -1
  58. package/dist/chunk-URMAOAAZ.mjs.map +0 -1
  59. /package/dist/{BlockNoteEditor-WZQZKCKW.mjs.map → BlockNoteEditor-CTRQ6JWE.mjs.map} +0 -0
  60. /package/dist/{BlockNoteViewer-RK2RKOB7.mjs.map → BlockNoteViewer-ZY4ZF3HO.mjs.map} +0 -0
  61. /package/dist/{chunk-IALPADOD.mjs.map → chunk-U55JQ4NY.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- var _chunkODH2LYWCjs = require('./chunk-ODH2LYWC.js');
21
+ var _chunkSYQMVTICjs = require('./chunk-SYQMVTIC.js');
22
22
 
23
23
 
24
24
 
@@ -244,7 +244,7 @@ var _chunkODH2LYWCjs = require('./chunk-ODH2LYWC.js');
244
244
 
245
245
 
246
246
 
247
- var _chunkTBSMAL5Yjs = require('./chunk-TBSMAL5Y.js');
247
+ var _chunkMWZCCOTSjs = require('./chunk-MWZCCOTS.js');
248
248
  require('./chunk-LXKSUWAV.js');
249
249
  require('./chunk-IBS6NI7D.js');
250
250
 
@@ -515,5 +515,5 @@ require('./chunk-7QVYU63E.js');
515
515
 
516
516
 
517
517
 
518
- exports.ACTION_TYPES = _chunkODH2LYWCjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkTBSMAL5Yjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkTBSMAL5Yjs.AbstractApiData; exports.AbstractService = _chunkTBSMAL5Yjs.AbstractService; exports.Action = _chunkTBSMAL5Yjs.Action; exports.AiConnection = _chunkTBSMAL5Yjs.AiConnection; exports.AiConnectionFields = _chunkTBSMAL5Yjs.AiConnectionFields; exports.AiConnectionModule = _chunkTBSMAL5Yjs.AiConnectionModule; exports.AiConnectionService = _chunkTBSMAL5Yjs.AiConnectionService; exports.Assistant = _chunkTBSMAL5Yjs.Assistant; exports.AssistantAction = _chunkTBSMAL5Yjs.AssistantAction; exports.AssistantActionModule = _chunkTBSMAL5Yjs.AssistantActionModule; exports.AssistantActionService = _chunkTBSMAL5Yjs.AssistantActionService; exports.AssistantMessage = _chunkTBSMAL5Yjs.AssistantMessage; exports.AssistantMessageModule = _chunkTBSMAL5Yjs.AssistantMessageModule; exports.AssistantMessageService = _chunkTBSMAL5Yjs.AssistantMessageService; exports.AssistantModule = _chunkTBSMAL5Yjs.AssistantModule; exports.AssistantService = _chunkTBSMAL5Yjs.AssistantService; exports.AuditLog = _chunkTBSMAL5Yjs.AuditLog; exports.AuditLogModule = _chunkTBSMAL5Yjs.AuditLogModule; exports.AuditLogService = _chunkTBSMAL5Yjs.AuditLogService; exports.Auth = _chunkTBSMAL5Yjs.Auth; exports.AuthComponent = _chunkTBSMAL5Yjs.AuthComponent; exports.AuthModule = _chunkTBSMAL5Yjs.AuthModule; exports.AuthService = _chunkTBSMAL5Yjs.AuthService; exports.AuthorModule = _chunkTBSMAL5Yjs.AuthorModule; exports.BackupCodeVerify = _chunkTBSMAL5Yjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkTBSMAL5Yjs.BackupCodeVerifyModule; exports.Billing = _chunkTBSMAL5Yjs.Billing; exports.BillingModule = _chunkTBSMAL5Yjs.BillingModule; exports.BillingService = _chunkTBSMAL5Yjs.BillingService; exports.BlockNoteDiffUtil = _chunkTBSMAL5Yjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkTBSMAL5Yjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkODH2LYWCjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkTBSMAL5Yjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkTBSMAL5Yjs.Chunk; exports.ChunkModule = _chunkTBSMAL5Yjs.ChunkModule; exports.ClientAbstractService = _chunkTBSMAL5Yjs.ClientAbstractService; exports.ClientHttpMethod = _chunkTBSMAL5Yjs.ClientHttpMethod; exports.Company = _chunkTBSMAL5Yjs.Company; exports.CompanyFields = _chunkTBSMAL5Yjs.CompanyFields; exports.CompanyModule = _chunkTBSMAL5Yjs.CompanyModule; exports.CompanyService = _chunkTBSMAL5Yjs.CompanyService; exports.Content = _chunkTBSMAL5Yjs.Content; exports.ContentFields = _chunkTBSMAL5Yjs.ContentFields; exports.ContentModule = _chunkTBSMAL5Yjs.ContentModule; exports.ContentService = _chunkTBSMAL5Yjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkTBSMAL5Yjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLU7DJ4QFjs.DataClassRegistry; exports.DataClassRegistry = _chunkLU7DJ4QFjs.DataClassRegistry; exports.ENV = _chunkLU7DJ4QFjs.ENV; exports.EndpointCreator = _chunkTBSMAL5Yjs.EndpointCreator; exports.EntityAiStatus = _chunkTBSMAL5Yjs.EntityAiStatus; exports.Feature = _chunkTBSMAL5Yjs.Feature; exports.FeatureModule = _chunkTBSMAL5Yjs.FeatureModule; exports.FeatureService = _chunkTBSMAL5Yjs.FeatureService; exports.HandbookPage = _chunkTBSMAL5Yjs.HandbookPage; exports.HandbookPageFields = _chunkTBSMAL5Yjs.HandbookPageFields; exports.HandbookPageModule = _chunkTBSMAL5Yjs.HandbookPageModule; exports.HandbookPageService = _chunkTBSMAL5Yjs.HandbookPageService; exports.HandbookSection = _chunkTBSMAL5Yjs.HandbookSection; exports.HandbookSectionModule = _chunkTBSMAL5Yjs.HandbookSectionModule; exports.HandbookSectionService = _chunkTBSMAL5Yjs.HandbookSectionService; exports.HandbookThread = _chunkTBSMAL5Yjs.HandbookThread; exports.HandbookThreadMessage = _chunkTBSMAL5Yjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkTBSMAL5Yjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkTBSMAL5Yjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkTBSMAL5Yjs.HandbookThreadModule; exports.HandbookThreadService = _chunkTBSMAL5Yjs.HandbookThreadService; exports.HowTo = _chunkTBSMAL5Yjs.HowTo; exports.HowToFields = _chunkTBSMAL5Yjs.HowToFields; exports.HowToModule = _chunkTBSMAL5Yjs.HowToModule; exports.HowToService = _chunkTBSMAL5Yjs.HowToService; exports.HttpMethod = _chunkTBSMAL5Yjs.HttpMethod; exports.InvoiceStatus = _chunkTBSMAL5Yjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLU7DJ4QFjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkTBSMAL5Yjs.MOBILE_BREAKPOINT; exports.Module = _chunkTBSMAL5Yjs.Module; exports.ModuleModule = _chunkTBSMAL5Yjs.ModuleModule; exports.ModulePaths = _chunkTBSMAL5Yjs.ModulePaths; exports.ModulePathsModule = _chunkTBSMAL5Yjs.ModulePathsModule; exports.ModuleRegistrar = _chunkTBSMAL5Yjs.ModuleRegistrar; exports.ModuleRegistry = _chunkTBSMAL5Yjs.ModuleRegistry; exports.Modules = _chunkTBSMAL5Yjs.Modules; exports.Notification = _chunkTBSMAL5Yjs.Notification; exports.NotificationFields = _chunkTBSMAL5Yjs.NotificationFields; exports.NotificationModule = _chunkTBSMAL5Yjs.NotificationModule; exports.NotificationService = _chunkTBSMAL5Yjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkTBSMAL5Yjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkTBSMAL5Yjs.OAuthClient; exports.OAuthModule = _chunkTBSMAL5Yjs.OAuthModule; exports.OAuthService = _chunkTBSMAL5Yjs.OAuthService; exports.Passkey = _chunkTBSMAL5Yjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkTBSMAL5Yjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkTBSMAL5Yjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkTBSMAL5Yjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkTBSMAL5Yjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkTBSMAL5Yjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkTBSMAL5Yjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkTBSMAL5Yjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkTBSMAL5Yjs.PasskeyRename; exports.PasskeyRenameModule = _chunkTBSMAL5Yjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkTBSMAL5Yjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkTBSMAL5Yjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkTBSMAL5Yjs.PaymentMethod; exports.PermissionMapping = _chunkTBSMAL5Yjs.PermissionMapping; exports.PermissionMappingModule = _chunkTBSMAL5Yjs.PermissionMappingModule; exports.Push = _chunkTBSMAL5Yjs.Push; exports.PushModule = _chunkTBSMAL5Yjs.PushModule; exports.PushService = _chunkTBSMAL5Yjs.PushService; exports.RbacMatrixModel = _chunkTBSMAL5Yjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkTBSMAL5Yjs.RbacMatrixModule; exports.RbacService = _chunkODH2LYWCjs.RbacService; exports.ReferralModule = _chunkTBSMAL5Yjs.ReferralModule; exports.ReferralService = _chunkTBSMAL5Yjs.ReferralService; exports.ReferralStats = _chunkTBSMAL5Yjs.ReferralStats; exports.ReferralStatsModule = _chunkTBSMAL5Yjs.ReferralStatsModule; exports.RehydrationFactory = _chunkTBSMAL5Yjs.RehydrationFactory; exports.Role = _chunkTBSMAL5Yjs.Role; exports.RoleFields = _chunkTBSMAL5Yjs.RoleFields; exports.RoleModule = _chunkTBSMAL5Yjs.RoleModule; exports.RoleService = _chunkTBSMAL5Yjs.RoleService; exports.S3 = _chunkTBSMAL5Yjs.S3; exports.S3Module = _chunkTBSMAL5Yjs.S3Module; exports.S3Service = _chunkTBSMAL5Yjs.S3Service; exports.StripeCustomer = _chunkTBSMAL5Yjs.StripeCustomer; exports.StripeCustomerModule = _chunkTBSMAL5Yjs.StripeCustomerModule; exports.StripeCustomerService = _chunkTBSMAL5Yjs.StripeCustomerService; exports.StripeInvoice = _chunkTBSMAL5Yjs.StripeInvoice; exports.StripeInvoiceModule = _chunkTBSMAL5Yjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkTBSMAL5Yjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkTBSMAL5Yjs.StripePaymentMethodModule; exports.StripePrice = _chunkTBSMAL5Yjs.StripePrice; exports.StripePriceFields = _chunkTBSMAL5Yjs.StripePriceFields; exports.StripePriceModule = _chunkTBSMAL5Yjs.StripePriceModule; exports.StripePriceService = _chunkTBSMAL5Yjs.StripePriceService; exports.StripeProduct = _chunkTBSMAL5Yjs.StripeProduct; exports.StripeProductFields = _chunkTBSMAL5Yjs.StripeProductFields; exports.StripeProductModule = _chunkTBSMAL5Yjs.StripeProductModule; exports.StripeProductService = _chunkTBSMAL5Yjs.StripeProductService; exports.StripePromotionCode = _chunkTBSMAL5Yjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkTBSMAL5Yjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkTBSMAL5Yjs.StripePromotionCodeService; exports.StripeSubscription = _chunkTBSMAL5Yjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkTBSMAL5Yjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkTBSMAL5Yjs.StripeSubscriptionService; exports.StripeUsage = _chunkTBSMAL5Yjs.StripeUsage; exports.StripeUsageModule = _chunkTBSMAL5Yjs.StripeUsageModule; exports.StripeUsageService = _chunkTBSMAL5Yjs.StripeUsageService; exports.SubscriptionStatus = _chunkTBSMAL5Yjs.SubscriptionStatus; exports.TableOptions = _chunkTBSMAL5Yjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkTBSMAL5Yjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkTBSMAL5Yjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkTBSMAL5Yjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkTBSMAL5Yjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkTBSMAL5Yjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkTBSMAL5Yjs.TotpSetup; exports.TotpSetupModule = _chunkTBSMAL5Yjs.TotpSetupModule; exports.TotpVerify = _chunkTBSMAL5Yjs.TotpVerify; exports.TotpVerifyLogin = _chunkTBSMAL5Yjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkTBSMAL5Yjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkTBSMAL5Yjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkTBSMAL5Yjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkTBSMAL5Yjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkTBSMAL5Yjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkTBSMAL5Yjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkTBSMAL5Yjs.TwoFactorService; exports.TwoFactorStatus = _chunkTBSMAL5Yjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkTBSMAL5Yjs.TwoFactorStatusModule; exports.User = _chunkTBSMAL5Yjs.User; exports.UserFields = _chunkTBSMAL5Yjs.UserFields; exports.UserModule = _chunkTBSMAL5Yjs.UserModule; exports.UserService = _chunkTBSMAL5Yjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkTBSMAL5Yjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkTBSMAL5Yjs.Waitlist; exports.WaitlistModule = _chunkTBSMAL5Yjs.WaitlistModule; exports.WaitlistService = _chunkTBSMAL5Yjs.WaitlistService; exports.WaitlistStats = _chunkTBSMAL5Yjs.WaitlistStats; exports.WaitlistStatsModule = _chunkTBSMAL5Yjs.WaitlistStatsModule; exports.checkPermissions = _chunkTBSMAL5Yjs.checkPermissions; exports.checkPermissionsFromServer = _chunkTBSMAL5Yjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkTBSMAL5Yjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkTBSMAL5Yjs.clearLastApiTotal; exports.cn = _chunkTBSMAL5Yjs.cn; exports.composeRefs = _chunkTBSMAL5Yjs.composeRefs; exports.configureAuth = _chunkTBSMAL5Yjs.configureAuth; exports.configureI18n = _chunkODH2LYWCjs.configureI18n; exports.configureJsonApi = _chunkODH2LYWCjs.configureJsonApi; exports.configureLogin = _chunkODH2LYWCjs.configureLogin; exports.configureReferral = _chunkODH2LYWCjs.configureReferral; exports.configureRoles = _chunkODH2LYWCjs.configureRoles; exports.configureTokenUsage = _chunkTBSMAL5Yjs.configureTokenUsage; exports.configureWaitlist = _chunkODH2LYWCjs.configureWaitlist; exports.createJsonApiInclusion = _chunkTBSMAL5Yjs.createJsonApiInclusion; exports.dismissToast = _chunkTBSMAL5Yjs.dismissToast; exports.entityObjectSchema = _chunkTBSMAL5Yjs.entityObjectSchema; exports.exists = _chunkTBSMAL5Yjs.exists; exports.formatCodiceFiscale = _chunkTBSMAL5Yjs.formatCodiceFiscale; exports.formatDate = _chunkTBSMAL5Yjs.formatDate; exports.formatLocalDate = _chunkTBSMAL5Yjs.formatLocalDate; exports.formatPartitaIva = _chunkTBSMAL5Yjs.formatPartitaIva; exports.getApiUrl = _chunkODH2LYWCjs.getApiUrl; exports.getAppUrl = _chunkODH2LYWCjs.getAppUrl; exports.getBootstrapper = _chunkLU7DJ4QFjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkTBSMAL5Yjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkTBSMAL5Yjs.getGlobalErrorHandler; exports.getIcon = _chunkTBSMAL5Yjs.getIcon; exports.getIconByModule = _chunkTBSMAL5Yjs.getIconByModule; exports.getIconByModuleName = _chunkTBSMAL5Yjs.getIconByModuleName; exports.getInitials = _chunkTBSMAL5Yjs.getInitials; exports.getLastApiMeta = _chunkTBSMAL5Yjs.getLastApiMeta; exports.getLastApiTotal = _chunkTBSMAL5Yjs.getLastApiTotal; exports.getLucideIcon = _chunkTBSMAL5Yjs.getLucideIcon; exports.getLucideIconByModule = _chunkTBSMAL5Yjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkTBSMAL5Yjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkODH2LYWCjs.getPublicApiUrl; exports.getReferralConfig = _chunkODH2LYWCjs.getReferralConfig; exports.getRoleId = _chunkODH2LYWCjs.getRoleId; exports.getStripePublishableKey = _chunkODH2LYWCjs.getStripePublishableKey; exports.getTableComponents = _chunkTBSMAL5Yjs.getTableComponents; exports.getTableOptions = _chunkTBSMAL5Yjs.getTableOptions; exports.getTokenHandler = _chunkTBSMAL5Yjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkTBSMAL5Yjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkODH2LYWCjs.getTrackablePages; exports.getValueFromPath = _chunkTBSMAL5Yjs.getValueFromPath; exports.getWaitlistConfig = _chunkODH2LYWCjs.getWaitlistConfig; exports.handbookPageContent = _chunkTBSMAL5Yjs.handbookPageContent; exports.handbookPageSummary = _chunkTBSMAL5Yjs.handbookPageSummary; exports.handbookPageTitle = _chunkTBSMAL5Yjs.handbookPageTitle; exports.handbookSectionSummary = _chunkTBSMAL5Yjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkTBSMAL5Yjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLU7DJ4QFjs.hasBootstrapper; exports.isReferralEnabled = _chunkODH2LYWCjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkTBSMAL5Yjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkODH2LYWCjs.isRolesConfigured; exports.rehydrate = _chunkTBSMAL5Yjs.rehydrate; exports.rehydrateList = _chunkTBSMAL5Yjs.rehydrateList; exports.resetBootstrapStore = _chunkLU7DJ4QFjs.resetBootstrapStore; exports.setBootstrapper = _chunkLU7DJ4QFjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkTBSMAL5Yjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkTBSMAL5Yjs.setGlobalErrorHandler; exports.showCustomToast = _chunkTBSMAL5Yjs.showCustomToast; exports.showError = _chunkTBSMAL5Yjs.showError; exports.showToast = _chunkTBSMAL5Yjs.showToast; exports.tokenUsageModules = _chunkTBSMAL5Yjs.tokenUsageModules; exports.translateData = _chunkLU7DJ4QFjs.translateData; exports.translateResponse = _chunkLU7DJ4QFjs.translateResponse; exports.tryBootstrap = _chunkLU7DJ4QFjs.tryBootstrap; exports.useComposedRefs = _chunkTBSMAL5Yjs.useComposedRefs; exports.useIsMobile = _chunkTBSMAL5Yjs.useIsMobile; exports.userObjectSchema = _chunkTBSMAL5Yjs.userObjectSchema; exports.validateCodiceFiscale = _chunkTBSMAL5Yjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkTBSMAL5Yjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkTBSMAL5Yjs.validatePartitaIva;
518
+ exports.ACTION_TYPES = _chunkSYQMVTICjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkMWZCCOTSjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkMWZCCOTSjs.AbstractApiData; exports.AbstractService = _chunkMWZCCOTSjs.AbstractService; exports.Action = _chunkMWZCCOTSjs.Action; exports.AiConnection = _chunkMWZCCOTSjs.AiConnection; exports.AiConnectionFields = _chunkMWZCCOTSjs.AiConnectionFields; exports.AiConnectionModule = _chunkMWZCCOTSjs.AiConnectionModule; exports.AiConnectionService = _chunkMWZCCOTSjs.AiConnectionService; exports.Assistant = _chunkMWZCCOTSjs.Assistant; exports.AssistantAction = _chunkMWZCCOTSjs.AssistantAction; exports.AssistantActionModule = _chunkMWZCCOTSjs.AssistantActionModule; exports.AssistantActionService = _chunkMWZCCOTSjs.AssistantActionService; exports.AssistantMessage = _chunkMWZCCOTSjs.AssistantMessage; exports.AssistantMessageModule = _chunkMWZCCOTSjs.AssistantMessageModule; exports.AssistantMessageService = _chunkMWZCCOTSjs.AssistantMessageService; exports.AssistantModule = _chunkMWZCCOTSjs.AssistantModule; exports.AssistantService = _chunkMWZCCOTSjs.AssistantService; exports.AuditLog = _chunkMWZCCOTSjs.AuditLog; exports.AuditLogModule = _chunkMWZCCOTSjs.AuditLogModule; exports.AuditLogService = _chunkMWZCCOTSjs.AuditLogService; exports.Auth = _chunkMWZCCOTSjs.Auth; exports.AuthComponent = _chunkMWZCCOTSjs.AuthComponent; exports.AuthModule = _chunkMWZCCOTSjs.AuthModule; exports.AuthService = _chunkMWZCCOTSjs.AuthService; exports.AuthorModule = _chunkMWZCCOTSjs.AuthorModule; exports.BackupCodeVerify = _chunkMWZCCOTSjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkMWZCCOTSjs.BackupCodeVerifyModule; exports.Billing = _chunkMWZCCOTSjs.Billing; exports.BillingModule = _chunkMWZCCOTSjs.BillingModule; exports.BillingService = _chunkMWZCCOTSjs.BillingService; exports.BlockNoteDiffUtil = _chunkMWZCCOTSjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkMWZCCOTSjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkSYQMVTICjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkMWZCCOTSjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkMWZCCOTSjs.Chunk; exports.ChunkModule = _chunkMWZCCOTSjs.ChunkModule; exports.ClientAbstractService = _chunkMWZCCOTSjs.ClientAbstractService; exports.ClientHttpMethod = _chunkMWZCCOTSjs.ClientHttpMethod; exports.Company = _chunkMWZCCOTSjs.Company; exports.CompanyFields = _chunkMWZCCOTSjs.CompanyFields; exports.CompanyModule = _chunkMWZCCOTSjs.CompanyModule; exports.CompanyService = _chunkMWZCCOTSjs.CompanyService; exports.Content = _chunkMWZCCOTSjs.Content; exports.ContentFields = _chunkMWZCCOTSjs.ContentFields; exports.ContentModule = _chunkMWZCCOTSjs.ContentModule; exports.ContentService = _chunkMWZCCOTSjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkMWZCCOTSjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLU7DJ4QFjs.DataClassRegistry; exports.DataClassRegistry = _chunkLU7DJ4QFjs.DataClassRegistry; exports.ENV = _chunkLU7DJ4QFjs.ENV; exports.EndpointCreator = _chunkMWZCCOTSjs.EndpointCreator; exports.EntityAiStatus = _chunkMWZCCOTSjs.EntityAiStatus; exports.Feature = _chunkMWZCCOTSjs.Feature; exports.FeatureModule = _chunkMWZCCOTSjs.FeatureModule; exports.FeatureService = _chunkMWZCCOTSjs.FeatureService; exports.HandbookPage = _chunkMWZCCOTSjs.HandbookPage; exports.HandbookPageFields = _chunkMWZCCOTSjs.HandbookPageFields; exports.HandbookPageModule = _chunkMWZCCOTSjs.HandbookPageModule; exports.HandbookPageService = _chunkMWZCCOTSjs.HandbookPageService; exports.HandbookSection = _chunkMWZCCOTSjs.HandbookSection; exports.HandbookSectionModule = _chunkMWZCCOTSjs.HandbookSectionModule; exports.HandbookSectionService = _chunkMWZCCOTSjs.HandbookSectionService; exports.HandbookThread = _chunkMWZCCOTSjs.HandbookThread; exports.HandbookThreadMessage = _chunkMWZCCOTSjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkMWZCCOTSjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkMWZCCOTSjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkMWZCCOTSjs.HandbookThreadModule; exports.HandbookThreadService = _chunkMWZCCOTSjs.HandbookThreadService; exports.HowTo = _chunkMWZCCOTSjs.HowTo; exports.HowToFields = _chunkMWZCCOTSjs.HowToFields; exports.HowToModule = _chunkMWZCCOTSjs.HowToModule; exports.HowToService = _chunkMWZCCOTSjs.HowToService; exports.HttpMethod = _chunkMWZCCOTSjs.HttpMethod; exports.InvoiceStatus = _chunkMWZCCOTSjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLU7DJ4QFjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkMWZCCOTSjs.MOBILE_BREAKPOINT; exports.Module = _chunkMWZCCOTSjs.Module; exports.ModuleModule = _chunkMWZCCOTSjs.ModuleModule; exports.ModulePaths = _chunkMWZCCOTSjs.ModulePaths; exports.ModulePathsModule = _chunkMWZCCOTSjs.ModulePathsModule; exports.ModuleRegistrar = _chunkMWZCCOTSjs.ModuleRegistrar; exports.ModuleRegistry = _chunkMWZCCOTSjs.ModuleRegistry; exports.Modules = _chunkMWZCCOTSjs.Modules; exports.Notification = _chunkMWZCCOTSjs.Notification; exports.NotificationFields = _chunkMWZCCOTSjs.NotificationFields; exports.NotificationModule = _chunkMWZCCOTSjs.NotificationModule; exports.NotificationService = _chunkMWZCCOTSjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkMWZCCOTSjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkMWZCCOTSjs.OAuthClient; exports.OAuthModule = _chunkMWZCCOTSjs.OAuthModule; exports.OAuthService = _chunkMWZCCOTSjs.OAuthService; exports.Passkey = _chunkMWZCCOTSjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkMWZCCOTSjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkMWZCCOTSjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkMWZCCOTSjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkMWZCCOTSjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkMWZCCOTSjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkMWZCCOTSjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkMWZCCOTSjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkMWZCCOTSjs.PasskeyRename; exports.PasskeyRenameModule = _chunkMWZCCOTSjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkMWZCCOTSjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkMWZCCOTSjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkMWZCCOTSjs.PaymentMethod; exports.PermissionMapping = _chunkMWZCCOTSjs.PermissionMapping; exports.PermissionMappingModule = _chunkMWZCCOTSjs.PermissionMappingModule; exports.Push = _chunkMWZCCOTSjs.Push; exports.PushModule = _chunkMWZCCOTSjs.PushModule; exports.PushService = _chunkMWZCCOTSjs.PushService; exports.RbacMatrixModel = _chunkMWZCCOTSjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkMWZCCOTSjs.RbacMatrixModule; exports.RbacService = _chunkSYQMVTICjs.RbacService; exports.ReferralModule = _chunkMWZCCOTSjs.ReferralModule; exports.ReferralService = _chunkMWZCCOTSjs.ReferralService; exports.ReferralStats = _chunkMWZCCOTSjs.ReferralStats; exports.ReferralStatsModule = _chunkMWZCCOTSjs.ReferralStatsModule; exports.RehydrationFactory = _chunkMWZCCOTSjs.RehydrationFactory; exports.Role = _chunkMWZCCOTSjs.Role; exports.RoleFields = _chunkMWZCCOTSjs.RoleFields; exports.RoleModule = _chunkMWZCCOTSjs.RoleModule; exports.RoleService = _chunkMWZCCOTSjs.RoleService; exports.S3 = _chunkMWZCCOTSjs.S3; exports.S3Module = _chunkMWZCCOTSjs.S3Module; exports.S3Service = _chunkMWZCCOTSjs.S3Service; exports.StripeCustomer = _chunkMWZCCOTSjs.StripeCustomer; exports.StripeCustomerModule = _chunkMWZCCOTSjs.StripeCustomerModule; exports.StripeCustomerService = _chunkMWZCCOTSjs.StripeCustomerService; exports.StripeInvoice = _chunkMWZCCOTSjs.StripeInvoice; exports.StripeInvoiceModule = _chunkMWZCCOTSjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkMWZCCOTSjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkMWZCCOTSjs.StripePaymentMethodModule; exports.StripePrice = _chunkMWZCCOTSjs.StripePrice; exports.StripePriceFields = _chunkMWZCCOTSjs.StripePriceFields; exports.StripePriceModule = _chunkMWZCCOTSjs.StripePriceModule; exports.StripePriceService = _chunkMWZCCOTSjs.StripePriceService; exports.StripeProduct = _chunkMWZCCOTSjs.StripeProduct; exports.StripeProductFields = _chunkMWZCCOTSjs.StripeProductFields; exports.StripeProductModule = _chunkMWZCCOTSjs.StripeProductModule; exports.StripeProductService = _chunkMWZCCOTSjs.StripeProductService; exports.StripePromotionCode = _chunkMWZCCOTSjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkMWZCCOTSjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkMWZCCOTSjs.StripePromotionCodeService; exports.StripeSubscription = _chunkMWZCCOTSjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkMWZCCOTSjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkMWZCCOTSjs.StripeSubscriptionService; exports.StripeUsage = _chunkMWZCCOTSjs.StripeUsage; exports.StripeUsageModule = _chunkMWZCCOTSjs.StripeUsageModule; exports.StripeUsageService = _chunkMWZCCOTSjs.StripeUsageService; exports.SubscriptionStatus = _chunkMWZCCOTSjs.SubscriptionStatus; exports.TableOptions = _chunkMWZCCOTSjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkMWZCCOTSjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkMWZCCOTSjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkMWZCCOTSjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkMWZCCOTSjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkMWZCCOTSjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkMWZCCOTSjs.TotpSetup; exports.TotpSetupModule = _chunkMWZCCOTSjs.TotpSetupModule; exports.TotpVerify = _chunkMWZCCOTSjs.TotpVerify; exports.TotpVerifyLogin = _chunkMWZCCOTSjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkMWZCCOTSjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkMWZCCOTSjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkMWZCCOTSjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkMWZCCOTSjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkMWZCCOTSjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkMWZCCOTSjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkMWZCCOTSjs.TwoFactorService; exports.TwoFactorStatus = _chunkMWZCCOTSjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkMWZCCOTSjs.TwoFactorStatusModule; exports.User = _chunkMWZCCOTSjs.User; exports.UserFields = _chunkMWZCCOTSjs.UserFields; exports.UserModule = _chunkMWZCCOTSjs.UserModule; exports.UserService = _chunkMWZCCOTSjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkMWZCCOTSjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkMWZCCOTSjs.Waitlist; exports.WaitlistModule = _chunkMWZCCOTSjs.WaitlistModule; exports.WaitlistService = _chunkMWZCCOTSjs.WaitlistService; exports.WaitlistStats = _chunkMWZCCOTSjs.WaitlistStats; exports.WaitlistStatsModule = _chunkMWZCCOTSjs.WaitlistStatsModule; exports.checkPermissions = _chunkMWZCCOTSjs.checkPermissions; exports.checkPermissionsFromServer = _chunkMWZCCOTSjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkMWZCCOTSjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkMWZCCOTSjs.clearLastApiTotal; exports.cn = _chunkMWZCCOTSjs.cn; exports.composeRefs = _chunkMWZCCOTSjs.composeRefs; exports.configureAuth = _chunkMWZCCOTSjs.configureAuth; exports.configureI18n = _chunkSYQMVTICjs.configureI18n; exports.configureJsonApi = _chunkSYQMVTICjs.configureJsonApi; exports.configureLogin = _chunkSYQMVTICjs.configureLogin; exports.configureReferral = _chunkSYQMVTICjs.configureReferral; exports.configureRoles = _chunkSYQMVTICjs.configureRoles; exports.configureTokenUsage = _chunkMWZCCOTSjs.configureTokenUsage; exports.configureWaitlist = _chunkSYQMVTICjs.configureWaitlist; exports.createJsonApiInclusion = _chunkMWZCCOTSjs.createJsonApiInclusion; exports.dismissToast = _chunkMWZCCOTSjs.dismissToast; exports.entityObjectSchema = _chunkMWZCCOTSjs.entityObjectSchema; exports.exists = _chunkMWZCCOTSjs.exists; exports.formatCodiceFiscale = _chunkMWZCCOTSjs.formatCodiceFiscale; exports.formatDate = _chunkMWZCCOTSjs.formatDate; exports.formatLocalDate = _chunkMWZCCOTSjs.formatLocalDate; exports.formatPartitaIva = _chunkMWZCCOTSjs.formatPartitaIva; exports.getApiUrl = _chunkSYQMVTICjs.getApiUrl; exports.getAppUrl = _chunkSYQMVTICjs.getAppUrl; exports.getBootstrapper = _chunkLU7DJ4QFjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkMWZCCOTSjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkMWZCCOTSjs.getGlobalErrorHandler; exports.getIcon = _chunkMWZCCOTSjs.getIcon; exports.getIconByModule = _chunkMWZCCOTSjs.getIconByModule; exports.getIconByModuleName = _chunkMWZCCOTSjs.getIconByModuleName; exports.getInitials = _chunkMWZCCOTSjs.getInitials; exports.getLastApiMeta = _chunkMWZCCOTSjs.getLastApiMeta; exports.getLastApiTotal = _chunkMWZCCOTSjs.getLastApiTotal; exports.getLucideIcon = _chunkMWZCCOTSjs.getLucideIcon; exports.getLucideIconByModule = _chunkMWZCCOTSjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkMWZCCOTSjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkSYQMVTICjs.getPublicApiUrl; exports.getReferralConfig = _chunkSYQMVTICjs.getReferralConfig; exports.getRoleId = _chunkSYQMVTICjs.getRoleId; exports.getStripePublishableKey = _chunkSYQMVTICjs.getStripePublishableKey; exports.getTableComponents = _chunkMWZCCOTSjs.getTableComponents; exports.getTableOptions = _chunkMWZCCOTSjs.getTableOptions; exports.getTokenHandler = _chunkMWZCCOTSjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkMWZCCOTSjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkSYQMVTICjs.getTrackablePages; exports.getValueFromPath = _chunkMWZCCOTSjs.getValueFromPath; exports.getWaitlistConfig = _chunkSYQMVTICjs.getWaitlistConfig; exports.handbookPageContent = _chunkMWZCCOTSjs.handbookPageContent; exports.handbookPageSummary = _chunkMWZCCOTSjs.handbookPageSummary; exports.handbookPageTitle = _chunkMWZCCOTSjs.handbookPageTitle; exports.handbookSectionSummary = _chunkMWZCCOTSjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkMWZCCOTSjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLU7DJ4QFjs.hasBootstrapper; exports.isReferralEnabled = _chunkSYQMVTICjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkMWZCCOTSjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkSYQMVTICjs.isRolesConfigured; exports.rehydrate = _chunkMWZCCOTSjs.rehydrate; exports.rehydrateList = _chunkMWZCCOTSjs.rehydrateList; exports.resetBootstrapStore = _chunkLU7DJ4QFjs.resetBootstrapStore; exports.setBootstrapper = _chunkLU7DJ4QFjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkMWZCCOTSjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkMWZCCOTSjs.setGlobalErrorHandler; exports.showCustomToast = _chunkMWZCCOTSjs.showCustomToast; exports.showError = _chunkMWZCCOTSjs.showError; exports.showToast = _chunkMWZCCOTSjs.showToast; exports.tokenUsageModules = _chunkMWZCCOTSjs.tokenUsageModules; exports.translateData = _chunkLU7DJ4QFjs.translateData; exports.translateResponse = _chunkLU7DJ4QFjs.translateResponse; exports.tryBootstrap = _chunkLU7DJ4QFjs.tryBootstrap; exports.useComposedRefs = _chunkMWZCCOTSjs.useComposedRefs; exports.useIsMobile = _chunkMWZCCOTSjs.useIsMobile; exports.userObjectSchema = _chunkMWZCCOTSjs.userObjectSchema; exports.validateCodiceFiscale = _chunkMWZCCOTSjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkMWZCCOTSjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkMWZCCOTSjs.validatePartitaIva;
519
519
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  getWaitlistConfig,
19
19
  isReferralEnabled,
20
20
  isRolesConfigured
21
- } from "./chunk-IALPADOD.mjs";
21
+ } from "./chunk-U55JQ4NY.mjs";
22
22
  import {
23
23
  AVAILABLE_OAUTH_SCOPES,
24
24
  AbstractApiData,
@@ -244,7 +244,7 @@ import {
244
244
  validateCodiceFiscale,
245
245
  validateItalianTaxCode,
246
246
  validatePartitaIva
247
- } from "./chunk-YCFPSXLK.mjs";
247
+ } from "./chunk-CK47KSFV.mjs";
248
248
  import "./chunk-AUXK7QSA.mjs";
249
249
  import "./chunk-C7C7VY4F.mjs";
250
250
  import {
@@ -15,7 +15,7 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkTBSMAL5Yjs = require('../chunk-TBSMAL5Y.js');
18
+ var _chunkMWZCCOTSjs = require('../chunk-MWZCCOTS.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 _chunkTBSMAL5Yjs.checkPermissionsFromServer.call(void 0, {
90
+ return _chunkMWZCCOTSjs.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 = _chunkTBSMAL5Yjs.AuthService; exports.ServerCompanyService = _chunkTBSMAL5Yjs.CompanyService; exports.ServerContentService = _chunkTBSMAL5Yjs.ContentService; exports.ServerFeatureService = _chunkTBSMAL5Yjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkTBSMAL5Yjs.NotificationService; exports.ServerPushService = _chunkTBSMAL5Yjs.PushService; exports.ServerRoleService = _chunkTBSMAL5Yjs.RoleService; exports.ServerS3Service = _chunkTBSMAL5Yjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkTBSMAL5Yjs.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 = _chunkMWZCCOTSjs.AuthService; exports.ServerCompanyService = _chunkMWZCCOTSjs.CompanyService; exports.ServerContentService = _chunkMWZCCOTSjs.ContentService; exports.ServerFeatureService = _chunkMWZCCOTSjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkMWZCCOTSjs.NotificationService; exports.ServerPushService = _chunkMWZCCOTSjs.PushService; exports.ServerRoleService = _chunkMWZCCOTSjs.RoleService; exports.ServerS3Service = _chunkMWZCCOTSjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkMWZCCOTSjs.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-YCFPSXLK.mjs";
18
+ } from "../chunk-CK47KSFV.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.19.0",
3
+ "version": "3.20.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",
@@ -35,11 +35,7 @@ export function FormRow({
35
35
  className?: string;
36
36
  }) {
37
37
  const columnClass = columns === 4 ? "md:grid-cols-4" : columns === 3 ? "md:grid-cols-3" : "md:grid-cols-2";
38
- return (
39
- <div className={cn("grid grid-cols-1 gap-x-4 gap-y-4", columnClass, className)}>
40
- {children}
41
- </div>
42
- );
38
+ return <div className={cn("grid grid-cols-1 gap-x-4 gap-y-4", columnClass, className)}>{children}</div>;
43
39
  }
44
40
 
45
41
  // FormCol — column span for a child inside FormRow (replaces <div className="md:col-span-2">)
@@ -1,14 +1,20 @@
1
1
  "use client";
2
2
 
3
- import { useTranslations } from "next-intl";
4
- import { Tab, TabsContainer } from "../../../../components";
3
+ import { useSearchParams } from "next/navigation";
4
+ import { useState } from "react";
5
+ import { RoundPageContainer } from "../../../../components/containers/RoundPageContainer";
5
6
  import { useNotificationContext } from "../../contexts/NotificationContext";
6
7
  import { NotificationErrorBoundary } from "../common";
8
+ import { NotificationViewMode, NotificationViewSwitcher } from "../filters/NotificationViewSwitcher";
7
9
  import { NotificationsList } from "../lists/NotificationsList";
10
+ import { Modules } from "../../../../core";
8
11
 
9
12
  function NotificationsListContainerContent() {
10
- const t = useTranslations();
11
- const { notifications: _notifications, isLoading: _isLoading, error } = useNotificationContext();
13
+ const searchParams = useSearchParams();
14
+ const { error } = useNotificationContext();
15
+
16
+ const tabParam = searchParams.get("tab");
17
+ const [mode, setMode] = useState<NotificationViewMode>(tabParam === "archived" ? "archived" : "inbox");
12
18
 
13
19
  if (error) {
14
20
  return (
@@ -21,24 +27,35 @@ function NotificationsListContainerContent() {
21
27
  );
22
28
  }
23
29
 
24
- const tabs: Tab[] = [
25
- {
26
- label: t(`notification.inbox`),
27
- content: <NotificationsList archived={false} />,
28
- },
29
- {
30
- label: t(`notification.archived`),
31
- content: <NotificationsList archived={true} />,
32
- },
33
- ];
30
+ /* `replaceState` rather than a router push: the tab is a view preference, so
31
+ it belongs in the URL for reload/share but must not add a history entry
32
+ per toggle. */
33
+ const handleModeChange = (next: NotificationViewMode) => {
34
+ setMode(next);
35
+ const url = new URL(window.location.href);
36
+ url.searchParams.set("tab", next);
37
+ window.history.replaceState(null, "", url.toString());
38
+ };
34
39
 
35
- return <TabsContainer tabs={tabs} />;
40
+ return (
41
+ <NotificationsList
42
+ key={mode}
43
+ archived={mode === "archived"}
44
+ fullWidth
45
+ headerControl={<NotificationViewSwitcher value={mode} onChange={handleModeChange} />}
46
+ />
47
+ );
36
48
  }
37
49
 
38
50
  export function NotificationsListContainer() {
39
51
  return (
40
- <NotificationErrorBoundary>
41
- <NotificationsListContainerContent />
42
- </NotificationErrorBoundary>
52
+ /* `fullWidth` without `forceHeader`: the page header is ContentListTable's
53
+ own title row, which is where the Inbox/Archived switcher lives. Adding
54
+ `forceHeader` would stack a second bar with the same title above it. */
55
+ <RoundPageContainer module={Modules.Notification} fullWidth>
56
+ <NotificationErrorBoundary>
57
+ <NotificationsListContainerContent />
58
+ </NotificationErrorBoundary>
59
+ </RoundPageContainer>
43
60
  );
44
61
  }
@@ -0,0 +1,48 @@
1
+ "use client";
2
+
3
+ import { useTranslations } from "next-intl";
4
+ import { cn } from "../../../../utils";
5
+
6
+ export type NotificationViewMode = "inbox" | "archived";
7
+
8
+ const MODES: { key: NotificationViewMode; labelKey: string }[] = [
9
+ { key: "inbox", labelKey: "notification.inbox" },
10
+ { key: "archived", labelKey: "notification.archived" },
11
+ ];
12
+
13
+ type NotificationViewSwitcherProps = {
14
+ value: NotificationViewMode;
15
+ onChange: (mode: NotificationViewMode) => void;
16
+ };
17
+
18
+ /**
19
+ * Inbox / Archived selector for the notifications list header.
20
+ *
21
+ * A segmented control rather than a `TabsList`: it sits inside
22
+ * `ContentListTable`'s title row, which is the page header on a `fullWidth`
23
+ * `RoundPageContainer`, and a full-height tab strip does not fit there.
24
+ */
25
+ export function NotificationViewSwitcher({ value, onChange }: NotificationViewSwitcherProps) {
26
+ const t = useTranslations();
27
+
28
+ return (
29
+ <div className="bg-muted inline-flex items-center rounded-md p-0.5">
30
+ {MODES.map((mode) => (
31
+ <button
32
+ key={mode.key}
33
+ type="button"
34
+ data-testid={`notification-view-${mode.key}`}
35
+ onClick={() => onChange(mode.key)}
36
+ className={cn(
37
+ "rounded-sm px-3 py-1 text-xs font-medium whitespace-nowrap transition-colors",
38
+ value === mode.key
39
+ ? "bg-background text-foreground shadow-sm"
40
+ : "text-muted-foreground hover:text-foreground",
41
+ )}
42
+ >
43
+ {t(mode.labelKey)}
44
+ </button>
45
+ ))}
46
+ </div>
47
+ );
48
+ }
@@ -0,0 +1 @@
1
+ export * from "./NotificationViewSwitcher";
@@ -1,5 +1,6 @@
1
1
  export * from "./common";
2
2
  export * from "./containers";
3
+ export * from "./filters";
3
4
  export * from "./lists";
4
5
  export * from "./modals";
5
6
  export * from "./notifications";
@@ -1,130 +1,85 @@
1
1
  "use client";
2
2
 
3
- import { ArchiveIcon } from "lucide-react";
4
3
  import { useTranslations } from "next-intl";
4
+ import { ReactNode, useEffect, useRef } from "react";
5
+ import { ContentListTable } from "../../../../components/tables/ContentListTable";
5
6
  import { Modules } from "../../../../core";
6
7
  import { DataListRetriever, useDataListRetriever, usePageUrlGenerator } from "../../../../hooks";
7
- import {
8
- Button,
9
- Card,
10
- CardContent,
11
- Link,
12
- Skeleton,
13
- Tooltip,
14
- TooltipContent,
15
- TooltipTrigger,
16
- } from "../../../../shadcnui";
17
- import { UserAvatar } from "../../../user/components";
8
+ import { useI18nRouter } from "../../../../i18n";
9
+ import { useNotificationContext } from "../../contexts/NotificationContext";
18
10
  import { NotificationInterface } from "../../data";
11
+ import { NotificationFields } from "../../data/notification.fields";
19
12
  import { NotificationService } from "../../data/notification.service";
13
+ import "../../hooks/useNotificationTableStructure";
20
14
  import { generateNotificationData } from "../notifications/Notification";
21
15
 
22
16
  type NotificationsListProps = {
23
17
  archived: boolean;
18
+ headerControl?: ReactNode;
19
+ fullWidth?: boolean;
24
20
  };
25
21
 
26
- export function NotificationsList({ archived }: NotificationsListProps) {
22
+ export function NotificationsList({ archived, headerControl, fullWidth }: NotificationsListProps) {
27
23
  const t = useTranslations();
24
+ const router = useI18nRouter();
28
25
  const generateUrl = usePageUrlGenerator();
26
+ const { markNotificationsAsRead } = useNotificationContext();
29
27
 
30
28
  const data: DataListRetriever<NotificationInterface> = useDataListRetriever({
29
+ module: Modules.Notification,
31
30
  retriever: (params) => NotificationService.findMany(params),
32
31
  retrieverParams: { isArchived: archived },
33
- module: Modules.Notification,
34
32
  });
35
33
 
36
- const archiveNotification = async (notification: NotificationInterface) => {
37
- await NotificationService.archive({ id: notification.id });
38
- data.removeElement(notification);
39
- };
34
+ /* Mark read what this list ACTUALLY SHOWS, on every page. Reading the shared
35
+ context's list instead would only ever cover the bell's first page, so
36
+ anything reached by paging forward would stay unread permanently.
40
37
 
41
- const LoadingSkeleton = () => (
42
- <div className="space-y-4">
43
- {Array.from({ length: 3 }).map((_, i) => (
44
- <Card key={i}>
45
- <CardContent className="p-2">
46
- <div className="flex w-full flex-row items-center">
47
- <Skeleton className="me-4 h-8 w-8 rounded-full" />
48
- <div className="flex-1 space-y-2">
49
- <Skeleton className="h-4 w-3/4" />
50
- <Skeleton className="h-3 w-1/2" />
51
- </div>
52
- <Skeleton className="h-8 w-20" />
53
- </div>
54
- </CardContent>
55
- </Card>
56
- ))}
57
- </div>
58
- );
38
+ `markedRef` guards the loop: `markNotificationsAsRead` refreshes the shared
39
+ context, which re-renders this component, and `data.data` is not
40
+ guaranteed to be reference-stable across renders. Tracking the ids already
41
+ sent means a second pass finds nothing to do regardless of identity. */
42
+ const markedRef = useRef<Set<string>>(new Set<string>());
59
43
 
60
- return (
61
- <div className="space-y-4">
62
- {data.isLoaded ? (
63
- (data.data as NotificationInterface[])?.map((notification: NotificationInterface) => {
64
- const notificationData = generateNotificationData({ notification: notification, generateUrl: generateUrl });
44
+ useEffect(() => {
45
+ if (!data.isLoaded || !data.data) return;
46
+
47
+ const unreadIds = data.data
48
+ .filter((notification) => !notification.isRead && !markedRef.current.has(notification.id))
49
+ .map((notification) => notification.id);
65
50
 
66
- return (
67
- <Card key={notification.id}>
68
- <CardContent className="p-0">
69
- <div className={`flex w-full flex-row items-center p-2`}>
70
- {notificationData.actor ? (
71
- <div className="flex w-12 max-w-12 px-2">
72
- <Link href={generateUrl({ page: Modules.User, id: notificationData.actor.id })}>
73
- <UserAvatar user={notificationData.actor} className="h-8 w-8" />
74
- </Link>
75
- </div>
76
- ) : (
77
- <div className="flex w-14 max-w-14 px-2"></div>
78
- )}
79
- <div className="flex w-full flex-col">
80
- <p className="text-sm">
81
- {t.rich(`notification.${notification.notificationType}.description` as any, {
82
- strong: (chunks: any) => <strong>{chunks}</strong>,
83
- actor: notificationData.actor?.name ?? "",
84
- title: notificationData.title,
85
- })}
86
- </p>
87
- <div className="text-muted-foreground mt-1 w-full text-xs">
88
- {new Date(notification.createdAt).toLocaleString()}
89
- </div>
90
- </div>
91
- <div className="flex flex-row items-center">
92
- {notificationData.url ? (
93
- <Link href={notificationData.url}>
94
- <Button variant={`outline`} size={`sm`} onClick={(e) => e.stopPropagation()}>
95
- {t(`notification.${notification.notificationType}.buttons.action` as any)}
96
- </Button>
97
- </Link>
98
- ) : (
99
- <></>
100
- )}
101
- {!archived && (
102
- <Tooltip>
103
- <TooltipTrigger>
104
- <Button
105
- variant={`link`}
106
- onClick={(e) => {
107
- e.preventDefault();
108
- e.stopPropagation();
109
- archiveNotification(notification);
110
- }}
111
- className="text-muted-foreground hover:text-destructive ms-2"
112
- >
113
- <ArchiveIcon className="h-4 w-4 cursor-pointer" />
114
- </Button>
115
- </TooltipTrigger>
116
- <TooltipContent>{t(`notification.buttons.archive`)}</TooltipContent>
117
- </Tooltip>
118
- )}
119
- </div>
120
- </div>
121
- </CardContent>
122
- </Card>
123
- );
124
- })
125
- ) : (
126
- <LoadingSkeleton />
127
- )}
128
- </div>
51
+ if (unreadIds.length === 0) return;
52
+
53
+ unreadIds.forEach((id) => markedRef.current.add(id));
54
+ markNotificationsAsRead(unreadIds);
55
+ }, [data.isLoaded, data.data, markNotificationsAsRead]);
56
+
57
+ /* The whole row is the click target, matching the popover row — which is a
58
+ `Link` wrapping its entire body. */
59
+ const openNotification = (notification: NotificationInterface) => {
60
+ const url = generateNotificationData({ notification: notification, generateUrl: generateUrl }).url;
61
+ if (url) router.push(url);
62
+ };
63
+
64
+ return (
65
+ <ContentListTable
66
+ data={data}
67
+ fields={[
68
+ NotificationFields.icon,
69
+ NotificationFields.description,
70
+ NotificationFields.createdAt,
71
+ NotificationFields.actions,
72
+ ]}
73
+ tableGeneratorType={Modules.Notification}
74
+ title={t(`entities.notifications`, { count: 2 })}
75
+ filters={headerControl}
76
+ /* The notifications endpoint takes no search term, so rendering the box
77
+ would give the page a control that silently does nothing. */
78
+ allowSearch={false}
79
+ context={{ archived: archived }}
80
+ onRowClick={openNotification}
81
+ emptyState={t(`notification.empty`)}
82
+ fullWidth={fullWidth}
83
+ />
129
84
  );
130
85
  }