@jmruthers/pace-core 0.5.1 → 0.5.3

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 (206) hide show
  1. package/dist/{DataTable-GX3XERFJ.js → DataTable-ZQDRE46Q.js} +7 -6
  2. package/dist/{PublicLoadingSpinner-DztrzuJr.d.ts → PublicLoadingSpinner-Bq_-BeK-.d.ts} +1 -1
  3. package/dist/RBACProvider-BO4ilsQB.d.ts +63 -0
  4. package/dist/{UnifiedAuthProvider-w66zSCUf.d.ts → UnifiedAuthProvider-DGQsy-vY.d.ts} +2 -59
  5. package/dist/{api-ETQ6YJ3C.js → api-H5A3H4IR.js} +2 -2
  6. package/dist/{chunk-T3XIA4AJ.js → chunk-5H3C2SWM.js} +14 -16
  7. package/dist/chunk-5H3C2SWM.js.map +1 -0
  8. package/dist/chunk-5SIXIV7R.js +1925 -0
  9. package/dist/chunk-5SIXIV7R.js.map +1 -0
  10. package/dist/chunk-GNTALZV3.js +17 -0
  11. package/dist/chunk-GNTALZV3.js.map +1 -0
  12. package/dist/{chunk-C5G2A4PO.js → chunk-GWSBHC4J.js} +6 -6
  13. package/dist/{chunk-XJK2J4N6.js → chunk-HD7PYDUV.js} +4 -6
  14. package/dist/{chunk-XJK2J4N6.js.map → chunk-HD7PYDUV.js.map} +1 -1
  15. package/dist/{chunk-TGDCLPP2.js → chunk-HXX35Q2M.js} +6 -21
  16. package/dist/chunk-HXX35Q2M.js.map +1 -0
  17. package/dist/{chunk-5EL3KHOQ.js → chunk-K6B7BLSE.js} +2 -2
  18. package/dist/{chunk-GSNM5D6H.js → chunk-M4RW7PIP.js} +4 -4
  19. package/dist/{chunk-U6JDHVC2.js → chunk-PVMYVQSM.js} +6 -8
  20. package/dist/{chunk-U6JDHVC2.js.map → chunk-PVMYVQSM.js.map} +1 -1
  21. package/dist/{chunk-6CR3MRZN.js → chunk-QKHFMQ5R.js} +372 -11
  22. package/dist/{chunk-6CR3MRZN.js.map → chunk-QKHFMQ5R.js.map} +1 -1
  23. package/dist/chunk-QVYBYGT2.js +428 -0
  24. package/dist/chunk-QVYBYGT2.js.map +1 -0
  25. package/dist/{chunk-OEGRKULD.js → chunk-WJARTBCT.js} +56 -1
  26. package/dist/chunk-WJARTBCT.js.map +1 -0
  27. package/dist/components.d.ts +4 -3
  28. package/dist/components.js +16 -162
  29. package/dist/components.js.map +1 -1
  30. package/dist/hooks.d.ts +2 -2
  31. package/dist/hooks.js +7 -9
  32. package/dist/hooks.js.map +1 -1
  33. package/dist/index.d.ts +8 -6
  34. package/dist/index.js +152 -17
  35. package/dist/index.js.map +1 -1
  36. package/dist/providers.d.ts +3 -2
  37. package/dist/providers.js +6 -12
  38. package/dist/rbac/index.d.ts +167 -98
  39. package/dist/rbac/index.js +48 -1881
  40. package/dist/rbac/index.js.map +1 -1
  41. package/dist/styles/core.css +0 -58
  42. package/dist/types.d.ts +2 -2
  43. package/dist/{unified-CM7T0aTK.d.ts → unified-CMPjE_fv.d.ts} +1 -1
  44. package/dist/{usePublicRouteParams-B6i0KtXW.d.ts → usePublicRouteParams-B2OcAsur.d.ts} +1 -1
  45. package/dist/utils.js +12 -14
  46. package/dist/utils.js.map +1 -1
  47. package/docs/api/classes/ErrorBoundary.md +1 -1
  48. package/docs/api/classes/InvalidScopeError.md +73 -0
  49. package/docs/api/classes/MissingUserContextError.md +66 -0
  50. package/docs/api/classes/OrganisationContextRequiredError.md +66 -0
  51. package/docs/api/classes/PermissionDeniedError.md +73 -0
  52. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  53. package/docs/api/classes/RBACAuditManager.md +270 -0
  54. package/docs/api/classes/RBACCache.md +284 -0
  55. package/docs/api/classes/RBACEngine.md +141 -0
  56. package/docs/api/classes/RBACError.md +76 -0
  57. package/docs/api/classes/RBACNotInitializedError.md +66 -0
  58. package/docs/api/classes/SecureSupabaseClient.md +135 -0
  59. package/docs/api/interfaces/AggregateConfig.md +1 -1
  60. package/docs/api/interfaces/ButtonProps.md +1 -1
  61. package/docs/api/interfaces/CardProps.md +1 -1
  62. package/docs/api/interfaces/ColorPalette.md +1 -1
  63. package/docs/api/interfaces/ColorShade.md +1 -1
  64. package/docs/api/interfaces/DataAccessRecord.md +96 -0
  65. package/docs/api/interfaces/DataTableAction.md +1 -1
  66. package/docs/api/interfaces/DataTableColumn.md +1 -1
  67. package/docs/api/interfaces/DataTableProps.md +1 -1
  68. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  69. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  70. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +235 -0
  71. package/docs/api/interfaces/EventContextType.md +1 -1
  72. package/docs/api/interfaces/EventLogoProps.md +1 -1
  73. package/docs/api/interfaces/EventProviderProps.md +1 -1
  74. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  75. package/docs/api/interfaces/FileUploadProps.md +1 -1
  76. package/docs/api/interfaces/FooterProps.md +1 -1
  77. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  78. package/docs/api/interfaces/InputProps.md +1 -1
  79. package/docs/api/interfaces/LabelProps.md +1 -1
  80. package/docs/api/interfaces/LoginFormProps.md +1 -1
  81. package/docs/api/interfaces/NavigationAccessRecord.md +107 -0
  82. package/docs/api/interfaces/NavigationContextType.md +164 -0
  83. package/docs/api/interfaces/NavigationGuardProps.md +139 -0
  84. package/docs/api/interfaces/NavigationItem.md +1 -1
  85. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  86. package/docs/api/interfaces/NavigationProviderProps.md +117 -0
  87. package/docs/api/interfaces/Organisation.md +1 -1
  88. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  89. package/docs/api/interfaces/OrganisationMembership.md +2 -2
  90. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  91. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  92. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  93. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  94. package/docs/api/interfaces/PageAccessRecord.md +85 -0
  95. package/docs/api/interfaces/PagePermissionContextType.md +140 -0
  96. package/docs/api/interfaces/PagePermissionGuardProps.md +153 -0
  97. package/docs/api/interfaces/PagePermissionProviderProps.md +119 -0
  98. package/docs/api/interfaces/PaletteData.md +1 -1
  99. package/docs/api/interfaces/PermissionEnforcerProps.md +153 -0
  100. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  101. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  102. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  103. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  104. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  105. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  106. package/docs/api/interfaces/RBACConfig.md +99 -0
  107. package/docs/api/interfaces/RBACContextType.md +474 -0
  108. package/docs/api/interfaces/RBACLogger.md +112 -0
  109. package/docs/api/interfaces/RBACProviderProps.md +107 -0
  110. package/docs/api/interfaces/RoleBasedRouterContextType.md +151 -0
  111. package/docs/api/interfaces/RoleBasedRouterProps.md +156 -0
  112. package/docs/api/interfaces/RouteAccessRecord.md +107 -0
  113. package/docs/api/interfaces/RouteConfig.md +121 -0
  114. package/docs/api/interfaces/SecureDataContextType.md +168 -0
  115. package/docs/api/interfaces/SecureDataProviderProps.md +132 -0
  116. package/docs/api/interfaces/StorageConfig.md +1 -1
  117. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  118. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  119. package/docs/api/interfaces/StorageListOptions.md +1 -1
  120. package/docs/api/interfaces/StorageListResult.md +1 -1
  121. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  122. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  123. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  124. package/docs/api/interfaces/StyleImport.md +1 -1
  125. package/docs/api/interfaces/ToastActionElement.md +1 -1
  126. package/docs/api/interfaces/ToastProps.md +1 -1
  127. package/docs/api/interfaces/UnifiedAuthContextType.md +85 -85
  128. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  129. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  130. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  131. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  132. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  133. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  134. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  135. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  136. package/docs/api/interfaces/UserEventAccess.md +11 -11
  137. package/docs/api/interfaces/UserMenuProps.md +1 -1
  138. package/docs/api/interfaces/UserProfile.md +1 -1
  139. package/docs/api/modules.md +2244 -3
  140. package/docs/migration-guide.md +43 -18
  141. package/docs/styles/README.md +187 -98
  142. package/docs/usage.md +32 -7
  143. package/package.json +2 -2
  144. package/src/components/Footer/Footer.test.tsx +482 -0
  145. package/src/components/Form/Form.test.tsx +1158 -0
  146. package/src/components/Header/Header.test.tsx +582 -0
  147. package/src/components/Header/Header.tsx +1 -1
  148. package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +489 -0
  149. package/src/components/Input/Input.test.tsx +466 -0
  150. package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +450 -0
  151. package/src/components/LoginForm/LoginForm.test.tsx +816 -0
  152. package/src/components/NavigationMenu/NavigationMenu.test.tsx +883 -0
  153. package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +748 -0
  154. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +891 -0
  155. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +475 -0
  156. package/src/components/PasswordReset/PasswordChangeForm.test.tsx +621 -0
  157. package/src/components/PasswordReset/PasswordResetForm.test.tsx +605 -0
  158. package/src/components/Select/Select.test.tsx +948 -0
  159. package/src/components/SuperAdminGuard.tsx +1 -1
  160. package/src/components/Toast/Toast.test.tsx +586 -0
  161. package/src/components/Tooltip/Tooltip.test.tsx +852 -0
  162. package/src/components/UserMenu/UserMenu.test.tsx +702 -0
  163. package/src/components/UserMenu/UserMenu.tsx +2 -2
  164. package/src/hooks/useDebounce.test.ts +375 -0
  165. package/src/hooks/useOrganisationPermissions.test.ts +528 -0
  166. package/src/hooks/useOrganisationSecurity.test.ts +734 -0
  167. package/src/hooks/usePermissionCache.test.ts +542 -0
  168. package/src/hooks/usePermissionCache.ts +1 -1
  169. package/src/index.ts +2 -3
  170. package/src/providers/UnifiedAuthProvider.tsx +2 -2
  171. package/src/providers/index.ts +3 -1
  172. package/src/rbac/__tests__/integration.test.tsx +218 -0
  173. package/src/rbac/api.test.ts +441 -0
  174. package/src/rbac/hooks/index.ts +21 -0
  175. package/src/rbac/hooks/useCan.test.ts +461 -0
  176. package/src/rbac/hooks/usePermissions.test.ts +359 -0
  177. package/src/rbac/hooks/usePermissions.ts +567 -0
  178. package/src/rbac/hooks/useRBAC.simple.test.ts +90 -0
  179. package/src/rbac/hooks/useRBAC.test.ts +503 -0
  180. package/src/{hooks → rbac/hooks}/useRBAC.ts +7 -7
  181. package/src/rbac/index.ts +5 -10
  182. package/src/{providers → rbac/providers}/RBACProvider.tsx +6 -6
  183. package/src/rbac/providers/__tests__/RBACProvider.test.tsx +687 -0
  184. package/src/rbac/providers/index.ts +11 -0
  185. package/src/styles/core.css +0 -58
  186. package/src/utils/formatDate.test.ts +241 -0
  187. package/dist/chunk-AUE24LVR.js +0 -268
  188. package/dist/chunk-AUE24LVR.js.map +0 -1
  189. package/dist/chunk-COBPIXXQ.js +0 -379
  190. package/dist/chunk-COBPIXXQ.js.map +0 -1
  191. package/dist/chunk-OEGRKULD.js.map +0 -1
  192. package/dist/chunk-OYRY44Q2.js +0 -62
  193. package/dist/chunk-OYRY44Q2.js.map +0 -1
  194. package/dist/chunk-T3XIA4AJ.js.map +0 -1
  195. package/dist/chunk-TGDCLPP2.js.map +0 -1
  196. package/src/components/RBAC/PagePermissionGuard.tsx +0 -287
  197. package/src/components/RBAC/RBACGuard.tsx +0 -143
  198. package/src/components/RBAC/RBACProvider.tsx +0 -186
  199. package/src/components/RBAC/RoleBasedContent.tsx +0 -129
  200. package/src/components/RBAC/index.ts +0 -23
  201. package/src/rbac/hooks.ts +0 -570
  202. /package/dist/{DataTable-GX3XERFJ.js.map → DataTable-ZQDRE46Q.js.map} +0 -0
  203. /package/dist/{api-ETQ6YJ3C.js.map → api-H5A3H4IR.js.map} +0 -0
  204. /package/dist/{chunk-C5G2A4PO.js.map → chunk-GWSBHC4J.js.map} +0 -0
  205. /package/dist/{chunk-5EL3KHOQ.js.map → chunk-K6B7BLSE.js.map} +0 -0
  206. /package/dist/{chunk-GSNM5D6H.js.map → chunk-M4RW7PIP.js.map} +0 -0
@@ -0,0 +1,235 @@
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / EnhancedNavigationMenuProps
2
+
3
+ # Interface: EnhancedNavigationMenuProps
4
+
5
+ ## Table of contents
6
+
7
+ ### Properties
8
+
9
+ - [items](EnhancedNavigationMenuProps.md#items)
10
+ - [strictMode](EnhancedNavigationMenuProps.md#strictmode)
11
+ - [auditLog](EnhancedNavigationMenuProps.md#auditlog)
12
+ - [onNavigationAccess](EnhancedNavigationMenuProps.md#onnavigationaccess)
13
+ - [onStrictModeViolation](EnhancedNavigationMenuProps.md#onstrictmodeviolation)
14
+ - [className](EnhancedNavigationMenuProps.md#classname)
15
+ - [itemClassName](EnhancedNavigationMenuProps.md#itemclassname)
16
+ - [activeItemClassName](EnhancedNavigationMenuProps.md#activeitemclassname)
17
+ - [disabledItemClassName](EnhancedNavigationMenuProps.md#disableditemclassname)
18
+ - [hideUnauthorizedItems](EnhancedNavigationMenuProps.md#hideunauthorizeditems)
19
+ - [renderItem](EnhancedNavigationMenuProps.md#renderitem)
20
+ - [activePath](EnhancedNavigationMenuProps.md#activepath)
21
+ - [onItemClick](EnhancedNavigationMenuProps.md#onitemclick)
22
+
23
+ ## Properties
24
+
25
+ ### items
26
+
27
+ • **items**: `NavigationItem`[]
28
+
29
+ Navigation items to display
30
+
31
+ #### Defined in
32
+
33
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:64](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L64)
34
+
35
+ ___
36
+
37
+ ### strictMode
38
+
39
+ • `Optional` **strictMode**: `boolean`
40
+
41
+ Enable strict mode to prevent bypassing (default: true)
42
+
43
+ #### Defined in
44
+
45
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:67](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L67)
46
+
47
+ ___
48
+
49
+ ### auditLog
50
+
51
+ • `Optional` **auditLog**: `boolean`
52
+
53
+ Enable audit logging (default: true)
54
+
55
+ #### Defined in
56
+
57
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:70](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L70)
58
+
59
+ ___
60
+
61
+ ### onNavigationAccess
62
+
63
+ • `Optional` **onNavigationAccess**: (`item`: `NavigationItem`, `allowed`: `boolean`) => `void`
64
+
65
+ Callback when navigation access is attempted
66
+
67
+ #### Type declaration
68
+
69
+ ▸ (`item`, `allowed`): `void`
70
+
71
+ ##### Parameters
72
+
73
+ | Name | Type |
74
+ | :------ | :------ |
75
+ | `item` | `NavigationItem` |
76
+ | `allowed` | `boolean` |
77
+
78
+ ##### Returns
79
+
80
+ `void`
81
+
82
+ #### Defined in
83
+
84
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:73](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L73)
85
+
86
+ ___
87
+
88
+ ### onStrictModeViolation
89
+
90
+ • `Optional` **onStrictModeViolation**: (`item`: `NavigationItem`) => `void`
91
+
92
+ Callback when strict mode violation occurs
93
+
94
+ #### Type declaration
95
+
96
+ ▸ (`item`): `void`
97
+
98
+ ##### Parameters
99
+
100
+ | Name | Type |
101
+ | :------ | :------ |
102
+ | `item` | `NavigationItem` |
103
+
104
+ ##### Returns
105
+
106
+ `void`
107
+
108
+ #### Defined in
109
+
110
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:76](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L76)
111
+
112
+ ___
113
+
114
+ ### className
115
+
116
+ • `Optional` **className**: `string`
117
+
118
+ Custom className for the navigation menu
119
+
120
+ #### Defined in
121
+
122
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:79](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L79)
123
+
124
+ ___
125
+
126
+ ### itemClassName
127
+
128
+ • `Optional` **itemClassName**: `string`
129
+
130
+ Custom className for navigation items
131
+
132
+ #### Defined in
133
+
134
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:82](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L82)
135
+
136
+ ___
137
+
138
+ ### activeItemClassName
139
+
140
+ • `Optional` **activeItemClassName**: `string`
141
+
142
+ Custom className for active navigation items
143
+
144
+ #### Defined in
145
+
146
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:85](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L85)
147
+
148
+ ___
149
+
150
+ ### disabledItemClassName
151
+
152
+ • `Optional` **disabledItemClassName**: `string`
153
+
154
+ Custom className for disabled navigation items
155
+
156
+ #### Defined in
157
+
158
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:88](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L88)
159
+
160
+ ___
161
+
162
+ ### hideUnauthorizedItems
163
+
164
+ • `Optional` **hideUnauthorizedItems**: `boolean`
165
+
166
+ Show/hide navigation items that user doesn't have permission for
167
+
168
+ #### Defined in
169
+
170
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:91](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L91)
171
+
172
+ ___
173
+
174
+ ### renderItem
175
+
176
+ • `Optional` **renderItem**: (`item`: `NavigationItem`, `isAuthorized`: `boolean`) => `ReactNode`
177
+
178
+ Custom render function for navigation items
179
+
180
+ #### Type declaration
181
+
182
+ ▸ (`item`, `isAuthorized`): `ReactNode`
183
+
184
+ ##### Parameters
185
+
186
+ | Name | Type |
187
+ | :------ | :------ |
188
+ | `item` | `NavigationItem` |
189
+ | `isAuthorized` | `boolean` |
190
+
191
+ ##### Returns
192
+
193
+ `ReactNode`
194
+
195
+ #### Defined in
196
+
197
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:94](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L94)
198
+
199
+ ___
200
+
201
+ ### activePath
202
+
203
+ • `Optional` **activePath**: `string`
204
+
205
+ Current active path for highlighting
206
+
207
+ #### Defined in
208
+
209
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:97](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L97)
210
+
211
+ ___
212
+
213
+ ### onItemClick
214
+
215
+ • `Optional` **onItemClick**: (`item`: `NavigationItem`) => `void`
216
+
217
+ Navigation item click handler
218
+
219
+ #### Type declaration
220
+
221
+ ▸ (`item`): `void`
222
+
223
+ ##### Parameters
224
+
225
+ | Name | Type |
226
+ | :------ | :------ |
227
+ | `item` | `NavigationItem` |
228
+
229
+ ##### Returns
230
+
231
+ `void`
232
+
233
+ #### Defined in
234
+
235
+ [packages/core/src/rbac/components/EnhancedNavigationMenu.tsx:100](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/EnhancedNavigationMenu.tsx#L100)
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / EventContextType
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / EventContextType
2
2
 
3
3
  # Interface: EventContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / EventLogoProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / EventLogoProps
2
2
 
3
3
  # Interface: EventLogoProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / EventProviderProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / EventProviderProps
2
2
 
3
3
  # Interface: EventProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / FileSizeLimits
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / FileSizeLimits
2
2
 
3
3
  # Interface: FileSizeLimits
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / FileUploadProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / FileUploadProps
2
2
 
3
3
  # Interface: FileUploadProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / FooterProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / FooterProps
2
2
 
3
3
  # Interface: FooterProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / InactivityWarningModalProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / InactivityWarningModalProps
2
2
 
3
3
  # Interface: InactivityWarningModalProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / InputProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / InputProps
2
2
 
3
3
  # Interface: InputProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / LabelProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / LabelProps
2
2
 
3
3
  # Interface: LabelProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.1](../README.md) / [Exports](../modules.md) / LoginFormProps
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / LoginFormProps
2
2
 
3
3
  # Interface: LoginFormProps
4
4
 
@@ -0,0 +1,107 @@
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / NavigationAccessRecord
2
+
3
+ # Interface: NavigationAccessRecord
4
+
5
+ ## Table of contents
6
+
7
+ ### Properties
8
+
9
+ - [navigationItem](NavigationAccessRecord.md#navigationitem)
10
+ - [permissions](NavigationAccessRecord.md#permissions)
11
+ - [userId](NavigationAccessRecord.md#userid)
12
+ - [scope](NavigationAccessRecord.md#scope)
13
+ - [allowed](NavigationAccessRecord.md#allowed)
14
+ - [timestamp](NavigationAccessRecord.md#timestamp)
15
+ - [pageId](NavigationAccessRecord.md#pageid)
16
+ - [roles](NavigationAccessRecord.md#roles)
17
+ - [accessLevel](NavigationAccessRecord.md#accesslevel)
18
+
19
+ ## Properties
20
+
21
+ ### navigationItem
22
+
23
+ • **navigationItem**: `string`
24
+
25
+ #### Defined in
26
+
27
+ [packages/core/src/rbac/components/NavigationProvider.tsx:96](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L96)
28
+
29
+ ___
30
+
31
+ ### permissions
32
+
33
+ • **permissions**: (\`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\` \| \`manage:$\{string}\`)[]
34
+
35
+ #### Defined in
36
+
37
+ [packages/core/src/rbac/components/NavigationProvider.tsx:97](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L97)
38
+
39
+ ___
40
+
41
+ ### userId
42
+
43
+ • **userId**: `string`
44
+
45
+ #### Defined in
46
+
47
+ [packages/core/src/rbac/components/NavigationProvider.tsx:98](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L98)
48
+
49
+ ___
50
+
51
+ ### scope
52
+
53
+ • **scope**: [`Scope`](../modules.md#scope)
54
+
55
+ #### Defined in
56
+
57
+ [packages/core/src/rbac/components/NavigationProvider.tsx:99](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L99)
58
+
59
+ ___
60
+
61
+ ### allowed
62
+
63
+ • **allowed**: `boolean`
64
+
65
+ #### Defined in
66
+
67
+ [packages/core/src/rbac/components/NavigationProvider.tsx:100](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L100)
68
+
69
+ ___
70
+
71
+ ### timestamp
72
+
73
+ • **timestamp**: `string`
74
+
75
+ #### Defined in
76
+
77
+ [packages/core/src/rbac/components/NavigationProvider.tsx:101](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L101)
78
+
79
+ ___
80
+
81
+ ### pageId
82
+
83
+ • `Optional` **pageId**: `string`
84
+
85
+ #### Defined in
86
+
87
+ [packages/core/src/rbac/components/NavigationProvider.tsx:102](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L102)
88
+
89
+ ___
90
+
91
+ ### roles
92
+
93
+ • `Optional` **roles**: `string`[]
94
+
95
+ #### Defined in
96
+
97
+ [packages/core/src/rbac/components/NavigationProvider.tsx:103](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L103)
98
+
99
+ ___
100
+
101
+ ### accessLevel
102
+
103
+ • `Optional` **accessLevel**: `string`
104
+
105
+ #### Defined in
106
+
107
+ [packages/core/src/rbac/components/NavigationProvider.tsx:104](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L104)
@@ -0,0 +1,164 @@
1
+ [@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / NavigationContextType
2
+
3
+ # Interface: NavigationContextType
4
+
5
+ ## Table of contents
6
+
7
+ ### Properties
8
+
9
+ - [hasNavigationPermission](NavigationContextType.md#hasnavigationpermission)
10
+ - [getNavigationPermissions](NavigationContextType.md#getnavigationpermissions)
11
+ - [getFilteredNavigationItems](NavigationContextType.md#getfilterednavigationitems)
12
+ - [isEnabled](NavigationContextType.md#isenabled)
13
+ - [isStrictMode](NavigationContextType.md#isstrictmode)
14
+ - [isAuditLogEnabled](NavigationContextType.md#isauditlogenabled)
15
+ - [getNavigationAccessHistory](NavigationContextType.md#getnavigationaccesshistory)
16
+ - [clearNavigationAccessHistory](NavigationContextType.md#clearnavigationaccesshistory)
17
+
18
+ ## Properties
19
+
20
+ ### hasNavigationPermission
21
+
22
+ • **hasNavigationPermission**: (`item`: `NavigationItem`) => `boolean`
23
+
24
+ Check if user has permission for a navigation item
25
+
26
+ #### Type declaration
27
+
28
+ ▸ (`item`): `boolean`
29
+
30
+ ##### Parameters
31
+
32
+ | Name | Type |
33
+ | :------ | :------ |
34
+ | `item` | `NavigationItem` |
35
+
36
+ ##### Returns
37
+
38
+ `boolean`
39
+
40
+ #### Defined in
41
+
42
+ [packages/core/src/rbac/components/NavigationProvider.tsx:109](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L109)
43
+
44
+ ___
45
+
46
+ ### getNavigationPermissions
47
+
48
+ • **getNavigationPermissions**: () => `Record`\<`string`, `string`[]\>
49
+
50
+ Get all navigation permissions for current user
51
+
52
+ #### Type declaration
53
+
54
+ ▸ (): `Record`\<`string`, `string`[]\>
55
+
56
+ ##### Returns
57
+
58
+ `Record`\<`string`, `string`[]\>
59
+
60
+ #### Defined in
61
+
62
+ [packages/core/src/rbac/components/NavigationProvider.tsx:112](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L112)
63
+
64
+ ___
65
+
66
+ ### getFilteredNavigationItems
67
+
68
+ • **getFilteredNavigationItems**: (`items`: `NavigationItem`[]) => `NavigationItem`[]
69
+
70
+ Get filtered navigation items based on permissions
71
+
72
+ #### Type declaration
73
+
74
+ ▸ (`items`): `NavigationItem`[]
75
+
76
+ ##### Parameters
77
+
78
+ | Name | Type |
79
+ | :------ | :------ |
80
+ | `items` | `NavigationItem`[] |
81
+
82
+ ##### Returns
83
+
84
+ `NavigationItem`[]
85
+
86
+ #### Defined in
87
+
88
+ [packages/core/src/rbac/components/NavigationProvider.tsx:115](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L115)
89
+
90
+ ___
91
+
92
+ ### isEnabled
93
+
94
+ • **isEnabled**: `boolean`
95
+
96
+ Check if navigation permission checking is enabled
97
+
98
+ #### Defined in
99
+
100
+ [packages/core/src/rbac/components/NavigationProvider.tsx:118](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L118)
101
+
102
+ ___
103
+
104
+ ### isStrictMode
105
+
106
+ • **isStrictMode**: `boolean`
107
+
108
+ Check if strict mode is enabled
109
+
110
+ #### Defined in
111
+
112
+ [packages/core/src/rbac/components/NavigationProvider.tsx:121](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L121)
113
+
114
+ ___
115
+
116
+ ### isAuditLogEnabled
117
+
118
+ • **isAuditLogEnabled**: `boolean`
119
+
120
+ Check if audit logging is enabled
121
+
122
+ #### Defined in
123
+
124
+ [packages/core/src/rbac/components/NavigationProvider.tsx:124](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L124)
125
+
126
+ ___
127
+
128
+ ### getNavigationAccessHistory
129
+
130
+ • **getNavigationAccessHistory**: () => [`NavigationAccessRecord`](NavigationAccessRecord.md)[]
131
+
132
+ Get navigation access history
133
+
134
+ #### Type declaration
135
+
136
+ ▸ (): [`NavigationAccessRecord`](NavigationAccessRecord.md)[]
137
+
138
+ ##### Returns
139
+
140
+ [`NavigationAccessRecord`](NavigationAccessRecord.md)[]
141
+
142
+ #### Defined in
143
+
144
+ [packages/core/src/rbac/components/NavigationProvider.tsx:127](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L127)
145
+
146
+ ___
147
+
148
+ ### clearNavigationAccessHistory
149
+
150
+ • **clearNavigationAccessHistory**: () => `void`
151
+
152
+ Clear navigation access history
153
+
154
+ #### Type declaration
155
+
156
+ ▸ (): `void`
157
+
158
+ ##### Returns
159
+
160
+ `void`
161
+
162
+ #### Defined in
163
+
164
+ [packages/core/src/rbac/components/NavigationProvider.tsx:130](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L130)