Как сделать, чтоб reCaptcha не закрывалась при клике мимо нее?

Для того чтобы предотвратить закрытие reCaptcha при клике мимо нее, вам следует внести некоторые изменения в ваш код Angular приложения.

1. Добавление директивы click-to-dismiss к элементу рендеринга reCaptcha:

<div class="g-recaptcha" data-sitekey="YOUR_RECAPTCHA_SITE_KEY" click-to-dismiss></div>

2. Создание новой директивы Angular click-to-dismiss, которая будет прослушивать события клика вне элемента reCaptcha и отменять их по необходимости:

import { Directive, ElementRef, HostListener } from '@angular/core';

@Directive({
  selector: '[click-to-dismiss]'
})
export class ClickToDismissDirective {

  constructor(private elementRef: ElementRef) { }

  @HostListener('document:click', ['$event.target'])
  onClick(targetElement) {
    const clickedInside = this.elementRef.nativeElement.contains(targetElement);
    if (!clickedInside) {
      // Отменяем событие клика для предотвращения закрытия reCaptcha
      event.stopPropagation();
    }
  }
}

3. Добавление новой директивы ClickToDismissDirective в модуль вашего приложения:

import { NgModule } from '@angular/core';
import { ClickToDismissDirective } from './click-to-dismiss.directive';

@NgModule({
  declarations: [
    ClickToDismissDirective
  ],
  exports: [
    ClickToDismissDirective
  ]
})
export class SharedModule { }

4. Импортирование модуля SharedModule в модуль, где используется reCaptcha:

import { NgModule } from '@angular/core';
import { SharedModule } from './shared/shared.module';

@NgModule({
  imports: [
    SharedModule
  ]
})
export class YourModule { }

Теперь, когда пользователь кликает вне элемента reCaptcha, событие клика будет отменяться, и reCaptcha не будет закрываться.