@jmruthers/pace-core 0.5.142 → 0.5.143
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.
- package/dist/{chunk-TUJSIWX6.js → chunk-VP44VQJ6.js} +18 -7
- package/dist/chunk-VP44VQJ6.js.map +1 -0
- package/dist/components.js +1 -1
- package/dist/index.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +1 -1
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +2 -2
- package/docs/rbac/README.md +9 -4
- package/package.json +1 -1
- package/src/components/NavigationMenu/NavigationMenu.tsx +32 -7
- package/dist/chunk-TUJSIWX6.js.map +0 -1
|
@@ -1152,13 +1152,16 @@ var NavigationMenu = React12.forwardRef(({
|
|
|
1152
1152
|
} catch (error) {
|
|
1153
1153
|
logger.warn("NavigationMenu", "useRBAC not available, permission filtering disabled");
|
|
1154
1154
|
}
|
|
1155
|
+
const eventLoadingRaw = authContext?.eventLoading;
|
|
1156
|
+
const eventLoading = eventLoadingRaw ?? false;
|
|
1157
|
+
const selectedEvent = authContext?.selectedEvent || null;
|
|
1158
|
+
const orgContextReady = authContext?.isContextReady ?? (authContext?.selectedOrganisation?.id ? true : false);
|
|
1155
1159
|
const { supabase } = authContext || {};
|
|
1156
1160
|
const { selectedOrganisation } = authContext || {};
|
|
1157
|
-
const selectedEvent = authContext?.selectedEvent || null;
|
|
1158
1161
|
const { resolvedScope, isLoading: scopeLoading } = useResolvedScope({
|
|
1159
|
-
supabase: supabase || null,
|
|
1160
|
-
selectedOrganisationId: selectedOrganisation?.id || null,
|
|
1161
|
-
selectedEventId: selectedEvent?.event_id || null
|
|
1162
|
+
supabase: filterByPermissions ? supabase || null : null,
|
|
1163
|
+
selectedOrganisationId: filterByPermissions ? selectedOrganisation?.id || null : null,
|
|
1164
|
+
selectedEventId: filterByPermissions ? selectedEvent?.event_id || null : null
|
|
1162
1165
|
});
|
|
1163
1166
|
const stableScopeRef = React12.useRef({
|
|
1164
1167
|
organisationId: "",
|
|
@@ -1194,7 +1197,9 @@ var NavigationMenu = React12.forwardRef(({
|
|
|
1194
1197
|
const previousFilteredItemsRef = React12.useRef([]);
|
|
1195
1198
|
const filteredItems = React12.useMemo(() => {
|
|
1196
1199
|
if (filterByPermissions) {
|
|
1197
|
-
|
|
1200
|
+
const isOrgContextReady = orgContextReady && selectedOrganisation?.id;
|
|
1201
|
+
const isEventContextReady = eventLoadingRaw === void 0 ? true : !eventLoading;
|
|
1202
|
+
if (!authContext || !rbacContext || scopeLoading || !isOrgContextReady || !isEventContextReady) {
|
|
1198
1203
|
return [];
|
|
1199
1204
|
}
|
|
1200
1205
|
if (permissionsLoading) {
|
|
@@ -1329,7 +1334,13 @@ var NavigationMenu = React12.forwardRef(({
|
|
|
1329
1334
|
scopeLoading,
|
|
1330
1335
|
permissionsLoading,
|
|
1331
1336
|
resolvedScope,
|
|
1332
|
-
auditLog
|
|
1337
|
+
auditLog,
|
|
1338
|
+
// Add event context state to dependencies so we re-check permissions when event context becomes available
|
|
1339
|
+
eventLoadingRaw,
|
|
1340
|
+
eventLoading,
|
|
1341
|
+
selectedEvent,
|
|
1342
|
+
orgContextReady,
|
|
1343
|
+
selectedOrganisation?.id
|
|
1333
1344
|
]);
|
|
1334
1345
|
React12.useEffect(() => {
|
|
1335
1346
|
if (auditLog && authContext) {
|
|
@@ -4553,4 +4564,4 @@ export {
|
|
|
4553
4564
|
EventLogoCompact,
|
|
4554
4565
|
EventLogoLarge
|
|
4555
4566
|
};
|
|
4556
|
-
//# sourceMappingURL=chunk-
|
|
4567
|
+
//# sourceMappingURL=chunk-VP44VQJ6.js.map
|