Faits: Faits: A. A._, ressortissant suisse et marocain né le 10 avril 1986, est en détention préventive depuis le 8 septembre 2004 comme prévenu d'infraction grave à la loi fédérale sur les stupéfiants (LStup). Le 10 mai 2005, A._ a déposé une requête de mise en liberté provisoire que le Juge d'instruction de l'arrondissement du Nord vaudois a écartée en raison des risques de collusion et de récidive et d'un danger de fuite. Statuant par arrêt du 3 juin 2005, le Tribunal d'accusation du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal d'accusation ou la cour cantonale) a rejeté le recours formé contre cette décision prise le 12 mai 2004. Il a considéré que le maintien en détention se justifiait à lui seul par un risque de récidive. Il a estimé que compte tenu de la gravité des infractions reprochées au prévenu, le principe de la proportionnalité était encore respecté. Le 10 mai 2005, A._ a déposé une requête de mise en liberté provisoire que le Juge d'instruction de l'arrondissement du Nord vaudois a écartée en raison des risques de collusion et de récidive et d'un danger de fuite. Statuant par arrêt du 3 juin 2005, le Tribunal d'accusation du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal d'accusation ou la cour cantonale) a rejeté le recours formé contre cette décision prise le 12 mai 2004. Il a considéré que le maintien en détention se justifiait à lui seul par un risque de récidive. Il a estimé que compte tenu de la gravité des infractions reprochées au prévenu, le principe de la proportionnalité était encore respecté. B. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt et d'ordonner sa mise en liberté immédiate. Il dénonce à différents titres une violation de la présomption d'innocence garantie à l'art. 32 al. 1 Cst. et du principe de la célérité consacré aux art. 29 al. 1 Cst. et 5 § 3 CEDH. Il se plaint en outre d'arbitraire dans l'application de l'art. 59 du Code de procédure pénale vaudois (CPP vaud.), dans la constatation des faits et dans l'appréciation du caractère raisonnable de la durée de la détention. Il voit enfin un déni de justice formel prohibé par les art. 29 al. 1 et 30 al. 1 Cst. dans le fait que la cour cantonale ne s'est pas prononcée sur l'existence d'un risque de fuite. Le Tribunal d'accusation se réfère aux considérants de son arrêt. Le Procureur général du canton de Vaud conclut au rejet du recours. Le Juge d'instruction a renoncé à déposer des observations. Le recourant a répliqué.