@jmruthers/pace-core 0.5.115 → 0.5.117

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 (235) hide show
  1. package/dist/{AuthService-CVgsgtaZ.d.ts → AuthService-D4646R4b.d.ts} +9 -4
  2. package/dist/{DataTable-H5KJCAIS.js → DataTable-ZOAKQ3SU.js} +10 -9
  3. package/dist/{UnifiedAuthProvider-KZZUO27W.js → UnifiedAuthProvider-YFN7YGVN.js} +4 -3
  4. package/dist/{api-PKU4PUBO.js → api-TNIBJWLM.js} +3 -3
  5. package/dist/{audit-H4YJJF7R.js → audit-T36HM7IM.js} +2 -2
  6. package/dist/{chunk-SYXOZQ4P.js → chunk-2GJ5GL77.js} +1 -1
  7. package/dist/chunk-2GJ5GL77.js.map +1 -0
  8. package/dist/{chunk-XYRZV7R5.js → chunk-2LM4QQGH.js} +30 -34
  9. package/dist/chunk-2LM4QQGH.js.map +1 -0
  10. package/dist/{chunk-3OGQLOJM.js → chunk-3DBFLLLU.js} +30 -1
  11. package/dist/chunk-3DBFLLLU.js.map +1 -0
  12. package/dist/{chunk-KTHLNIMA.js → chunk-ECOVPXYS.js} +13 -62
  13. package/dist/chunk-ECOVPXYS.js.map +1 -0
  14. package/dist/{chunk-HKWQN44G.js → chunk-IZXS7RZK.js} +15 -15
  15. package/dist/{chunk-OO3V7W4H.js → chunk-KA3PSVNV.js} +87 -40
  16. package/dist/chunk-KA3PSVNV.js.map +1 -0
  17. package/dist/{chunk-L36JW4KV.js → chunk-LFS45U62.js} +2 -2
  18. package/dist/{chunk-BUN7NMV7.js → chunk-O3FTRYEU.js} +2 -2
  19. package/dist/{chunk-F6QB26OS.js → chunk-P3PUOL6B.js} +80 -8
  20. package/dist/chunk-P3PUOL6B.js.map +1 -0
  21. package/dist/{chunk-ZPXWJA4H.js → chunk-PHDAXDHB.js} +131 -5
  22. package/dist/chunk-PHDAXDHB.js.map +1 -0
  23. package/dist/chunk-UJI6WSMD.js +201 -0
  24. package/dist/{chunk-5CDJCTOO.js.map → chunk-UJI6WSMD.js.map} +1 -1
  25. package/dist/{chunk-OUU3SP6I.js → chunk-UKZWNQMB.js} +50 -7
  26. package/dist/{chunk-OUU3SP6I.js.map → chunk-UKZWNQMB.js.map} +1 -1
  27. package/dist/{chunk-7H75SHXZ.js → chunk-VN3OOE35.js} +2 -2
  28. package/dist/{chunk-QKIVSZ2O.js → chunk-WP5I5GLN.js} +2 -2
  29. package/dist/{chunk-NEONKMTU.js → chunk-XN2LYHDI.js} +47 -6
  30. package/dist/chunk-XN2LYHDI.js.map +1 -0
  31. package/dist/components.d.ts +1 -1
  32. package/dist/components.js +12 -11
  33. package/dist/components.js.map +1 -1
  34. package/dist/hooks.d.ts +1 -1
  35. package/dist/hooks.js +10 -9
  36. package/dist/hooks.js.map +1 -1
  37. package/dist/index.d.ts +4 -4
  38. package/dist/index.js +19 -16
  39. package/dist/index.js.map +1 -1
  40. package/dist/providers.d.ts +2 -2
  41. package/dist/providers.js +3 -2
  42. package/dist/rbac/index.d.ts +82 -1
  43. package/dist/rbac/index.js +13 -10
  44. package/dist/{useToast-DVT4dMtf.d.ts → useToast-Cs_g32bg.d.ts} +1 -1
  45. package/dist/utils.js +6 -4
  46. package/dist/utils.js.map +1 -1
  47. package/dist/validation.js +3 -1
  48. package/dist/validation.js.map +1 -1
  49. package/docs/README.md +4 -0
  50. package/docs/api/classes/ColumnFactory.md +1 -1
  51. package/docs/api/classes/ErrorBoundary.md +1 -1
  52. package/docs/api/classes/InvalidScopeError.md +1 -1
  53. package/docs/api/classes/MissingUserContextError.md +1 -1
  54. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  55. package/docs/api/classes/PermissionDeniedError.md +1 -1
  56. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  57. package/docs/api/classes/RBACAuditManager.md +35 -12
  58. package/docs/api/classes/RBACCache.md +1 -1
  59. package/docs/api/classes/RBACEngine.md +1 -1
  60. package/docs/api/classes/RBACError.md +1 -1
  61. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  62. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  63. package/docs/api/classes/StorageUtils.md +1 -1
  64. package/docs/api/enums/FileCategory.md +1 -1
  65. package/docs/api/interfaces/AggregateConfig.md +1 -1
  66. package/docs/api/interfaces/ButtonProps.md +1 -1
  67. package/docs/api/interfaces/CardProps.md +1 -1
  68. package/docs/api/interfaces/ColorPalette.md +1 -1
  69. package/docs/api/interfaces/ColorShade.md +1 -1
  70. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  71. package/docs/api/interfaces/DataRecord.md +1 -1
  72. package/docs/api/interfaces/DataTableAction.md +1 -1
  73. package/docs/api/interfaces/DataTableColumn.md +1 -1
  74. package/docs/api/interfaces/DataTableProps.md +1 -1
  75. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  76. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  77. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  78. package/docs/api/interfaces/EventAppRoleData.md +71 -0
  79. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  80. package/docs/api/interfaces/FileMetadata.md +1 -1
  81. package/docs/api/interfaces/FileReference.md +1 -1
  82. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  83. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  84. package/docs/api/interfaces/FileUploadProps.md +1 -1
  85. package/docs/api/interfaces/FooterProps.md +1 -1
  86. package/docs/api/interfaces/GrantEventAppRoleParams.md +122 -0
  87. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  88. package/docs/api/interfaces/InputProps.md +1 -1
  89. package/docs/api/interfaces/LabelProps.md +1 -1
  90. package/docs/api/interfaces/LoginFormProps.md +1 -1
  91. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  92. package/docs/api/interfaces/NavigationContextType.md +1 -1
  93. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  94. package/docs/api/interfaces/NavigationItem.md +1 -1
  95. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  96. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  97. package/docs/api/interfaces/Organisation.md +1 -1
  98. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  99. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  100. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  101. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  102. package/docs/api/interfaces/PaceAppLayoutProps.md +27 -27
  103. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  104. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  105. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  106. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  107. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  108. package/docs/api/interfaces/PaletteData.md +1 -1
  109. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  110. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  111. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  112. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  113. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  114. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  115. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  116. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  117. package/docs/api/interfaces/RBACConfig.md +1 -1
  118. package/docs/api/interfaces/RBACLogger.md +1 -1
  119. package/docs/api/interfaces/RevokeEventAppRoleParams.md +100 -0
  120. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  121. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  122. package/docs/api/interfaces/RoleManagementResult.md +52 -0
  123. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  124. package/docs/api/interfaces/RouteConfig.md +1 -1
  125. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  126. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  127. package/docs/api/interfaces/StorageConfig.md +1 -1
  128. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  129. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  130. package/docs/api/interfaces/StorageListOptions.md +1 -1
  131. package/docs/api/interfaces/StorageListResult.md +1 -1
  132. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  133. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  134. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  135. package/docs/api/interfaces/StyleImport.md +1 -1
  136. package/docs/api/interfaces/SwitchProps.md +1 -1
  137. package/docs/api/interfaces/ToastActionElement.md +1 -1
  138. package/docs/api/interfaces/ToastProps.md +1 -1
  139. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  140. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  141. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  142. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  143. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  144. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  145. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  146. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  147. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  148. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  149. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  150. package/docs/api/interfaces/UserEventAccess.md +1 -1
  151. package/docs/api/interfaces/UserMenuProps.md +1 -1
  152. package/docs/api/interfaces/UserProfile.md +1 -1
  153. package/docs/api/modules.md +41 -14
  154. package/docs/architecture/rpc-function-standards.md +193 -0
  155. package/package.json +1 -1
  156. package/src/__tests__/TEST_STANDARD.md +244 -2
  157. package/src/components/DataTable/__tests__/a11y.basic.test.tsx +46 -16
  158. package/src/components/DataTable/__tests__/keyboard.test.tsx +276 -217
  159. package/src/components/DataTable/components/DataTableCore.tsx +29 -2
  160. package/src/components/DataTable/components/DataTableToolbar.tsx +3 -2
  161. package/src/components/DataTable/components/EditableRow.tsx +18 -1
  162. package/src/components/DataTable/components/ViewRowModal.tsx +1 -1
  163. package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +735 -0
  164. package/src/components/DataTable/components/__tests__/BulkOperationsDropdown.test.tsx +572 -0
  165. package/src/components/DataTable/components/__tests__/ColumnVisibilityDropdown.test.tsx +708 -0
  166. package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.test.tsx +451 -0
  167. package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +456 -0
  168. package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +454 -0
  169. package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +462 -0
  170. package/src/components/DataTable/components/__tests__/FilterRow.test.tsx +423 -0
  171. package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +393 -0
  172. package/src/components/DataTable/components/__tests__/GroupingDropdown.test.tsx +617 -0
  173. package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +734 -0
  174. package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +412 -0
  175. package/src/components/DataTable/hooks/useTableHandlers.ts +4 -0
  176. package/src/components/EventSelector/EventSelector.tsx +5 -25
  177. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +12 -7
  178. package/src/components/PaceAppLayout/PaceAppLayout.tsx +4 -0
  179. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.accessibility.test.tsx +7 -2
  180. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +13 -8
  181. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +109 -100
  182. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +18 -13
  183. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +17 -12
  184. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +2 -0
  185. package/src/components/PaceLoginPage/PaceLoginPage.tsx +11 -1
  186. package/src/components/PasswordReset/PasswordChangeForm.test.tsx +2 -2
  187. package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +648 -0
  188. package/src/components/ProtectedRoute/ProtectedRoute.tsx +10 -7
  189. package/src/components/PublicLayout/__tests__/PublicErrorBoundary.test.tsx +4 -12
  190. package/src/components/Select/Select.tsx +8 -0
  191. package/src/components/Toast/Toast.tsx +1 -1
  192. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +367 -3
  193. package/src/hooks/__tests__/usePublicFileDisplay.test.ts +916 -0
  194. package/src/hooks/useEventTheme.ts +49 -18
  195. package/src/hooks/usePermissionCache.ts +5 -3
  196. package/src/hooks/useSecureDataAccess.ts +56 -3
  197. package/src/hooks/useToast.ts +1 -1
  198. package/src/providers/services/EventServiceProvider.tsx +15 -8
  199. package/src/rbac/__tests__/cache-invalidation.test.ts +385 -0
  200. package/src/rbac/audit.test.ts +206 -0
  201. package/src/rbac/audit.ts +37 -2
  202. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +26 -23
  203. package/src/rbac/errors.test.ts +340 -0
  204. package/src/rbac/hooks/index.ts +9 -0
  205. package/src/rbac/hooks/useResolvedScope.test.ts +1063 -0
  206. package/src/rbac/hooks/useRoleManagement.test.ts +908 -0
  207. package/src/rbac/hooks/useRoleManagement.ts +255 -0
  208. package/src/services/AuthService.ts +10 -0
  209. package/src/services/EventService.ts +111 -50
  210. package/src/services/__tests__/AuthService.test.ts +1 -1
  211. package/src/services/__tests__/EventService.test.ts +60 -45
  212. package/src/services/interfaces/IEventService.ts +1 -1
  213. package/src/utils/__tests__/deviceFingerprint.unit.test.ts +320 -0
  214. package/src/utils/__tests__/logger.unit.test.ts +398 -0
  215. package/src/utils/__tests__/validation.unit.test.ts +225 -1
  216. package/src/utils/file-reference.test.ts +214 -0
  217. package/dist/chunk-3OGQLOJM.js.map +0 -1
  218. package/dist/chunk-5CDJCTOO.js +0 -190
  219. package/dist/chunk-F6QB26OS.js.map +0 -1
  220. package/dist/chunk-KTHLNIMA.js.map +0 -1
  221. package/dist/chunk-NEONKMTU.js.map +0 -1
  222. package/dist/chunk-OO3V7W4H.js.map +0 -1
  223. package/dist/chunk-SYXOZQ4P.js.map +0 -1
  224. package/dist/chunk-XYRZV7R5.js.map +0 -1
  225. package/dist/chunk-ZPXWJA4H.js.map +0 -1
  226. package/src/rbac/audit-enhanced.ts +0 -351
  227. /package/dist/{DataTable-H5KJCAIS.js.map → DataTable-ZOAKQ3SU.js.map} +0 -0
  228. /package/dist/{UnifiedAuthProvider-KZZUO27W.js.map → UnifiedAuthProvider-YFN7YGVN.js.map} +0 -0
  229. /package/dist/{api-PKU4PUBO.js.map → api-TNIBJWLM.js.map} +0 -0
  230. /package/dist/{audit-H4YJJF7R.js.map → audit-T36HM7IM.js.map} +0 -0
  231. /package/dist/{chunk-HKWQN44G.js.map → chunk-IZXS7RZK.js.map} +0 -0
  232. /package/dist/{chunk-L36JW4KV.js.map → chunk-LFS45U62.js.map} +0 -0
  233. /package/dist/{chunk-BUN7NMV7.js.map → chunk-O3FTRYEU.js.map} +0 -0
  234. /package/dist/{chunk-7H75SHXZ.js.map → chunk-VN3OOE35.js.map} +0 -0
  235. /package/dist/{chunk-QKIVSZ2O.js.map → chunk-WP5I5GLN.js.map} +0 -0
@@ -0,0 +1,100 @@
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RevokeEventAppRoleParams
2
+
3
+ # Interface: RevokeEventAppRoleParams
4
+
5
+ ## Hierarchy
6
+
7
+ - [`EventAppRoleData`](EventAppRoleData.md)
8
+
9
+ ↳ **`RevokeEventAppRoleParams`**
10
+
11
+ ## Table of contents
12
+
13
+ ### Properties
14
+
15
+ - [user\_id](RevokeEventAppRoleParams.md#user_id)
16
+ - [organisation\_id](RevokeEventAppRoleParams.md#organisation_id)
17
+ - [event\_id](RevokeEventAppRoleParams.md#event_id)
18
+ - [app\_id](RevokeEventAppRoleParams.md#app_id)
19
+ - [role](RevokeEventAppRoleParams.md#role)
20
+ - [revoked\_by](RevokeEventAppRoleParams.md#revoked_by)
21
+
22
+ ## Properties
23
+
24
+ ### user\_id
25
+
26
+ • **user\_id**: `string`
27
+
28
+ #### Inherited from
29
+
30
+ [EventAppRoleData](EventAppRoleData.md).[user_id](EventAppRoleData.md#user_id)
31
+
32
+ #### Defined in
33
+
34
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:44](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L44)
35
+
36
+ ___
37
+
38
+ ### organisation\_id
39
+
40
+ • **organisation\_id**: `string`
41
+
42
+ #### Inherited from
43
+
44
+ [EventAppRoleData](EventAppRoleData.md).[organisation_id](EventAppRoleData.md#organisation_id)
45
+
46
+ #### Defined in
47
+
48
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:45](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L45)
49
+
50
+ ___
51
+
52
+ ### event\_id
53
+
54
+ • **event\_id**: `string`
55
+
56
+ #### Inherited from
57
+
58
+ [EventAppRoleData](EventAppRoleData.md).[event_id](EventAppRoleData.md#event_id)
59
+
60
+ #### Defined in
61
+
62
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:46](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L46)
63
+
64
+ ___
65
+
66
+ ### app\_id
67
+
68
+ • **app\_id**: `string`
69
+
70
+ #### Inherited from
71
+
72
+ [EventAppRoleData](EventAppRoleData.md).[app_id](EventAppRoleData.md#app_id)
73
+
74
+ #### Defined in
75
+
76
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:47](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L47)
77
+
78
+ ___
79
+
80
+ ### role
81
+
82
+ • **role**: ``"viewer"`` \| ``"participant"`` \| ``"planner"`` \| ``"event_admin"``
83
+
84
+ #### Inherited from
85
+
86
+ [EventAppRoleData](EventAppRoleData.md).[role](EventAppRoleData.md#role)
87
+
88
+ #### Defined in
89
+
90
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:48](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L48)
91
+
92
+ ___
93
+
94
+ ### revoked\_by
95
+
96
+ • `Optional` **revoked\_by**: `string`
97
+
98
+ #### Defined in
99
+
100
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:52](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L52)
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / RoleBasedRouterContextType
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RoleBasedRouterContextType
2
2
 
3
3
  # Interface: RoleBasedRouterContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / RoleBasedRouterProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RoleBasedRouterProps
2
2
 
3
3
  # Interface: RoleBasedRouterProps
4
4
 
@@ -0,0 +1,52 @@
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RoleManagementResult
2
+
3
+ # Interface: RoleManagementResult
4
+
5
+ ## Table of contents
6
+
7
+ ### Properties
8
+
9
+ - [success](RoleManagementResult.md#success)
10
+ - [message](RoleManagementResult.md#message)
11
+ - [error](RoleManagementResult.md#error)
12
+ - [roleId](RoleManagementResult.md#roleid)
13
+
14
+ ## Properties
15
+
16
+ ### success
17
+
18
+ • **success**: `boolean`
19
+
20
+ #### Defined in
21
+
22
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:62](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L62)
23
+
24
+ ___
25
+
26
+ ### message
27
+
28
+ • `Optional` **message**: `string`
29
+
30
+ #### Defined in
31
+
32
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:63](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L63)
33
+
34
+ ___
35
+
36
+ ### error
37
+
38
+ • `Optional` **error**: `string`
39
+
40
+ #### Defined in
41
+
42
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:64](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L64)
43
+
44
+ ___
45
+
46
+ ### roleId
47
+
48
+ • `Optional` **roleId**: `string`
49
+
50
+ #### Defined in
51
+
52
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:65](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L65)
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / RouteAccessRecord
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RouteAccessRecord
2
2
 
3
3
  # Interface: RouteAccessRecord
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / RouteConfig
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / RouteConfig
2
2
 
3
3
  # Interface: RouteConfig
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / SecureDataContextType
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / SecureDataContextType
2
2
 
3
3
  # Interface: SecureDataContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / SecureDataProviderProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / SecureDataProviderProps
2
2
 
3
3
  # Interface: SecureDataProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageConfig
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageConfig
2
2
 
3
3
  # Interface: StorageConfig
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageFileInfo
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageFileInfo
2
2
 
3
3
  # Interface: StorageFileInfo
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageFileMetadata
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageFileMetadata
2
2
 
3
3
  # Interface: StorageFileMetadata
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageListOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageListOptions
2
2
 
3
3
  # Interface: StorageListOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageListResult
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageListResult
2
2
 
3
3
  # Interface: StorageListResult
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageUploadOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageUploadOptions
2
2
 
3
3
  # Interface: StorageUploadOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageUploadResult
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageUploadResult
2
2
 
3
3
  # Interface: StorageUploadResult
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StorageUrlOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StorageUrlOptions
2
2
 
3
3
  # Interface: StorageUrlOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / StyleImport
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / StyleImport
2
2
 
3
3
  # Interface: StyleImport
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / SwitchProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / SwitchProps
2
2
 
3
3
  # Interface: SwitchProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / ToastActionElement
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / ToastActionElement
2
2
 
3
3
  # Interface: ToastActionElement
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / ToastProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / ToastProps
2
2
 
3
3
  # Interface: ToastProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UnifiedAuthContextType
2
2
 
3
3
  # Interface: UnifiedAuthContextType
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UnifiedAuthProviderProps
2
2
 
3
3
  # Interface: UnifiedAuthProviderProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UseInactivityTrackerOptions
2
2
 
3
3
  # Interface: UseInactivityTrackerOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UseInactivityTrackerReturn
2
2
 
3
3
  # Interface: UseInactivityTrackerReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UsePublicEventOptions
2
2
 
3
3
  # Interface: UsePublicEventOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UsePublicEventReturn
2
2
 
3
3
  # Interface: UsePublicEventReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayOptions
2
2
 
3
3
  # Interface: UsePublicFileDisplayOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayReturn
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UsePublicFileDisplayReturn
2
2
 
3
3
  # Interface: UsePublicFileDisplayReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UsePublicRouteParamsReturn
2
2
 
3
3
  # Interface: UsePublicRouteParamsReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UseResolvedScopeOptions
2
2
 
3
3
  # Interface: UseResolvedScopeOptions
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UseResolvedScopeReturn
2
2
 
3
3
  # Interface: UseResolvedScopeReturn
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UserEventAccess
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UserEventAccess
2
2
 
3
3
  # Interface: UserEventAccess
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UserMenuProps
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UserMenuProps
2
2
 
3
3
  # Interface: UserMenuProps
4
4
 
@@ -1,4 +1,4 @@
1
- [@jmruthers/pace-core - v0.5.115](../README.md) / [Exports](../modules.md) / UserProfile
1
+ [@jmruthers/pace-core - v0.5.117](../README.md) / [Exports](../modules.md) / UserProfile
2
2
 
3
3
  # Interface: UserProfile
4
4
 
@@ -1,6 +1,6 @@
1
- [@jmruthers/pace-core - v0.5.115](README.md) / Exports
1
+ [@jmruthers/pace-core - v0.5.117](README.md) / Exports
2
2
 
3
- # @jmruthers/pace-core - v0.5.115
3
+ # @jmruthers/pace-core - v0.5.117
4
4
 
5
5
  **`File`**
6
6
 
@@ -114,6 +114,10 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
114
114
  - [RBACLogger](interfaces/RBACLogger.md)
115
115
  - [UseResolvedScopeOptions](interfaces/UseResolvedScopeOptions.md)
116
116
  - [UseResolvedScopeReturn](interfaces/UseResolvedScopeReturn.md)
117
+ - [EventAppRoleData](interfaces/EventAppRoleData.md)
118
+ - [RevokeEventAppRoleParams](interfaces/RevokeEventAppRoleParams.md)
119
+ - [GrantEventAppRoleParams](interfaces/GrantEventAppRoleParams.md)
120
+ - [RoleManagementResult](interfaces/RoleManagementResult.md)
117
121
  - [StyleImport](interfaces/StyleImport.md)
118
122
  - [ColorShade](interfaces/ColorShade.md)
119
123
  - [ColorPalette](interfaces/ColorPalette.md)
@@ -348,6 +352,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
348
352
  - [useCachedPermissions](modules.md#usecachedpermissions)
349
353
  - [useRBAC](modules.md#userbac)
350
354
  - [useResolvedScope](modules.md#useresolvedscope)
355
+ - [useRoleManagement](modules.md#userolemanagement)
351
356
  - [isValidPermission](modules.md#isvalidpermission)
352
357
  - [getPermissionsForRole](modules.md#getpermissionsforrole)
353
358
  - [createSecureClient](modules.md#createsecureclient)
@@ -2436,7 +2441,7 @@ function AdminApp() {
2436
2441
 
2437
2442
  #### Defined in
2438
2443
 
2439
- [packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:327](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L327)
2444
+ [packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:328](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L328)
2440
2445
 
2441
2446
  ___
2442
2447
 
@@ -3013,7 +3018,7 @@ ___
3013
3018
 
3014
3019
  #### Defined in
3015
3020
 
3016
- [packages/core/src/components/Select/Select.tsx:465](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L465)
3021
+ [packages/core/src/components/Select/Select.tsx:473](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L473)
3017
3022
 
3018
3023
  ___
3019
3024
 
@@ -3033,7 +3038,7 @@ ___
3033
3038
 
3034
3039
  #### Defined in
3035
3040
 
3036
- [packages/core/src/components/Select/Select.tsx:482](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L482)
3041
+ [packages/core/src/components/Select/Select.tsx:490](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L490)
3037
3042
 
3038
3043
  ___
3039
3044
 
@@ -3053,7 +3058,7 @@ ___
3053
3058
 
3054
3059
  #### Defined in
3055
3060
 
3056
- [packages/core/src/components/Select/Select.tsx:585](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L585)
3061
+ [packages/core/src/components/Select/Select.tsx:593](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L593)
3057
3062
 
3058
3063
  ___
3059
3064
 
@@ -3073,7 +3078,7 @@ ___
3073
3078
 
3074
3079
  #### Defined in
3075
3080
 
3076
- [packages/core/src/components/Select/Select.tsx:686](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L686)
3081
+ [packages/core/src/components/Select/Select.tsx:694](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L694)
3077
3082
 
3078
3083
  ___
3079
3084
 
@@ -3093,7 +3098,7 @@ ___
3093
3098
 
3094
3099
  #### Defined in
3095
3100
 
3096
- [packages/core/src/components/Select/Select.tsx:697](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L697)
3101
+ [packages/core/src/components/Select/Select.tsx:705](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L705)
3097
3102
 
3098
3103
  ___
3099
3104
 
@@ -3113,7 +3118,7 @@ ___
3113
3118
 
3114
3119
  #### Defined in
3115
3120
 
3116
- [packages/core/src/components/Select/Select.tsx:708](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L708)
3121
+ [packages/core/src/components/Select/Select.tsx:716](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L716)
3117
3122
 
3118
3123
  ___
3119
3124
 
@@ -4062,7 +4067,7 @@ void - This is an effect hook with no return value
4062
4067
 
4063
4068
  #### Defined in
4064
4069
 
4065
- [packages/core/src/hooks/useEventTheme.ts:41](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useEventTheme.ts#L41)
4070
+ [packages/core/src/hooks/useEventTheme.ts:85](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useEventTheme.ts#L85)
4066
4071
 
4067
4072
  ___
4068
4073
 
@@ -5273,7 +5278,7 @@ RBACAuditManager instance
5273
5278
 
5274
5279
  #### Defined in
5275
5280
 
5276
- [packages/core/src/rbac/audit.ts:340](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L340)
5281
+ [packages/core/src/rbac/audit.ts:375](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L375)
5277
5282
 
5278
5283
  ___
5279
5284
 
@@ -5295,7 +5300,7 @@ Set the global audit manager
5295
5300
 
5296
5301
  #### Defined in
5297
5302
 
5298
- [packages/core/src/rbac/audit.ts:356](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L356)
5303
+ [packages/core/src/rbac/audit.ts:391](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L391)
5299
5304
 
5300
5305
  ___
5301
5306
 
@@ -5313,7 +5318,7 @@ Global audit manager or null if not set
5313
5318
 
5314
5319
  #### Defined in
5315
5320
 
5316
- [packages/core/src/rbac/audit.ts:365](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L365)
5321
+ [packages/core/src/rbac/audit.ts:400](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L400)
5317
5322
 
5318
5323
  ___
5319
5324
 
@@ -5335,7 +5340,7 @@ Emit an audit event using the global audit manager
5335
5340
 
5336
5341
  #### Defined in
5337
5342
 
5338
- [packages/core/src/rbac/audit.ts:374](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L374)
5343
+ [packages/core/src/rbac/audit.ts:409](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/audit.ts#L409)
5339
5344
 
5340
5345
  ___
5341
5346
 
@@ -6171,6 +6176,28 @@ const permission = useCan(userId, resolvedScope, permission);
6171
6176
 
6172
6177
  ___
6173
6178
 
6179
+ ### useRoleManagement
6180
+
6181
+ ▸ **useRoleManagement**(): `Object`
6182
+
6183
+ #### Returns
6184
+
6185
+ `Object`
6186
+
6187
+ | Name | Type |
6188
+ | :------ | :------ |
6189
+ | `revokeEventAppRole` | (`params`: [`RevokeEventAppRoleParams`](interfaces/RevokeEventAppRoleParams.md)) => `Promise`\<[`RoleManagementResult`](interfaces/RoleManagementResult.md)\> |
6190
+ | `grantEventAppRole` | (`params`: [`GrantEventAppRoleParams`](interfaces/GrantEventAppRoleParams.md)) => `Promise`\<[`RoleManagementResult`](interfaces/RoleManagementResult.md)\> |
6191
+ | `revokeRoleById` | (`roleId`: `string`) => `Promise`\<[`RoleManagementResult`](interfaces/RoleManagementResult.md)\> |
6192
+ | `isLoading` | `boolean` |
6193
+ | `error` | ``null`` \| `Error` |
6194
+
6195
+ #### Defined in
6196
+
6197
+ [packages/core/src/rbac/hooks/useRoleManagement.ts:68](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L68)
6198
+
6199
+ ___
6200
+
6174
6201
  ### isValidPermission
6175
6202
 
6176
6203
  ▸ **isValidPermission**(`permission`): permission is \`create:$\{string}\` \| \`update:$\{string}\` \| \`read:$\{string}\` \| \`delete:$\{string}\`