*/ public function requiredSlots(ActionSurfaceProfile $profile): array { return match ($profile) { ActionSurfaceProfile::CrudListAndEdit, ActionSurfaceProfile::CrudListAndView => [ ActionSurfaceSlot::ListHeader, ActionSurfaceSlot::InspectAffordance, ActionSurfaceSlot::ListRowMoreMenu, ActionSurfaceSlot::ListBulkMoreGroup, ActionSurfaceSlot::ListEmptyState, ActionSurfaceSlot::DetailHeader, ], ActionSurfaceProfile::ListOnlyReadOnly => [ ActionSurfaceSlot::ListHeader, ActionSurfaceSlot::InspectAffordance, ActionSurfaceSlot::ListRowMoreMenu, ActionSurfaceSlot::ListBulkMoreGroup, ActionSurfaceSlot::ListEmptyState, ], ActionSurfaceProfile::RunLog => [ ActionSurfaceSlot::ListHeader, ActionSurfaceSlot::InspectAffordance, ActionSurfaceSlot::ListBulkMoreGroup, ActionSurfaceSlot::ListEmptyState, ActionSurfaceSlot::DetailHeader, ], ActionSurfaceProfile::RelationManager => [ ActionSurfaceSlot::ListHeader, ActionSurfaceSlot::InspectAffordance, ActionSurfaceSlot::ListRowMoreMenu, ActionSurfaceSlot::ListBulkMoreGroup, ActionSurfaceSlot::ListEmptyState, ], }; } public function requiresExportDefaultBulk(ActionSurfaceProfile $profile): bool { return in_array($profile, [ ActionSurfaceProfile::ListOnlyReadOnly, ActionSurfaceProfile::RunLog, ], true); } }