@jmruthers/pace-core 0.5.91 → 0.5.93

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 (159) hide show
  1. package/dist/{DataTable-VIP44OB6.js → DataTable-HC5S4RKB.js} +6 -6
  2. package/dist/{PublicLoadingSpinner-Dx5c2g3S.d.ts → PublicLoadingSpinner-n74JgA9h.d.ts} +50 -1
  3. package/dist/{UnifiedAuthProvider-6JRTOFPS.js → UnifiedAuthProvider-ZM7VUC45.js} +3 -3
  4. package/dist/{chunk-G2SCPUKC.js → chunk-6WFM22A4.js} +2 -2
  5. package/dist/{chunk-AIV3VYBQ.js → chunk-AAM57AEU.js} +4 -2
  6. package/dist/chunk-AAM57AEU.js.map +1 -0
  7. package/dist/{chunk-7XBW2P7B.js → chunk-AYC2P377.js} +2 -2
  8. package/dist/{chunk-GD3ENUKD.js → chunk-AZ2QJYKU.js} +3 -3
  9. package/dist/{chunk-G2YT64FA.js → chunk-GP3HU6WS.js} +3 -3
  10. package/dist/{chunk-7NIERLC6.js → chunk-HW5BGOWB.js} +4 -4
  11. package/dist/{chunk-JDPFQV3V.js → chunk-M52CQP5W.js} +4 -4
  12. package/dist/{chunk-JQWSAYZC.js → chunk-OXFOS62D.js} +2 -2
  13. package/dist/{chunk-VJJNZKHO.js → chunk-SVMPR5IV.js} +365 -293
  14. package/dist/chunk-SVMPR5IV.js.map +1 -0
  15. package/dist/{chunk-4DYK5KCK.js → chunk-TZXYSZT3.js} +4 -4
  16. package/dist/{chunk-XZHZYSAK.js → chunk-XIBSVWJW.js} +5 -5
  17. package/dist/components.d.ts +1 -1
  18. package/dist/components.js +10 -8
  19. package/dist/components.js.map +1 -1
  20. package/dist/hooks.js +7 -7
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +13 -11
  23. package/dist/index.js.map +1 -1
  24. package/dist/providers.js +2 -2
  25. package/dist/rbac/index.js +7 -7
  26. package/dist/utils.js +1 -1
  27. package/docs/api/classes/ColumnFactory.md +1 -1
  28. package/docs/api/classes/ErrorBoundary.md +1 -1
  29. package/docs/api/classes/InvalidScopeError.md +1 -1
  30. package/docs/api/classes/MissingUserContextError.md +1 -1
  31. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  32. package/docs/api/classes/PermissionDeniedError.md +1 -1
  33. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  34. package/docs/api/classes/RBACAuditManager.md +1 -1
  35. package/docs/api/classes/RBACCache.md +1 -1
  36. package/docs/api/classes/RBACEngine.md +1 -1
  37. package/docs/api/classes/RBACError.md +1 -1
  38. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  39. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  40. package/docs/api/classes/StorageUtils.md +1 -1
  41. package/docs/api/enums/FileCategory.md +1 -1
  42. package/docs/api/interfaces/AggregateConfig.md +1 -1
  43. package/docs/api/interfaces/ButtonProps.md +1 -1
  44. package/docs/api/interfaces/CardProps.md +1 -1
  45. package/docs/api/interfaces/ColorPalette.md +1 -1
  46. package/docs/api/interfaces/ColorShade.md +1 -1
  47. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  48. package/docs/api/interfaces/DataRecord.md +1 -1
  49. package/docs/api/interfaces/DataTableAction.md +1 -1
  50. package/docs/api/interfaces/DataTableColumn.md +1 -1
  51. package/docs/api/interfaces/DataTableProps.md +1 -1
  52. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  53. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  54. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  55. package/docs/api/interfaces/EventLogoProps.md +1 -1
  56. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  57. package/docs/api/interfaces/FileMetadata.md +1 -1
  58. package/docs/api/interfaces/FileReference.md +1 -1
  59. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  60. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  61. package/docs/api/interfaces/FileUploadProps.md +1 -1
  62. package/docs/api/interfaces/FooterProps.md +1 -1
  63. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  64. package/docs/api/interfaces/InputProps.md +1 -1
  65. package/docs/api/interfaces/LabelProps.md +1 -1
  66. package/docs/api/interfaces/LoginFormProps.md +1 -1
  67. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  68. package/docs/api/interfaces/NavigationContextType.md +1 -1
  69. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  70. package/docs/api/interfaces/NavigationItem.md +1 -1
  71. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  72. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  73. package/docs/api/interfaces/Organisation.md +1 -1
  74. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  75. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  76. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  77. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  78. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  79. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  80. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  81. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  82. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  83. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  84. package/docs/api/interfaces/PaletteData.md +1 -1
  85. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  86. package/docs/api/interfaces/ProtectedRouteProps.md +97 -0
  87. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  88. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  89. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  90. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  91. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  92. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  93. package/docs/api/interfaces/RBACConfig.md +1 -1
  94. package/docs/api/interfaces/RBACLogger.md +1 -1
  95. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  96. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  97. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  98. package/docs/api/interfaces/RouteConfig.md +1 -1
  99. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  100. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  101. package/docs/api/interfaces/StorageConfig.md +1 -1
  102. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  103. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  104. package/docs/api/interfaces/StorageListOptions.md +1 -1
  105. package/docs/api/interfaces/StorageListResult.md +1 -1
  106. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  107. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  108. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  109. package/docs/api/interfaces/StyleImport.md +1 -1
  110. package/docs/api/interfaces/SwitchProps.md +1 -1
  111. package/docs/api/interfaces/ToastActionElement.md +1 -1
  112. package/docs/api/interfaces/ToastProps.md +1 -1
  113. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  114. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  115. package/docs/api/interfaces/UseEventLogoOptions.md +1 -1
  116. package/docs/api/interfaces/UseEventLogoReturn.md +1 -1
  117. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  118. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  119. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  120. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  121. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  122. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  123. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  124. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  125. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  126. package/docs/api/interfaces/UserEventAccess.md +1 -1
  127. package/docs/api/interfaces/UserMenuProps.md +1 -1
  128. package/docs/api/interfaces/UserProfile.md +1 -1
  129. package/docs/api/modules.md +41 -5
  130. package/docs/api-reference/components.md +146 -1
  131. package/docs/best-practices/common-patterns.md +26 -8
  132. package/docs/getting-started/examples/README.md +10 -26
  133. package/docs/getting-started/quick-reference.md +23 -0
  134. package/docs/implementation-guides/authentication.md +39 -16
  135. package/package.json +1 -1
  136. package/src/components/EventSelector/EventSelector.tsx +19 -1
  137. package/src/components/ProtectedRoute/ProtectedRoute.tsx +224 -0
  138. package/src/components/ProtectedRoute/README.md +164 -0
  139. package/src/components/ProtectedRoute/index.ts +3 -0
  140. package/src/components/PublicLayout/EventLogo.tsx +8 -2
  141. package/src/components/PublicLayout/PublicPageHeader.tsx +7 -12
  142. package/src/components/PublicLayout/__tests__/PublicPageHeader.test.tsx +6 -3
  143. package/src/components/index.ts +4 -1
  144. package/src/index.ts +3 -0
  145. package/src/providers/AuthProvider.simplified.tsx +108 -14
  146. package/src/services/EventService.ts +6 -1
  147. package/dist/chunk-AIV3VYBQ.js.map +0 -1
  148. package/dist/chunk-VJJNZKHO.js.map +0 -1
  149. /package/dist/{DataTable-VIP44OB6.js.map → DataTable-HC5S4RKB.js.map} +0 -0
  150. /package/dist/{UnifiedAuthProvider-6JRTOFPS.js.map → UnifiedAuthProvider-ZM7VUC45.js.map} +0 -0
  151. /package/dist/{chunk-G2SCPUKC.js.map → chunk-6WFM22A4.js.map} +0 -0
  152. /package/dist/{chunk-7XBW2P7B.js.map → chunk-AYC2P377.js.map} +0 -0
  153. /package/dist/{chunk-GD3ENUKD.js.map → chunk-AZ2QJYKU.js.map} +0 -0
  154. /package/dist/{chunk-G2YT64FA.js.map → chunk-GP3HU6WS.js.map} +0 -0
  155. /package/dist/{chunk-7NIERLC6.js.map → chunk-HW5BGOWB.js.map} +0 -0
  156. /package/dist/{chunk-JDPFQV3V.js.map → chunk-M52CQP5W.js.map} +0 -0
  157. /package/dist/{chunk-JQWSAYZC.js.map → chunk-OXFOS62D.js.map} +0 -0
  158. /package/dist/{chunk-4DYK5KCK.js.map → chunk-TZXYSZT3.js.map} +0 -0
  159. /package/dist/{chunk-XZHZYSAK.js.map → chunk-XIBSVWJW.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / OrganisationSecurityError
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / OrganisationSecurityError
2
2
 
3
3
  # Interface: OrganisationSecurityError
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PaceAppLayoutProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PaceAppLayoutProps
2
2
 
3
3
  # Interface: PaceAppLayoutProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PaceLoginPageProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PaceLoginPageProps
2
2
 
3
3
  # Interface: PaceLoginPageProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PageAccessRecord
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PageAccessRecord
2
2
 
3
3
  # Interface: PageAccessRecord
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PagePermissionContextType
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PagePermissionContextType
2
2
 
3
3
  # Interface: PagePermissionContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PagePermissionGuardProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PagePermissionGuardProps
2
2
 
3
3
  # Interface: PagePermissionGuardProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PagePermissionProviderProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PagePermissionProviderProps
2
2
 
3
3
  # Interface: PagePermissionProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PaletteData
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PaletteData
2
2
 
3
3
  # Interface: PaletteData
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PermissionEnforcerProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PermissionEnforcerProps
2
2
 
3
3
  # Interface: PermissionEnforcerProps
4
4
 
@@ -0,0 +1,97 @@
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / ProtectedRouteProps
2
+
3
+ # Interface: ProtectedRouteProps
4
+
5
+ ## Table of contents
6
+
7
+ ### Properties
8
+
9
+ - [requireEvent](ProtectedRouteProps.md#requireevent)
10
+ - [allowSuperAdminBypass](ProtectedRouteProps.md#allowsuperadminbypass)
11
+ - [noEventsFallback](ProtectedRouteProps.md#noeventsfallback)
12
+ - [loadingFallback](ProtectedRouteProps.md#loadingfallback)
13
+ - [loginPath](ProtectedRouteProps.md#loginpath)
14
+
15
+ ## Properties
16
+
17
+ ### requireEvent
18
+
19
+ • `Optional` **requireEvent**: `boolean`
20
+
21
+ Whether an event is required for routes inside this component.
22
+ When true, routes will only render if an event is selected or can be selected.
23
+ When false, routes render regardless of event state.
24
+
25
+ **`Default`**
26
+
27
+ ```ts
28
+ true
29
+ ```
30
+
31
+ #### Defined in
32
+
33
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:87](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L87)
34
+
35
+ ___
36
+
37
+ ### allowSuperAdminBypass
38
+
39
+ • `Optional` **allowSuperAdminBypass**: `boolean`
40
+
41
+ Whether super admins can bypass event requirement.
42
+ Note: This feature requires additional RBAC setup. For simple bypass, set requireEvent={false} instead.
43
+
44
+ **`Default`**
45
+
46
+ ```ts
47
+ false
48
+ @deprecated Use requireEvent={false} for routes that don't need events
49
+ ```
50
+
51
+ #### Defined in
52
+
53
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:95](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L95)
54
+
55
+ ___
56
+
57
+ ### noEventsFallback
58
+
59
+ • `Optional` **noEventsFallback**: `ReactNode`
60
+
61
+ Custom component to render when no events are available.
62
+ If not provided, a default message is shown.
63
+
64
+ #### Defined in
65
+
66
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:101](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L101)
67
+
68
+ ___
69
+
70
+ ### loadingFallback
71
+
72
+ • `Optional` **loadingFallback**: `ReactNode`
73
+
74
+ Custom component to render while events are loading.
75
+ If not provided, a default loading spinner is shown.
76
+
77
+ #### Defined in
78
+
79
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:107](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L107)
80
+
81
+ ___
82
+
83
+ ### loginPath
84
+
85
+ • `Optional` **loginPath**: `string`
86
+
87
+ Login redirect path when user is not authenticated.
88
+
89
+ **`Default`**
90
+
91
+ ```ts
92
+ '/login'
93
+ ```
94
+
95
+ #### Defined in
96
+
97
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:113](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L113)
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicErrorBoundaryProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicErrorBoundaryProps
2
2
 
3
3
  # Interface: PublicErrorBoundaryProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicErrorBoundaryState
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicErrorBoundaryState
2
2
 
3
3
  # Interface: PublicErrorBoundaryState
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicLoadingSpinnerProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicLoadingSpinnerProps
2
2
 
3
3
  # Interface: PublicLoadingSpinnerProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicPageFooterProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicPageFooterProps
2
2
 
3
3
  # Interface: PublicPageFooterProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicPageHeaderProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicPageHeaderProps
2
2
 
3
3
  # Interface: PublicPageHeaderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / PublicPageLayoutProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / PublicPageLayoutProps
2
2
 
3
3
  # Interface: PublicPageLayoutProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RBACConfig
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RBACConfig
2
2
 
3
3
  # Interface: RBACConfig
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RBACLogger
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RBACLogger
2
2
 
3
3
  # Interface: RBACLogger
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RoleBasedRouterContextType
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RoleBasedRouterContextType
2
2
 
3
3
  # Interface: RoleBasedRouterContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RoleBasedRouterProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RoleBasedRouterProps
2
2
 
3
3
  # Interface: RoleBasedRouterProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RouteAccessRecord
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RouteAccessRecord
2
2
 
3
3
  # Interface: RouteAccessRecord
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / RouteConfig
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / RouteConfig
2
2
 
3
3
  # Interface: RouteConfig
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / SecureDataContextType
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / SecureDataContextType
2
2
 
3
3
  # Interface: SecureDataContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / SecureDataProviderProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / SecureDataProviderProps
2
2
 
3
3
  # Interface: SecureDataProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageConfig
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageConfig
2
2
 
3
3
  # Interface: StorageConfig
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageFileInfo
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageFileInfo
2
2
 
3
3
  # Interface: StorageFileInfo
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageFileMetadata
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageFileMetadata
2
2
 
3
3
  # Interface: StorageFileMetadata
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageListOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageListOptions
2
2
 
3
3
  # Interface: StorageListOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageListResult
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageListResult
2
2
 
3
3
  # Interface: StorageListResult
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageUploadOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageUploadOptions
2
2
 
3
3
  # Interface: StorageUploadOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageUploadResult
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageUploadResult
2
2
 
3
3
  # Interface: StorageUploadResult
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StorageUrlOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StorageUrlOptions
2
2
 
3
3
  # Interface: StorageUrlOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / StyleImport
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / StyleImport
2
2
 
3
3
  # Interface: StyleImport
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / SwitchProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / SwitchProps
2
2
 
3
3
  # Interface: SwitchProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / ToastActionElement
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / ToastActionElement
2
2
 
3
3
  # Interface: ToastActionElement
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / ToastProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / ToastProps
2
2
 
3
3
  # Interface: ToastProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
2
2
 
3
3
  # Interface: UnifiedAuthContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
2
2
 
3
3
  # Interface: UnifiedAuthProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseEventLogoOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseEventLogoOptions
2
2
 
3
3
  # Interface: UseEventLogoOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseEventLogoReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseEventLogoReturn
2
2
 
3
3
  # Interface: UseEventLogoReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
2
2
 
3
3
  # Interface: UseInactivityTrackerOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
2
2
 
3
3
  # Interface: UseInactivityTrackerReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UsePublicEventLogoOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UsePublicEventLogoOptions
2
2
 
3
3
  # Interface: UsePublicEventLogoOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UsePublicEventLogoReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UsePublicEventLogoReturn
2
2
 
3
3
  # Interface: UsePublicEventLogoReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
2
2
 
3
3
  # Interface: UsePublicEventOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
2
2
 
3
3
  # Interface: UsePublicEventReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
2
2
 
3
3
  # Interface: UsePublicRouteParamsReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
2
2
 
3
3
  # Interface: UseResolvedScopeOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
2
2
 
3
3
  # Interface: UseResolvedScopeReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UserEventAccess
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UserEventAccess
2
2
 
3
3
  # Interface: UserEventAccess
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UserMenuProps
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UserMenuProps
2
2
 
3
3
  # Interface: UserMenuProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.91](../README.md) / [Exports](../modules.md) / UserProfile
1
+ [@jmruthers/pace-core - v0.5.93](../README.md) / [Exports](../modules.md) / UserProfile
2
2
 
3
3
  # Interface: UserProfile
4
4
 
@@ -1,6 +1,6 @@
1
- [@jmruthers/pace-core - v0.5.91](README.md) / Exports
1
+ [@jmruthers/pace-core - v0.5.93](README.md) / Exports
2
2
 
3
- # @jmruthers/pace-core - v0.5.91
3
+ # @jmruthers/pace-core - v0.5.93
4
4
 
5
5
  **`File`**
6
6
 
@@ -72,6 +72,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
72
72
  - [NavigationMenuProps](interfaces/NavigationMenuProps.md)
73
73
  - [PaceAppLayoutProps](interfaces/PaceAppLayoutProps.md)
74
74
  - [PaceLoginPageProps](interfaces/PaceLoginPageProps.md)
75
+ - [ProtectedRouteProps](interfaces/ProtectedRouteProps.md)
75
76
  - [EventLogoProps](interfaces/EventLogoProps.md)
76
77
  - [PublicErrorBoundaryProps](interfaces/PublicErrorBoundaryProps.md)
77
78
  - [PublicErrorBoundaryState](interfaces/PublicErrorBoundaryState.md)
@@ -220,6 +221,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
220
221
  - [PasswordChangeForm](modules.md#passwordchangeform)
221
222
  - [PasswordResetForm](modules.md#passwordresetform)
222
223
  - [Progress](modules.md#progress)
224
+ - [ProtectedRoute](modules.md#protectedroute)
223
225
  - [EventLogo](modules.md#eventlogo)
224
226
  - [EventLogoCompact](modules.md#eventlogocompact)
225
227
  - [EventLogoLarge](modules.md#eventlogolarge)
@@ -2548,6 +2550,40 @@ JSX.Element - The rendered progress bar
2548
2550
 
2549
2551
  ___
2550
2552
 
2553
+ ### ProtectedRoute
2554
+
2555
+ ▸ **ProtectedRoute**(`props`): `string` \| `number` \| ``true`` \| `Iterable`\<`ReactNode`, `any`, `any`\> \| `Element`
2556
+
2557
+ ProtectedRoute component that handles authentication and optional event selection.
2558
+
2559
+ This component solves the chicken-and-egg problem where apps check for `selectedEvent`
2560
+ before rendering, which blocks the event selector (typically in the header) from being visible.
2561
+
2562
+ Strategy:
2563
+ 1. Check authentication first - redirect to login if not authenticated
2564
+ 2. Allow rendering during event loading - prevents blocking UI
2565
+ 3. If events exist but none selected - allow rendering so selector is visible
2566
+ 4. If no events available - show error message
2567
+ 5. Individual pages should handle "no selected event" state gracefully
2568
+
2569
+ #### Parameters
2570
+
2571
+ | Name | Type | Description |
2572
+ | :------ | :------ | :------ |
2573
+ | `props` | [`ProtectedRouteProps`](interfaces/ProtectedRouteProps.md) | Configuration for route protection |
2574
+
2575
+ #### Returns
2576
+
2577
+ `string` \| `number` \| ``true`` \| `Iterable`\<`ReactNode`, `any`, `any`\> \| `Element`
2578
+
2579
+ React element with route protection logic
2580
+
2581
+ #### Defined in
2582
+
2583
+ [packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx:132](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ProtectedRoute/ProtectedRoute.tsx#L132)
2584
+
2585
+ ___
2586
+
2551
2587
  ### EventLogo
2552
2588
 
2553
2589
  ▸ **EventLogo**(`props`): `Element`
@@ -2572,7 +2608,7 @@ React element with event logo or fallback
2572
2608
 
2573
2609
  #### Defined in
2574
2610
 
2575
- [packages/core/src/components/PublicLayout/EventLogo.tsx:393](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L393)
2611
+ [packages/core/src/components/PublicLayout/EventLogo.tsx:399](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L399)
2576
2612
 
2577
2613
  ___
2578
2614
 
@@ -2594,7 +2630,7 @@ Compact event logo for small spaces
2594
2630
 
2595
2631
  #### Defined in
2596
2632
 
2597
- [packages/core/src/components/PublicLayout/EventLogo.tsx:447](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L447)
2633
+ [packages/core/src/components/PublicLayout/EventLogo.tsx:453](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L453)
2598
2634
 
2599
2635
  ___
2600
2636
 
@@ -2616,7 +2652,7 @@ Large event logo for prominent display
2616
2652
 
2617
2653
  #### Defined in
2618
2654
 
2619
- [packages/core/src/components/PublicLayout/EventLogo.tsx:460](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L460)
2655
+ [packages/core/src/components/PublicLayout/EventLogo.tsx:466](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L466)
2620
2656
 
2621
2657
  ___
2622
2658